OpenTherm weather dependent heating control

For heating/cooling related questions in Domoticz

Moderator: leecollings

akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Maciek90 wrote: Monday 24 November 2025 15:56
What heating mode is used (climate or weather dependent?)
Weather dependent mode
what is the config of the boiler parameters?
Like on the picture
In weather dependent mode, the boiler setpoint is calculated Using the outside temp. so what is the outside temp which is currently reported to the boiler

If the heating is too much or not enough you can tune using boilersetpoint at xxxx configuratie

But if you want the room temperature to determine the boiler setpoint, the. You should be using climate mode, not weather dependent mode
Maciek90
Posts: 55
Joined: Friday 05 March 2021 23:01
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by Maciek90 »

so what is the outside temp which is currently reported to the boiler
On that day, the outdoor temperature was around -5 degrees.
In weather dependent mode, the boiler setpoint is calculated Using the outside temp.
I know this, but the indoor temperature is also taken into account. For example, if it's constantly -5 degrees outside, 21 degrees inside, and the setpoint temperature is also 21 degrees, the script sets the boiler flow temperature to perfectly match the heating curve. If the indoor temperature drops to 20 degrees, the script increases the flow temperature, and if it rises to 22 degrees, the script lowers the flow temperature. Unfortunately, at a certain point, depending on the outdoor temperature, the script stops lowering the flow temperature, which causes the room to overheat and prevents me from lowering the indoor temperature overnight. In the previous version of the script (with the plugin), this worked correctly. That is, if the inside temperature was 21 degrees Celsius, and I set it to 18 degrees Celsius, the script would lower the flow temperature to the set minimum boiler temperature.

If the heating is too much or not enough you can tune using boilersetpoint at xxxx configuratie
I don't understand. What is xxxx configuratie?
akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Maciek90 wrote: Thursday 27 November 2025 21:54
so what is the outside temp which is currently reported to the boiler
On that day, the outdoor temperature was around -5 degrees.
In weather dependent mode, the boiler setpoint is calculated Using the outside temp.
I know this, but the indoor temperature is also taken into account. For example, if it's constantly -5 degrees outside, 21 degrees inside, and the setpoint temperature is also 21 degrees, the script sets the boiler flow temperature to perfectly match the heating curve. If the indoor temperature drops to 20 degrees, the script increases the flow temperature, and if it rises to 22 degrees, the script lowers the flow temperature. Unfortunately, at a certain point, depending on the outdoor temperature, the script stops lowering the flow temperature, which causes the room to overheat and prevents me from lowering the indoor temperature overnight. In the previous version of the script (with the plugin), this worked correctly. That is, if the inside temperature was 21 degrees Celsius, and I set it to 18 degrees Celsius, the script would lower the flow temperature to the set minimum boiler temperature.

If the heating is too much or not enough you can tune using boilersetpoint at xxxx configuratie
I don't understand. What is xxxx configuratie?
Please study the documentation first (https://github.com/akamming/esp_domotic ... rm_handler). The answers to your questions are well described:
  • weather dependent mode requires you have an external temp sensor attached to your boiler, supported by opentherm
  • BoilerTempAtPlus20 and BoilerTempAtMinus10: Basic data for the boiler firing line
  • Curvature: Can curve the boiler firing line (basically meaning the boiler setpoint will go up earlier)
  • Switchheatingoffat: Disable the heating when the outside temp is above this value
  • Refroomcompensation: Can change the boiler setpoint if the reference room temperature is lower than the climate setpoint
So based on what you describe, most likely scenario is:
- Based on your configured boiler firing line, curvature and outside temp, boiler setpoint is set at 41,9.
- Your current temp is probably somewhere between 21.5 and 22, cause till you set the room setpoint up till 21.5, i see no compensation for the reference room temperature, and as of 22 there is.

So if your room heats too much, then you configured your boiler firing line too high, so you should tune firing line using the above parameters.

This is pretty standard for a weather dependent system. So If you have no experience or knowledge in tuning a weather dependent system, you should not be using this. This is mostly used for professional uses and if it's used for consumers, then the config is normally done by an a company installing the weather dependent system.

BTW: In your picture i notice the curvature is not shown correct, just checked and this is a (cosmetic) bug, i will fix that.

please study the documentation first and using tune the boiler firing line before you ask any additional questions.

EDIT: I fixed the cosmetic bug.
Maciek90
Posts: 55
Joined: Friday 05 March 2021 23:01
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by Maciek90 »

Please study the documentation first (https://github.com/akamming/esp_domotic ... rm_handler). The answers to your questions are well described:
I've read the documentation. I've been using your boiler control software for three years now, and everything has worked perfectly so far. Thank you so much for the tremendous work you've put into it, making life easier for people like me :)
I know how the weather-dependent system works. I've read a lot about it and been using it for three years, thanks to you.
So if your room heats too much, then you configured your boiler firing line too high, so you should tune firing line using the above parameters.
The heating curve is set to minimum (there's actually an error visible in my image when I set the curve to "none" in Domoticz). The temperature at -10 is set to 48, so I've already lowered it from the default settings.

It's currently warmer in Poland, around 5 degrees Celsius. Everything works as it should. The problems begin when the temperature drops significantly below 0. Let's wait until it cools down again, and then I'll try setting the heating curve again. Then, if necessary, I'll ask further questions and show all the parameters I have set, including the temperatures.
akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Maciek90 wrote: Friday 28 November 2025 10:38
Please study the documentation first (https://github.com/akamming/esp_domotic ... rm_handler). The answers to your questions are well described:
I've read the documentation. I've been using your boiler control software for three years now, and everything has worked perfectly so far. Thank you so much for the tremendous work you've put into it, making life easier for people like me :)
I know how the weather-dependent system works. I've read a lot about it and been using it for three years, thanks to you.
So if your room heats too much, then you configured your boiler firing line too high, so you should tune firing line using the above parameters.
The heating curve is set to minimum (there's actually an error visible in my image when I set the curve to "none" in Domoticz). The temperature at -10 is set to 48, so I've already lowered it from the default settings.

It's currently warmer in Poland, around 5 degrees Celsius. Everything works as it should. The problems begin when the temperature drops significantly below 0. Let's wait until it cools down again, and then I'll try setting the heating curve again. Then, if necessary, I'll ask further questions and show all the parameters I have set, including the temperatures.
But then you should know that Weather Dependent Mode is normally installed in buildings with more than 1 room to be heated, just to have a boiler firing line, and then used with thermostats in individual rooms regulating the temperature in the those individual room (e.g. office buildings with no central liveroom) . You can have a reference room, but that only has the goal that in the morning when the building starts heating, your system knows it has to work a bit harder.

If are a consumer and you want your living room to have the correct temperature, you should use the climate mode, cause then it will tune the boiler temp to get the exact right temperature in your living room.

So based on what you describe you are not using it correctly. You should be using climate mode.
Maciek90
Posts: 55
Joined: Friday 05 March 2021 23:01
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by Maciek90 »

I have a house of approximately 200 m² with 14 rooms. Each room has a thermostat installed on the radiator. The reference room has an indoor temperature sensor that transmits information to the boiler via your software.

I think we're not needing to discuss such details. I'm simply saying that something that previously worked better in the previous version of your software is now working worse. Below is another example. The situation is as of today. Current indoor temperature: 20.6°C, current outdoor temperature: 3.21°C. Set room temperature: 20.5°C, set supply temperature: 39.7°C. So, we could say that the software maintains the set temperature perfectly. If I decide to raise the indoor temperature (right side of the screenshot), the software raises the supply temperature, which means it's working correctly. However, if I want to lower the indoor temperature (left side of the screenshot), unfortunately, the software won't allow the supply temperature to be lowered below 39.7°C, regardless of the set indoor temperature. In the previous version of your software, if I lowered the internal temperature to 20 degrees Celsius, the supply temperature would drop below 39.7 degrees Celsius. If I lowered it to 19.5 degrees Celsius, it would drop even further, and so on.
Please tell me how I can lower the internal temperature to, say, 19 degrees Celsius with weather compensation enabled? Below is also another screenshot of the boiler parameter settings. I also tried changing them, but to no avail.
Attachments
2 (Kopiowanie).png
2 (Kopiowanie).png (33.59 KiB) Viewed 59 times
1 (Kopiowanie).png
1 (Kopiowanie).png (30.62 KiB) Viewed 59 times
akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Reference room compensation is Only one way: if the Reference room temp is below the setpoint, the boilertemp is increased. What you describe is exactly how it should work.


I think you have an other problem:

You minimum boiler temp is quite high. I would set it at 10

Also your boilertemp at plus 20 is quit high

In my house

Min and max boilertemp is set to 10 and 50
Boilertemp at plus20 is set to 20
Boilertemp at minus 10 is set to 50
Curvature is set to small

And for my house this works fine.

But ofcourse you have to tune this to your own house
akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Maciek90 wrote: Tuesday 02 December 2025 10:32 I have a house of approximately 200 m² with 14 rooms. Each room has a thermostat installed on the radiator. The reference room has an indoor temperature sensor that transmits information to the boiler via your software.

I think we're not needing to discuss such details. I'm simply saying that something that previously worked better in the previous version of your software is now working worse. Below is another example. The situation is as of today. Current indoor temperature: 20.6°C, current outdoor temperature: 3.21°C. Set room temperature: 20.5°C, set supply temperature: 39.7°C. So, we could say that the software maintains the set temperature perfectly. If I decide to raise the indoor temperature (right side of the screenshot), the software raises the supply temperature, which means it's working correctly. However, if I want to lower the indoor temperature (left side of the screenshot), unfortunately, the software won't allow the supply temperature to be lowered below 39.7°C, regardless of the set indoor temperature. In the previous version of your software, if I lowered the internal temperature to 20 degrees Celsius, the supply temperature would drop below 39.7 degrees Celsius. If I lowered it to 19.5 degrees Celsius, it would drop even further, and so on.
Please tell me how I can lower the internal temperature to, say, 19 degrees Celsius with weather compensation enabled? Below is also another screenshot of the boiler parameter settings. I also tried changing them, but to no avail.
I believe I’ve identified the source of your suspected bug. I reviewed the old plugin code, and it indeed behaves differently in weather-dependent mode: it applies reference-room compensation in both directions, unlike the ESP firmware which only applies it in one direction.

So there is a bug, but it’s in the old plugin, not in the new esp8266 code. Reference-room compensation is intended to help a building warm up faster in the morning: if the reference room is below the desired temperature, it temporarily increases the heating curve to speed up warm-up.

It’s also not a good idea to change this back to the old behaviour. Another common use of weather-dependent control is using it as a “fireplace mode.” I use it myself: when the fireplace is on and I still want the other rooms to stay warm, I switch to weather-dependent mode. This keeps the rest of the house warm, which would not work if reference-room compensation pushed the temperature back down.

Weather-dependent heating simply means the boiler adjusts the water temperature based on the outdoor temperature. The heating curve keeps costs under control by lowering the supply temperature when it’s warmer outside (provided it’s tuned well), and the thermostatic radiator valves in each room ensure heating stops once the setpoint is reached. The reference room is only used to temporarily raise the heating curve when the building still needs to warm up.

My recommendation:
  • If your goal is to always reach the setpoint in the reference room, use climate mode — that’s what it’s designed for.
  • If your goal is to heat multiple rooms, fine-tune your heating curve for your home and use thermostatic valves on the radiators in each room.
EDIT:
Just for fun i asked github copilot to make the code changes for making it configurable to make the ref room compensation uni or bidirectional (can be controlled with a new switch (BidirectionalReferenceRoomCompensation) or from settings.html),

It compiles well, But I don't have time to test myself, so you could try this branch and let me know the results (also make sure you reupload settings.html for this change): "https://github.com/akamming/esp_domotic ... mpensation"
Maciek90
Posts: 55
Joined: Friday 05 March 2021 23:01
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by Maciek90 »

Thanks for your interest in my problem and for explaining "fireplace mode" to me. I don't have a fireplace at home, so I was looking at it differently.

It's gotten very warm for this time of year, and your software works better for me in these conditions. I've recently tried adjusting the heating curve to suit my home, but of course, it takes time.

As I mentioned, the old plugin worked better for me because it compensates for temperature in both directions. I haven't tried testing your new software yet because I'm a bit worried it will mess up the heating during the heating season, especially since you've switched to Visual Studio Code, which I have no experience with. I'll definitely look into it sometime, at the latest in spring, and I'll let you know the results.
akamming
Posts: 422
Joined: Friday 17 August 2018 14:03
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: OpenTherm weather dependent heating control

Post by akamming »

Maciek90 wrote: Thursday 11 December 2025 22:43 Thanks for your interest in my problem and for explaining "fireplace mode" to me. I don't have a fireplace at home, so I was looking at it differently.

It's gotten very warm for this time of year, and your software works better for me in these conditions. I've recently tried adjusting the heating curve to suit my home, but of course, it takes time.

As I mentioned, the old plugin worked better for me because it compensates for temperature in both directions. I haven't tried testing your new software yet because I'm a bit worried it will mess up the heating during the heating season, especially since you've switched to Visual Studio Code, which I have no experience with. I'll definitely look into it sometime, at the latest in spring, and I'll let you know the results.
Ok, but i suggest you really try climate mode, cause it automatically tunes to boiler temp to get the correct room temp.

Based on what you describe here that’s a better solution for your use case
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest