with with : ( < const SelectionT > ( ... selection : SelectionT ) => Of < Of < { attributes : { acCapacity : OptionalWritableAttribute < number , any > ; acCapacityFormat : OptionalWritableAttribute < BtUh , any > ; acCoilTemperature : OptionalAttribute < null | number , any > ; acCompressorType : OptionalWritableAttribute < Thermostat . AcCompressorType , any > ; acErrorCode : OptionalWritableAttribute < TypeFromPartialBitSchema < { coilSensorFail : BitFlag ; compressorFail : BitFlag ; fanFail : BitFlag ; outdoorSensorFail : BitFlag ; roomSensorFail : BitFlag ; } > , any > ; acLouverPosition : OptionalWritableAttribute < Thermostat . AcLouverPosition , any > ; acRefrigerantType : OptionalWritableAttribute < Thermostat . AcRefrigerantType , any > ; acType : OptionalWritableAttribute < Thermostat . AcType , any > ; controlSequenceOfOperation : WritableAttribute < Thermostat . ControlSequenceOfOperation , any > ; emergencyHeatDelta : OptionalWritableAttribute < number , any > ; localTemperature : Attribute < null | number , any > ; outdoorTemperature : OptionalAttribute < null | number , any > ; remoteSensing : OptionalWritableAttribute < TypeFromPartialBitSchema < { localTemperature : BitFlag ; occupancy : BitFlag ; outdoorTemperature : BitFlag ; } > , any > ; setpointChangeAmount : OptionalAttribute < null | number , any > ; setpointChangeSource : OptionalAttribute < Thermostat . SetpointChangeSource , any > ; setpointChangeSourceTimestamp : OptionalAttribute < number , any > ; systemMode : WritableAttribute < Thermostat . SystemMode , any > ; temperatureSetpointHold : OptionalWritableAttribute < Thermostat . TemperatureSetpointHold , any > ; temperatureSetpointHoldDuration : OptionalWritableAttribute < null | number , any > ; thermostatProgrammingOperationMode : OptionalWritableAttribute < TypeFromPartialBitSchema < { autoRecovery : BitFlag ; economy : BitFlag ; scheduleActive : BitFlag ; } > , any > ; thermostatRunningState : OptionalAttribute < TypeFromPartialBitSchema < { cool : BitFlag ; coolStage2 : BitFlag ; fan : BitFlag ; fanStage2 : BitFlag ; fanStage3 : BitFlag ; heat : BitFlag ; heatStage2 : BitFlag ; } > , any > ; } ; commands : { setpointRaiseLower : Command < TypeFromFields < { amount : FieldType < number > ; mode : FieldType < Thermostat . SetpointRaiseLowerMode > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { occupancy : Attribute < TypeFromPartialBitSchema < { occupied : ...
; } > , any > ; } ; } ; flags : { occupancy : true ; } ; } , { component : { attributes : { absMaxHeatSetpointLimit : OptionalFixedAttribute < number , any > ; absMinHeatSetpointLimit : OptionalFixedAttribute < number , any > ; maxHeatSetpointLimit : OptionalWritableAttribute < number , any > ; minHeatSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedHeatingSetpoint : WritableAttribute < number , any > ; piHeatingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { heating : true ; } ; } , { component : { attributes : { absMaxCoolSetpointLimit : OptionalFixedAttribute < number , any > ; absMinCoolSetpointLimit : OptionalFixedAttribute < number , any > ; maxCoolSetpointLimit : OptionalWritableAttribute < number , any > ; minCoolSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedCoolingSetpoint : WritableAttribute < number , any > ; piCoolingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { cooling : true ; } ; } , { component : { attributes : { localTemperatureCalibration : OptionalWritableAttribute < number , any > ; } ; } ; flags : { localTemperatureNotExposed : false ; } ; } , { component : { attributes : { unoccupiedCoolingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { cooling : true ; occupancy : true ; } ; } , { component : { attributes : { unoccupiedHeatingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { heating : true ; occupancy : true ; } ; } , { component : { attributes : { minSetpointDeadBand : WritableAttribute < number , any > ; thermostatRunningMode : OptionalAttribute < Thermostat . ThermostatRunningMode , any > ; } ; } ; flags : { autoMode : true ; } ; } , { component : { attributes : { numberOfDailyTransitions : FixedAttribute < number , any > ; numberOfWeeklyTransitions : FixedAttribute < number , any > ; startOfWeek : FixedAttribute < Thermostat . StartOfWeek , any > ; } ; commands : { clearWeeklySchedule : Command < void , void , any > ; getWeeklySchedule : Command < TypeFromFields < { daysToReturn : ...
; modeToReturn : ...
; } > , TypeFromFields < { dayOfWeekForSequence : ...
; modeForSequence : ...
; numberOfTransitionsForSequence : ...
; transitions : ...
; } > , any > ; setWeeklySchedule : Command < TypeFromFields < { dayOfWeekForSequence : ...
; modeForSequence : ...
; numberOfTransitionsForSequence : ...
; transitions : ...
; } > , void , any > ; } ; } ; flags : { scheduleConfiguration : true ; } ; } , { component : { attributes : { occupiedSetback : WritableAttribute < null | number , any > ; occupiedSetbackMax : FixedAttribute < null | number , any > ; occupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { setback : true ; } ; } , { component : { attributes : { unoccupiedSetback : WritableAttribute < null | number , any > ; unoccupiedSetbackMax : FixedAttribute < null | number , any > ; unoccupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { occupancy : true ; setback : true ; } ; } , { component : false ; flags : { autoMode : true ; heating : false ; } ; } , { component : false ; flags : { autoMode : true ; cooling : false ; } ; } , { component : false ; flags : { cooling : false ; heating : false ; } ; } ] ; features : { autoMode : BitFlag ; cooling : BitFlag ; heating : BitFlag ; localTemperatureNotExposed : BitFlag ; occupancy : BitFlag ; scheduleConfiguration : BitFlag ; setback : BitFlag ; } ; id : 513 ; name : "Thermostat" ; revision : 6 ; } > , SelectionT > ) Type declaration < const SelectionT > ( ... selection ) : Of < Of < { attributes : { acCapacity : OptionalWritableAttribute < number , any > ; acCapacityFormat : OptionalWritableAttribute < BtUh , any > ; acCoilTemperature : OptionalAttribute < null | number , any > ; acCompressorType : OptionalWritableAttribute < Thermostat . AcCompressorType , any > ; acErrorCode : OptionalWritableAttribute < TypeFromPartialBitSchema < { coilSensorFail : BitFlag ; compressorFail : BitFlag ; fanFail : BitFlag ; outdoorSensorFail : BitFlag ; roomSensorFail : BitFlag ; } > , any > ; acLouverPosition : OptionalWritableAttribute < Thermostat . AcLouverPosition , any > ; acRefrigerantType : OptionalWritableAttribute < Thermostat . AcRefrigerantType , any > ; acType : OptionalWritableAttribute < Thermostat . AcType , any > ; controlSequenceOfOperation : WritableAttribute < Thermostat . ControlSequenceOfOperation , any > ; emergencyHeatDelta : OptionalWritableAttribute < number , any > ; localTemperature : Attribute < null | number , any > ; outdoorTemperature : OptionalAttribute < null | number , any > ; remoteSensing : OptionalWritableAttribute < TypeFromPartialBitSchema < { localTemperature : BitFlag ; occupancy : BitFlag ; outdoorTemperature : BitFlag ; } > , any > ; setpointChangeAmount : OptionalAttribute < null | number , any > ; setpointChangeSource : OptionalAttribute < Thermostat . SetpointChangeSource , any > ; setpointChangeSourceTimestamp : OptionalAttribute < number , any > ; systemMode : WritableAttribute < Thermostat . SystemMode , any > ; temperatureSetpointHold : OptionalWritableAttribute < Thermostat . TemperatureSetpointHold , any > ; temperatureSetpointHoldDuration : OptionalWritableAttribute < null | number , any > ; thermostatProgrammingOperationMode : OptionalWritableAttribute < TypeFromPartialBitSchema < { autoRecovery : BitFlag ; economy : BitFlag ; scheduleActive : BitFlag ; } > , any > ; thermostatRunningState : OptionalAttribute < TypeFromPartialBitSchema < { cool : BitFlag ; coolStage2 : BitFlag ; fan : BitFlag ; fanStage2 : BitFlag ; fanStage3 : BitFlag ; heat : BitFlag ; heatStage2 : BitFlag ; } > , any > ; } ; commands : { setpointRaiseLower : Command < TypeFromFields < { amount : FieldType < number > ; mode : FieldType < Thermostat . SetpointRaiseLowerMode > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { occupancy : Attribute < TypeFromPartialBitSchema < { occupied : ...; } > , any > ; } ; } ; flags : { occupancy : true ; } ; } , { component : { attributes : { absMaxHeatSetpointLimit : OptionalFixedAttribute < number , any > ; absMinHeatSetpointLimit : OptionalFixedAttribute < number , any > ; maxHeatSetpointLimit : OptionalWritableAttribute < number , any > ; minHeatSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedHeatingSetpoint : WritableAttribute < number , any > ; piHeatingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { heating : true ; } ; } , { component : { attributes : { absMaxCoolSetpointLimit : OptionalFixedAttribute < number , any > ; absMinCoolSetpointLimit : OptionalFixedAttribute < number , any > ; maxCoolSetpointLimit : OptionalWritableAttribute < number , any > ; minCoolSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedCoolingSetpoint : WritableAttribute < number , any > ; piCoolingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { cooling : true ; } ; } , { component : { attributes : { localTemperatureCalibration : OptionalWritableAttribute < number , any > ; } ; } ; flags : { localTemperatureNotExposed : false ; } ; } , { component : { attributes : { unoccupiedCoolingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { cooling : true ; occupancy : true ; } ; } , { component : { attributes : { unoccupiedHeatingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { heating : true ; occupancy : true ; } ; } , { component : { attributes : { minSetpointDeadBand : WritableAttribute < number , any > ; thermostatRunningMode : OptionalAttribute < Thermostat . ThermostatRunningMode , any > ; } ; } ; flags : { autoMode : true ; } ; } , { component : { attributes : { numberOfDailyTransitions : FixedAttribute < number , any > ; numberOfWeeklyTransitions : FixedAttribute < number , any > ; startOfWeek : FixedAttribute < Thermostat . StartOfWeek , any > ; } ; commands : { clearWeeklySchedule : Command < void , void , any > ; getWeeklySchedule : Command < TypeFromFields < { daysToReturn : ...; modeToReturn : ...; } > , TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , any > ; setWeeklySchedule : Command < TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , void , any > ; } ; } ; flags : { scheduleConfiguration : true ; } ; } , { component : { attributes : { occupiedSetback : WritableAttribute < null | number , any > ; occupiedSetbackMax : FixedAttribute < null | number , any > ; occupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { setback : true ; } ; } , { component : { attributes : { unoccupiedSetback : WritableAttribute < null | number , any > ; unoccupiedSetbackMax : FixedAttribute < null | number , any > ; unoccupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { occupancy : true ; setback : true ; } ; } , { component : false ; flags : { autoMode : true ; heating : false ; } ; } , { component : false ; flags : { autoMode : true ; cooling : false ; } ; } , { component : false ; flags : { cooling : false ; heating : false ; } ; } ] ; features : { autoMode : BitFlag ; cooling : BitFlag ; heating : BitFlag ; localTemperatureNotExposed : BitFlag ; occupancy : BitFlag ; scheduleConfiguration : BitFlag ; setback : BitFlag ; } ; id : 513 ; name : "Thermostat" ; revision : 6 ; } > , SelectionT > Type Parameters const SelectionT extends FeatureSelection < Of < { attributes : { acCapacity : OptionalWritableAttribute < number , any > ; acCapacityFormat : OptionalWritableAttribute < BtUh , any > ; acCoilTemperature : OptionalAttribute < null | number , any > ; acCompressorType : OptionalWritableAttribute < Thermostat . AcCompressorType , any > ; acErrorCode : OptionalWritableAttribute < TypeFromPartialBitSchema < { coilSensorFail : BitFlag ; compressorFail : BitFlag ; fanFail : BitFlag ; outdoorSensorFail : BitFlag ; roomSensorFail : BitFlag ; } > , any > ; acLouverPosition : OptionalWritableAttribute < Thermostat . AcLouverPosition , any > ; acRefrigerantType : OptionalWritableAttribute < Thermostat . AcRefrigerantType , any > ; acType : OptionalWritableAttribute < Thermostat . AcType , any > ; controlSequenceOfOperation : WritableAttribute < Thermostat . ControlSequenceOfOperation , any > ; emergencyHeatDelta : OptionalWritableAttribute < number , any > ; localTemperature : Attribute < null | number , any > ; outdoorTemperature : OptionalAttribute < null | number , any > ; remoteSensing : OptionalWritableAttribute < TypeFromPartialBitSchema < { localTemperature : BitFlag ; occupancy : BitFlag ; outdoorTemperature : BitFlag ; } > , any > ; setpointChangeAmount : OptionalAttribute < null | number , any > ; setpointChangeSource : OptionalAttribute < Thermostat . SetpointChangeSource , any > ; setpointChangeSourceTimestamp : OptionalAttribute < number , any > ; systemMode : WritableAttribute < Thermostat . SystemMode , any > ; temperatureSetpointHold : OptionalWritableAttribute < Thermostat . TemperatureSetpointHold , any > ; temperatureSetpointHoldDuration : OptionalWritableAttribute < null | number , any > ; thermostatProgrammingOperationMode : OptionalWritableAttribute < TypeFromPartialBitSchema < { autoRecovery : BitFlag ; economy : BitFlag ; scheduleActive : BitFlag ; } > , any > ; thermostatRunningState : OptionalAttribute < TypeFromPartialBitSchema < { cool : BitFlag ; coolStage2 : BitFlag ; fan : BitFlag ; fanStage2 : BitFlag ; fanStage3 : BitFlag ; heat : BitFlag ; heatStage2 : BitFlag ; } > , any > ; } ; commands : { setpointRaiseLower : Command < TypeFromFields < { amount : FieldType < number > ; mode : FieldType < Thermostat . SetpointRaiseLowerMode > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { occupancy : Attribute < TypeFromPartialBitSchema < { occupied : ...; } > , any > ; } ; } ; flags : { occupancy : true ; } ; } , { component : { attributes : { absMaxHeatSetpointLimit : OptionalFixedAttribute < number , any > ; absMinHeatSetpointLimit : OptionalFixedAttribute < number , any > ; maxHeatSetpointLimit : OptionalWritableAttribute < number , any > ; minHeatSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedHeatingSetpoint : WritableAttribute < number , any > ; piHeatingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { heating : true ; } ; } , { component : { attributes : { absMaxCoolSetpointLimit : OptionalFixedAttribute < number , any > ; absMinCoolSetpointLimit : OptionalFixedAttribute < number , any > ; maxCoolSetpointLimit : OptionalWritableAttribute < number , any > ; minCoolSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedCoolingSetpoint : WritableAttribute < number , any > ; piCoolingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { cooling : true ; } ; } , { component : { attributes : { localTemperatureCalibration : OptionalWritableAttribute < number , any > ; } ; } ; flags : { localTemperatureNotExposed : false ; } ; } , { component : { attributes : { unoccupiedCoolingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { cooling : true ; occupancy : true ; } ; } , { component : { attributes : { unoccupiedHeatingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { heating : true ; occupancy : true ; } ; } , { component : { attributes : { minSetpointDeadBand : WritableAttribute < number , any > ; thermostatRunningMode : OptionalAttribute < Thermostat . ThermostatRunningMode , any > ; } ; } ; flags : { autoMode : true ; } ; } , { component : { attributes : { numberOfDailyTransitions : FixedAttribute < number , any > ; numberOfWeeklyTransitions : FixedAttribute < number , any > ; startOfWeek : FixedAttribute < Thermostat . StartOfWeek , any > ; } ; commands : { clearWeeklySchedule : Command < void , void , any > ; getWeeklySchedule : Command < TypeFromFields < { daysToReturn : ...; modeToReturn : ...; } > , TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , any > ; setWeeklySchedule : Command < TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , void , any > ; } ; } ; flags : { scheduleConfiguration : true ; } ; } , { component : { attributes : { occupiedSetback : WritableAttribute < null | number , any > ; occupiedSetbackMax : FixedAttribute < null | number , any > ; occupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { setback : true ; } ; } , { component : { attributes : { unoccupiedSetback : WritableAttribute < null | number , any > ; unoccupiedSetbackMax : FixedAttribute < null | number , any > ; unoccupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { occupancy : true ; setback : true ; } ; } , { component : false ; flags : { autoMode : true ; heating : false ; } ; } , { component : false ; flags : { autoMode : true ; cooling : false ; } ; } , { component : false ; flags : { cooling : false ; heating : false ; } ; } ] ; features : { autoMode : BitFlag ; cooling : BitFlag ; heating : BitFlag ; localTemperatureNotExposed : BitFlag ; occupancy : BitFlag ; scheduleConfiguration : BitFlag ; setback : BitFlag ; } ; id : 513 ; name : "Thermostat" ; revision : 6 ; } > > Returns Of < Of < { attributes : { acCapacity : OptionalWritableAttribute < number , any > ; acCapacityFormat : OptionalWritableAttribute < BtUh , any > ; acCoilTemperature : OptionalAttribute < null | number , any > ; acCompressorType : OptionalWritableAttribute < Thermostat . AcCompressorType , any > ; acErrorCode : OptionalWritableAttribute < TypeFromPartialBitSchema < { coilSensorFail : BitFlag ; compressorFail : BitFlag ; fanFail : BitFlag ; outdoorSensorFail : BitFlag ; roomSensorFail : BitFlag ; } > , any > ; acLouverPosition : OptionalWritableAttribute < Thermostat . AcLouverPosition , any > ; acRefrigerantType : OptionalWritableAttribute < Thermostat . AcRefrigerantType , any > ; acType : OptionalWritableAttribute < Thermostat . AcType , any > ; controlSequenceOfOperation : WritableAttribute < Thermostat . ControlSequenceOfOperation , any > ; emergencyHeatDelta : OptionalWritableAttribute < number , any > ; localTemperature : Attribute < null | number , any > ; outdoorTemperature : OptionalAttribute < null | number , any > ; remoteSensing : OptionalWritableAttribute < TypeFromPartialBitSchema < { localTemperature : BitFlag ; occupancy : BitFlag ; outdoorTemperature : BitFlag ; } > , any > ; setpointChangeAmount : OptionalAttribute < null | number , any > ; setpointChangeSource : OptionalAttribute < Thermostat . SetpointChangeSource , any > ; setpointChangeSourceTimestamp : OptionalAttribute < number , any > ; systemMode : WritableAttribute < Thermostat . SystemMode , any > ; temperatureSetpointHold : OptionalWritableAttribute < Thermostat . TemperatureSetpointHold , any > ; temperatureSetpointHoldDuration : OptionalWritableAttribute < null | number , any > ; thermostatProgrammingOperationMode : OptionalWritableAttribute < TypeFromPartialBitSchema < { autoRecovery : BitFlag ; economy : BitFlag ; scheduleActive : BitFlag ; } > , any > ; thermostatRunningState : OptionalAttribute < TypeFromPartialBitSchema < { cool : BitFlag ; coolStage2 : BitFlag ; fan : BitFlag ; fanStage2 : BitFlag ; fanStage3 : BitFlag ; heat : BitFlag ; heatStage2 : BitFlag ; } > , any > ; } ; commands : { setpointRaiseLower : Command < TypeFromFields < { amount : FieldType < number > ; mode : FieldType < Thermostat . SetpointRaiseLowerMode > ; } > , void , any > ; } ; extensions : readonly [ { component : { attributes : { occupancy : Attribute < TypeFromPartialBitSchema < { occupied : ...; } > , any > ; } ; } ; flags : { occupancy : true ; } ; } , { component : { attributes : { absMaxHeatSetpointLimit : OptionalFixedAttribute < number , any > ; absMinHeatSetpointLimit : OptionalFixedAttribute < number , any > ; maxHeatSetpointLimit : OptionalWritableAttribute < number , any > ; minHeatSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedHeatingSetpoint : WritableAttribute < number , any > ; piHeatingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { heating : true ; } ; } , { component : { attributes : { absMaxCoolSetpointLimit : OptionalFixedAttribute < number , any > ; absMinCoolSetpointLimit : OptionalFixedAttribute < number , any > ; maxCoolSetpointLimit : OptionalWritableAttribute < number , any > ; minCoolSetpointLimit : OptionalWritableAttribute < number , any > ; occupiedCoolingSetpoint : WritableAttribute < number , any > ; piCoolingDemand : OptionalAttribute < number , any > ; } ; } ; flags : { cooling : true ; } ; } , { component : { attributes : { localTemperatureCalibration : OptionalWritableAttribute < number , any > ; } ; } ; flags : { localTemperatureNotExposed : false ; } ; } , { component : { attributes : { unoccupiedCoolingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { cooling : true ; occupancy : true ; } ; } , { component : { attributes : { unoccupiedHeatingSetpoint : WritableAttribute < number , any > ; } ; } ; flags : { heating : true ; occupancy : true ; } ; } , { component : { attributes : { minSetpointDeadBand : WritableAttribute < number , any > ; thermostatRunningMode : OptionalAttribute < Thermostat . ThermostatRunningMode , any > ; } ; } ; flags : { autoMode : true ; } ; } , { component : { attributes : { numberOfDailyTransitions : FixedAttribute < number , any > ; numberOfWeeklyTransitions : FixedAttribute < number , any > ; startOfWeek : FixedAttribute < Thermostat . StartOfWeek , any > ; } ; commands : { clearWeeklySchedule : Command < void , void , any > ; getWeeklySchedule : Command < TypeFromFields < { daysToReturn : ...; modeToReturn : ...; } > , TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , any > ; setWeeklySchedule : Command < TypeFromFields < { dayOfWeekForSequence : ...; modeForSequence : ...; numberOfTransitionsForSequence : ...; transitions : ...; } > , void , any > ; } ; } ; flags : { scheduleConfiguration : true ; } ; } , { component : { attributes : { occupiedSetback : WritableAttribute < null | number , any > ; occupiedSetbackMax : FixedAttribute < null | number , any > ; occupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { setback : true ; } ; } , { component : { attributes : { unoccupiedSetback : WritableAttribute < null | number , any > ; unoccupiedSetbackMax : FixedAttribute < null | number , any > ; unoccupiedSetbackMin : FixedAttribute < null | number , any > ; } ; } ; flags : { occupancy : true ; setback : true ; } ; } , { component : false ; flags : { autoMode : true ; heating : false ; } ; } , { component : false ; flags : { autoMode : true ; cooling : false ; } ; } , { component : false ; flags : { cooling : false ; heating : false ; } ; } ] ; features : { autoMode : BitFlag ; cooling : BitFlag ; heating : BitFlag ; localTemperatureNotExposed : BitFlag ; occupancy : BitFlag ; scheduleConfiguration : BitFlag ; setback : BitFlag ; } ; id : 513 ; name : "Thermostat" ; revision : 6 ; } > , SelectionT >
This cluster provides an interface to the functionality of a thermostat.
Per the Matter specification you cannot use ThermostatCluster without enabling certain feature combinations. You must use the with factory method to obtain a working cluster.
See
MatterSpecification.v13.Cluster § 4.3