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