Skip to content

Commit 1178560

Browse files
fessehaevepull[bot]
authored andcommitted
Add featuremap for thermostat and power source clusters (#12903)
* Add featuremap definitions in Thermostat and Power Source cluster + moved thermostat cluster to a separate file * Regenerate all * Removed attributelist + add cluster element to feature bitmaps * Regenerate all * More discoballing of thermostat cluster definition * Regenerate all
1 parent 64f5f2a commit 1178560

File tree

37 files changed

+1011
-231
lines changed

37 files changed

+1011
-231
lines changed

examples/all-clusters-app/all-clusters-common/all-clusters-app.zap

+2-2
Original file line numberDiff line numberDiff line change
@@ -11124,15 +11124,15 @@
1112411124
"enabled": 1,
1112511125
"commands": [
1112611126
{
11127-
"name": "CurrentWeeklySchedule",
11127+
"name": "GetWeeklyScheduleResponse",
1112811128
"code": 0,
1112911129
"mfgCode": null,
1113011130
"source": "server",
1113111131
"incoming": 1,
1113211132
"outgoing": 0
1113311133
},
1113411134
{
11135-
"name": "RelayStatusLog",
11135+
"name": "GetRelayStatusLogResponse",
1113611136
"code": 1,
1113711137
"mfgCode": null,
1113811138
"source": "server",

examples/lock-app/lock-common/lock-app.zap

+3-2
Original file line numberDiff line numberDiff line change
@@ -1298,7 +1298,7 @@
12981298
"storageOption": "RAM",
12991299
"singleton": 0,
13001300
"bounded": 0,
1301-
"defaultValue": "0",
1301+
"defaultValue": "1",
13021302
"reportable": 0,
13031303
"minInterval": 1,
13041304
"maxInterval": 65534,
@@ -5588,5 +5588,6 @@
55885588
"endpointVersion": 1,
55895589
"deviceIdentifier": 10
55905590
}
5591-
]
5591+
],
5592+
"log": []
55925593
}

examples/thermostat/thermostat-common/thermostat.zap

+10-24
Original file line numberDiff line numberDiff line change
@@ -10414,15 +10414,15 @@
1041410414
"enabled": 1,
1041510415
"commands": [
1041610416
{
10417-
"name": "CurrentWeeklySchedule",
10417+
"name": "GetWeeklyScheduleResponse",
1041810418
"code": 0,
1041910419
"mfgCode": null,
1042010420
"source": "server",
1042110421
"incoming": 1,
1042210422
"outgoing": 1
1042310423
},
1042410424
{
10425-
"name": "RelayStatusLog",
10425+
"name": "GetRelayStatusLogResponse",
1042610426
"code": 1,
1042710427
"mfgCode": null,
1042810428
"source": "server",
@@ -12416,7 +12416,7 @@
1241612416
],
1241712417
"attributes": [
1241812418
{
12419-
"name": "tv channel list",
12419+
"name": "channel list",
1242012420
"code": 0,
1242112421
"mfgCode": null,
1242212422
"side": "server",
@@ -12431,7 +12431,7 @@
1243112431
"reportableChange": 0
1243212432
},
1243312433
{
12434-
"name": "tv channel lineup",
12434+
"name": "channel lineup",
1243512435
"code": 1,
1243612436
"mfgCode": null,
1243712437
"side": "server",
@@ -12446,7 +12446,7 @@
1244612446
"reportableChange": 0
1244712447
},
1244812448
{
12449-
"name": "current tv channel",
12449+
"name": "current channel",
1245012450
"code": 2,
1245112451
"mfgCode": null,
1245212452
"side": "server",
@@ -13100,7 +13100,7 @@
1310013100
"reportableChange": 0
1310113101
},
1310213102
{
13103-
"name": "supported streaming types",
13103+
"name": "supported streaming protocols",
1310413104
"code": 1,
1310513105
"mfgCode": null,
1310613106
"side": "server",
@@ -13396,7 +13396,7 @@
1339613396
"reportableChange": 0
1339713397
},
1339813398
{
13399-
"name": "application id",
13399+
"name": "application status",
1340013400
"code": 5,
1340113401
"mfgCode": null,
1340213402
"side": "server",
@@ -13411,7 +13411,7 @@
1341113411
"reportableChange": 0
1341213412
},
1341313413
{
13414-
"name": "catalog vendor id",
13414+
"name": "application version",
1341513415
"code": 6,
1341613416
"mfgCode": null,
1341713417
"side": "server",
@@ -13425,21 +13425,6 @@
1342513425
"maxInterval": 65344,
1342613426
"reportableChange": 0
1342713427
},
13428-
{
13429-
"name": "application status",
13430-
"code": 7,
13431-
"mfgCode": null,
13432-
"side": "server",
13433-
"included": 1,
13434-
"storageOption": "RAM",
13435-
"singleton": 0,
13436-
"bounded": 0,
13437-
"defaultValue": "0x01",
13438-
"reportable": 1,
13439-
"minInterval": 0,
13440-
"maxInterval": 65344,
13441-
"reportableChange": 0
13442-
},
1344313428
{
1344413429
"name": "ClusterRevision",
1344513430
"code": 65533,
@@ -13935,5 +13920,6 @@
1393513920
"endpointVersion": 1,
1393613921
"deviceIdentifier": 769
1393713922
}
13938-
]
13923+
],
13924+
"log": []
1393913925
}

examples/tv-casting-app/tv-casting-common/tv-casting-app.zap

+2-2
Original file line numberDiff line numberDiff line change
@@ -10016,15 +10016,15 @@
1001610016
"enabled": 1,
1001710017
"commands": [
1001810018
{
10019-
"name": "CurrentWeeklySchedule",
10019+
"name": "GetWeeklyScheduleResponse",
1002010020
"code": 0,
1002110021
"mfgCode": null,
1002210022
"source": "server",
1002310023
"incoming": 1,
1002410024
"outgoing": 1
1002510025
},
1002610026
{
10027-
"name": "RelayStatusLog",
10027+
"name": "GetRelayStatusLogResponse",
1002810028
"code": 1,
1002910029
"mfgCode": null,
1003010030
"source": "server",

src/app/zap-templates/zcl/data-model/all.xml

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
<xi:include href="chip/target-navigator-cluster.xml" />
5353
<xi:include href="chip/temperature-measurement-cluster.xml" />
5454
<xi:include href="chip/test-cluster.xml" />
55+
<xi:include href="chip/thermostat-cluster.xml" />
5556
<xi:include href="chip/thread-network-diagnostics-cluster.xml" />
5657
<xi:include href="chip/time-synchronization-cluster.xml" />
5758
<xi:include href="chip/tv-channel-cluster.xml" />

src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml

+8
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ limitations under the License.
8282

8383
</cluster>
8484

85+
<bitmap name="PowerSourceFeature" type="BITMAP32">
86+
<cluster code="0x002F"/>
87+
<field name="Wired" mask="0x1"/>
88+
<field name="Battery" mask="0x2"/>
89+
<field name="Rechargeable" mask="0x4"/>
90+
<field name="Replaceable" mask="0x8"/>
91+
</bitmap>
92+
8593
<enum name="WiredFaultType" type="ENUM8">
8694
<item name="Unspecfied" value="0x00"/>
8795
<item name="OverVoltage" value="0x01"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copyright (c) 2021 Project CHIP Authors
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<configurator>
18+
<domain name="HVAC"/>
19+
<cluster>
20+
<name>Thermostat</name>
21+
<domain>HVAC</domain>
22+
<description>An interface for configuring and controlling the functionality of a thermostat.</description>
23+
<code>0x0201</code>
24+
<define>THERMOSTAT_CLUSTER</define>
25+
<client tick="false" init="false">true</client>
26+
<server tick="false" init="false">true</server>
27+
<globalAttribute side="either" code="0xFFFD" value="3"/>
28+
<attribute side="server" code="0x0000" define="LOCAL_TEMPERATURE" type="INT16S" min="0x954D" max="0x7FFF" writable="false" reportable="true" optional="false">local temperature</attribute>
29+
<attribute side="server" code="0x0001" define="OUTDOOR_TEMPERATURE" type="INT16S" min="0x954D" max="0x7FFF" writable="false" optional="true">outdoor temperature</attribute>
30+
<attribute side="server" code="0x0002" define="THERMOSTAT_OCCUPANCY" type="BITMAP8" min="0x00" max="0x01" writable="false" default="0x01" optional="true">occupancy</attribute>
31+
<!-- OCCUPANCY -->
32+
<attribute side="server" code="0x0003" define="ABS_MIN_HEAT_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x02BC" optional="true">abs min heat setpoint limit</attribute>
33+
<attribute side="server" code="0x0004" define="ABS_MAX_HEAT_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x0BB8" optional="true">abs max heat setpoint limit</attribute>
34+
<attribute side="server" code="0x0005" define="ABS_MIN_COOL_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x0640" optional="true">abs min cool setpoint limit</attribute>
35+
<attribute side="server" code="0x0006" define="ABS_MAX_COOL_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x0C80" optional="true">abs max cool setpoint limit</attribute>
36+
<attribute side="server" code="0x0007" define="PI_COOLING_DEMAND" type="INT8U" min="0x00" max="0x64" writable="false" reportable="true" optional="true">pi cooling demand</attribute>
37+
<attribute side="server" code="0x0008" define="PI_HEATING_DEMAND" type="INT8U" min="0x00" max="0x64" writable="false" reportable="true" optional="true">pi heating demand</attribute>
38+
<attribute side="server" code="0x0009" define="HVAC_SYSTEM_TYPE_CONFIGURATION" type="BITMAP8" min="0x00" max="0xFF" writable="true" optional="true">HVAC system type configuration</attribute>
39+
<attribute side="server" code="0x0010" define="LOCAL_TEMPERATURE_CALIBRATION" type="INT8S" min="0xE7" max="0x19" writable="true" default="0x00" optional="true">local temperature calibration</attribute>
40+
<attribute side="server" code="0x0011" define="OCCUPIED_COOLING_SETPOINT" type="INT16S" writable="true" default="0x0A28" optional="false">occupied cooling setpoint</attribute>
41+
<attribute side="server" code="0x0012" define="OCCUPIED_HEATING_SETPOINT" type="INT16S" writable="true" default="0x07D0" optional="false">occupied heating setpoint</attribute>
42+
<attribute side="server" code="0x0013" define="UNOCCUPIED_COOLING_SETPOINT" type="INT16S" writable="true" default="0x0A28" optional="true">unoccupied cooling setpoint</attribute>
43+
<attribute side="server" code="0x0014" define="UNOCCUPIED_HEATING_SETPOINT" type="INT16S" writable="true" default="0x07D0" optional="true">unoccupied heating setpoint</attribute>
44+
<attribute side="server" code="0x0015" define="MIN_HEAT_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="true" default="0x02BC" optional="true">min heat setpoint limit</attribute>
45+
<attribute side="server" code="0x0016" define="MAX_HEAT_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="true" default="0x0BB8" optional="true">max heat setpoint limit</attribute>
46+
<attribute side="server" code="0x0017" define="MIN_COOL_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="true" default="0x0640" optional="true">min cool setpoint limit</attribute>
47+
<attribute side="server" code="0x0018" define="MAX_COOL_SETPOINT_LIMIT" type="INT16S" min="0x954D" max="0x7FFF" writable="true" default="0x0C80" optional="true">max cool setpoint limit</attribute>
48+
<attribute side="server" code="0x0019" define="MIN_SETPOINT_DEAD_BAND" type="INT8S" min="0x0A" max="0x19" writable="true" default="0x19" optional="true">min setpoint dead band</attribute>
49+
<attribute side="server" code="0x001A" define="REMOTE_SENSING" type="BITMAP8" min="0x00" max="0x07" writable="true" default="0x00" optional="true">remote sensing</attribute>
50+
<attribute side="server" code="0x001B" define="CONTROL_SEQUENCE_OF_OPERATION" type="ENUM8" min="0x00" max="0x05" writable="true" default="0x04" optional="false">control sequence of operation</attribute>
51+
<attribute side="server" code="0x001C" define="SYSTEM_MODE" type="ENUM8" min="0x00" max="0x07" writable="true" default="0x01" optional="false">system mode</attribute>
52+
<attribute side="server" code="0x001D" define="THERMOSTAT_ALARM_MASK" type="BITMAP8" min="0x00" max="0x07" writable="false" default="0x00" optional="true">alarm mask</attribute>
53+
<!-- ALARM_MASK -->
54+
<attribute side="server" code="0x001E" define="THERMOSTAT_RUNNING_MODE" type="ENUM8" min="0x00" max="0x04" writable="false" optional="true">thermostat running mode</attribute>
55+
<attribute side="server" code="0x0020" define="START_OF_WEEK" type="ENUM8" min="0x00" max="0x06" writable="false" optional="true">start of week</attribute>
56+
<attribute side="server" code="0x0021" define="NUMBER_OF_WEEKLY_TRANSITIONS" type="INT8U" min="0x00" max="0xFF" writable="false" optional="true">number of weekly transitions</attribute>
57+
<attribute side="server" code="0x0022" define="NUMBER_OF_DAILY_TRANSITIONS" type="INT8U" min="0x00" max="0xFF" writable="false" optional="true">number of daily transitions</attribute>
58+
<attribute side="server" code="0x0023" define="TEMPERATURE_SETPOINT_HOLD" type="ENUM8" min="0x00" max="0x01" writable="true" default="0x00" optional="true">temperature setpoint hold</attribute>
59+
<attribute side="server" code="0x0024" define="TEMPERATURE_SETPOINT_HOLD_DURATION" type="INT16U" min="0x0000" max="0x05A0" writable="true" default="0xFFFF" optional="true">temperature setpoint hold duration</attribute>
60+
<attribute side="server" code="0x0025" define="THERMOSTAT_PROGRAMMING_OPERATION_MODE" type="BITMAP8" min="0x00" max="0xFF" writable="true" default="0x0000" optional="true">thermostat programming operation mode</attribute>
61+
<attribute side="server" code="0x0029" define="THERMOSTAT_RUNNING_STATE" type="BITMAP16" writable="false" optional="true">thermostat running state</attribute>
62+
<attribute side="server" code="0x0030" define="SETPOINT_CHANGE_SOURCE" type="ENUM8" writable="false" optional="true">setpoint change source</attribute>
63+
<attribute side="server" code="0x0031" define="SETPOINT_CHANGE_AMOUNT" type="INT16S" writable="false" default="0x8000" optional="true">setpoint change amount</attribute>
64+
<attribute side="server" code="0x0032" define="SETPOINT_CHANGE_SOURCE_TIMESTAMP" type="epoch_s" writable="false" optional="true">setpoint change source timestamp</attribute>
65+
<attribute side="server" code="0x0040" define="AC_TYPE" type="ENUM8" min="0x00" max="0x04" writable="true" default="0x00" optional="true">ac type</attribute>
66+
<attribute side="server" code="0x0041" define="AC_CAPACITY" type="INT16U" min="0x0000" max="0xFFFF" writable="true" default="0x0000" optional="true">ac capacity</attribute>
67+
<attribute side="server" code="0x0042" define="AC_REFRIGERANT_TYPE" type="ENUM8" min="0x00" max="0x03" writable="true" default="0x00" optional="true">ac refrigerant type</attribute>
68+
<attribute side="server" code="0x0043" define="AC_COMPRESSOR" type="ENUM8" min="0x00" max="0x03" writable="true" default="0x00" optional="true">ac compressor</attribute>
69+
<attribute side="server" code="0x0044" define="AC_ERROR_CODE" type="BITMAP32" min="0x00000000" max="0xFFFFFFFF" writable="true" default="0x00000000" optional="true">ac error code</attribute>
70+
<attribute side="server" code="0x0045" define="AC_LOUVER_POSITION" type="ENUM8" min="0x00" max="0x05" writable="true" default="0x00" optional="true">ac louver position</attribute>
71+
<attribute side="server" code="0x0046" define="AC_COIL_TEMPERATURE" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x8000" optional="true">ac coil temperature</attribute>
72+
<attribute side="server" code="0x0047" define="AC_CAPACITY_FORMAT" type="ENUM8" min="0x00" max="0xFF" writable="true" default="0x00" optional="true">ac capacity format</attribute>
73+
<command source="client" code="0x00" name="SetpointRaiseLower" optional="false">
74+
<description>
75+
Command description for SetpointRaiseLower
76+
</description>
77+
<arg name="mode" type="SetpointAdjustMode"/>
78+
<arg name="amount" type="INT8S"/>
79+
</command>
80+
<command source="client" code="0x01" name="SetWeeklySchedule" optional="true">
81+
<description>
82+
Command description for SetWeeklySchedule
83+
</description>
84+
<arg name="numberOfTransitionsForSequence" type="ENUM8"/>
85+
<arg name="dayOfWeekForSequence" type="DayOfWeek"/>
86+
<arg name="modeForSequence" type="ModeForSequence"/>
87+
<arg name="payload" type="INT8U" array="true"/>
88+
</command>
89+
<command source="client" code="0x02" name="GetWeeklySchedule" optional="true">
90+
<description>
91+
Command description for GetWeeklySchedule
92+
</description>
93+
<arg name="daysToReturn" type="DayOfWeek"/>
94+
<arg name="modeToReturn" type="ModeForSequence"/>
95+
</command>
96+
<command source="client" code="0x03" name="ClearWeeklySchedule" optional="true">
97+
<description>
98+
The Clear Weekly Schedule command is used to clear the weekly schedule.
99+
</description>
100+
</command>
101+
<command source="client" code="0x04" name="GetRelayStatusLog" optional="true">
102+
<description>
103+
The Get Relay Status Log command is used to query the thermostat internal relay status log.
104+
</description>
105+
</command>
106+
<command source="server" code="0x00" name="GetWeeklyScheduleResponse" optional="true">
107+
<description>
108+
The Current Weekly Schedule Command is sent from the server in response to the Get Weekly Schedule Command.
109+
</description>
110+
<arg name="numberOfTransitionsForSequence" type="ENUM8"/>
111+
<arg name="dayOfWeekForSequence" type="DayOfWeek"/>
112+
<arg name="modeForSequence" type="ModeForSequence"/>
113+
<arg name="payload" type="INT8U" array="true"/>
114+
</command>
115+
<command source="server" code="0x01" name="GetRelayStatusLogResponse" optional="true">
116+
<description>
117+
This command is sent from the thermostat cluster server in response to the Get Relay Status Log.
118+
</description>
119+
<arg name="timeOfDay" type="INT16U"/>
120+
<arg name="relayStatus" type="BITMAP16"/>
121+
<arg name="localTemperature" type="INT16S"/>
122+
<arg name="humidityInPercentage" type="INT8U"/>
123+
<arg name="setpoint" type="INT16S"/>
124+
<arg name="unreadEntries" type="INT16U"/>
125+
</command>
126+
</cluster>
127+
128+
<bitmap name="ThermostatFeature" type="BITMAP32">
129+
<cluster code="0x0201"/>
130+
<field name="Heating" mask="0x1"/>
131+
<field name="Cooling" mask="0x2"/>
132+
<field name="Occupancy" mask="0x4"/>
133+
<field name="Schedule" mask="0x8"/>
134+
<field name="Setback" mask="0x10"/>
135+
<field name="Automode" mask="0x20"/>
136+
</bitmap>
137+
138+
</configurator>

0 commit comments

Comments
 (0)