Opentherm gateway/thermostat with full integration for Home Assistant

@LazyDev I have opentherm gateway: ESP32/ESP8266 OpenTherm Gateway - DIYLESS Electronics and I have a question can I use this project? I wanted to use it to operate the stove through the original controller and through HA?

@spyro-po sure, but the proxy/transparent mode is not implemented. This means that the original controller will not be able to control the boiler, only via HA/web/api/mqtt.

Dear expert, I found a similar opentherm gateway on the Chinese hass forum. Its design has reduced the power board. Can you optimize your design and reduce the previous power board?

You can use any compatible board you like. You can also suggest your version and create a PR on GitHub.
p.s. I don’t think that a good solution is to use an external power supply via a USB cable.

I found an instrument box of D2MG on a shopping website. Its size is 8837 59mm. Can it be used?

Sure, the device is designed for the D2MG box.

Dear expert, I found a method for automatically adjusting PID on ESPHome. I want to use it to control the wall-mounted boiler. Can you help compile a firmware? I think this automatic adjustment is very compatible with your firmware for controlling the wall-mounted boiler.
PID 气候 — ESPHome

Automatic PID tuning for inert processes (heating) does not work very well, it is better to select the coefficients manually, there are many articles about this.

Dear expert, I use an external sensor to provide temperature information to the boiler. According to the automation example you gave, I changed source_entity: “sensor.livingroom_temperature” to the bedroom Aqara thermometer source_entity: sensor.lumi_weather_v1_0b1b_temperature_humidity_sensor. But how should I modify this example of target_entity: “number.opentherm_indoor_temp”? Should I also change it to target_entity: sensor.lumi_weather_v1_0b1b_temperature_humidity_sensor? Or do I not need to modify it and only modify source_entity?

You don’t need to change target_entity if you didn’t change the ID for the number.opentherm_indoor_temp entity

Dear expert, following your instructions, I have successfully transmitted the indoor and outdoor temperatures to the gateway. They can be found on the gateway, but the indoor temperature is not displayed on HA. What’s the situation?


Hi LazyDev, as it gets more and more cold, I turn the heating system on. The boiler turns well on however the house doesn’t heat (radiators are cold, I don’t have any floorheating system), even when I set the desired temperature to 30°C, I bearly reach the internal temperature higher than 18,5°C.
I’ve activated the Equitherm but it doesn’t seem to solve the situation.
those are my configurations settigns:

here is a graph


The heating was turned on at around 10h50 and you can see that nothing really evolve.

Before, the boiler heated the water to 60-70° and maintained this temperature with the circulator active until the desired internal temperature is reached. Afteerwards, it stopped until the temperature (desired internal temperature - 3-4°) is below and it starts again.

I have an additional question, does the opentherm gateway bypass some of the parameter which are set in the boiler directly? not sure in fact.

Did I do something wrong? if so, I don’t really know where I screwed.

Thanks

oohhh I found an interesting sensor which was desactivated in HA, the “heating max temp” it was set to 35°, I’ve changed it to 65° and it seems to work. Let see how it goes.

On the settings page, check the minimum and maximum temperature settings.

On the dashboard page, look at the “OpenTherm diagnostic” section, it contains global restrictions that are configured in the boiler service menu.
Screenshot_5

Thanks.
I try to figure out how everything works and I really struggle.
just to clarify, I’m talking in degre celcius :slight_smile:

so to explain. when I’m in HA, I can modify the heating max/min temp:


which change in the opentherm setting page:

but what I don’t understand is the thermostat used in HA:
image

it seems that this thermostat is controling the water temperature which is set by the heating max/min temperature. 55° is high for an indoor temperature :slight_smile:
When I set the thermostat to “19°”, the boiler doesn’t heat the radioator higher than this temperature. and the modulation is at 5%.
The entity used for this thermostat is climate.opentherm_heating. I think it should be something else but I don’t really know which entity or how to make sure it’s not the water temperature but the indoor temperature that need to be contorled.

Would it be possible to let me know how should I set everything so when I ask 19° indoor temperature, the boiler heats the water to 65° until the indoor temperature reach approximatly the asked temperature to regulate/modulate afterwards the water temperature so it keeps the 19°.

thanks

====
edit:
i guess the options have to be changed to help me.

i’ve set it to this:


option “Duplicate heating CH1 tp CH2” and “Get min/max temp from boiler” are now unticked.

ps: the layout is better than before too, i had to change the language and now i don’t have the “settings.xxxx” but the text.

Turn on PID or equitherm and adjust the coefficients

Thanks I’ve messing up with the different values and it starts to be fine now.
i’m not really used to this at the moment.

Hi LazyDev. First off thanks for all your work on this project. Its allowed me to implement an opentherm solution for my Ideal Vogue Max boiler and is working well so far though I have still much to learn regarding the equitherm and associated coefficients.

My question is that when the program schedule I have setup in HA is not calling for heat between certain periods, though the burner is not in operation as expected at that time the pump appears to be running continuously. Any help on me understanding would be greatly appreciated.

As it happens my post can be ignored now as it seems I wasn’t allowing enough time once the burner was turned off. Thanks again anyway for a great project.

1 Like

I was planning to buy a Bosch GC2200 W boiler and realized it is not on your compatibility list: Compatibility · Laxilef/OTGateway Wiki · GitHub so I was wondering if the reason is that nobody tested it yet or are there certain criteria I can check which make an OT Boiler compatible with this project or not?