Locks, closures, HVAC and lighting513 — Thermostat

Matter Cluster 513 — Thermostat

Matter Cluster 513 (0x0201) Thermostat: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 513 — Thermostat Cluster

Matter Cluster 513, also written as 0x0201, is the Thermostat Cluster. This cluster provides an interface to the functionality of a thermostat.

Cluster Identity

FieldValue
Cluster ID decimal513
Cluster ID hex0x0201
Cluster nameThermostat
Cluster revision (Matter 1.6.1)11
Roleapplication
ScopeEndpoint
PICS codeTSTAT
Typical endpoint1

Revision history

RevisionChange
1Mandatory global ClusterRevision attribute added; fixed some defaults; CCB 1823, 1480
2CCB 1981 2186 2249 2250 2251; NFR Thermostat Setback
3CCB 2477 2560 2773 2777 2815 2816 3029
4All Hubs changes
5New data model format and notation, added FeatureMap, collapsed attribute sets, clarified edge cases around limits, default value of xxxSetpointLimit now respects AbsxxxSetpointLimit
6Introduced the LTNE feature and adapted text (spec issue #5778)
7Update constraints on local temperature calibration and minimum setpoint deadband and introduced Presets and MatterScheduleConfiguration features
8Added comment regarding writing to ControlSequenceOfOperation
9Removed AlarmMask attribute and AlarmCodeBitmap Type
10Removed Zigbee related elements and P quality, deprecated ThermostatProgrammingOperationMode and removed ProgrammingOperationModeBitmap. and deprecated Setback feature and related elements.
11Added support for Thermostat suggestions. Added events.

Shadow Path Format

Cluster 513 values in the device shadow use this format:

endpoint_id / 513 / attribute_id

Example:

{
  "1/513/0": 1
}
PartMeaning
1Endpoint ID
513Thermostat cluster
0LocalTemperature attribute

Cluster 513 Features

The FeatureMap attribute (1/513/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.

BitCodeFeatureConformanceMeaning
0HEATHeatingAUTO, OThermostat is capable of managing a heating device
1COOLCoolingAUTO, OThermostat is capable of managing a cooling device
2OCCOccupancyOSupports Occupied and Unoccupied setpoints
4SBSetbackD
5AUTOAutoModeOSupports a System Mode of Auto
6LTNELocalTemperatureNotExposedOThermostat does not expose the LocalTemperature Value in the LocalTemperature attribute
7MSCHMatterScheduleConfigurationOSupports enhanced schedules
8PRESPresetsOThermostat supports setpoint presets
9TEVTEventsP, OThermostat supports events
10TSUGGESTThermostatSuggestions[PRES]Thermostat supports suggestions

Example: FeatureMap = 0 means no optional feature is enabled; 2039 means every feature listed above is enabled.


Data Types

ACCapacityFormatEnum

ValueNameConformanceMeaning
0BTUhOBritish Thermal Unit per Hour

ACCompressorTypeEnum

ValueNameConformanceMeaning
0UnknownOUnknown compressor type
1T1OMax working ambient 43 °C
2T2OMax working ambient 35 °C
3T3OMax working ambient 52 °C

ACLouverPositionEnum

ValueNameConformanceMeaning
1ClosedOFully Closed
2OpenOFully Open
3QuarterOQuarter Open
4HalfOHalf Open
5ThreeQuartersOThree Quarters Open

ACRefrigerantTypeEnum

ValueNameConformanceMeaning
0UnknownOUnknown Refrigerant Type
1R22OR22 Refrigerant
2R410aOR410a Refrigerant
3R407cOR407c Refrigerant

ACTypeEnum

ValueNameConformanceMeaning
0UnknownOUnknown AC Type
1CoolingFixedOCooling and Fixed Speed
2HeatPumpFixedOHeat Pump and Fixed Speed
3CoolingInverterOCooling and Inverter
4HeatPumpInverterOHeat Pump and Inverter

ControlSequenceOfOperationEnum

A thermostat indicating it supports CoolingAndHeating (or CoolingAndHeatingWithReheat) should be able to request heating or cooling on demand and will usually support the Auto SystemMode.

ValueNameConformanceMeaning
0CoolingOnly[COOL]Heat and Emergency are not possible
1CoolingWithReheat[COOL]Heat and Emergency are not possible
2HeatingOnly[HEAT]Cool and precooling (see Terms) are not possible
3HeatingWithReheat[HEAT]Cool and precooling are not possible
4CoolingAndHeating[HEAT & COOL]All modes are possible
5CoolingAndHeatingWithReheat[HEAT & COOL]All modes are possible

PresetScenarioEnum

ValueNameConformanceMeaning
1OccupiedMThe thermostat-controlled area is occupied
2UnoccupiedMThe thermostat-controlled area is unoccupied
3SleepMUsers are likely to be sleeping
4WakeMUsers are likely to be waking up
5VacationMUsers are on vacation
6GoingToSleepMUsers are likely to be going to sleep
254UserDefinedMCustom presets

SetpointChangeSourceEnum

ValueNameConformanceMeaning
0ManualOManual, user-initiated setpoint change via the thermostat
1Schedule[MSCH]Schedule/internal programming-initiated setpoint change
2ExternalOExternally-initiated setpoint change (e.g., DRLC cluster command, attribute write)

SetpointRaiseLowerModeEnum

ValueNameConformanceMeaning
0HeatHEATAdjust Heat Setpoint
1CoolCOOLAdjust Cool Setpoint
2BothHEAT | COOLAdjust Heat Setpoint and Cool Setpoint

StartOfWeekEnum

ValueNameConformanceMeaning
0SundayM—
1MondayM—
2TuesdayM—
3WednesdayM—
4ThursdayM—
5FridayM—
6SaturdayM—

SystemModeEnum

ValueNameConformanceMeaning
0OffOThe Thermostat does not generate demand for Cooling or Heating
1AutoAUTODemand is generated for either Cooling or Heating, as required
3Cool[COOL]Demand is only generated for Cooling
4Heat[HEAT]Demand is only generated for Heating
5EmergencyHeat[HEAT]2nd stage heating is in use to achieve desired temperature
6Precooling[COOL](see Terms)
7FanOnlyO—
8DryO—
9SleepO—

TemperatureSetpointHoldEnum

ValueNameConformanceMeaning
0SetpointHoldOffMFollow scheduling program
1SetpointHoldOnMMaintain current setpoint, regardless of schedule transitions

ThermostatRunningModeEnum

ValueNameConformanceMeaning
0OffOThe Thermostat does not generate demand for Cooling or Heating
3Cool[COOL]Demand is only generated for Cooling
4Heat[HEAT]Demand is only generated for Heating

ACErrorCodeBitmap (bitmap)

BitNameConformanceMeaning
0CompressorFailMCompressor Failure or Refrigerant Leakage
1RoomSensorFailMRoom Temperature Sensor Failure
2OutdoorSensorFailMOutdoor Temperature Sensor Failure
3CoilSensorFailMIndoor Coil Temperature Sensor Failure
4FanFailMFan Failure

OccupancyBitmap (bitmap)

BitNameConformanceMeaning
0OccupiedMIndicates the occupancy state

PresetTypeFeaturesBitmap (bitmap)

BitNameConformanceMeaning
0AutomaticMPreset may be automatically activated by the thermostat
1SupportsNamesMPreset supports user-provided names

RelayStateBitmap (bitmap)

BitNameConformanceMeaning
0HeatMHeat Stage On
1CoolMCool Stage On
2FanMFan Stage On
3HeatStage2MHeat 2nd Stage On
4CoolStage2MCool 2nd Stage On
5FanStage2MFan 2nd Stage On
6FanStage3MFan 3rd Stage On

RemoteSensingBitmap (bitmap)

BitNameConformanceMeaning
0LocalTemperatureMCalculated Local Temperature is derived from a remote node
1OutdoorTemperatureOutdoorTemperatureOutdoorTemperature is derived from a remote node
2OccupancyOCCOccupancy is derived from a remote node

ScheduleDayOfWeekBitmap (bitmap)

BitNameConformanceMeaning
0SundayMSunday
1MondayMMonday
2TuesdayMTuesday
3WednesdayMWednesday
4ThursdayMThursday
5FridayMFriday
6SaturdayMSaturday
7AwayMAway or Vacation

ScheduleModeBitmap (bitmap)

BitNameConformanceMeaning
0HeatSetpointPresentMAdjust Heat Setpoint
1CoolSetpointPresentMAdjust Cool Setpoint

ScheduleTypeFeaturesBitmap (bitmap)

BitNameConformanceMeaning
0SupportsPresets[PRES]Supports presets
1SupportsSetpointsOSupports setpoints
2SupportsNamesOSupports user-provided names
3SupportsOffOSupports transitioning to SystemModeOff

ThermostatSuggestionNotFollowingReasonBitmap (bitmap)

BitNameConformanceMeaning
0DemandResponseEventMThermostat is responding to a Demand Response event
1OngoingHoldMThermostat has an ongoing setpoint hold
2ScheduleMThermostat is following a schedule
3OccupancyMThermostat is following the occupancy signal
4VacationModeMThermostat is set to Vacation mode
5TimeOfUseCostSavingsMThermostat is following a Time Of Use based cost savings plan
6PreCoolingOrPreHeatingMThermostat is precooling or preheating based on an energy forecast signal
7ConflictingSuggestionsMThermostat has conflicting suggestions and is unable to choose one

PresetStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0PresetHandleoctstr (nullable)Mmax length 16Indicates a device generated identifier for this preset.
1PresetScenarioPresetScenarioEnumM—Indicates the associated PresetScenarioEnum value for this preset.
2Namestring (nullable)Omax length 64Indicates a name provided by a user.
3CoolingSetpointtemperatureCOOLdescIndicates the cooling setpoint for the preset.
4HeatingSetpointtemperatureHEATdescIndicates the heating setpoint for the preset.
5BuiltInbool (nullable)M—Indicates whether the preset is marked as "built-in", meaning that it can be modified, but it cannot be deleted.

PresetTypeStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0PresetScenarioPresetScenarioEnumM—This field specifies a PresetScenarioEnum value supported by this thermostat.
1NumberOfPresetsuint8M—This field specifies a limit for the number of presets for this PresetScenarioEnum.
2PresetTypeFeaturesPresetTypeFeaturesBitmapM—This field specifies a bitmap of features for this PresetTypeStruct.

ScheduleStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0ScheduleHandleoctstr (nullable)Mmax length 16Indicates a device generated identifier for this schedule.
1SystemModeSystemModeEnumMdescThis field specifies the default thermostat system mode for transitions in this schedule.
2NamestringOmax length 64This field specifies a name for the ScheduleStruct.
3PresetHandleoctstrOmax length 16Indicates the default PresetHandle value for transitions in this schedule.
4Transitionslist of ScheduleTransitionStructM1 to NumberOfScheduleTransitions entriesThis field specifies a list of transitions for the schedule.
5BuiltInbool (nullable)M—Indicates whether the schedule is marked as "built-in", meaning that it can be modified, but it cannot be deleted.

ScheduleTransitionStruct (struct)

This struct provides a time of day and a set of days of the week for a state transition within a schedule. The thermostat must use the following order of precedence for determining a new setpoint at the time of transition: 1.

FieldNameTypeConformanceConstraintMeaning
0DayOfWeekScheduleDayOfWeekBitmapMdescThis field specifies a bitmask of days of the week that the transition applies to.
1TransitionTimeuint16Mmax 1439This specifies the time of day at which the transition becomes active, in terms of minutes within the day representing the wall clock, where 0 is 00:00:00, 1 is 00:01:00 and 1439 is 23:59:00.
2PresetHandleoctstr[PRES]max length 16This field specifies the preset used at the TransitionTime.
3SystemModeSystemModeEnumOdescThis specifies the default mode to which the thermostat will switch for this transition, overriding the default for the schedule.
4CoolingSetpointtemperature[COOL]descThis field specifies the cooling setpoint for the transition.
5HeatingSetpointtemperature[HEAT]descThis field specifies the cooling setpoint for the transition.

ScheduleTypeStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0SystemModeSystemModeEnumMdescThis field specifies a SystemModeEnum supported by this thermostat for Schedules.
1NumberOfSchedulesuint8Mmax NumberOfSchedulesThis field specifies a limit for the number of Schedules for this SystemMode.
2ScheduleTypeFeaturesScheduleTypeFeaturesBitmapMdescThis field specifies a bitmap of features for this schedule entry.

ThermostatSuggestionStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0UniqueIDuint8M——
1PresetHandleoctstrMmax length 16Indicates the PresetHandle of the PresetStruct that represents the thermostat suggestion value.
2EffectiveTimeepoch-sM—Indicates the UTC timestamp at which the suggestion must take effect.
3ExpirationTimeepoch-sM—Indicates the UTC timestamp at which the suggestion must expire.

WeeklyScheduleTransitionStruct (struct)

This represents a single transition in a Thermostat schedule

FieldNameTypeConformanceConstraintMeaning
0TransitionTimeuint16Mmax 1439This field represents the start time of the schedule transition during the associated day.
1HeatSetpointtemperature (nullable)M—This field represents the heat setpoint to be applied at this associated transition start time.
2CoolSetpointtemperature (nullable)M—This field represents the cool setpoint to be applied at this associated transition start time.

Cluster 513 Attributes

Cluster 513 defines 61 attributes plus the global attributes. Conformance: M mandatory, O optional, a feature code means "mandatory when that feature is present", square brackets mean "optional when …".

IDHexAttributeTypeConformanceAccessQualitiesDefault
00x0000LocalTemperaturetemperatureMR (read: view)nullable—
10x0001OutdoorTemperaturetemperatureOR (read: view)nullablenull
20x0002OccupancyOccupancyBitmapOCCR (read: view)——
30x0003AbsMinHeatSetpointLimittemperature[HEAT]R (read: view)—700
40x0004AbsMaxHeatSetpointLimittemperature[HEAT]R (read: view)—3000
50x0005AbsMinCoolSetpointLimittemperature[COOL]R (read: view)—1600
60x0006AbsMaxCoolSetpointLimittemperature[COOL]R (read: view)—3200
70x0007PICoolingDemandD———
80x0008PIHeatingDemandD———
90x0009HVACSystemTypeConfigurationD———
160x0010LocalTemperatureCalibrationSignedTemperature[!LTNE]R/W (read: view, write: manage)persisted0
170x0011OccupiedCoolingSetpointtemperatureCOOLR/W (read: view, write: operate)persisted2600
180x0012OccupiedHeatingSetpointtemperatureHEATR/W (read: view, write: operate)persisted2000
190x0013UnoccupiedCoolingSetpointtemperatureCOOL & OCCR/W (read: view, write: operate)persisted2600
200x0014UnoccupiedHeatingSetpointtemperatureHEAT & OCCR/W (read: view, write: operate)persisted2000
210x0015MinHeatSetpointLimittemperature[HEAT]R/W (read: view, write: manage)persisted—
220x0016MaxHeatSetpointLimittemperature[HEAT]R/W (read: view, write: manage)persisted—
230x0017MinCoolSetpointLimittemperature[COOL]R/W (read: view, write: manage)persisted—
240x0018MaxCoolSetpointLimittemperature[COOL]R/W (read: view, write: manage)persisted—
250x0019MinSetpointDeadBandSignedTemperatureAUTOR/W(opt) (read: view, write: manage)persisted20
260x001ARemoteSensingRemoteSensingBitmapOR/W (read: view, write: manage)persisted0
270x001BControlSequenceOfOperationControlSequenceOfOperationEnumMR/W (read: view, write: manage)persisted—
280x001CSystemModeSystemModeEnumMR/W (read: view, write: manage)persisted—
300x001EThermostatRunningModeThermostatRunningModeEnumTEVT & AUTO, [AUTO]R (read: view)—0
350x0023TemperatureSetpointHoldTemperatureSetpointHoldEnumOR/W (read: view, write: manage)persisted0
360x0024TemperatureSetpointHoldDurationuint16OR/W (read: view, write: manage)nullable, persistednull
370x0025ThermostatProgrammingOperationModeD———
410x0029ThermostatRunningStateRelayStateBitmapOR (read: view)——
480x0030SetpointChangeSourceSetpointChangeSourceEnumOR (read: view)—0
490x0031SetpointChangeAmountint16sOR (read: view)nullablenull
500x0032SetpointChangeSourceTimestampepoch-sOR (read: view)—MS
520x0034OccupiedSetbackD———
530x0035OccupiedSetbackMinD———
540x0036OccupiedSetbackMaxD———
550x0037UnoccupiedSetbackD———
560x0038UnoccupiedSetbackMinD———
570x0039UnoccupiedSetbackMaxD———
580x003AEmergencyHeatDeltaUnsignedTemperatureOR/W (read: view, write: manage)persisted255
640x0040ACTypeACTypeEnumOR/W (read: view, write: manage)persisted0
650x0041ACCapacityuint16OR/W (read: view, write: manage)persisted0
660x0042ACRefrigerantTypeACRefrigerantTypeEnumOR/W (read: view, write: manage)persisted0
670x0043ACCompressorTypeACCompressorTypeEnumOR/W (read: view, write: manage)persisted0
680x0044ACErrorCodeACErrorCodeBitmapOR/W (read: view, write: manage)—0
690x0045ACLouverPositionACLouverPositionEnumOR/W (read: view, write: manage)persisted0
700x0046ACCoilTemperaturetemperatureOR (read: view)nullablenull
710x0047ACCapacityFormatACCapacityFormatEnumOR/W (read: view, write: manage)persisted0
720x0048PresetTypeslist of PresetTypeStructPRESR (read: view)——
730x0049ScheduleTypeslist of ScheduleTypeStructMSCHR (read: view)——
740x004ANumberOfPresetsuint8PRESR (read: view)——
750x004BNumberOfSchedulesuint8MSCHR (read: view)——
760x004CNumberOfScheduleTransitionsuint8MSCHR (read: view)——
770x004DNumberOfScheduleTransitionPerDayuint8MSCHR (read: view)nullable—
780x004EActivePresetHandleoctstrPRESR (read: view)nullable, persisted—
790x004FActiveScheduleHandleoctstrMSCHR (read: view)nullable, persisted—
800x0050Presetslist of PresetStructPRESR/W (read: view, write: manage)persisted—
810x0051Scheduleslist of ScheduleStructMSCHR/W (read: view, write: manage)persisted—
820x0052SetpointHoldExpiryTimestampepoch-sOR (read: view)nullable, persistednull
830x0053MaxThermostatSuggestionsuint8TSUGGESTR (read: view)——
840x0054ThermostatSuggestionslist of ThermostatSuggestionStructTSUGGESTR (read: view)persisted—
850x0055CurrentThermostatSuggestionThermostatSuggestionStructTSUGGESTR (read: view)nullable—
860x0056ThermostatSuggestionNotFollowingReasonThermostatSuggestionNotFollowingReasonBitmapTSUGGESTR (read: view)nullable—

Global attributes

IDHexAttributeMeaning
655280xFFF8GeneratedCommandListResponse command IDs this server generates.
655290xFFF9AcceptedCommandListCommand IDs this server accepts.
655310xFFFBAttributeListAttribute IDs implemented.
655320xFFFCFeatureMapImplemented optional features (see above).
655330xFFFDClusterRevisionCluster revision implemented; 11 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — LocalTemperature

Path example:

1/513/0

Indicates the current Calculated Local Temperature, when available. - If the LTNE feature is not supported: - If the LocalTemperatureCalibration is invalid or currently unavailable, the attribute must report null. - If the LocalTemperatureCalibration is valid, the attribute must report that value. - Otherwise, if the LTNE feature is supported, there is no feedback externally available for the LocalTemperatureCalibration. In that case, the LocalTemperature attribute must always report null.

PropertyValue
Typetemperature
ConformanceM
AccessR (read: view)
Qualitiesnullable

Example:

{
  "1/513/0": 1
}

Attribute 1 / 0x0001 — OutdoorTemperature

Path example:

1/513/1

Indicates the outdoor temperature, as measured locally or remotely (over the network).

PropertyValue
Typetemperature
ConformanceO
AccessR (read: view)
Qualitiesnullable
Defaultnull

Example:

{
  "1/513/1": 1
}

Attribute 2 / 0x0002 — Occupancy

Path example:

1/513/2

Indicates whether the heated/cooled space is occupied or not, as measured locally or remotely (over the network).

PropertyValue
TypeOccupancyBitmap
ConformanceOCC
AccessR (read: view)

Bits (OccupancyBitmap):

BitNameMeaning
0OccupiedIndicates the occupancy state

Example:

{
  "1/513/2": 0
}

Attribute 3 / 0x0003 — AbsMinHeatSetpointLimit

Path example:

1/513/3

Indicates the absolute minimum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer. Refer to Setpoint Limits for constraints

PropertyValue
Typetemperature
Conformance[HEAT]
AccessR (read: view)
Constraintdesc
Default700

Example:

{
  "1/513/3": 1
}

Attribute 4 / 0x0004 — AbsMaxHeatSetpointLimit

Path example:

1/513/4

Indicates the absolute maximum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer. Refer to Setpoint Limits for constraints

PropertyValue
Typetemperature
Conformance[HEAT]
AccessR (read: view)
Constraintdesc
Default3000

Example:

{
  "1/513/4": 1
}

Attribute 5 / 0x0005 — AbsMinCoolSetpointLimit

Path example:

1/513/5

Indicates the absolute minimum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer. Refer to Setpoint Limits for constraints

PropertyValue
Typetemperature
Conformance[COOL]
AccessR (read: view)
Constraintdesc
Default1600

Example:

{
  "1/513/5": 1
}

Attribute 6 / 0x0006 — AbsMaxCoolSetpointLimit

Path example:

1/513/6

Indicates the absolute maximum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer. Refer to Setpoint Limits for constraints

PropertyValue
Typetemperature
Conformance[COOL]
AccessR (read: view)
Constraintdesc
Default3200

Example:

{
  "1/513/6": 1
}

Attribute 7 / 0x0007 — PICoolingDemand

Path example:

1/513/7

No condensed specification text is available for PICoolingDemand; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/7": 0
}

Attribute 8 / 0x0008 — PIHeatingDemand

Path example:

1/513/8

No condensed specification text is available for PIHeatingDemand; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/8": 0
}

Attribute 9 / 0x0009 — HVACSystemTypeConfiguration

Path example:

1/513/9

No condensed specification text is available for HVACSystemTypeConfiguration; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/9": 0
}

Attribute 16 / 0x0010 — LocalTemperatureCalibration

Path example:

1/513/16

Indicates the offset the Thermostat server must make to the measured temperature (locally or remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it. The purpose of this attribute is to adjust the calibration of the Thermostat server per the user's preferences (e.g., to match if there are multiple servers displaying different values for the same HVAC area) or compensate for variability amongst temperature sensors.

PropertyValue
TypeSignedTemperature
Conformance[!LTNE]
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/513/16": 0
}

Attribute 17 / 0x0011 — OccupiedCoolingSetpoint

Path example:

1/513/17

Indicates the cooling mode setpoint when the room is occupied. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR is returned. If this attribute is set to a value that is less than (OccupiedHeatingSetpoint + MinSetpointDeadBand), the value of OccupiedHeatingSetpoint is adjusted to (OccupiedCoolingSetpoint - MinSetpointDeadBand).

PropertyValue
Typetemperature
ConformanceCOOL
AccessR/W (read: view, write: operate)
Qualitiespersisted
Constraintdesc
Default2600

Example:

{
  "1/513/17": 1
}

Attribute 18 / 0x0012 — OccupiedHeatingSetpoint

Path example:

1/513/18

Indicates the heating mode setpoint when the room is occupied. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR is returned. If this attribute is set to a value that is greater than (OccupiedCoolingSetpoint - MinSetpointDeadBand), the value of OccupiedCoolingSetpoint is adjusted to (OccupiedHeatingSetpoint + MinSetpointDeadBand).

PropertyValue
Typetemperature
ConformanceHEAT
AccessR/W (read: view, write: operate)
Qualitiespersisted
Constraintdesc
Default2000

Example:

{
  "1/513/18": 1
}

Attribute 19 / 0x0013 — UnoccupiedCoolingSetpoint

Path example:

1/513/19

Indicates the cooling mode setpoint when the room is unoccupied. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR is returned. If this attribute is set to a value that is less than (UnoccupiedHeatingSetpoint + MinSetpointDeadBand), the value of UnoccupiedHeatingSetpoint is adjusted to (UnoccupiedCoolingSetpoint - MinSetpointDeadBand).

PropertyValue
Typetemperature
ConformanceCOOL & OCC
AccessR/W (read: view, write: operate)
Qualitiespersisted
Constraintdesc
Default2600

Example:

{
  "1/513/19": 1
}

Attribute 20 / 0x0014 — UnoccupiedHeatingSetpoint

Path example:

1/513/20

Indicates the heating mode setpoint when the room is unoccupied. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR is returned. If this attribute is set to a value that is greater than (UnoccupiedCoolingSetpoint - MinSetpointDeadBand), the value of UnoccupiedCoolingSetpoint is adjusted to (UnoccupiedHeatingSetpoint + MinSetpointDeadBand).

PropertyValue
Typetemperature
ConformanceHEAT & OCC
AccessR/W (read: view, write: operate)
Qualitiespersisted
Constraintdesc
Default2000

Example:

{
  "1/513/20": 1
}

Attribute 21 / 0x0015 — MinHeatSetpointLimit

Path example:

1/513/21

Indicates the minimum level that the heating setpoint may be set to. This attribute, and the following three attributes, allow the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (e.g., in a commercial building) to such setpoint limits can help conserve power. Refer to Setpoint Limits for constraints.

PropertyValue
Typetemperature
Conformance[HEAT]
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Example:

{
  "1/513/21": 1
}

Attribute 22 / 0x0016 — MaxHeatSetpointLimit

Path example:

1/513/22

Indicates the maximum level that the heating setpoint may be set to. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints is adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR is returned.

PropertyValue
Typetemperature
Conformance[HEAT]
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Example:

{
  "1/513/22": 1
}

Attribute 23 / 0x0017 — MinCoolSetpointLimit

Path example:

1/513/23

Indicates the minimum level that the cooling setpoint may be set to. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints is adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR is returned.

PropertyValue
Typetemperature
Conformance[COOL]
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Example:

{
  "1/513/23": 1
}

Attribute 24 / 0x0018 — MaxCoolSetpointLimit

Path example:

1/513/24

Indicates the maximum level that the cooling setpoint may be set to. Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints is adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR is returned.

PropertyValue
Typetemperature
Conformance[COOL]
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Example:

{
  "1/513/24": 1
}

Attribute 25 / 0x0019 — MinSetpointDeadBand

Path example:

1/513/25

On devices which support the AUTO feature, this attribute indicates the minimum difference between the Heat Setpoint and the Cool Setpoint. Refer to Setpoint Limits for constraints. Prior to revision 8 of this cluster specification the value of this attribute was constrained to a range of 0°C to 2.5°C. For backwards compatibility, this attribute is optionally writeable.

PropertyValue
TypeSignedTemperature
ConformanceAUTO
AccessR/W(opt) (read: view, write: manage)
Qualitiespersisted
Constraint0 to 127
Default20

Example:

{
  "1/513/25": 0
}

Attribute 26 / 0x001A — RemoteSensing

Path example:

1/513/26

Indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote networked sensors, rather than internal sensors. If the LTNE feature is present in the server, the LocalTemperature RemoteSensing bit value must always report a value of 0. If the LocalTemperature RemoteSensing bit is written with a value of 1 when the LTNE feature is present, the write must fail and the server must report a CONSTRAINT_ERROR.

PropertyValue
TypeRemoteSensingBitmap
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Bits (RemoteSensingBitmap):

BitNameMeaning
0LocalTemperatureCalculated Local Temperature is derived from a remote node
1OutdoorTemperatureOutdoorTemperature is derived from a remote node
2OccupancyOccupancy is derived from a remote node

Example:

{
  "1/513/26": 0
}

Attribute 27 / 0x001B — ControlSequenceOfOperation

Path example:

1/513/27

Indicates the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in. If an attempt is made to write to this attribute, the server must silently ignore the write and the value of this attribute must remain unchanged. This behavior is in place for backwards compatibility with existing thermostats.

PropertyValue
TypeControlSequenceOfOperationEnum
ConformanceM
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Values (ControlSequenceOfOperationEnum):

ValueNameMeaning
0CoolingOnlyHeat and Emergency are not possible
1CoolingWithReheatHeat and Emergency are not possible
2HeatingOnlyCool and precooling (see Terms) are not possible
3HeatingWithReheatCool and precooling are not possible
4CoolingAndHeatingAll modes are possible
5CoolingAndHeatingWithReheatAll modes are possible

Example:

{
  "1/513/27": 0
}

Attribute 28 / 0x001C — SystemMode

Path example:

1/513/28

Indicates the current operating mode of the thermostat. Its value is limited by the ControlSequenceOfOperation attribute.

PropertyValue
TypeSystemModeEnum
ConformanceM
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc

Values (SystemModeEnum):

ValueNameMeaning
0OffThe Thermostat does not generate demand for Cooling or Heating
1AutoDemand is generated for either Cooling or Heating, as required
3CoolDemand is only generated for Cooling
4HeatDemand is only generated for Heating
5EmergencyHeat2nd stage heating is in use to achieve desired temperature
6Precooling(see Terms)
7FanOnly—
8Dry—
9Sleep—

Example:

{
  "1/513/28": 0
}

Attribute 30 / 0x001E — ThermostatRunningMode

Path example:

1/513/30

Indicates the running mode of the thermostat. This attribute uses the same values as SystemModeEnum but can only be Off, Cool or Heat. This attribute is intended to provide additional information when the thermostat's system mode is in auto mode.

PropertyValue
TypeThermostatRunningModeEnum
ConformanceTEVT & AUTO, [AUTO]
AccessR (read: view)
Constraintdesc
Default0

Values (ThermostatRunningModeEnum):

ValueNameMeaning
0OffThe Thermostat does not generate demand for Cooling or Heating
3CoolDemand is only generated for Cooling
4HeatDemand is only generated for Heating

Example:

{
  "1/513/30": 0
}

Attribute 35 / 0x0023 — TemperatureSetpointHold

Path example:

1/513/35

Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat should maintain the temperature setpoint for the current mode until a system mode change. If hold status is off, the thermostat should follow the setpoint transitions specified by its internal scheduling program. If the thermostat supports setpoint hold for a specific duration, it should also implement the TemperatureSetpointHoldDuration attribute.

PropertyValue
TypeTemperatureSetpointHoldEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (TemperatureSetpointHoldEnum):

ValueNameMeaning
0SetpointHoldOffFollow scheduling program
1SetpointHoldOnMaintain current setpoint, regardless of schedule transitions

Example:

{
  "1/513/35": 0
}

Attribute 36 / 0x0024 — TemperatureSetpointHoldDuration

Path example:

1/513/36

Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold for a specified duration should implement this attribute. The null value indicates the field is unused. All other values are reserved.

PropertyValue
Typeuint16
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiesnullable, persisted
Constraintmax 1440
Defaultnull

Example:

{
  "1/513/36": 1
}

Attribute 37 / 0x0025 — ThermostatProgrammingOperationMode

Path example:

1/513/37

No condensed specification text is available for ThermostatProgrammingOperationMode; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/37": 0
}

Attribute 41 / 0x0029 — ThermostatRunningState

Path example:

1/513/41

Indicates the current relay state of the heat, cool, and fan relays. Unimplemented outputs is treated as if they were Off.

PropertyValue
TypeRelayStateBitmap
ConformanceO
AccessR (read: view)
Constraintdesc

Bits (RelayStateBitmap):

BitNameMeaning
0HeatHeat Stage On
1CoolCool Stage On
2FanFan Stage On
3HeatStage2Heat 2nd Stage On
4CoolStage2Cool 2nd Stage On
5FanStage2Fan 2nd Stage On
6FanStage3Fan 3rd Stage On

Example:

{
  "1/513/41": 0
}

Attribute 48 / 0x0030 — SetpointChangeSource

Path example:

1/513/48

Indicates the source of the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint (i.e., who or what determined the current setpoint). This attribute enables service providers to determine whether changes to setpoints were initiated due to occupant comfort, scheduled programming or some other source (e.g., electric utility or other service provider). Because automation services may initiate frequent setpoint changes, this attribute clearly differentiates the source of setpoint changes made at the thermostat.

PropertyValue
TypeSetpointChangeSourceEnum
ConformanceO
AccessR (read: view)
Constraintdesc
Default0

Values (SetpointChangeSourceEnum):

ValueNameMeaning
0ManualManual, user-initiated setpoint change via the thermostat
1ScheduleSchedule/internal programming-initiated setpoint change
2ExternalExternally-initiated setpoint change (e.g., DRLC cluster command, attribute write)

Example:

{
  "1/513/48": 0
}

Attribute 49 / 0x0031 — SetpointChangeAmount

Path example:

1/513/49

Indicates the delta between the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint and the previous active setpoint. This attribute is meant to accompany the SetpointChangeSource attribute; devices implementing SetpointChangeAmount should also implement SetpointChangeSource. The null value indicates that the previous setpoint was unknown.

PropertyValue
Typeint16s
ConformanceO
AccessR (read: view)
Qualitiesnullable
Defaultnull

Example:

{
  "1/513/49": 1
}

Attribute 50 / 0x0032 — SetpointChangeSourceTimestamp

Path example:

1/513/50

Indicates the time in UTC at which the SetpointChangeAmount attribute change was recorded.

PropertyValue
Typeepoch-s
ConformanceO
AccessR (read: view)
DefaultMS

Example:

{
  "1/513/50": 0
}

Attribute 52 / 0x0034 — OccupiedSetback

Path example:

1/513/52

No condensed specification text is available for OccupiedSetback; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/52": 0
}

Attribute 53 / 0x0035 — OccupiedSetbackMin

Path example:

1/513/53

No condensed specification text is available for OccupiedSetbackMin; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/53": 0
}

Attribute 54 / 0x0036 — OccupiedSetbackMax

Path example:

1/513/54

No condensed specification text is available for OccupiedSetbackMax; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/54": 0
}

Attribute 55 / 0x0037 — UnoccupiedSetback

Path example:

1/513/55

No condensed specification text is available for UnoccupiedSetback; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/55": 0
}

Attribute 56 / 0x0038 — UnoccupiedSetbackMin

Path example:

1/513/56

No condensed specification text is available for UnoccupiedSetbackMin; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/56": 0
}

Attribute 57 / 0x0039 — UnoccupiedSetbackMax

Path example:

1/513/57

No condensed specification text is available for UnoccupiedSetbackMax; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceD
Access—

Example:

{
  "1/513/57": 0
}

Attribute 58 / 0x003A — EmergencyHeatDelta

Path example:

1/513/58

Indicates the delta between the Calculated Local Temperature and the OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint attributes at which the Thermostat server will operate in emergency heat mode. If the difference between the Calculated Local Temperature and OccupiedCoolingSetpoint or UnoccupiedCoolingSetpoint is greater than or equal to the EmergencyHeatDelta and the Thermostat server's SystemMode attribute is in a heating-related mode, then the Thermostat server must immediately switch to the SystemMode attribute value that provides the highest stage of heating (e.g., emergency heat) and continue operating in that running state until the OccupiedHeatingSetpoint value is reached.

PropertyValue
TypeUnsignedTemperature
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default255

Example:

{
  "1/513/58": 0
}

Attribute 64 / 0x0040 — ACType

Path example:

1/513/64

No condensed specification text is available for ACType; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACTypeEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (ACTypeEnum):

ValueNameMeaning
0UnknownUnknown AC Type
1CoolingFixedCooling and Fixed Speed
2HeatPumpFixedHeat Pump and Fixed Speed
3CoolingInverterCooling and Inverter
4HeatPumpInverterHeat Pump and Inverter

Example:

{
  "1/513/64": 1
}

Attribute 65 / 0x0041 — ACCapacity

Path example:

1/513/65

No condensed specification text is available for ACCapacity; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typeuint16
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/513/65": 1
}

Attribute 66 / 0x0042 — ACRefrigerantType

Path example:

1/513/66

No condensed specification text is available for ACRefrigerantType; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACRefrigerantTypeEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (ACRefrigerantTypeEnum):

ValueNameMeaning
0UnknownUnknown Refrigerant Type
1R22R22 Refrigerant
2R410aR410a Refrigerant
3R407cR407c Refrigerant

Example:

{
  "1/513/66": 1
}

Attribute 67 / 0x0043 — ACCompressorType

Path example:

1/513/67

No condensed specification text is available for ACCompressorType; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACCompressorTypeEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (ACCompressorTypeEnum):

ValueNameMeaning
0UnknownUnknown compressor type
1T1Max working ambient 43 °C
2T2Max working ambient 35 °C
3T3Max working ambient 52 °C

Example:

{
  "1/513/67": 1
}

Attribute 68 / 0x0044 — ACErrorCode

Path example:

1/513/68

No condensed specification text is available for ACErrorCode; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACErrorCodeBitmap
ConformanceO
AccessR/W (read: view, write: manage)
Default0

Bits (ACErrorCodeBitmap):

BitNameMeaning
0CompressorFailCompressor Failure or Refrigerant Leakage
1RoomSensorFailRoom Temperature Sensor Failure
2OutdoorSensorFailOutdoor Temperature Sensor Failure
3CoilSensorFailIndoor Coil Temperature Sensor Failure
4FanFailFan Failure

Example:

{
  "1/513/68": 0
}

Attribute 69 / 0x0045 — ACLouverPosition

Path example:

1/513/69

No condensed specification text is available for ACLouverPosition; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACLouverPositionEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (ACLouverPositionEnum):

ValueNameMeaning
1ClosedFully Closed
2OpenFully Open
3QuarterQuarter Open
4HalfHalf Open
5ThreeQuartersThree Quarters Open

Example:

{
  "1/513/69": 1
}

Attribute 70 / 0x0046 — ACCoilTemperature

Path example:

1/513/70

No condensed specification text is available for ACCoilTemperature; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typetemperature
ConformanceO
AccessR (read: view)
Qualitiesnullable
Defaultnull

Example:

{
  "1/513/70": 1
}

Attribute 71 / 0x0047 — ACCapacityFormat

Path example:

1/513/71

No condensed specification text is available for ACCapacityFormat; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
TypeACCapacityFormatEnum
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintdesc
Default0

Values (ACCapacityFormatEnum):

ValueNameMeaning
0BTUhBritish Thermal Unit per Hour

Example:

{
  "1/513/71": 0
}

Attribute 72 / 0x0048 — PresetTypes

Path example:

1/513/72

Indicates the supported PresetScenarioEnum values, limits on how many presets can be created for each PresetScenarioEnum, and whether or not a thermostat can transition automatically to a given scenario. The list contains at least one entry. The list must NOT be larger than the number of supported PresetScenarioEnum values (maximum 7). The list must NOT contain any PresetTypeStruct entries with duplicate PresetScenarioEnum values.

PropertyValue
Typelist of PresetTypeStruct
ConformancePRES
AccessR (read: view)
Constraint1 to 7 entries

Each entry is a PresetTypeStruct (see Data Types).

Example:

{
  "1/513/72": []
}

Attribute 73 / 0x0049 — ScheduleTypes

Path example:

1/513/73

Indicates the supported SystemMode values for Schedules, limits on how many schedules can be created for each SystemMode value, and whether or not a given SystemMode value supports transitions to Presets, target setpoints, or both. The list contains at least one entry. The list must NOT be larger than the number of supported schedule SystemMode values (maximum 3, since the data type only allows Auto, Heat and Cool). The list must NOT contain any ScheduleTypeStruct entries with duplicate SystemModeEnum values.

PropertyValue
Typelist of ScheduleTypeStruct
ConformanceMSCH
AccessR (read: view)
Constraint1 to 3 entries

Each entry is a ScheduleTypeStruct (see Data Types).

Example:

{
  "1/513/73": []
}

Attribute 74 / 0x004A — NumberOfPresets

Path example:

1/513/74

Indicates the maximum number of entries supported by the Presets attribute.

PropertyValue
Typeuint8
ConformancePRES
AccessR (read: view)
Constraintmin 1

Example:

{
  "1/513/74": 1
}

Attribute 75 / 0x004B — NumberOfSchedules

Path example:

1/513/75

Indicates the maximum number of entries supported by the Schedules attribute.

PropertyValue
Typeuint8
ConformanceMSCH
AccessR (read: view)
Constraintmin 1

Example:

{
  "1/513/75": 1
}

Attribute 76 / 0x004C — NumberOfScheduleTransitions

Path example:

1/513/76

Indicates the maximum number of transitions per Schedules attribute entry.

PropertyValue
Typeuint8
ConformanceMSCH
AccessR (read: view)
Constraintmin 1

Example:

{
  "1/513/76": 1
}

Attribute 77 / 0x004D — NumberOfScheduleTransitionPerDay

Path example:

1/513/77

Indicates the maximum number of transitions per day of the week supported by each Schedules attribute entry. If this value is null, there is no limit on the number of transitions per day.

PropertyValue
Typeuint8
ConformanceMSCH
AccessR (read: view)
Qualitiesnullable
Constraintmin 1

Example:

{
  "1/513/77": 1
}

Attribute 78 / 0x004E — ActivePresetHandle

Path example:

1/513/78

Indicates the PresetHandle of the active preset. If this attribute is null, then there is no active preset.

PropertyValue
Typeoctstr
ConformancePRES
AccessR (read: view)
Qualitiesnullable, persisted
Constraintmax length 16

Example:

{
  "1/513/78": "AQID"
}

Attribute 79 / 0x004F — ActiveScheduleHandle

Path example:

1/513/79

Indicates the ScheduleHandle of the active schedule. A null value in this attribute indicates that there is no active schedule.

PropertyValue
Typeoctstr
ConformanceMSCH
AccessR (read: view)
Qualitiesnullable, persisted
Constraintmax length 16

Example:

{
  "1/513/79": "AQID"
}

Attribute 80 / 0x0050 — Presets

Path example:

1/513/80

This attribute contains the current list of configured presets. On receipt of a write request: 1. If the PresetHandle field is null, the PresetStruct is treated as an added preset, and the device must create a new unique value for the PresetHandle field. 1. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR is returned. 2.

PropertyValue
Typelist of PresetStruct
ConformancePRES
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintmax NumberOfPresets entries

Each entry is a PresetStruct (see Data Types).

Example:

{
  "1/513/80": []
}

Attribute 81 / 0x0051 — Schedules

Path example:

1/513/81

This attribute contains a list of ScheduleStructs. On receipt of a write request: 1. For all schedules in the write request: 1. If the ScheduleHandle field is null, the ScheduleStruct is treated as an added schedule, and the device must create a new unique value for the ScheduleHandle field. 1.

PropertyValue
Typelist of ScheduleStruct
ConformanceMSCH
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraintmax NumberOfSchedules entries

Each entry is a ScheduleStruct (see Data Types).

Example:

{
  "1/513/81": []
}

Attribute 82 / 0x0052 — SetpointHoldExpiryTimestamp

Path example:

1/513/82

If there is a known time when the TemperatureSetpointHold is cleared, this attribute contains the timestamp in UTC indicating when that will happen. If there is no such known time, this attribute is null. If the TemperatureSetpointHold is set to SetpointHoldOn and the TemperatureSetpointHoldDuration is set to null, this attribute is set to null indicating there is a hold on the Thermostat without a duration. If the TemperatureSetpointHold is set to SetpointHoldOff, this attribute is set to null indicating there is no hold on the Thermostat.

PropertyValue
Typeepoch-s
ConformanceO
AccessR (read: view)
Qualitiesnullable, persisted
Defaultnull

Example:

{
  "1/513/82": 0
}

Attribute 83 / 0x0053 — MaxThermostatSuggestions

Path example:

1/513/83

Indicates the maximum number of entries supported by the ThermostatSuggestions attribute.

PropertyValue
Typeuint8
ConformanceTSUGGEST
AccessR (read: view)
Constraintmin 5

Example:

{
  "1/513/83": 5
}

Attribute 84 / 0x0054 — ThermostatSuggestions

Path example:

1/513/84

Indicates an unordered set of thermostat suggestions. The suggested value is a PresetHandle that must match the PresetHandle of one of the entries in the Presets attribute. The Thermostat may use this information to ensure user comfort while also prioritizing other factors (e.g. energy savings, cost, and so on). Entries with effective times in the future may be used for pre-cool or pre-heat decisions. 3.7, "Re-evaluation of Current Thermostat Suggestion" for what to do if this attribute's value changes.

PropertyValue
Typelist of ThermostatSuggestionStruct
ConformanceTSUGGEST
AccessR (read: view)
Qualitiespersisted
Constraintmax MaxThermostatSuggestions entries

Each entry is a ThermostatSuggestionStruct (see Data Types).

Example:

{
  "1/513/84": []
}

Attribute 85 / 0x0055 — CurrentThermostatSuggestion

Path example:

1/513/85

Indicates an entry in the entries, which identifies the current thermostat suggestion. A value of null indicates that there is no current thermostat suggestion. When this attribute's value changes to a null value, the server may decide to set the ActivePresetHandle attribute to a value of its choice, based on schedules, occupancy sensors, etc. When the server is "following the suggestion" that means that the server must ensure that the value of the ActivePresetHandle attribute matches the value of this attribute.

PropertyValue
TypeThermostatSuggestionStruct
ConformanceTSUGGEST
AccessR (read: view)
Qualitiesnullable

Value is a ThermostatSuggestionStruct struct (see Data Types).

Example:

{
  "1/513/85": {
    "uniqueID": 1,
    "presetHandle": "AQID",
    "effectiveTime": 0,
    "expirationTime": 0
  }
}

Attribute 86 / 0x0056 — ThermostatSuggestionNotFollowingReason

Path example:

1/513/86

Indicates the reasons the Thermostat is unable to follow suggestions. When the server is unable to follow the suggestion, it must set the appropriate bits in the value of the ThermostatSuggestionNotFollowingReason attribute to indicate the reasons due to which the suggestion is not being followed. The value of the ThermostatSuggestionNotFollowingReason attribute is 0 (all bits cleared) if there are no bits defined in ThermostatSuggestionNotFollowingReasonBitmap that represent the reasons the suggestion is not being followed. If the CurrentThermostatSuggestion attribute is null, this attribute is set to null.

PropertyValue
TypeThermostatSuggestionNotFollowingReasonBitmap
ConformanceTSUGGEST
AccessR (read: view)
Qualitiesnullable

Bits (ThermostatSuggestionNotFollowingReasonBitmap):

BitNameMeaning
0DemandResponseEventThermostat is responding to a Demand Response event
1OngoingHoldThermostat has an ongoing setpoint hold
2ScheduleThermostat is following a schedule
3OccupancyThermostat is following the occupancy signal
4VacationModeThermostat is set to Vacation mode
5TimeOfUseCostSavingsThermostat is following a Time Of Use based cost savings plan
6PreCoolingOrPreHeatingThermostat is precooling or preheating based on an energy forecast signal
7ConflictingSuggestionsThermostat has conflicting suggestions and is unable to choose one

Example:

{
  "1/513/86": 0
}

Cluster 513 Commands

Cluster 513 has 5 client-to-server commands and 1 response.

IDHexCommandDirectionConformanceResponseDescription
00x00SetpointRaiseLowerclient → serverMstatusThis command will raise or lower the setpoint based on the provided values.
20x02AddThermostatSuggestionResponseserver → clientTSUGGEST—This command is sent in response to the AddThermostatSuggestion command.
50x05SetActiveScheduleRequestclient → serverMSCHstatusThis command will set the active schedule to the provided schedule handle.
60x06SetActivePresetRequestclient → serverPRESstatusThis command will set the active preset to the provided preset handle.
70x07AddThermostatSuggestionclient → serverTSUGGESTAddThermostatSuggestionResponseThis command will add a new suggestion based on the specified values.
80x08RemoveThermostatSuggestionclient → serverTSUGGESTstatusThis command will remove the specified suggestion.

AcceptedCommandList

The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:

endpoint_id / 513 / 65529
{
  "1/513/65529": [
    0,
    5,
    6,
    7,
    8
  ]
}

Before sending a Cluster 513 command, check that the command ID exists in endpoint/513/65529. Optional commands are only present when the matching feature is set in FeatureMap.


Bridge Command Payload Format

The bridge accepts Matter commands in this structure:

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "SetpointRaiseLower",
    "payload": {},
    "timed_request_timeout_ms": 1000
  }
}

For Cluster 513, always use "cluster_id": 513. Payload keys are the command field names in lowerCamelCase. Octet-string fields are base64-encoded. timed_request_timeout_ms is required for timed commands and ignored otherwise.


Command: SetpointRaiseLower

Purpose

This command will raise or lower the setpoint based on the provided values.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameSetpointRaiseLower
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ModemodeSetpointRaiseLowerModeEnumMdescThe field specifies which setpoints are to be adjusted.
1Amountamountint8M—Indicates the amount (possibly negative) that should be added to the setpoint(s), in steps of 0.1°C.

Mode values (SetpointRaiseLowerModeEnum): 0 = Heat, 1 = Cool, 2 = Both

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "SetpointRaiseLower",
    "payload": {
      "mode": 0,
      "amount": 1
    }
  }
}

Command: AddThermostatSuggestionResponse

Purpose

This command is sent in response to the AddThermostatSuggestion command.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameAddThermostatSuggestionResponse
Directionserver → client (response)
ConformanceTSUGGEST

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0UniqueIDuniqueIDuint8M——

Command: SetActiveScheduleRequest

Purpose

This command will set the active schedule to the provided schedule handle.

Command Identity

FieldValue
Command ID5
Command hex0x05
Command nameSetActiveScheduleRequest
Directionclient → server
ConformanceMSCH
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ScheduleHandlescheduleHandleoctstrMmax length 16This field specifies the value of the ScheduleHandle field on the ScheduleStruct to be made active.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "SetActiveScheduleRequest",
    "payload": {
      "scheduleHandle": "AQID"
    }
  }
}

Command: SetActivePresetRequest

Purpose

This command will set the active preset to the provided preset handle.

Command Identity

FieldValue
Command ID6
Command hex0x06
Command nameSetActivePresetRequest
Directionclient → server
ConformancePRES
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0PresetHandlepresetHandleoctstr (nullable)Mmax length 16This field specifies the value of the PresetHandle field on the PresetStruct to be made active. If the field is set to null, that indicates there should be no active preset.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "SetActivePresetRequest",
    "payload": {
      "presetHandle": "AQID"
    }
  }
}

Command: AddThermostatSuggestion

Purpose

This command will add a new suggestion based on the specified values.

Command Identity

FieldValue
Command ID7
Command hex0x07
Command nameAddThermostatSuggestion
Directionclient → server
ConformanceTSUGGEST
ResponseAddThermostatSuggestionResponse
Access(invoke: manage)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0PresetHandlepresetHandleoctstrMmax length 16This field specifies the value of the thermostat suggestion.
1EffectiveTimeeffectiveTimeepoch-s (nullable)MdescIndicates the timestamp in UTC at which the thermostat suggestion must become available. If this field is set to null, that means the thermostat suggestion must become available immediately.
2ExpirationInMinutesexpirationInMinutesuint16M30 to 1440Indicates the duration in minutes after which the thermostat suggestion provided by this command must expire.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "AddThermostatSuggestion",
    "payload": {
      "presetHandle": "AQID",
      "effectiveTime": 0,
      "expirationInMinutes": 30
    }
  }
}

The device answers with AddThermostatSuggestionResponse (see below).


Command: RemoveThermostatSuggestion

Purpose

This command will remove the specified suggestion.

Command Identity

FieldValue
Command ID8
Command hex0x08
Command nameRemoveThermostatSuggestion
Directionclient → server
ConformanceTSUGGEST
Responsestatus
Access(invoke: manage)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0UniqueIDuniqueIDuint8M——

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 513,
    "command_name": "RemoveThermostatSuggestion",
    "payload": {
      "uniqueID": 1
    }
  }
}

Cluster 513 Events

IDHexEventPriorityConformanceDescription
00x00SystemModeChangeinfoP, TEVTThis event is generated when the SystemMode attribute changes.
10x01LocalTemperatureChangeinfoP, TEVT & !LTNEThis event is generated when the LocalTemperature attribute changes significantly.
20x02OccupancyChangeinfoP, TEVT & OCCThis event is generated when the Occupancy attribute changes.
30x03SetpointChangeinfoP, TEVTThis event is generated when the value of any of the OccupiedHeatingSetpoint, UnoccupiedHeatingSetpoint, OccupiedCoolingSetpoint, or UnoccupiedCoolingSetpoint attributes is changed.
40x04RunningStateChangeinfoP, TEVTThis event is generated when the ThermostatRunningState attribute changes.
50x05RunningModeChangeinfoP, TEVT & AUTOThis event is generated when the ThermostatRunningMode attribute changes.
60x06ActiveScheduleChangeinfoP, TEVT & MSCHThis event is generated when the ActiveScheduleHandle attribute changes.
70x07ActivePresetChangeinfoP, TEVT & PRESThis event is generated when the ActivePresetHandle attribute changes.

Event 0 — SystemModeChange

This event is generated when the SystemMode attribute changes.

IDFieldTypeConformanceMeaning
0PreviousSystemModeSystemModeEnumOIndicates the previous value of the SystemMode attribute. If the previous value is unavailable, this field is omitted.
1CurrentSystemModeSystemModeEnumMIndicates the current (after the change that caused the event to be generated) value of the SystemMode attribute.

Event 1 — LocalTemperatureChange

This event is generated when the LocalTemperature attribute changes significantly. Significant changes are: - Changes from null to not null, or from not null to null. - Changes from one not-null value to another not-null value that are sufficiently large, as determined by the server. LocalTemperatureChange events must NOT be generated more often than once every 60 seconds.

IDFieldTypeConformanceMeaning
0CurrentLocalTemperaturetemperature (nullable)MIndicates the current value of the LocalTemperature attribute.

Event 2 — OccupancyChange

This event is generated when the Occupancy attribute changes.

IDFieldTypeConformanceMeaning
0PreviousOccupancyOccupancyBitmapOIndicates the previous value of the Occupancy attribute. If the previous value is unavailable, this field is omitted.
1CurrentOccupancyOccupancyBitmapMIndicates the current (after the change that caused the event to be generated) value of the Occupancy attribute.

Event 3 — SetpointChange

This event is generated when the value of any of the OccupiedHeatingSetpoint, UnoccupiedHeatingSetpoint, OccupiedCoolingSetpoint, or UnoccupiedCoolingSetpoint attributes is changed.

IDFieldTypeConformanceMeaning
0SystemModeSystemModeEnumMIndicates the system mode associated with the changed attribute. If the changed attribute is OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint, the value of this field is Heat.
1OccupancyOccupancyBitmapOCCIndicates the occupancy associated with the changed attribute. If the changed attribute is OccupiedHeatingSetpoint or OccupiedCoolingSetpoint, the value of this field is 1.
2PreviousSetpointtemperatureOIndicates the previous value of the changed attribute. If the previous value is unavailable, this field is omitted.
3CurrentSetpointtemperatureMIndicates the current (after the change that caused the event to be generated) value of the changed attribute.

Event 4 — RunningStateChange

This event is generated when the ThermostatRunningState attribute changes.

IDFieldTypeConformanceMeaning
0PreviousRunningStateRelayStateBitmapOIndicates the previous value of the ThermostatRunningState attribute. If the previous value is unavailable, this field is omitted.
1CurrentRunningStateRelayStateBitmapMIndicates the current (after the change that caused the event to be generated) value of the ThermostatRunningState attribute.

Event 5 — RunningModeChange

This event is generated when the ThermostatRunningMode attribute changes.

IDFieldTypeConformanceMeaning
0PreviousRunningModeThermostatRunningModeEnumOIndicates the previous value of the ThermostatRunningMode attribute. If the previous value is unavailable, this field is omitted.
1CurrentRunningModeThermostatRunningModeEnumMIndicates the current (after the change that caused the event to be generated) value of the ThermostatRunningMode attribute.

Event 6 — ActiveScheduleChange

This event is generated when the ActiveScheduleHandle attribute changes.

IDFieldTypeConformanceMeaning
0PreviousScheduleHandleoctstr (nullable)OIndicates the previous value of the ActiveScheduleHandle attribute. If the previous value is unavailable, this field is omitted.
1CurrentScheduleHandleoctstr (nullable)MIndicates the current (after the change that caused the event to be generated) value of the ActiveScheduleHandle attribute.

Event 7 — ActivePresetChange

This event is generated when the ActivePresetHandle attribute changes.

IDFieldTypeConformanceMeaning
0PreviousPresetHandleoctstr (nullable)OIndicates the previous value of the ActivePresetHandle attribute. If the previous value is unavailable, this field is omitted.
1CurrentPresetHandleoctstr (nullable)MIndicates the current (after the change that caused the event to be generated) value of the ActivePresetHandle attribute.

SmartphoneKey Notes

  • Cluster 513 is not currently exposed by SmartphoneKey devices. This page documents the Matter 1.6.1 specification so that future devices can be interpreted without changes to the backend.
  • Shadow paths follow endpoint/513/attribute; attribute values that the device reports as unreadable are written as n/a.
  • Attribute IDs, command IDs and enum values on this page come from the CSA Matter 1.6.1 data model; descriptions are condensed from the specification text.