Issue with Max CH setpoint

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

Moderator: hvxl

krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Issue with Max CH setpoint

Post by krzyk »

I have been using OTGW almost a year and I didn't have any issues until last week.

I noticed that my thermostat sets CH water to 75 degrees I decided that it is to high considering that outside it was 5-10 degrees, so I lowered it to 65 and then 60 using the web interface.

Now the outside temp is ~0 and I would like to increase it to e.g. 70 but it is not possible. I set the value but when I go back to the page the value is still 60, when I go to status page it is 60, when I go to summary I see the boundaries 60 20.

So I tried one more thing, set it to 55, and it worked, but setting it back to 60 didn't. Basically I can lower that value but I can't increase it, why?

Restarting the boiler didn't fix it, because it remembers the last setting.

For reference I was using the latest firmware available for download and the otmonitor I did compile the version from github 6 months ago AFAIR.

It is getting colder here so I would appreciate any help.

If it helps I have Vitodens 111-W (almost the same as 100-W with added DHW tank) and Nest thermostat.


Logs I get:

Code: Select all

09:27:13.967466  T80310000  Read-Data   Max CH setpoint boundaries: 0 0         
09:27:14.101587  BC0313714  Read-Ack    Max CH setpoint boundaries: 55 20       
09:27:14.260304  T80380000  Read-Data   DHW setpoint: 0.00                      
09:27:14.412821  B40382800  Read-Ack    DHW setpoint: 40.00                     
09:27:14.571875  T00390000  Read-Data   Max CH water setpoint: 0.00             
09:27:14.706724  B40393700  Read-Ack    Max CH water setpoint: 55.00            
09:27:14.865983  T00710000  Read-Data   Unsuccessful burner starts: 0           
09:27:15.017933  BC0710000  Read-Ack    Unsuccessful burner starts: 0           
09:27:15.177383  T00720000  Read-Data   Flame signal too low count: 0            
09:27:15.311812  BC0720000  Read-Ack    Flame signal too low count: 0           
09:27:15.471568  T00740000  Read-Data   Burner starts: 0                        
09:27:15.622773  B4074311B  Read-Ack    Burner starts: 12571                    
09:27:15.781772  T00780000  Read-Data   Burner operation hours: 0               
09:27:15.916615  BC0780321  Read-Ack    Burner operation hours: 801             
09:27:16.075664  T007D0000  Read-Data   OpenTherm version Slave: 0.00           
09:27:16.227536  BC07D0300  Read-Ack    OpenTherm version Slave: 3.00           
09:27:16.387301  T807F0000  Read-Data   Slave product version: 0 0              
09:27:16.521708  B407F095A  Read-Ack    Slave product version: 9 90             
09:27:16.681199  T80000302  Read-Data   Status: 00000011 00000010               
09:27:16.832662  B40000302  Read-Ack    Status: 00000011 00000010               
09:27:16.991724  T00030000  Read-Data   Slave configuration: 00000000 0         
09:27:17.230316  B40035121  Read-Ack    Slave configuration: 01010001 33        
09:27:17.389326  T00050000  Read-Data   Application-specific flags: 00000000 0  
09:27:17.541564  BC0050000  Read-Ack    Application-specific flags: 00000000 0  
09:27:17.700896  T000F0000  Read-Data   Boiler capacity and modulation limits: 0 0
09:27:17.818917  Command (via websocket): SH=73                                                                                                                                                                      
09:27:17.843635  BC00F1122  Read-Ack    Boiler capacity and modulation limits: 17 34
09:27:17.849661  SH: BV                                                         
09:27:17.995007  T00110000  Read-Data   Relative modulation level: 0.00         
09:27:18.232677  BC0110000  Read-Ack    Relative modulation level: 0.00         
09:27:18.392091  T80190000  Read-Data   Boiler water temperature: 0.00          
09:27:18.544093  B40193280  Read-Ack    Boiler water temperature: 50.50          
09:27:18.703668  T801A0000  Read-Data   DHW temperature: 0.00                   
09:27:18.837496  BC01A21CD  Read-Ack    DHW temperature: 33.80                  
09:27:18.996534  T00300000  Read-Data   DHW setpoint boundaries: 0 0            
09:27:19.252499  BC0303C1E  Read-Ack    DHW setpoint boundaries: 60 30          
09:27:19.411556  T80310000  Read-Data   Max CH setpoint boundaries: 0 0         
09:27:19.546382  BC0313714  Read-Ack    Max CH setpoint boundaries: 55 20       
09:27:19.705436  T80380000  Read-Data   DHW setpoint: 0.00                      
09:27:19.857311  B40382800  Read-Ack    DHW setpoint: 40.00                     
09:27:20.016968  T00390000  Read-Data   Max CH water setpoint: 0.00             
09:27:20.254857  B40393700  Read-Ack    Max CH water setpoint: 55.00            
As you can see using SH=73 (or anything higher then current MAX CH boundaries results in SH: BV (so a bad vaue). When I set to anything below current boundary it works, but results in lowering that boundary.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

That's a horrible bug in your boiler!

I would expect that you can also adjust the value via the boiler control panel. So maybe have a look at the manual.

Another option you can try is:
  1. Send command UI=49 to the OTGW. That should stop it from obtaining the CH boundaries from the boiler. This setting is stored in EEPROM, so it will survive a reboot.
  2. Reboot your OTGW (GW=R). This will restart the OTGW with the default CH boundaries of 90/10, because the learnt boundaries are not stored in EEPROM.
  3. Issue the SH command with the desired temperature. This should now no longer be rejected by the OTGW. Whether the boiler will accept it is another question.
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

Unfortunately this didn't help - it wasn't accepted by the boiler as it still transmits

Code: Select all

Max CH water setpoint: 55
And the interface on the boiler itself also doesn't allow increasing the boundary above 55, I assume that when I switch from OpenTherm to some other interface (on/off or constant on) it will reset the stored value when I go back to OT interface.

I'll try that tomorrow.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

Can you show a log so I can check that things happen as I expected?
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

Here it is attached, messages from the web UI and the bare messages from telnet (those have my keystrokes when I was entering the UI=49, GW=R and SH=75).
Attachments
hex.txt.gz
(287 Bytes) Downloaded 394 times
messages.txt.gz
(1.55 KiB) Downloaded 381 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

Right. So that didn't work as expected. The reason turns out to be that, after a reset, the OTGW first needs to learn whether the boiler supports Max CH updates. For that, it needs to see MsgID 6. If you issue the SH command before that, the OTGW won't set the flag for sending the requested Max CH temperature.

If you left your OTGW running after the reset, it should have requested MsgID 6 by now. You can try the SH command again. Otherwise check the logs from when you start the OTGW again and wait for MsgID 6. Then run the SH command.

I expect to see a Write-Data of MsgID 57 (Max CH water setpoint).
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

I don't see Write-Data for that :(
I tried it several times. I set UI=49 in the morning so I assume SH should work now.

Maybe I need to turn off-on the boiler for it to sent back MsgId 6?
Attachments
mesages.txt.gz
(26.21 KiB) Downloaded 391 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

The OTGW will request MsgID 6 when it gets a chance. That means it will send that request instead of a message that it knows the boiler doesn't support. However, I don't see any Unk-DataId in your log. Apparently your thermostat doesn't send any messages that the boiler doesn't support. You may have to sacrifice one to allow the OTGW to send its messages. For example "Flame signal too low count". If you run the command UI=114, the OTGW can use that slot.

You stand a better chance of getting MsgID 6 by resetting the thermostat. The thermostat is the master, so it controls which messages are exchanged. Power cycling the boiler will not cause it to send MsgID 6, unless the thermostat/OTGW asks for it.
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

When I do restart of thermostat I think it also results in turning of OT or something, because after that when I issue e.g. "SH=75" I get "SH: BV" so I need to do UI=49 and GW=R again to be able to SH. But that doesn't help much, 55 is still set as max CH water setpoint.
Attachments
mess.txt.gz
(25.53 KiB) Downloaded 394 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

Unfortunately it looks like this isn't going to work without changing the firmware. Your logs show that the OTGW does substitute a request for MsgID 49. But it substitutes it with some messages it uses to collect information it wants to know for its own operation. One of those messages is MsgID 49! :(

How good are you with scripting? You could load the interface firmware and then make a script that just sends the correct data for MsgID 57. Possibly all that is needed is something that sends a line containing "90394B00" to the serial port.
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

OK, I'll try that.
But will I be able to use otmonitor to flash back the gateway firmware after I flashed interface firmware and sent the command to the boiler? Or will I need another way to got back to the old firmware?
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

The interface firmware contains the same self-programming code as the gateway firmware. So it should not be a problem to load the gateway firmware again, once you did what you need to do with the interface firmware.
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

Thanks it worked :)

So, what was the issue with the boiler firmware? Because as I see it now OTGW didn't sent the message 49 because it saw that the limits in boiler are lower, right? But the message 49 is to increase those limits, isn't it?

Also a question, wouldn't it be a good idea to add a "interface" firmware capabilities in the usual gateway code? I mean to be able to send any arbitrary Open Therm message to the boiler/thermostat? To be able to deal with buggy boilers/thermostats?

BTW. Thanks for great software I'm still amazed how much capabilities you have put into it.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Issue with Max CH setpoint

Post by hvxl »

krzyk wrote:Thanks it worked :)
Excellent.
krzyk wrote:So, what was the issue with the boiler firmware? Because as I see it now OTGW didn't sent the message 49 because it saw that the limits in boiler are lower, right? But the message 49 is to increase those limits, isn't it?
No. The limits (MsgID 49) are fixed and depend on the capabilities of the boiler. The setpoint is the maximum temperature the thermostat wants the boiler to heat the water to. The setpoint has to be somewhere between the limits.

How can a thermostat know the valid range for the setpoint if the boiler changes the limits along with the setpoint?
krzyk wrote:Also a question, wouldn't it be a good idea to add a "interface" firmware capabilities in the usual gateway code? I mean to be able to send any arbitrary Open Therm message to the boiler/thermostat? To be able to deal with buggy boilers/thermostats?
For low level control, you can use the interface firmware. It gives the user full control. Most people however prefer control at a higher, more abstract level. The gateway firmware is geared toward those people. So the choice is yours. But it's one or the other. Combining them would be awkward and requires much more code and data than fit in the limited memory of the PIC.
Schelte
krzyk
Starting Member
Starting Member
Posts: 8
Joined: Thu Jan 02, 2020 10:30 am

Re: Issue with Max CH setpoint

Post by krzyk »

How can a thermostat know the valid range for the setpoint if the boiler changes the limits along with the setpoint?
But the boiler doesn't change those limits based on setpoint.
My thermostat has setpoint on different levels (it uses dynamic usually 30 - 70 C) and the limits on the boiler are still 10 - 80 C (this is what I set there), so the issue is somewhere else.
Post Reply

Return to “Opentherm Gateway Forum”