Thermostat Mode

From OpenMotics
Jump to navigation Jump to search

The Thermostat Mode byte is being set up as follows:

  • ThermostatMode.BIT7
    • =1: Thermostat ON
    • =0: Thermostat OFF
  • ThermostatMode.BIT6
  • ThermostatMode.BIT4
    • =1: Cooling Mode
    • =0: Heating Mode
  • Thermostat.BIT3
    • =1: automatic mode
    • =0: manual mode -> scheduled thermostat actions will be ignored
  • ThermostatMode.BIT2..BIT0: Setpoint x for all thermostats, only relevant in Manual Mode, ignore these bits in automatic mode


This gives following translation in Heating Mode when the thermostat system is in normal mode (not multi-tenant):

  • ThermostatMode<128: Thermostat OFF
  • ThermostatMode>127: Thermostat ON
  • ThermostatMode>151: Thermostat ON and in Automatic Mode (Cooling Mode)
  • ThermostatMode>143 and <152: Thermostat ON and in Manual Mode (Cooling Mode)
  • ThermostatMode=144: Set All thermostats to programmed setpoint 0 (DAY1), ignore scheduled actions (Cooling mode)
  • ThermostatMode=145: Set All thermostats to programmed setpoint 1 (NIGHT), ignore scheduled actions (Cooling mode)
  • ThermostatMode=146: Set All thermostats to programmed setpoint 2 (DAY2), ignore scheduled actions (Cooling mode)
  • ThermostatMode=147: Set All thermostats to programmed setpoint 3 (AWAY), ignore scheduled actions (Cooling mode)
  • ThermostatMode=148: Set All thermostats to programmed setpoint 4 (VACATION), ignore scheduled actions (Cooling mode)
  • ThermostatMode=149: Set All thermostats to programmed setpoint 5 (PARTY), ignore scheduled actions (Cooling Mode)
  • ThermostatMode>135 and <144: Thermostat ON and in Automatic Mode (Heating mode)
  • ThermostatMode>127 and <136: Thermostat ON and in Manual Mode (Heating mode)
  • ThermostatMode=128: Set All thermostats to programmed setpoint 0 (DAY1), ignore scheduled actions (Heating mode)
  • ThermostatMode=129: Set All thermostats to programmed setpoint 1 (NIGHT), ignore scheduled actions (Heating mode)
  • ThermostatMode=130: Set All thermostats to programmed setpoint 2 (DAY2), ignore scheduled actions (Heating mode)
  • ThermostatMode=131: Set All thermostats to programmed setpoint 3 (AWAY), ignore scheduled actions (Heating mode)
  • ThermostatMode=132: Set All thermostats to programmed setpoint 4 (VACATION), ignore scheduled actions (Heating mode)
  • ThermostatMode=133: Set All thermostats to programmed setpoint 5 (PARTY), ignore scheduled actions (Heating mode)


Note1: The thermostatMode can be easily changed by using Basic Actions. It’s important to note that the ThermostatMode.Bit2..Bit0 can be set and will involve a copy of Setpoint x into all thermostats. When you for example have ThermostatMode=128 then all thermostats have setpoint 0 copied into their current setpoint, however, this doesn’t mean that all thermostats still have setpoints 0 as current setpoint, those can afterwards be changed although the thermostatmode is still 128.

Note2: Thermostat Mode parameter can be read by using CLI instruction thermostat mode read or by using API instruction tl.

Note3: With Basic Action 80, you can switch between heating and cooling. In cooling, you've 2 modes, or cooling enabled but off or cooling enabled and ON. The difference in thermostat mode between Heating and Cooling can be seen with BIT4 of the thermostat mode variable and if the thermostat is ON or OFF can be detected by looking at BIT7 (and in cooling mode, BIT7 can be changed). So in cooling mode, BIT7 can be set, in heating mode BIT7 is automatically set depending on the threshold of the outside temperature and the value of the outside temperature itself.

Note4: The above configuration is applicable when the thermostat system is in normal mode (the default mode). The thermostat system can also be placed in multi-tenant mode, see Thermostat Multi Tenant page.