Understanding Max CH water Setpoint (ID=57) control

This Forum is about the Opentherm gateway (OTGW) from Schelte

Moderator: hvxl

Post Reply
MrSnuggels
Starting Member
Starting Member
Posts: 6
Joined: Tue Jan 19, 2021 4:24 pm

Understanding Max CH water Setpoint (ID=57) control

Post by MrSnuggels »

I am trying to optimize the control of my central heating system. The goal is to limit the CH temperature setpoint depending on the outside temperature.

My setup consists of a T8851M1000 thermostat and an Intergas HRE 28/24 A-label, obviously coupled to a nice opentherm gateway running flawless since the last firmware release (5.1).

My initial idea was to simply send a Max CH water Setpoint (ID=57) to the opentherm gateway depending on the outside temperature. I was expecting either the opentherm gateway or the thermostat to limit the CH setpoint based on this maximum value. However, when I look at the control of the boiler I see that during startup the CH reference is increasing steadily, also surpassing the set max value. After as certain warm-up time (10~15 minutes) the reference drops back to 10'C for a few minutes before increasing to the "Max CH" set by me. After being steady for a few minutes, the reference increases again past the configured max value. Note that all the above occurs when the actual room temperature is still below the reference value.

My main question is how the "Max CH water Setpoint" is expected to work?
Also, if I want to enforce a certain limit on the CH reference, how should I do it then?
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Understanding Max CH water Setpoint (ID=57) control

Post by hvxl »

The Max CH water setpoint is sent to the boiler (if the boiler supports it). The OTGW doesn't limit the CS to this value. Maybe that's an idea for a new feature. The thermostat will also not be aware of the change until it requests MsgID 57 again. So it's really up to the boiler to act on the command. Not all boilers support this. Whether they do is indicated via MsgID 6. A log I have for the Intergas Kombi Kompakt HRE A 28/24 shows the boiler returning a data value of 0x0101 to a read data request for MsgID 6. That means that it supports both reading and writing of the DHW setpoint, but not the CH setpoint.

So, the first thing to do is to check what your boiler returns for MsgID 6.
Schelte
MrSnuggels
Starting Member
Starting Member
Posts: 6
Joined: Tue Jan 19, 2021 4:24 pm

Re: Understanding Max CH water Setpoint (ID=57) control

Post by MrSnuggels »

Via PS=1 I get 00000001/00000001 for msgID=6. I can't find the meaning of the individual bits but I suspect the boiler does not support configuring CHmax through Opentherm. I do think it would be a very useful feature if the opentherm gateway could actively limit the CH setpoint. This allows for a sort of hybrid way of controlling the central heating system, a combination of weather dependent control and room control. Possibly an extra command might help here to also keep the original function.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Understanding Max CH water Setpoint (ID=57) control

Post by hvxl »

There is no need to guess because I just explained in my previous post that's what it means. You can also find the meaning of the bits in the opentherm protocol specification (google it, if you haven't downloaded it yet).

Currently, if the boiler doesn't support MsgID 57 (or if you told the OTGW that it doesn't support it via a UI=57 command), the OTGW will already report the configured Max CH setpoint back to the thermostat whenever it requests it. If the thermostat properly takes that into account when setting the control setpoint, your method should still work. For me to understand why it doesn't, you will have to provide a log.

I have added the idea to limit the CH setpoint to the feature request list. I make no guarantees that I will implement it, though. In any case it won't be soon.
Schelte
MrSnuggels
Starting Member
Starting Member
Posts: 6
Joined: Tue Jan 19, 2021 4:24 pm

Re: Understanding Max CH water Setpoint (ID=57) control

Post by MrSnuggels »

Sorry, I misread the hex notation ideed it is 0x0101. I have attached a log-file of a warm-up cycle in the house. You can clearly see the thermostat first limits it's request to the CHmax value (minus one), but then decides to request a higher value anyway.
Attachments
otlog-20211102.zip
Log file of home warm-up
(104.44 KiB) Downloaded 125 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Understanding Max CH water Setpoint (ID=57) control

Post by hvxl »

It seems you are very unlucky to have a boiler with rather appalling firmware. Not only does it not support reading or writing the Max CH water temperature, it has some other, more serious flaws as well. The Opentherm specification only lists a few mandatory ID's. One of them is the Maximum relative modulation level (MsgID 14). A slave "Must respond with WRITE_ACK". Yet your boiler responds with "UNKNOWN-DATAID". A blatant violation of the Opentherm specification. The boiler also does a very poor job of regulating the water temperature. It seems to just heat the water at maximum power until it reaches the setpoint and only then dials back the modulation. There doesn't seem to be any kind of intelligent mechanism implemented, like a PID controller. As a result the water temperature massively overshoots the control setpoint.

Apparently all of this misbehavior of the boiler triggers something in the thermostat that makes it ignore the Max CH water temperature value. Looking at the graph when replaying your log in otmonitor, I see that the thermostat only starts requesting a higher control setpoint when the water temperature overshoots the control setpoint.

I don't see any other solution than changing the OTGW firmware, or getting a different thermostat (or boiler :lol:). Given the terrible job your boiler does at regulating the water temperature, I'm not sure how much effect changing the OTGW firmware will have. But you can always try. The sources are available.
Schelte
aengen
Starting Member
Starting Member
Posts: 12
Joined: Thu Oct 28, 2021 10:03 pm

Re: Understanding Max CH water Setpoint (ID=57) control

Post by aengen »

I have the same idea, and similar issues. So far the best I came up with is tempering the MM to a very low setting. Since I normally heat a small part of the house, the boiler is very much overpowered. It is also a safe solution since the thermostat is still pretty much in control.

Because I am annoyed the thermostat is not anticipating on programmed setpoints and actual temperatures (e.g. heat up the system in time so max water temperatures can be lower), I still feel the need to improve on this.

An idea that I had (but did not test yet) was to use the 'over rule mechanism' OTGW provides:
SR=Data-ID:data Set Response - Configure a response to send back to the thermostat instead of the response produced by the boiler. The data argument is either one or two bytes separated by a comma. Example: SR=18:1,205, SR=70:14
CR=Data-ID Clear Response - Clear a previously configured response to send back to the thermostat. Example: CR=18, CR=70
This will stop the thermostat from talking to the Boiler. A failure in this setup could end up in a very warm house, so I want to have some watchdog in place before proceeding.

Nevertheless, would this be a feasible approach?
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Understanding Max CH water Setpoint (ID=57) control

Post by hvxl »

The MM command will not have any effect if the boiler doesn't support MsgID 14, as is the case for MrSnuggels.

The SR command doesn't stop the thermostat from talking to the Boiler. All it does is modify the response from the boiler back to the thermostat. To manipulate the heating instructions from the thermostat to the boiler, the CS, CH, and possibly MM commands are the proper tools.
Schelte
Post Reply

Return to “Opentherm Gateway Forum”