MCUXpresso SDK Documentation

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