OpenTherm Thermostat Initial Configuration
Details
  • 10/19/2022
Share

OpenTherm Thermostat Initial Configuration

Web configuration allows you control boiler and set-up WiFi connection, Home Assistant integration and MQTT broker settings

In order to use thermostat you will need to configure WiFi connectivity first

WiFi configuration

Thermostat starts WiFI configuration portal on power supply connection if WIFI is not configured properly (or if previously saved network is unavailable).
1. go to WIFI settings (use your smartphone/tablet/laptop)
2. connect to diyless-thermostat access point.
3. you might see a message saying 'Tap to view website/Sign into Wi-Fi network/requires login\authorization' - tap it. If no such a message shown - just open a web browser and navigate to 192.168.4.1
4. go to 'Configure WiFi' and select your network, enter password and click 'Save'

Now you should be able to connect to your thermostat via its IP address.

Pay attention that WIFI configuration portal is active for 1 minute. if you do not see diyless-thermostat access point in available networks list please restart the OT thermostat.

OpenTherm Thermostat Wi-Fi 1
OpenTherm Thermostat Wi-Fi 2
OpenTherm Thermostat Wi-Fi 3

MQTT Configuration

MQTT configuration allows external thermostat control and integration to various automation systems, like Home Assistant, Domoticz, IoBroker.
1. go to thermostat's side menu -> configuration
2. specify broker address, port (and user/password if needed)
3. save settings

Avoid using MQTT brokers that are publicly accessible. Doing so could leave your thermostat vulnerable to unauthorized access by anyone
OpenTherm Thermostat MQTT 1
OpenTherm Thermostat MQTT 2

If an Unique MQTT Topic option is enabled - every topic described below will be altered to use device's MAC address, i.e.
diyless_thermostat/stat/things/thermostat/properties
becomes
diyless_thermostat_ABCDEF123456/stat/things/thermostat/properties

diyless_thermostat/stat/things/thermostat/properties
The MQTT topic to subscribe for current thermostat state in JSON format

diyless_thermostat/stat/things/thermostat/properties/schedule
The MQTT topic to subscribe for current thermostat schedule


diyless_thermostat/cmnd/things/thermostat/properties/mode
The MQTT topic to publish commands to change the thermostat operation mode. Possible values are: heat, off
diyless_thermostat/cmnd/things/thermostat/properties/mode_manual
The MQTT topic to publish commands to switch the thermostat to manual mode. Possible values are: manual, off
diyless_thermostat/cmnd/things/thermostat/properties/targetTemperature
The MQTT topic to publish commands to change the desired temperature.
diyless_thermostat/cmnd/things/thermostat/properties/targetTemperature_manual
The MQTT topic to publish commands to change the target boiler temperature.
diyless_thermostat/cmnd/things/thermostat/properties/tempSource
The MQTT topic to publish commands to change the sensor.
Possible values are:

  • 0 for BuiltIn sensor
  • 1 for MQTT sensor
  • 2 for Bluetooth thermometer

diyless_thermostat/cmnd/things/thermostat/properties/DHWMode
The MQTT topic to publish commands to change the Domestic Hot Water operation mode.
Possible values are:

  • heat or water for DHW on
  • off for DHW off

diyless_thermostat/cmnd/things/thermostat/properties/DHWSetpoint
The MQTT topic to publish commands to change the desired Domestic Hot Water temperature.

diyless_thermostat/cmnd/things/thermostat/properties/schedule
The MQTT topic to publish room temperature schedule.

diyless_thermostat/cmnd/things/thermostat/properties/config
The MQTT topic to publish thermostat's configuration. You can change almost every setting, found on the Configuration and System pages.
Detailed payload format can be found in the Configuration JSON description section.

diyless_thermostat/cmnd/things/thermostat/properties/chmax
The MQTT topic to publish thermostat's maximum central heating water temperature. Allowed values are numbers in range 0..80.

diyless_thermostat/cmnd/things/thermostat/properties/max_modulation
The MQTT topic to publish a maximum modulation (flame) level. Allowed values are numbers in range 0..80.

Thermostat also publishes autodicsovery information for Home Assistant to theese three topics:
homeassistant/climate/diyless_thermostat_climate/config homeassistant/climate/diyless_thermostat_dhw/config homeassistant/climate/diyless_thermostat_manual/config


MQTT Sensor Configuration

MQTT Sensor allows you to send current room temperature via MQTT, allowing different integrations and/or automation scenarios. For instance you can reuse existing zigbee thermometer (in conjunction with a zigbee2mqtt) or use DS18B20 connected either by wires or to some ESPHome-like system.

Before using MQTT sensor please go to the thermostat settings page and change the sensor type appropriately.

Thermostat listens to the following topic:

diyless_thermostat/cmnd/things/thermostat/properties/temperature

Any valid floating-point number sent to it would be used as a room current temperature, invalid values are ignored. Also, changes by more that 50% (i.e. 17.4 -> 0.0) are ignored once to cut off sensor fluctuations or automation systems restarts.

If no valid message for more than two minutes - thermostat enters sensor-error mode.
Depending on configuration it would either set constant boiler temperature or shut it down.

Home Assistant Configuration

Home Assistant configuration allows heating automation and advanced scenarios tuning
OpenTherm Thermostat supports Home Assistant auto-discovery feature, so it is easy to add thermostat device to your configuration.

To use Home Assistant features you'll need to configure MQTT first

1. open HA app/browser and go to Settings
2. select 'Devices & Services' entry
3. select MQTT/Mosquitto broker
4. Now you should see two devices: Diyless DHW and Diyless Thermostat. First is for domestic hot water and second - for heating controls
5. Tap on Thermostat and add it to the dashboard
Now you have a thermostat card on your dashboard, which represents the state of a thermostat. You can repeat steps above to add a card for domestic hot water controls

OpenTherm Thermostat Home Assistant 1
OpenTherm Thermostat Home Assistant 2
OpenTherm Thermostat Home Assistant 3
OpenTherm Thermostat Home Assistant 4
OpenTherm Thermostat Home Assistant 5
OpenTherm Thermostat Home Assistant 6
OpenTherm Thermostat Home Assistant 7
DIYLESS Thermostat HA Discovery
DIYLESS Thermostat HA

Additional Configuration

You can configure additional parameters to fine-tune thermostat usage for your needs. Those parameters are located within configuration page under MQTT-related parameters.

Other Settings


CH Max (0 - no limit)
Maximum temperature of water for central heating mode. By default its read from your boiler. If boiler does not report max temperature - either your defined value or 80°C is used.

If you have external temperature limiting device like thermostatic valve for the whole heating loop or you have set a maximum boiler temperature through boiler's service menu - please update CH Max to the same value, otherwise thermostat wouldn't work efficiently, resulting in longer heating time on target temperature change and/or more gas consumption due to the overshoots.

CH Min - minimal heating water temperature (0 - disable)
Minimum temperature of water for central heating mode. Set it to non-zero if you don't want the water temp to drop below some value. Might be useful if you have radiator and underfloor heating combined and temperature mode for radiators is higher than for underfloor system. In that case thermostat idles at CH Min value and dont shut down the boiler to maintain a minimum water temperature for underfloor pipes to keep heating. If you set CH Min to zero - boiler might shut down if the target room temperature is above a setpoint.


Enable OpenTherm serial output
Enables OpenTherm commands dump to the serial (micro-USB) port. You can use OpenTherm Monitor software to monitor your setup. It allows you to inspect opentherm messages log and draw history graph to visualise system behavior. COM port is configured at baud rate of 9600bps.

Enable Telemetry
To design our products better, we would like to gather your feedback based on your experience. You can help us improve the quality, reliability, and performance of the products by participating in our Customer Experience Improvement Program. The uploaded data contains no information that identifies you or your company. There are no surveys to complete, and it all happens automatically - you're never interrupted. You should experience no loss in performance. If the thermostat is not connected to the Internet or option is disabled - no data is sent. We do not share this information with other companies.

PID Settings


We use a PI algorithm to control your boiler temperature to achieve a ballance between performance and comfort. It calculates required boiler temperature to maintain room's setpoint. Using settings below you can fine-tune thermostat for your particular case. To use those values properly - you'll need to master some mathematical background of PID control loop.

Abbreviations used below:
SP - a desired setpoint (room target temperature)
PV - a measured process variable

Integral term (current - X.XX)
Integral term accounts for past values of the SP - PV error and integrates them over time to produce the I term. For example, if there is a residual SP - PV error after the application of proportional control, the integral term seeks to eliminate the residual error by adding a control effect due to the historic cumulative value of the error. When the error is eliminated, the integral term will cease to grow. This will result in the proportional effect diminishing as the error decreases, but this is compensated for by the growing integral effect.
Setting that value allow you to shift/reset algorithm's starting point.

Kp and Ki are proportional and integral gains respectively. Default values are 30 and 0.01.

Sensor Failure Settings


Heat on sensor failure
Enables heating on sensor failure. Default is disabled (no heating, boiler will be shut down). For Bluetooth or MQTT sensor failure means not receiving temperature update for some time (60s and 120s respectively). For built-in (ds18b20) sensor - any hardware failure or sensor not connected.

CH setpoint
Temperature of water for central heating mode used if sensor failed.

You can use either a MQTT topic or /config HTTP endpoint to change thermostat's settings. Payload should be a valid JSON, containing one or more of the following properties:

mqttAddress String
Either host or IP address of the broker

mqttPort Number
A port to use for a broker connection

mqttUser String
User name if a broker requires authentication

mqttPassword String
Password if a broker requires authentication

mqttHaStatePeriod Number
Period (in seconds) indicates how often to notify HA about state changes

mqttUseTls Boolean (True/False)
Use TLS for a broker connection

mqttUseUniqueTopics Boolean (True/False)
Append device MAC address to the topics (useful if there are multiple devices connected to the same broker)

chMin Number
Minimum central heating water temperature

chMax Number
Maximum central heating water temperature

otSerialOut Boolean (True/False)
Enable OT communication log print to serial

pidKp Number
PID proportional term

pidKi Number
PID integral term

pidIntegral Number
PID current integral error

sensorFailureSp Number
Setpoint (for the CH water temperature) to use in case of sensor failure

heatOnSensorFailure Boolean (True/False)
Enable heating in case of sensor failure. Otherwise heating will be stopped

telemetryEn Boolean (True/False)
Telemetry enable



System status and reset

Advanced thermostat settings and status

Firmware update


Will navigate you to the firmware update page. By updating the firmware, you will have the opportunity to explore new features added to the thermostat whilst also experiencing an enhanced user experience when interacting with the device.

Reset Wi-Fi


If you would like to reconnect a thermostat to the different Wi-Fi network - use this option. It would reset connection settings and restart a thermostat with its own Wi-Fi access point enabled. Then you can use any Wi-Fi device to connect to it and configure network. Heating settings are not affected by that option.

Member ID


You can try this option to emulate vendor code in opentherm communication if you have compatibility issues.

Maximum relative modulation level


Maximum burner flame level in range 0..100 %. Limits maximum output power, can be useful if your boiler overheats CH water quickly after burner enable.