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