Thermostat Multi Tenant

From OpenMotics
Jump to navigation Jump to search

Introduction

The Openmotics system supports thermostat multi-tenancy (As of Firmware version V3.143.3 and higher).

When a building is occupied with multiple tenants, you need to have fully independent thermostats in other words, every individual tenant can set his thermostat in automatic, manual, away or vacation mode independently from each other.

 Important Note: The Gateway will automatically put the Master in multi-tenant mode, even when Multi-tenancy is not used. 
 The Gateway will handle the necessary action needed when not using Multi-tenancy.

Technical more in-depth

The only parameters which are common for all tenants when working in Multi-tenant mode are the following parameters:

  • Heating is ON (depending on the outside temperature)
  • Cooling or heating is activated

Every tenant has following configuration possibilities:

  • Set the thermostat mode (Automatic mode or Manual mode)
    • In Automatic mode, the tenant can program his timings and temperatures for every day of the week
    • In Manual mode, the temperature can be set for 3 different manual modes: Away, Vacation & Party
  • Thermostat (and individual settings) for heating
  • Thermostat (and individual settings) for cooling (if cooling is available)

The system can be programmed in normal mode or multi-tenant mode:

  • Normal Mode (default mode): When the thermostat mode is changed (Automatic, Party, Away or Vacation), it is changed for all the thermostats in the building. This is the normal mode which is used for buildings with only 1 tenant.
  • Multi-tenant mode: The thermostat mode can be changed for every individual thermostat

Multi-tenancy is enabled by setting BIT6 of the Thermostat Mode byte. By default, multi-tenancy is disabled.

The individual multi-tenant configuration bytes can be found in eeprom page 199, see Memory Model. The Multi-tenant configuration byte contains the setting (Day1, Day2, Night, Automatic, Away, vacation or party mode) of an individual thermostat. 24 Multi-tenant configuration bytes can be used, one for every thermostat.

The Multi-Tenant configuration byte can be found in eeprom Page199/Byte32..63 and is being set up as follows:

BIT3
 =1: Individual thermostat is in automatic mode
 =0: Individual thermostat is in manual mode -> scheduled thermostat actions (used when in automatic mode) will be ignored, thermostat will remain in the last programmed setpoint.
BIT2,1,0
 =0,0,0 -> Individual thermostat is in Day1 mode
 =0,0,1 -> Individual thermostat is in Night mode
 =0,1,0 -> Individual thermostat is in Day2 mode
 =0,1,1 -> Individual thermostat is in Away mode
 =1,0,0 -> Individual thermostat is in Vacation mode
 =1,0,1 -> Individual thermostat is in Party mode
All the other BITS are ignored and not in use

How to enable Multi-tenancy?

Multi-tenancy is enabled by setting BIT6 of the Thermostat Mode byte. By default, multi-tenancy is disabled.

In API mode, instruction "TM" can be used to write the correct Thermostat Mode. For more information, see API Reference Guide

Also Basic Action 140 can be used to set the correct Thermostat Mode

Remark: When the Thermostat Mode is written, all setpoints of all thermostats are set to the pre-programmed value. Once in Multi-tenant mode, actions must be avoided that influences setpoints of all thermostats.

How to write the Multi-Tenant Configuration byte?

This can be done by using the API instruction "ws" which has Config=67 to be used to write the Multi-tenant configuration byte, see API Reference Guide

How to change mode of the individual thermostats?

First you must put your thermostat in the correct mode (Auto or Manual), this is done by using Basic Action:

  • 90 for Auto mode
  • 91 for Manual mode

If you change your mode for 1 thermostat from manual to Automatic, the setpoint will automatically be adapted. When you change however your mode from Auto to Manual, the last used setpoint in Automatic mode will be kept. To set the correct setpoint, one of the below Basic Actions are used:

  • 128 for Day1
  • 129 for Night
  • 130 for Day2
  • 131 for Away
  • 132 for Vacation
  • 133 for Party


This can also be done by using API instruction "ws" with config = 68 (Automatic), 69 (Away), 70 (Vacation) or 71 (party), see API Reference Guide

  • Config=68 -> Set Thermostat Number to AUTO and adapt setpoint automatically, only when Thermostat Multi Tenant has been enabled
  • Config=69 -> Set Thermostat Number to AWAY and adapt setpoint automatically, only when Thermostat Multi Tenant has been enabled
  • Config=70 -> Set Thermostat Number to VACATION and adapt setpoint automatically, only when Thermostat Multi Tenant has been enabled
  • Config=71 -> Set Thermostat Number to PARTY and adapt setpoint automatically, only when Thermostat Multi Tenant has been enabled

Remark: When a tenant occupies multiple rooms, the intelligence to put multiple rooms together for 1 tenant is not programmed in the Master code and should be programmed on a higher level.

In CLI Mode, what instructions are available to check in which mode the thermostat system is configured

All CLI instructions can be found back in the CLI Reference Guide.

First of all, you can check if the system multi-tenant mode by using following instruction:

 thermostat mode read

When Multi-tenancy is enabled, you can also see the Multi-Tenant configuration bytes so you know in which mode every individual thermostat resides in.

Please note that when multiple-tenancy is enabled, the condition (automatic/manual) of the thermostat mode byte isn't applicable anymore.

With the below instruction, you can see the programmed setpoints which are used in manual mode and when multi-tenancy is enabled, you'll see the Multi-Tenant configuration byte for that specific thermostat:

 thermostat details read 1    ;This is an example for thermostat 1

When you want to see what the current setpoint, current temperature and check if output are on or off are:

 thermostat list

How to read the Multi-Tenant Configuration bytes in API mode?

The multi-tenant configuration bytes can be read by using the API instruction "ml". This instruction will read the 24 programmed Multi-tenant configuration bytes.

Note: When the system is in normal mode and the Multi-tenant configuration bytes are not used by the master, please do not use the instruction "ml" to keep unnecessary traffic away from the Master.