2.2.112. Thermostat Mode Command Class, version 3¶
The Thermostat Mode Command Class is used to control which mode a thermostat operates.
2.2.112.1. Compatibility Considerations¶
The Thermostat Mode Command Class, version 3 is backwards compatible with the Thermostat Mode Command Class, version 1-2.
All commands and fields not mentioned in this version MUST remain unchanged from the Thermostat Mode Command Class, version 1-2.
This version introduces:
A new FULL POWER thermostat mode
MANUFACTURER SPECIFIC mode
2.2.112.2. Interoperability Considerations¶
The MANUFACTURER SPECIFIC (proprietary) mode MUST NOT be supported by a node if the functionality can be provided using a thermostat mode defined in this command class.
A node supporting the MANUFACTURER SPECIFIC mode MUST fulfill the following conditions:
The node MUST support as a minimum two other thermostat modes (e.g. HEAT and COOL).
If the MANUFACTURER SPECIFIC mode functionality can in part be supported by one or more defined thermostat mode in this command class, the node MUST also support these thermostat modes.
The MANUFACTURER SPECIFIC mode and all of its associated Manufacturer Data fields MUST be described in the product manual.
2.2.112.3. Thermostat Mode Set Command¶
This command is used to set the thermostat mode at the receiving node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_THERMOSTAT_MODE (0x40) |
|||||||
Command = THERMOSTAT_MODE_SET (0x01) |
|||||||
Number of Manufacturer Data fields |
Mode |
||||||
Manufacturer Data 1 |
|||||||
… |
|||||||
Manufacturer Data N |
|||||||
Number of Manufacturer Data fields (3 bits)
This field is used to advertise the length in bytes of the Manufacturer Data field in the command. This field MUST be in the range 0..7.
This field MUST be set to 0 if the Mode field is not set to 0x1F (MANUFACTURER SPECIFIC).
This field MUST indicate the length in bytes of the Manufacturer Data field if the Mode field is set to 0x1F (MANUFACTURER SPECIFIC).
Mode (5 bits)
This field is used to set the thermostat mode at the receiving node.
This field MUST be encoded according to Table 2.535.
Manufacturer Data (N bytes)
This field is used to provide a configuration for the MANUFACTURER SPECIFIC mode. Refer to Interoperability considerations (Section 2.2.112.2).
Mode (5 bits) |
Description |
Requires own Setpoint |
CC Version |
|
|---|---|---|---|---|
0x00 |
OFF |
This mode is used to switch off the thermostat. |
No |
1 |
0x01 |
HEAT |
This mode is used to use activate heating when the temperature is below the Heating (0x01) setpoint. |
Yes |
1 |
0x02 |
COOL |
This mode is used to use activate cooling when the temperature is above the Cooling (0x02) setpoint. |
Yes |
1 |
0x03 |
AUTO |
This mode is used to regulate the temperature using heating and cooling when the temperature is outside the range defined by the Heating (0x01) and Cooling (0x02) setpoints. |
No |
1 |
0x04 |
AUXILIARY |
This mode is used to activate heating when the temperature is below the Heating (0x01) setpoint, but using an auxiliary or emergency heat source. For example, a heat pump is not more efficient when the outside temperature is too low. The auxiliary heat mode may be activated to use a more efficient secondary heat source. |
No |
1 |
0x05 |
RESUME (ON) |
This mode is used to resume the last activate mode (different than OFF 0x00). |
No |
1 |
0x06 |
FAN |
This mode is used to activate fans only and circulate air. |
No |
1 |
0x07 |
FURNACE |
This mode is used to activate fans to circulate air and heating or cooling will be activated to regulate the temperature at the Furnace (0x07) setpoint. |
Yes |
1 |
0x08 |
DRY |
This mode is used to dehumidify and remove moisture. Heating or cooling will be activated to regulate the temperature at the Dry Air (0x08) setpoint. |
Yes |
1 |
0x09 |
MOIST |
This mode is used to humidify and add moisture. Heating or cooling will be activated to regulate the temperature at the Moist Air (0x09) setpoint. |
Yes |
1 |
0x0A |
AUTO CHANGEOVER |
This mode is used to regulate the temperature at the Auto Changeover (0x0A) setpoint using heating and cooling. |
Yes |
1 |
0x0B |
ENERGY HEAT |
This mode is used to activate heating when the temperature is below the Energy Save Heating (0x0B) setpoint. The Energy Save Heating (0x0B) setpoint is usually lower than the Heating (0x01) setpoint in order to save energy. |
Yes |
2 |
0x0C |
ENERGY COOL |
This mode is used to activate cooling when the temperature is below the Energy Save Cooling (0x0C) setpoint. The Energy Save Cooling (0x0C) setpoint is usually higher than the Cooling (0x02) setpoint in order to save energy. |
Yes |
2 |
0x0D |
AWAY |
This mode is used to regulate the temperature using heating and cooling when the temperature is outside the range defined by the Away Heating (0x0D) and Away Cooling (0x0E) setpoints. |
Yes |
2 |
0x0E |
Reserved |
- |
3 |
|
0x0F |
FULL POWER |
This mode is used to regulate the temperature at the Full Power (0x0F) setpoint using heating and cooling. This mode is intended to use more energy and speed up the temperature regulation to the desired setpoint. |
Yes |
3 |
0x1F |
MANUFACTURER SPECIFIC |
Reserved for vendor specific thermostat mode. |
No |
3 |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
2.2.112.4. Thermostat Mode Report Command¶
This command is used to report the current mode of the device.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_THERMOSTAT_MODE (0x40) |
|||||||
Command = THERMOSTAT_MODE_REPORT (0x03) |
|||||||
Number of Manufacturer Data fields |
Mode |
||||||
Manufacturer Data 1 |
|||||||
… |
|||||||
Manufacturer Data N |
|||||||
No of Manufacturer Data fields (3 bits)
This field is used to advertise the length in bytes of the Manufacturer Data field in the command. This field MUST be in the range 0..7.
This field MUST be set to 0 if the Mode field is not set to 0x1F (MANUFACTURER SPECIFIC).
This field MUST indicate the length in bytes of the Manufacturer Data field if the Mode field is set to 0x1F (MANUFACTURER SPECIFIC).
Mode (5 bits)
This field is used to advertise the current thermostat mode at the receiving node.
This field MUST be encoded according to Table 2.535.
This field MUST NOT be set to 0x05 (RESUME(ON)) in this command.
Manufacturer Data (N bytes)
This field is used to advertise the current configuration for the MANUFACTURER SPECIFIC mode. Refer to Interoperability considerations (Section 2.2.112.2).