Compile-time options#
To enable the Thermostat cluster in the code to be built, it is necessary to add the following to the zcl_options.h file:
#define CLD_THERMOSTAT
In addition, to include the software for a cluster client or server or both, it is necessary to add one or both of the following to the same file:
#define THERMOSTAT_SERVER
#define THERMOSTAT_CLIENT
Optional Attributes#
The optional attributes for the Thermostat cluster (see Section 33.2) are enabled by defining:
CLD_THERMOSTAT_ATTR_ID_LOCAL_TEMPERATURE
CLD_THERMOSTAT_ATTR_ID_OUTDOOR_TEMPERATURE
CLD_THERMOSTAT_ATTR_ID_OCCUPANCY
CLD_THERMOSTAT_ATTR_ID_ABS_MIN_HEAT_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_ABS_MAX_HEAT_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_ABS_MIN_COOL_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_ABS_MAX_COOL_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_PI_COOLING_DEMAND
CLD_THERMOSTAT_ATTR_ID_PI_HEATING_DEMAND
CLD_THERMOSTAT_ATTR_ID_LOCAL_TEMPERATURE_CALIBRATION
CLD_THERMOSTAT_ATTR_ID_OCCUPIED_COOLING_SETPOINT
CLD_THERMOSTAT_ATTR_ID_OCCUPIED_HEATING_SETPOINT
CLD_THERMOSTAT_ATTR_ID_UNOCCUPIED_COOLING_SETPOINT
CLD_THERMOSTAT_ATTR_ID_UNOCCUPIED_HEATING_SETPOINT
CLD_THERMOSTAT_ATTR_ID_MIN_HEAT_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_MAX_HEAT_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_MIN_COOL_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_MAX_COOL_SETPOINT_LIMIT
CLD_THERMOSTAT_ATTR_ID_MIN_SETPOINT_DEAD_BAND
CLD_THERMOSTAT_ATTR_ID_REMOTE_SENSING
CLD_THERMOSTAT_ATTR_ID_CONTROL_SEQUENCE_OF_OPERATION
CLD_THERMOSTAT_ATTR_ID_SYSTEM_MODE
CLD_THERMOSTAT_ATTR_ID_ALARM_MASK
Global Attributes#
Add this line to enable the optional Attribute Reporting Status attribute:
#define CLD_THERMOSTAT_ATTR_ID_ATTRIBUTE_REPORTING_STATUS
Add this line to define the value (n) of the Cluster Revision attribute:
#define CLD_THERMOSTAT_CLUSTER_REVISION <n>
The default value is 1, which corresponds to the revision of the cluster in the ZCL r6 specification (see Section 2.4).
Minimum Cooling Setpoint#
The value of the attribute i16MinCoolSetpointLimit can be set as follows:
#define CLD_THERMOSTAT_MIN_COOLING_SETPOINT n
where n is the value to be set (in two’s complement form). The default value is 0x954D.
Maximum Cooling Setpoint#
The value of the attribute i16MaxCoolSetpointLimit can be set as follows:
#define CLD_THERMOSTAT_MAX_COOLING_SETPOINT n
where n is the value to be set (in two’s complement form). The default value is 0x7FFF.
Minimum Heating Setpoint#
The value of the attribute i16MinHeatSetpointLimit can be set as follows:
#define CLD_THERMOSTAT_MIN_HEATING_SETPOINT n
where n is the value to be set (in two’s complement form). The default value is 0x954D.
Maximum Heating Setpoint#
The value of the attribute i16MaxHeatSetpointLimit can be set as follows:
#define CLD_THERMOSTAT_MAX_HEATING_SETPOINT n
where n is the value to be set (in two’s complement form). The default value is 0x7FFF.
Parent topic:Thermostat Cluster