Thermostat

From OpenMotics
Jump to navigation Jump to search

The principle

See Heating Compatibility as a fist page to read.

Up to 32 thermostats can be activated for Heating as well as for Cooling. When Heating mode is activated, only the heating thermostats are active, the same applies for cooling.

Every thermostat has 1 temperature sensor and 1 or 2 outputs linked to it. Every thermostat also has a current setpoint and multiple preprogrammed setpoints. The preprogrammed setpoints can be copied in to the current setpoints by using Basic Actions or when the thermostat is in automatic mode (driven by the timings per thermostat and per day)

When the current setpoint of a thermostat is higher than the temperature measured by the sensor linked to this thermostat (in Heating mode), than the thermostat will drive his outputs. The way the outputs are driven is determined by the thermostat PID parameters. Every thermostat has his own set of PID parameters (for heating as well as for cooling) that can be adapted to the size and behavior of the room and the type of heating. For more explanation regarding the PID parameters , see PID page.

A thermostat can be configured with 1 or 2 outputs. When 2 outputs are chosen, the thermostat will first drive the first output. When the room doesn’t heat or cool fast enough (using the PID parameters), the second output will be driven. A typical example is that the floor heating of a room is connected to the first output, the second output will be used for a traditional convector that is added to the room for faster warm up. Any dimmer output or relay output can be used as the thermostat output.

Memory Model

The full configuration and all thermostat settings can be found in the built-in eeprom. The associated Memory Model contains the full explanation of all bytes. Following sections are important:

Automatic/Manual mode

2 modes can be used:

  • Automatic
  • Manual

When the system is in automatic mode, the current setpoint will be automatically changed (by copying the preprogrammed setpoint in to the current setpoint) depending on the time (and the day of the week) and in which mode the themostat has been set (heating or cooling). Every thermostat has 3 preprogrammed temperatures that are used in automatic mode, those temperatures are different for heating and cooling:

  • Preprogrammed setpoint 0 -> Day 1 temperature: This is the temperature used for the first part of the day
  • Preprogrammed setpoint 1 -> Night temperature: This is the temperature used when not in day 1 or day 2.
  • Preprogrammed setpoint 2 -> Day 2 temperature: This is the temperature used for the second part of the day.

These temperatures can be set per room (thermostat) and can be different for every day of the week.

Manual mode has also 3 preprogrammed setpoints per thermostat:

  • Preprogrammed setpoint 3 -> Away: This is the temperature used when not home for a short period of time
  • Preprogrammed setpoint 4 -> Vacation: This is the temperature used when not home for a longer period of time
  • Preprogrammed setpoint 5 -> Party: This is the temperature used when having a party


For every thermostat, the timings can be programmed per day (for heating as well as for cooling) as described in following example:

   Thermostat 0: (prepr setpoint 0: 22.5, prepr setpoint 1: 17.0, prepr setpoint 2: 22.0)
       Monday
           Day 1: 7:00 – 10:40 (will use preprogrammed setpoint 0 – day1)
           Day2: 17:30 – 22:50 (will use preprogrammed setpoint 2 – day2)
           The rest of the time will use preprogrammed setpoint 1 – night 
       Tuesday
           Day 1: 6:00 – 8:30 (will use preprogrammed setpoint 0 – day1)
           Day2: 19:30 – 23:30 (will use preprogrammed setpoint 2 – day2)
           The rest of the time will use preprogrammed setpoint 1 – night 
       Wednesday
           … 
   Thermostat 1: (prepr setpoint 0: 20.0, prepr setpoint 1: 16.0, prepr setpoint 2: 18.0)
       Monday
           Day 1: 6:00 – 7:00 (will use preprogrammed setpoint 0 – day1)
           Day2: 17:30 – 19:20 (will use preprogrammed setpoint 2 – day2)
           The rest of the time will use preprogrammed setpoint 1 – night 
       Tuesday
           Day 1: 6:00 – 8:30 (will use preprogrammed setpoint 0 – day1)
           Day2: 20:30 – 22:00 (will use preprogrammed setpoint 2 – day2)
           The rest of the time will use preprogrammed setpoint 1 – night 
       Wednesday
           … 


When you change from automatic to manual or vice versa, this will be done for all thermostats. When the thermostats are in manual mode, the current setpoint is kept and the preprogrammed timings are ignored. If changing from manual to automatic should not be done for all thermostats, Thermostat Multi Tenant mode should be enabled.

See also Thermostat Mode to better understand the different modes.

Please note that the system allows to program the "permanent manual mode" for each individual thermostat. This means that, when this function for a thermostat is enabled, the thermostat never will follow the programmed timings even when the system (by using BA's) is forced for this thermostat to go to automatic mode. This function is important when external thermostats are used (like nest) and the Openmotics system will follow the timings (and setpoint) of the external thermostat.

Cooling/Heating

The system has 32 cooling and 32 heating thermostats. When the system is placed in heating, all the heating thermostats become active, when placed in cooling, all cooling thermostats become active. Each thermostat in cooling and heating have their own settings (outputs linked, PID parameters, timings, thermostat name etc). In the current firmware, the cooling/heating is on system level in other words, all thermostats are in cooling or in heating.

Additionally, 4 outputs are linked to cooling and 4 outputs are linked to heating. Those 4 outputs are freely programmable. When the system is placed in cooling, the system allows to program the state of those 4 outputs. The same is applicable when the system is placed in heating.

Outside Sensor

An outside temperature sensor is used to determine when the full thermostat system goes in off mode (only in Heating mode). You can program an outside temperature threshold that, when reached, the thermostat goes in off state. For example, you can set the threshold on 18 degree Celsius, when the outside temperature is higher than 18 degree, the system will go in off state even when the current setpoint is higher than the room temperature. When the system is in cooling mode, the outside temperature will not switch off the cooling system.

Pump groups

The system has the possibility to define 8 (0-7) pump groups. Each pump group has a list of outputs. These outputs can for example be the list of heating valves from the first floor of a house. Each pump group has an pump output linked. When at least 1 output of the pump group is activated, the pump output will be on. When all outputs of a pump group are off, the pump output will also be off. Each pump group can have a maximum of 32 (0-31) outputs and 1 pump output.

All the valve outputs that are driven by the same pump will be put in the same group. Each pump group will be linked to an output to drive the pump for that group. When 1 of the valve outputs is driven, the pump output will be activated

For example, I’ve 2 pumps in my house, 1 for the main floor and 1 for the first floor. I will use 2 pump groups and I will put all the valve outputs of the main floor in pump group 0 and all the valve outputs in pump group 1.

The pump outputs can also be delayed when slow valves are used. Each pump output can be programmed with a delay between 0 and 240 seconds. When a pump output must be switched on (due to the fact that valve outputs are ON in that group), the output will be switched ON with the delay programmed. When the valve outputs of a group are OFF and the pump output must be switched OFF, this will always happen without a delay (the programmed pump delay is only for switching ON).

Time Based Switching (TBS)

Some thermostat functions are not temperature based (like tapwater) and should be switched ON/OFF at certain moments. A thermostat can be configured as a TBS thermostat: This means that the thermostat will be switching the linked outputs ON/OFF depending on the timings programmed. Thermostats can be overruled until the next switching moments happen, the same principle applies for TBS thermostats.

Thermostat functionality in more detail

In the pages Heating/Cooling, more details can be found how thermostats works under the hood. Also the Daikin airco units with RTD-10 control board are explained in these pages.

In the pages Thermostat Setup, the steps to be taken to configure thermostats can be found in this link.

In the pages Daikin Setup, the steps to be taken to configure RTD-10 can be found in this link.

Virtual Sensors

Together with virtual inputs and outputs, virtual sensors are used to support external sensors (like temperature sensors). Those Virtual sensors can be linked to thermostats. The same applies for virtual Outputs that also can be linked to the Openmotics thermostats.

See Virtual Sensors