| <?xml version="1.0"?> |
| <!--
|
| Copyright (C) Connectivity Standards Alliance (2021). All rights reserved.
|
| The information within this document is the property of the Connectivity
|
| Standards Alliance and its use and disclosure are restricted, except as
|
| expressly set forth herein.
|
|
|
| Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive,
|
| nontransferable, worldwide, limited and revocable license (without the right to
|
| sublicense), under Connectivity Standards Alliance's applicable copyright
|
| rights, to view, download, save, reproduce and use the document solely for your
|
| own internal purposes and in accordance with the terms of the license set forth
|
| herein. This license does not authorize you to, and you expressly warrant that
|
| you shall not: (a) permit others (outside your organization) to use this
|
| document; (b) post or publish this document; (c) modify, adapt, translate, or
|
| otherwise change this document in any manner or create any derivative work
|
| based on this document; (d) remove or modify any notice or label on this
|
| document, including this Copyright Notice, License and Disclaimer. The
|
| Connectivity Standards Alliance does not grant you any license hereunder other
|
| than as expressly stated herein.
|
|
|
| Elements of this document may be subject to third party intellectual property
|
| rights, including without limitation, patent, copyright or trademark rights,
|
| and any such third party may or may not be a member of the Connectivity
|
| Standards Alliance. Connectivity Standards Alliance members grant other
|
| Connectivity Standards Alliance members certain intellectual property rights as
|
| set forth in the Connectivity Standards Alliance IPR Policy. Connectivity
|
| Standards Alliance members do not grant you any rights under this license. The
|
| Connectivity Standards Alliance is not responsible for, and shall not be held
|
| responsible in any manner for, identifying or failing to identify any or all
|
| such third party intellectual property rights. Please visit www.csa-iot.org for
|
| more information on how to become a member of the Connectivity Standards
|
| Alliance.
|
|
|
| This document and the information contained herein are provided on an “AS IS”
|
| basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS
|
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE
|
| INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING
|
| WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT
|
| OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
| FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE
|
| CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF
|
| BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER
|
| DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
|
| DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT
|
| OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
| LOSS OR DAMAGE.
|
|
|
| All company, brand and product names in this document may be trademarks that
|
| are the sole property of their respective owners.
|
|
|
| This notice and disclaimer must be included on all copies of this document.
|
|
|
| Connectivity Standards Alliance
|
| 508 Second Street, Suite 206
|
| Davis, CA 95616, USA
|
| --> |
| <cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0201" name="Thermostat" revision="6"> |
| <revisionHistory> |
| <revision revision="1" summary="Mandatory global ClusterRevision attribute added; fixed some defaults; CCB 1823, 1480"/> |
| <revision revision="2" summary="CCB 1981 2186 2249 2250 2251; NFR Thermostat Setback"/> |
| <revision revision="3" summary="CCB 2477 2560 2773 2777 2815 2816 3029"/> |
| <revision revision="4" summary="All Hubs changes"/> |
| <revision revision="5" summary="New data model format and notation, added FeatureMap, collapsed attribute sets, clarified edge cases around limits, default value of xxxSetpointLimit now respects AbsxxxSetpointLimit"/> |
| <revision revision="6" summary="Introduced the LTNE feature and adapted text (spec issue #5778)"/> |
| </revisionHistory> |
| <classification hierarchy="base" role="application" picsCode="TSTAT" scope="Endpoint"/> |
| <features> |
| <feature bit="0" code="HEAT" name="Heating" summary="Thermostat is capable of managing a heating device"> |
| <otherwiseConform> |
| <mandatoryConform> |
| <feature name="AUTO"/> |
| </mandatoryConform> |
| <optionalConform choice="a" more="true"/> |
| </otherwiseConform> |
| </feature> |
| <feature bit="1" code="COOL" name="Cooling" summary="Thermostat is capable of managing a cooling device"> |
| <otherwiseConform> |
| <mandatoryConform> |
| <feature name="AUTO"/> |
| </mandatoryConform> |
| <optionalConform choice="a" more="true"/> |
| </otherwiseConform> |
| </feature> |
| <feature bit="2" code="OCC" name="Occupancy" summary="Supports Occupied and Unoccupied setpoints"> |
| <optionalConform/> |
| </feature> |
| <feature bit="3" code="SCH" name="Zigbee Schedule Configuration" summary="Supports remote configuration of a weekly schedule of setpoint transitions"> |
| <otherwiseConform> |
| <deprecateConform/> |
| <mandatoryConform> |
| <condition name="Zigbee"/> |
| </mandatoryConform> |
| </otherwiseConform> |
| </feature> |
| <feature bit="4" code="SB" name="Setback" summary="Supports configurable setback (or span)"> |
| <optionalConform/> |
| </feature> |
| <feature bit="5" code="AUTO" name="Auto Mode" summary="Supports a System Mode of Auto"> |
| <optionalConform/> |
| </feature> |
| <feature bit="6" code="LTNE" name="Local Temperature Not Exposed" summary="Thermostat does not expose the LocalTemperature Value in the LocalTemperature attribute"> |
| <optionalConform/> |
| </feature> |
| </features> |
| <dataTypes> |
| <number name="SignedTemperature" type=""/> |
| <number name="TemperatureDifference" type=""/> |
| <number name="UnsignedTemperature" type=""/> |
| <enum name="ACCapacityFormatEnum"> |
| <item value="0" name="BTUh" summary="British Thermal Unit per Hour"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="ACCompressorTypeEnum"> |
| <item value="0" name="Unknown" summary="Unknown compressor type"> |
| <optionalConform/> |
| </item> |
| <item value="1" name="T1" summary="Max working ambient 43 °C"> |
| <optionalConform/> |
| </item> |
| <item value="2" name="T2" summary="Max working ambient 35 °C"> |
| <optionalConform/> |
| </item> |
| <item value="3" name="T3" summary="Max working ambient 52 °C"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="ACLouverPositionEnum"> |
| <item value="1" name="Closed" summary="Fully Closed"> |
| <optionalConform/> |
| </item> |
| <item value="2" name="Open" summary="Fully Open"> |
| <optionalConform/> |
| </item> |
| <item value="3" name="Quarter" summary="Quarter Open"> |
| <optionalConform/> |
| </item> |
| <item value="4" name="Half" summary="Half Open"> |
| <optionalConform/> |
| </item> |
| <item value="5" name="ThreeQuarters" summary="Three Quarters Open"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="ACRefrigerantTypeEnum"> |
| <item value="0" name="Unknown" summary="Unknown Refrigerant Type"> |
| <optionalConform/> |
| </item> |
| <item value="1" name="R22" summary="R22 Refrigerant"> |
| <optionalConform/> |
| </item> |
| <item value="2" name="R410a" summary="R410a Refrigerant"> |
| <optionalConform/> |
| </item> |
| <item value="3" name="R407c" summary="R407c Refrigerant"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="ACTypeEnum"> |
| <item value="0" name="Unknown" summary="Unknown AC Type"> |
| <optionalConform/> |
| </item> |
| <item value="1" name="CoolingFixed" summary="Cooling and Fixed Speed"> |
| <optionalConform/> |
| </item> |
| <item value="2" name="HeatPumpFixed" summary="Heat Pump and Fixed Speed"> |
| <optionalConform/> |
| </item> |
| <item value="3" name="CoolingInverter" summary="Cooling and Inverter"> |
| <optionalConform/> |
| </item> |
| <item value="4" name="HeatPumpInverter" summary="Heat Pump and Inverter"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="SetpointChangeSourceEnum"> |
| <item value="0" name="Manual" summary="Manual, user-initiated setpoint change via the thermostat"> |
| <optionalConform/> |
| </item> |
| <item value="1" name="Schedule" summary="Schedule/internal programming-initiated setpoint change"> |
| <optionalConform> |
| <feature name="SCH"/> |
| </optionalConform> |
| </item> |
| <item value="2" name="External" summary="Externally-initiated setpoint change (e.g., DRLC cluster command, attribute write)"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <enum name="StartOfWeek"> |
| <item value="0" name="Sunday"> |
| <mandatoryConform/> |
| </item> |
| <item value="1" name="Monday"> |
| <mandatoryConform/> |
| </item> |
| <item value="2" name="Tuesday"> |
| <mandatoryConform/> |
| </item> |
| <item value="3" name="Wednesday"> |
| <mandatoryConform/> |
| </item> |
| <item value="4" name="Thursday"> |
| <mandatoryConform/> |
| </item> |
| <item value="5" name="Friday"> |
| <mandatoryConform/> |
| </item> |
| <item value="6" name="Saturday"> |
| <mandatoryConform/> |
| </item> |
| </enum> |
| <enum name="TemperatureSetpointHold"> |
| <item value="0" name="SetpointHoldOff" summary="Follow scheduling program"> |
| <mandatoryConform/> |
| </item> |
| <item value="1" name="SetpointHoldOn" summary="Maintain current setpoint, regardless of schedule transitions"> |
| <mandatoryConform/> |
| </item> |
| </enum> |
| <enum name="ThermostatControlSequence"> |
| <item value="0" name="CoolingOnly" summary="Heat and Emergency are not possible"> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| </item> |
| <item value="1" name="CoolingWithReheat" summary="Heat and Emergency are not possible"> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| </item> |
| <item value="2" name="HeatingOnly" summary="Cool and precooling (see <<ref_HvacTerms>>) are not possible"> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| </item> |
| <item value="3" name="HeatingWithReheat" summary="Cool and precooling are not possible"> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| </item> |
| <item value="4" name="CoolingAndHeating" summary="All modes are possible"> |
| <optionalConform> |
| <andTerm> |
| <feature name="HEAT"/> |
| <feature name="COOL"/> |
| </andTerm> |
| </optionalConform> |
| </item> |
| <item value="5" name="CoolingAndHeatingWithReheat" summary="All modes are possible"> |
| <optionalConform> |
| <andTerm> |
| <feature name="HEAT"/> |
| <feature name="COOL"/> |
| </andTerm> |
| </optionalConform> |
| </item> |
| </enum> |
| <enum name="ThermostatSystemMode"> |
| <item value="0" name="Off" summary="The Thermostat does not generate demand for Cooling or Heating"> |
| <optionalConform/> |
| </item> |
| <item value="1" name="Auto" summary="Demand is generated for either Cooling or Heating, as required"> |
| <mandatoryConform> |
| <feature name="AUTO"/> |
| </mandatoryConform> |
| </item> |
| <item value="3" name="Cool" summary="Demand is only generated for Cooling"> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| </item> |
| <item value="4" name="Heat" summary="Demand is only generated for Heating"> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| </item> |
| <item value="5" name="EmergencyHeat" summary="2 stage heating is in use to achieve desired temperature"> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| </item> |
| <item value="6" name="Precooling" summary="(see <<ref_HvacTerms>>)"> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| </item> |
| <item value="7" name="Fan only"> |
| <optionalConform/> |
| </item> |
| <item value="8" name="Dry"> |
| <optionalConform/> |
| </item> |
| <item value="9" name="Sleep"> |
| <optionalConform/> |
| </item> |
| </enum> |
| <bitmap name="ACErrorCodeBitmap"> |
| <bitfield name="CompressorFail" bit="0" summary="Compressor Failure or Refrigerant Leakage"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="RoomSensorFail" bit="1" summary="Room Temperature Sensor Failure"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="OutdoorSensorFail" bit="2" summary="Outdoor Temperature Sensor Failure"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="CoilSensorFail" bit="3" summary="Indoor Coil Temperature Sensor Failure"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="FanFail" bit="4" summary="Fan Failure"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="AlarmCodeBitmap"> |
| <bitfield name="Initialization" bit="0" summary="Initialization failure. The device failed to complete initialization at power-up."> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Hardware" bit="1" summary="Hardware failure"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="SelfCalibration" bit="2" summary="Self-calibration failure"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="DayOfWeek"> |
| <bitfield name="Sunday" bit="0" summary="Sunday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Monday" bit="1" summary="Monday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Tuesday" bit="2" summary="Tuesday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Wednesday" bit="3" summary="Wednesday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Thursday" bit="4" summary="Thursday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Friday" bit="5" summary="Friday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Saturday" bit="6" summary="Saturday"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Away" bit="7" summary="Away or Vacation"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="HVACSystemTypeBitmap"> |
| <bitfield name="CoolingStage" summary="Stage of cooling the HVAC system is using."> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="HeatingStage" summary="Stage of heating the HVAC system is using."> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="HeatingType" bit="4" summary="Type of heating used by the HVAC system."> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="HeatingFuel" bit="5" summary="Type of fuel used by the HVAC system."> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="ModeForSequence"> |
| <bitfield name="HeatSetpointPresent" bit="0" summary="Adjust Heat Setpoint"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="CoolSetpointPresent" bit="1" summary="Adjust Cool Setpoint"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="ProgrammingOperationModeBitmap"> |
| <bitfield name="ScheduleActive" bit="0" summary="Schedule programming mode. This enables any |
| programmed weekly schedule configurations."> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="AutoRecovery" bit="1" summary="Auto/recovery mode"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Economy" bit="2" summary="Economy/EnergyStar mode"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="RelayStateBitmap"> |
| <bitfield name="Heat" bit="0" summary="Heat State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Cool" bit="1" summary="Cool State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="Fan" bit="2" summary="Fan State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="HeatStage2" bit="3" summary="Heat 2 State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="CoolStage2" bit="4" summary="Cool 2 State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="FanStage2" bit="5" summary="Fan 2 State On"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="FanStage3" bit="6" summary="Fan 3 Stage On"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <bitmap name="RemoteSensingBitmap"> |
| <bitfield name="LocalTemperature" bit="0" summary="Calculated Local Temperature is derived from a remote node"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="OutdoorTemperature" bit="1" summary="OutdoorTemperature is derived from a remote node"/> |
| <bitfield name="Occupancy" bit="2" summary="Occupancy is derived from a remote node"> |
| <mandatoryConform> |
| <feature name="OCC"/> |
| </mandatoryConform> |
| </bitfield> |
| </bitmap> |
| <bitmap name="SetpointAdjustMode"> |
| <bitfield name="Heat" bit="0" summary="Adjust Heat Setpoint"> |
| <mandatoryConform> |
| <feature name="HEAT"/> |
| </mandatoryConform> |
| </bitfield> |
| <bitfield name="Cool" bit="1" summary="Adjust Cool Setpoint"> |
| <mandatoryConform> |
| <feature name="COOL"/> |
| </mandatoryConform> |
| </bitfield> |
| <bitfield name="Both" bit="2" summary="Adjust Heat Setpoint and Cool Setpoint"> |
| <mandatoryConform> |
| <orTerm> |
| <feature name="HEAT"/> |
| <feature name="COOL"/> |
| </orTerm> |
| </mandatoryConform> |
| </bitfield> |
| </bitmap> |
| <bitmap name="TemperatureSetpointHoldPolicy"> |
| <bitfield name="HoldDurationElapsed" bit="0" summary="Hold will be cleared when the hold duration has elapsed"> |
| <mandatoryConform/> |
| </bitfield> |
| <bitfield name="HoldDurationElapsedOrPresetChanged" bit="1" summary="Hold will be cleared when either the hold duration has elapsed or the preset changes"> |
| <mandatoryConform/> |
| </bitfield> |
| </bitmap> |
| <struct name="ThermostatScheduleTransition"> |
| <field id="0" name="TransitionTime" type="uint16"> |
| <access read="true" write="true"/> |
| <mandatoryConform/> |
| <constraint type="between" from="0" to="1439"/> |
| </field> |
| <field id="1" name="HeatSetpoint" type="temperature"> |
| <access read="true" write="true"/> |
| <mandatoryConform/> |
| </field> |
| <field id="2" name="CoolSetpoint" type="temperature"> |
| <access read="true" write="true"/> |
| <mandatoryConform/> |
| </field> |
| </struct> |
| </dataTypes> |
| <attributes> |
| <attribute id="0x0000" name="LocalTemperature" type="temperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> |
| <mandatoryConform/> |
| </attribute> |
| <attribute id="0x0001" name="OutdoorTemperature" type="temperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0002" name="Occupancy" type="<<ref_OccupancyBitmap>>" default="1"> |
| <access read="true" readPrivilege="view"/> |
| <mandatoryConform> |
| <feature name="OCC"/> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0003" name="AbsMinHeatSetpointLimit" type="temperature" default="7°C"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0004" name="AbsMaxHeatSetpointLimit" type="temperature" default="30°C"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0005" name="AbsMinCoolSetpointLimit" type="temperature" default="16°C"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0006" name="AbsMaxCoolSetpointLimit" type="temperature" default="32°C"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0007" name="PICoolingDemand" type="uint8" default="-"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| <constraint type="between" from="0%" to="100%"/> |
| </attribute> |
| <attribute id="0x0008" name="PIHeatingDemand" type="uint8" default="-"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| <constraint type="between" from="0%" to="100%"/> |
| </attribute> |
| <attribute id="0x0009" name="HVACSystemTypeConfiguration" type="HVACSystemTypeBitmap" default="0"> |
| <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <deprecateConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0010" name="LocalTemperatureCalibration" type="SignedTemperature" default="0°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform> |
| <notTerm> |
| <feature name="LTNE"/> |
| </notTerm> |
| </optionalConform> |
| <constraint type="between" from="-2.5°C" to="2.5°C"/> |
| </attribute> |
| <attribute id="0x0011" name="OccupiedCoolingSetpoint" type="temperature" default="26°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> |
| <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <feature name="COOL"/> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0012" name="OccupiedHeatingSetpoint" type="temperature" default="20°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> |
| <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <feature name="HEAT"/> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0013" name="UnoccupiedCoolingSetpoint" type="temperature" default="26°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <andTerm> |
| <feature name="COOL"/> |
| <feature name="OCC"/> |
| </andTerm> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0014" name="UnoccupiedHeatingSetpoint" type="temperature" default="20°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <andTerm> |
| <feature name="HEAT"/> |
| <feature name="OCC"/> |
| </andTerm> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0015" name="MinHeatSetpointLimit" type="temperature" default="AbsMinHeatSetpointLimit"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0016" name="MaxHeatSetpointLimit" type="temperature" default="AbsMaxHeatSetpointLimit"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform> |
| <feature name="HEAT"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0017" name="MinCoolSetpointLimit" type="temperature" default="AbsMinCoolSetpointLimit"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0018" name="MaxCoolSetpointLimit" type="temperature" default="AbsMaxCoolSetpointLimit"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform> |
| <feature name="COOL"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0019" name="MinSetpointDeadBand" type="SignedTemperature" default="2.5°C"> |
| <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <feature name="AUTO"/> |
| </mandatoryConform> |
| <constraint type="between" from="0°C" to="2.5°C"/> |
| </attribute> |
| <attribute id="0x001a" name="RemoteSensing" type="RemoteSensingBitmap" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="allowed" value="00000xxx"/> |
| </attribute> |
| <attribute id="0x001b" name="ControlSequenceOfOperation" type="ThermostatControlSequence" default="4"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x001c" name="SystemMode" type="ThermostatSystemMode" default="1"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x001d" name="AlarmMask" type="AlarmCodeBitmap" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x001e" name="ThermostatRunningMode" type="ThermostatSystemMode" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <optionalConform> |
| <feature name="AUTO"/> |
| </optionalConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0020" name="StartOfWeek" type="StartOfWeek" default="–"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0021" name="NumberOfWeeklyTransitions" type="uint8" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| </attribute> |
| <attribute id="0x0022" name="NumberOfDailyTransitions" type="uint8" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| </attribute> |
| <attribute id="0x0023" name="TemperatureSetpointHold" type="TemperatureSetpointHold" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0024" name="TemperatureSetpointHoldDuration" type="uint16" default="null"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="between" from="0" to="1440"/> |
| </attribute> |
| <attribute id="0x0025" name="ThermostatProgrammingOperationMode" type="ProgrammingOperationModeBitmap" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0029" name="ThermostatRunningState" type="RelayStateBitmap" default="-"> |
| <access read="true" readPrivilege="view"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0030" name="SetpointChangeSource" type="SetpointChangeSourceEnum" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0031" name="SetpointChangeAmount" type="TemperatureDifference" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0032" name="SetpointChangeSourceTimestamp" type="utc" default="0"> |
| <access read="true" readPrivilege="view"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0034" name="OccupiedSetback" type="UnsignedTemperature" default="null"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SB"/> |
| </mandatoryConform> |
| <constraint type="between" from="OccupiedSetbackMin" to="OccupiedSetbackMax"/> |
| </attribute> |
| <attribute id="0x0035" name="OccupiedSetbackMin" type="UnsignedTemperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SB"/> |
| </mandatoryConform> |
| <constraint type="between" from="0" to="OccupiedSetbackMax"/> |
| </attribute> |
| <attribute id="0x0036" name="OccupiedSetbackMax" type="UnsignedTemperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <feature name="SB"/> |
| </mandatoryConform> |
| <constraint type="between" from="OccupiedSetbackMin" to="25.4°C"/> |
| </attribute> |
| <attribute id="0x0037" name="UnoccupiedSetback" type="UnsignedTemperature" default="null"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> |
| <mandatoryConform> |
| <andTerm> |
| <feature name="SB"/> |
| <feature name="OCC"/> |
| </andTerm> |
| </mandatoryConform> |
| <constraint type="between" from="UnoccupiedSetbackMin" to="UnoccupiedSetbackMax"/> |
| </attribute> |
| <attribute id="0x0038" name="UnoccupiedSetbackMin" type="UnsignedTemperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <andTerm> |
| <feature name="SB"/> |
| <feature name="OCC"/> |
| </andTerm> |
| </mandatoryConform> |
| <constraint type="between" from="0" to="UnoccupiedSetbackMax"/> |
| </attribute> |
| <attribute id="0x0039" name="UnoccupiedSetbackMax" type="UnsignedTemperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> |
| <mandatoryConform> |
| <andTerm> |
| <feature name="SB"/> |
| <feature name="OCC"/> |
| </andTerm> |
| </mandatoryConform> |
| <constraint type="between" from="UnoccupiedSetbackMin" to="25.4°C"/> |
| </attribute> |
| <attribute id="0x003a" name="EmergencyHeatDelta" type="UnsignedTemperature" default="25.5°C"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0040" name="ACType" type="ACTypeEnum" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0041" name="ACCapacity" type="uint16" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0042" name="ACRefrigerantType" type="ACRefrigerantTypeEnum" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0043" name="ACCompressorType" type="ACCompressorTypeEnum" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0044" name="ACErrorCode" type="ACErrorCodeBitmap" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0045" name="ACLouverPosition" type="ACLouverPositionEnum" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| <attribute id="0x0046" name="ACCoilTemperature" type="temperature" default="null"> |
| <access read="true" readPrivilege="view"/> |
| <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> |
| <optionalConform/> |
| </attribute> |
| <attribute id="0x0047" name="ACCapacityFormat" type="ACCapacityFormatEnum" default="0"> |
| <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> |
| <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> |
| <optionalConform/> |
| <constraint type="desc"/> |
| </attribute> |
| </attributes> |
| <commands> |
| <command id="0x00" name="SetpointRaiseLower" response="Y"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform/> |
| <field id="0" name="Mode" type="SetpointAdjustMode"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| <field id="1" name="Amount" type="int8"> |
| <mandatoryConform/> |
| </field> |
| </command> |
| <command id="0x00" name="GetWeeklyScheduleResponse" direction="responseFromServer"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| </command> |
| <command id="0x01" name="SetWeeklySchedule" response="Y"> |
| <access invokePrivilege="manage"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| <field id="0" name="NumberOfTransitionsForSequence" type="uint8"> |
| <mandatoryConform/> |
| </field> |
| <field id="1" name="DayOfWeekforSequence" type="DayOfWeek"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| <field id="2" name="ModeForSequence" type="ModeForSequence"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| <field id="3" name="Transitions" type="list[ThermostatScheduleTransition Type]"> |
| <mandatoryConform/> |
| <constraint type="max" value="10"/> |
| </field> |
| </command> |
| <command id="0x01" name="GetRelayStatusLogResponse" direction="responseFromServer"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <attribute name="GetRelayStatusLog"/> |
| </mandatoryConform> |
| <field id="0" name="TimeOfDay" type="uint16"> |
| <mandatoryConform/> |
| <constraint type="between" from="0" to="1439"/> |
| </field> |
| <field id="1" name="RelayStatus" type="RelayStateBitmap"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| <field id="2" name="LocalTemperature" type="temperature"> |
| <quality nullable="true"/> |
| <mandatoryConform/> |
| </field> |
| <field id="3" name="HumidityInPercentage" type="uint8"> |
| <quality nullable="true"/> |
| <mandatoryConform/> |
| <constraint type="between" from="0%" to="100%"/> |
| </field> |
| <field id="4" name="SetPoint" type="temperature"> |
| <mandatoryConform/> |
| </field> |
| <field id="5" name="UnreadEntries" type="uint16"> |
| <mandatoryConform/> |
| </field> |
| </command> |
| <command id="0x02" name="GetWeeklySchedule" response="GetWeeklyScheduleResponse"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| <field id="0" name="DaysToReturn" type="DayOfWeek"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| <field id="1" name="ModeToReturn" type="ModeForSequence"> |
| <mandatoryConform/> |
| <constraint type="desc"/> |
| </field> |
| </command> |
| <command id="0x03" name="ClearWeeklySchedule"> |
| <access invokePrivilege="manage"/> |
| <mandatoryConform> |
| <feature name="SCH"/> |
| </mandatoryConform> |
| </command> |
| <command id="0x04" name="GetRelayStatusLog" response="GetRelayStatusLogResponse"> |
| <access invokePrivilege="operate"/> |
| <optionalConform/> |
| </command> |
| </commands> |
| </cluster> |