Skip to content

Commit

Permalink
More discoballing of thermostat cluster definition
Browse files Browse the repository at this point in the history
  • Loading branch information
fessehaeve committed Dec 13, 2021
1 parent ed7c211 commit 0001e52
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11124,15 +11124,15 @@
"enabled": 1,
"commands": [
{
"name": "CurrentWeeklySchedule",
"name": "GetWeeklyScheduleResponse",
"code": 0,
"mfgCode": null,
"source": "server",
"incoming": 1,
"outgoing": 0
},
{
"name": "RelayStatusLog",
"name": "GetRelayStatusLogResponse",
"code": 1,
"mfgCode": null,
"source": "server",
Expand Down
34 changes: 10 additions & 24 deletions examples/thermostat/thermostat-common/thermostat.zap
Original file line number Diff line number Diff line change
Expand Up @@ -10414,15 +10414,15 @@
"enabled": 1,
"commands": [
{
"name": "CurrentWeeklySchedule",
"name": "GetWeeklyScheduleResponse",
"code": 0,
"mfgCode": null,
"source": "server",
"incoming": 1,
"outgoing": 1
},
{
"name": "RelayStatusLog",
"name": "GetRelayStatusLogResponse",
"code": 1,
"mfgCode": null,
"source": "server",
Expand Down Expand Up @@ -12416,7 +12416,7 @@
],
"attributes": [
{
"name": "tv channel list",
"name": "channel list",
"code": 0,
"mfgCode": null,
"side": "server",
Expand All @@ -12431,7 +12431,7 @@
"reportableChange": 0
},
{
"name": "tv channel lineup",
"name": "channel lineup",
"code": 1,
"mfgCode": null,
"side": "server",
Expand All @@ -12446,7 +12446,7 @@
"reportableChange": 0
},
{
"name": "current tv channel",
"name": "current channel",
"code": 2,
"mfgCode": null,
"side": "server",
Expand Down Expand Up @@ -13100,7 +13100,7 @@
"reportableChange": 0
},
{
"name": "supported streaming types",
"name": "supported streaming protocols",
"code": 1,
"mfgCode": null,
"side": "server",
Expand Down Expand Up @@ -13396,7 +13396,7 @@
"reportableChange": 0
},
{
"name": "application id",
"name": "application status",
"code": 5,
"mfgCode": null,
"side": "server",
Expand All @@ -13411,7 +13411,7 @@
"reportableChange": 0
},
{
"name": "catalog vendor id",
"name": "application version",
"code": 6,
"mfgCode": null,
"side": "server",
Expand All @@ -13425,21 +13425,6 @@
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "application status",
"code": 7,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
"reportable": 1,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "ClusterRevision",
"code": 65533,
Expand Down Expand Up @@ -13935,5 +13920,6 @@
"endpointVersion": 1,
"deviceIdentifier": 769
}
]
],
"log": []
}
4 changes: 2 additions & 2 deletions examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
Original file line number Diff line number Diff line change
Expand Up @@ -10016,15 +10016,15 @@
"enabled": 1,
"commands": [
{
"name": "CurrentWeeklySchedule",
"name": "GetWeeklyScheduleResponse",
"code": 0,
"mfgCode": null,
"source": "server",
"incoming": 1,
"outgoing": 1
},
{
"name": "RelayStatusLog",
"name": "GetRelayStatusLogResponse",
"code": 1,
"mfgCode": null,
"source": "server",
Expand Down
58 changes: 29 additions & 29 deletions src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ limitations under the License.
<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>
<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>
<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>
<attribute side="server" code="0x0009" define="HVAC_SYSTEM_TYPE_CONFIGURATION" type="BITMAP8" min="0x00" max="0xFF" writable="true" optional="true" introducedIn="ha-1.2-05-3520-29">HVAC system type configuration</attribute>
<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>
<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>
<attribute side="server" code="0x0011" define="OCCUPIED_COOLING_SETPOINT" type="INT16S" writable="true" default="0x0A28" optional="false">occupied cooling setpoint</attribute>
<attribute side="server" code="0x0012" define="OCCUPIED_HEATING_SETPOINT" type="INT16S" writable="true" default="0x07D0" optional="false">occupied heating setpoint</attribute>
Expand All @@ -51,33 +51,33 @@ limitations under the License.
<attribute side="server" code="0x001C" define="SYSTEM_MODE" type="ENUM8" min="0x00" max="0x07" writable="true" default="0x01" optional="false">system mode</attribute>
<attribute side="server" code="0x001D" define="THERMOSTAT_ALARM_MASK" type="BITMAP8" min="0x00" max="0x07" writable="false" default="0x00" optional="true">alarm mask</attribute>
<!-- ALARM_MASK -->
<attribute side="server" code="0x001E" define="THERMOSTAT_RUNNING_MODE" type="ENUM8" min="0x00" max="0x04" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">thermostat running mode</attribute>
<attribute side="server" code="0x0020" define="START_OF_WEEK" type="ENUM8" min="0x00" max="0x06" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">start of week</attribute>
<attribute side="server" code="0x0021" define="NUMBER_OF_WEEKLY_TRANSITIONS" type="INT8U" min="0x00" max="0xFF" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">number of weekly transitions</attribute>
<attribute side="server" code="0x0022" define="NUMBER_OF_DAILY_TRANSITIONS" type="INT8U" min="0x00" max="0xFF" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">number of daily transitions</attribute>
<attribute side="server" code="0x0023" define="TEMPERATURE_SETPOINT_HOLD" type="ENUM8" min="0x00" max="0x01" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">temperature setpoint hold</attribute>
<attribute side="server" code="0x0024" define="TEMPERATURE_SETPOINT_HOLD_DURATION" type="INT16U" min="0x0000" max="0x05A0" writable="true" default="0xFFFF" optional="true" introducedIn="ha-1.2-05-3520-29">temperature setpoint hold duration</attribute>
<attribute side="server" code="0x0025" define="THERMOSTAT_PROGRAMMING_OPERATION_MODE" type="BITMAP8" min="0x00" max="0xFF" writable="true" default="0x0000" optional="true" introducedIn="ha-1.2-05-3520-29">thermostat programming operation mode</attribute>
<attribute side="server" code="0x0029" define="THERMOSTAT_RUNNING_STATE" type="BITMAP16" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">hvac relay state</attribute>
<attribute side="server" code="0x0030" define="SETPOINT_CHANGE_SOURCE" type="ENUM8" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">setpoint change source</attribute>
<attribute side="server" code="0x0031" define="SETPOINT_CHANGE_AMOUNT" type="INT16S" writable="false" default="0x8000" optional="true" introducedIn="ha-1.2-05-3520-29">setpoint change amount</attribute>
<attribute side="server" code="0x0032" define="SETPOINT_CHANGE_SOURCE_TIMESTAMP" type="epoch_s" writable="false" optional="true" introducedIn="ha-1.2-05-3520-29">setpoint change source timestamp</attribute>
<attribute side="server" code="0x0040" define="AC_TYPE" type="ENUM8" min="0x00" max="0x04" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">ac type</attribute>
<attribute side="server" code="0x0041" define="AC_CAPACITY" type="INT16U" min="0x0000" max="0xFFFF" writable="true" default="0x0000" optional="true" introducedIn="ha-1.2-05-3520-29">ac capacity</attribute>
<attribute side="server" code="0x0042" define="AC_REFRIGERANT_TYPE" type="ENUM8" min="0x00" max="0x03" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">ac refrigerant type</attribute>
<attribute side="server" code="0x0043" define="AC_COMPRESSOR" type="ENUM8" min="0x00" max="0x03" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">ac compressor</attribute>
<attribute side="server" code="0x0044" define="AC_ERROR_CODE" type="BITMAP32" min="0x00000000" max="0xFFFFFFFF" writable="true" default="0x00000000" optional="true" introducedIn="ha-1.2-05-3520-29">ac error code</attribute>
<attribute side="server" code="0x0045" define="AC_LOUVER_POSITION" type="ENUM8" min="0x00" max="0x05" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">ac louver position</attribute>
<attribute side="server" code="0x0046" define="AC_COIL_TEMPERATURE" type="INT16S" min="0x954D" max="0x7FFF" writable="false" default="0x8000" optional="true" introducedIn="ha-1.2-05-3520-29">ac coil temperature</attribute>
<attribute side="server" code="0x0047" define="AC_CAPACITY_FORMAT" type="ENUM8" min="0x00" max="0xFF" writable="true" default="0x00" optional="true" introducedIn="ha-1.2-05-3520-29">ac capacity format</attribute>
<command source="client" code="0x00" name="SetpointRaiseLower" optional="false" cli="zcl tstat set">
<attribute side="server" code="0x001E" define="THERMOSTAT_RUNNING_MODE" type="ENUM8" min="0x00" max="0x04" writable="false" optional="true">thermostat running mode</attribute>
<attribute side="server" code="0x0020" define="START_OF_WEEK" type="ENUM8" min="0x00" max="0x06" writable="false" optional="true">start of week</attribute>
<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>
<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>
<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>
<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>
<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>
<attribute side="server" code="0x0029" define="THERMOSTAT_RUNNING_STATE" type="BITMAP16" writable="false" optional="true">thermostat running state</attribute>
<attribute side="server" code="0x0030" define="SETPOINT_CHANGE_SOURCE" type="ENUM8" writable="false" optional="true">setpoint change source</attribute>
<attribute side="server" code="0x0031" define="SETPOINT_CHANGE_AMOUNT" type="INT16S" writable="false" default="0x8000" optional="true">setpoint change amount</attribute>
<attribute side="server" code="0x0032" define="SETPOINT_CHANGE_SOURCE_TIMESTAMP" type="epoch_s" writable="false" optional="true">setpoint change source timestamp</attribute>
<attribute side="server" code="0x0040" define="AC_TYPE" type="ENUM8" min="0x00" max="0x04" writable="true" default="0x00" optional="true">ac type</attribute>
<attribute side="server" code="0x0041" define="AC_CAPACITY" type="INT16U" min="0x0000" max="0xFFFF" writable="true" default="0x0000" optional="true">ac capacity</attribute>
<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>
<attribute side="server" code="0x0043" define="AC_COMPRESSOR" type="ENUM8" min="0x00" max="0x03" writable="true" default="0x00" optional="true">ac compressor</attribute>
<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>
<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>
<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>
<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>
<command source="client" code="0x00" name="SetpointRaiseLower" optional="false">
<description>
Command description for SetpointRaiseLower
</description>
<arg name="mode" type="SetpointAdjustMode"/>
<arg name="amount" type="INT8S"/>
</command>
<command source="client" code="0x01" name="SetWeeklySchedule" optional="false" cli="zcl tstat sws" introducedIn="ha-1.2-05-3520-29">
<command source="client" code="0x01" name="SetWeeklySchedule" optional="true">
<description>
Command description for SetWeeklySchedule
</description>
Expand All @@ -86,24 +86,24 @@ limitations under the License.
<arg name="modeForSequence" type="ModeForSequence"/>
<arg name="payload" type="INT8U" array="true"/>
</command>
<command source="client" code="0x02" name="GetWeeklySchedule" optional="false" cli="zcl tstat gws" introducedIn="ha-1.2-05-3520-29">
<command source="client" code="0x02" name="GetWeeklySchedule" optional="true">
<description>
Command description for GetWeeklySchedule
</description>
<arg name="daysToReturn" type="DayOfWeek"/>
<arg name="modeToReturn" type="ModeForSequence"/>
</command>
<command source="client" code="0x03" name="ClearWeeklySchedule" optional="false" cli="zcl tstat cws" introducedIn="ha-1.2-05-3520-29">
<command source="client" code="0x03" name="ClearWeeklySchedule" optional="true">
<description>
The Clear Weekly Schedule command is used to clear the weekly schedule.
</description>
</command>
<command source="client" code="0x04" name="GetRelayStatusLog" optional="false" cli="zcl tstat grs" introducedIn="ha-1.2-05-3520-29">
<command source="client" code="0x04" name="GetRelayStatusLog" optional="true">
<description>
The Get Relay Status Log command is used to query the thermostat internal relay status log.
</description>
</command>
<command source="server" code="0x00" name="CurrentWeeklySchedule" optional="false" introducedIn="ha-1.2-05-3520-29">
<command source="server" code="0x00" name="GetWeeklyScheduleResponse" optional="true">
<description>
The Current Weekly Schedule Command is sent from the server in response to the Get Weekly Schedule Command.
</description>
Expand All @@ -112,9 +112,9 @@ limitations under the License.
<arg name="modeForSequence" type="ModeForSequence"/>
<arg name="payload" type="INT8U" array="true"/>
</command>
<command source="server" code="0x01" name="RelayStatusLog" optional="false" introducedIn="ha-1.2-05-3520-29">
<command source="server" code="0x01" name="GetRelayStatusLogResponse" optional="true">
<description>
This command is sent from the thermostat cluster server in response to the Get Relay Status Log.
This command is sent from the thermostat cluster server in response to the Get Relay Status Log.
</description>
<arg name="timeOfDay" type="INT16U"/>
<arg name="relayStatus" type="BITMAP16"/>
Expand All @@ -126,7 +126,7 @@ limitations under the License.
</cluster>

<bitmap name="ThermostatFeature" type="BITMAP32">
<cluster code="0x0201"/>
<cluster code="0x0201"/>
<field name="Heating" mask="0x1"/>
<field name="Cooling" mask="0x2"/>
<field name="Occupancy" mask="0x4"/>
Expand Down
8 changes: 4 additions & 4 deletions src/controller/data_model/controller-clusters.zap
Original file line number Diff line number Diff line change
Expand Up @@ -8030,19 +8030,19 @@
"enabled": 0,
"commands": [
{
"name": "CurrentWeeklySchedule",
"name": "GetWeeklyScheduleResponse",
"code": 0,
"mfgCode": null,
"source": "server",
"incoming": 0,
"incoming": 1,
"outgoing": 0
},
{
"name": "RelayStatusLog",
"name": "GetRelayStatusLogResponse",
"code": 1,
"mfgCode": null,
"source": "server",
"incoming": 0,
"incoming": 1,
"outgoing": 0
}
],
Expand Down

0 comments on commit 0001e52

Please sign in to comment.