Opentherm Gateway communication issues

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

Opentherm Gateway communication issues

Post by MrSnuggels »

I have recently installed the opentherm gateway between a Honeywell T8851M1000 thermostat and an AWB Thermomaster 3HR 28T boiler. The system has been operational for a few days and I have noticed some issues.

Looking at the log I quite often have an "Error 03", about 4000 occurances a day. And quite often "Error 04", about 1500 occurances a day.

Some log sections where the error occurs:

Code: Select all

15:50:28.690618  B700E0000  Unk-DataId  Maximum relative modulation level: 0.00
15:50:29.601674  T00090000  Read-Data   Remote override room setpoint: 0.00
15:50:29.701648  BF0090000  Unk-DataId  Remote override room setpoint: 0.00
15:50:29.723600  AC0090000  Read-Ack    Remote override room setpoint: 0.00
15:50:30.614019  T00000300  Read-Data   Status: 00000011 00000000
15:50:31.623679  T00000300  Read-Data   Status: 00000011 00000000
15:50:32.583157  T00000300  Read-Data   Status: 00000011 00000000
15:50:32.685653  B40000302  Read-Ack    Status: 00000011 00000010
15:50:33.596312  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:34.603095  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:34.716807  Error 03
15:50:35.611118  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:36.615828  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:36.715894  B40191B00  Read-Ack    Boiler water temperature: 27.00
15:50:37.583778  T10011D00  Write-Data  Control setpoint: 29.00
15:50:37.684054  BD0011D00  Write-Ack   Control setpoint: 29.00
15:50:38.594628  T80640000  Read-Data   Remote override function: 00000000
15:50:38.695821  B70640000  Unk-DataId  Remote override function: 00000000
15:50:38.707029  A40640000  Read-Ack    Remote override function: 00000000
15:50:39.611056  T00110000  Read-Data   Relative modulation level: 0.00
15:50:39.708269  BC0110000  Read-Ack    Relative modulation level: 0.00
15:50:40.587091  T00000300  Read-Data   Status: 00000011 00000000
15:50:40.685078  B40000302  Read-Ack    Status: 00000011 00000010
15:50:41.606394  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:41.710929  Error 03
15:50:42.605348  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:42.704831  B40191B00  Read-Ack    Boiler water temperature: 27.00
15:50:43.618148  T10011E00  Write-Data  Control setpoint: 30.00
15:50:43.716932  BD0011E00  Write-Ack   Control setpoint: 30.00
15:50:44.587777  T00110000  Read-Data   Relative modulation level: 0.00
15:50:45.600471  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:45.699373  B40191B00  Read-Ack    Boiler water temperature: 27.00
15:50:46.603722  T10011E00  Write-Data  Control setpoint: 30.00
15:50:46.705593  BD0011E00  Write-Ack   Control setpoint: 30.00
15:50:47.616903  T00110000  Read-Data   Relative modulation level: 0.00
15:50:47.716120  B40112C00  Read-Ack    Relative modulation level: 44.00
15:50:48.584664  T901811C9  Write-Data  Room temperature: 17.79
15:50:48.684929  BF0180000  Unk-DataId  Room temperature: 0.00
15:50:49.597640  T10101200  Write-Data  Room setpoint: 18.00
15:50:50.609892  T00000300  Read-Data   Status: 00000011 00000000
15:50:50.704334  BC000030A  Read-Ack    Status: 00000011 00001010
15:50:51.617895  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:51.717684  B40191B00  Read-Ack    Boiler water temperature: 27.00
15:50:52.586020  T10011E00  Write-Data  Control setpoint: 30.00

Code: Select all

15:49:59.619750  T801A0000  Read-Data   DHW temperature: 0.00
15:49:59.717950  BC01A1A00  Read-Ack    DHW temperature: 26.00
15:50:00.594371  T00000300  Read-Data   Status: 00000011 00000000
15:50:00.692259  B40000302  Read-Ack    Status: 00000011 00000010
15:50:01.605737  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:01.704393  BC0191F00  Read-Ack    Boiler water temperature: 31.00
15:50:02.627013  T90011C00  Write-Data  Control setpoint: 28.00
15:50:02.729051  Error 03
15:50:03.625151  T90011C00  Write-Data  Control setpoint: 28.00
15:50:03.723605  B50011C00  Write-Ack   Control setpoint: 28.00
15:50:05.200527  T00110000  Read-Data   Relative modulation level: 0.00
15:50:05.202100  BC0110000  Read-Ack    Relative modulation level: 0.00
15:50:05.602025  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:05.701954  B40191E00  Read-Ack    Boiler water temperature: 30.00
15:50:06.614937  T90011C00  Write-Data  Control setpoint: 28.00
15:50:06.716033  B50011C00  Write-Ack   Control setpoint: 28.00
15:50:07.631132  T001B0000  Read-Data   Outside temperature: 0.00
15:50:07.727048  B401BE0FF  Read-Ack    Outside temperature: -31.00
15:50:08.595819  T000F0000  Read-Data   Boiler capacity and modulation limits: 0 0
15:50:08.694676  BF00F0000  Unk-DataId  Boiler capacity and modulation limits: 0 0
15:50:09.609824  T00120000  Read-Data   CH water pressure: 0.00
15:50:09.719906  Error 04
15:50:09.730171  EC0120C01
15:50:10.620794  T00000300  Read-Data   Status: 00000011 00000000
15:50:11.582031  T00000300  Read-Data   Status: 00000011 00000000
15:50:11.681706  B40000302  Read-Ack    Status: 00000011 00000010
15:50:12.598389  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:12.694672  B40191D00  Read-Ack    Boiler water temperature: 29.00
15:50:13.607095  T10011D00  Write-Data  Control setpoint: 29.00
15:50:13.707469  BD0011D00  Write-Ack   Control setpoint: 29.00
15:50:14.619057  T80380000  Read-Data   DHW setpoint: 0.00
15:50:14.720370  BE0383F00  Data-Inv    DHW setpoint: 63.00
15:50:15.591085  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:15.687087  B40191D00  Read-Ack    Boiler water temperature: 29.00
15:50:16.598994  T10011D00  Write-Data  Control setpoint: 29.00
15:50:16.698228  BD0011D00  Write-Ack   Control setpoint: 29.00
15:50:17.610172  T00390000  Read-Data   Max CH water setpoint: 0.00
15:50:18.618218  T00390000  Read-Data   Max CH water setpoint: 0.00
15:50:18.718795  B40395700  Read-Ack    Max CH water setpoint: 87.00
15:50:19.585726  T900E6400  Write-Data  Maximum relative modulation level: 100.00
15:50:19.695692  Error 04
15:50:19.708405  E700E0001
15:50:20.602424  T00000300  Read-Data   Status: 00000011 00000000
15:50:20.712957  Error 03
15:50:21.608542  T00000300  Read-Data   Status: 00000011 00000000
15:50:21.708581  B40000302  Read-Ack    Status: 00000011 00000010
15:50:22.624226  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:22.731255  Error 03
15:50:23.585633  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:23.693606  Error 03
15:50:24.588445  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:24.689872  BC0191C00  Read-Ack    Boiler water temperature: 28.00
15:50:25.602073  T80190000  Read-Data   Boiler water temperature: 0.00
15:50:25.701715  BC0191C00  Read-Ack    Boiler water temperature: 28.00
Are these errors coming from the communication to the boiler or to the thermostat? The errors do not seem related to the reference voltage level, adjusting the voltage level does not improve things. Measuring the signal on pin 17 of the PIC also shows that it is nicely positioned around 1.25V. One thing I noticed is that the thermostat is directly replying to the OTGW's response with a very low amplitude signal (same data as the OTGW response). I can make a capture of this if this helps.

Possibly related to the above erorrs, when I set the Opentherm gateway to "Gateway mode" the time on the thermostat is reset to 0:00 on random moments. Approximately once a day on average.

- Are the errors related to the boiler communucation or the thermostat communication? How can I find out which of the two interfaces is causing issues?
- Is it normal that Error 03 and Error 04 occur some times?
- What could be causing the time reset of the thermostat? I'm now testing in "Monitor mode" and haven't had a time reset since a day.

Also, I get strange values from the boiler some times. The 125.00 degrees boiler temp is definitely a glitch.

Code: Select all

16:03:10.688415  BC0110000  Read-Ack    Relative modulation level: 0.00
16:03:11.582799  T80190000  Read-Data   Boiler water temperature: 0.00
16:03:11.685210  B40197D00  Read-Ack    Boiler water temperature: 125.00
16:03:12.613101  T10010A00  Write-Data  Control setpoint: 10.00
16:03:12.713195  BD0010A00  Write-Ack   Control setpoint: 10.00
hvxl
Senior Member
Senior Member
Posts: 1966
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Opentherm Gateway communication issues

Post by hvxl »

You should generally see alternating T and B messages (ignoring A and R messages). By looking at which is replaced by an error report, you can tell which side produced the error. In your logs, you have: T, Error, T. So the error is on the boiler side. I also see multiple T messages in a row, which means a total absence of a response from the boiler.

Error 03 is not normally a problem. The thermostat will just repeat the message, as you can also see in the log. Error 04 means that there is a parity error. So a 0 has become a 1, or the other way around. One bit error can be detected. But if you have 2 bit errors in one message, that is considered a correct message. This is how you can get the kind of glitches you mentioned. So it looks like there is some interference or other problem on the connection between the boiler and the OTGW that causes this.

The clock resetting is probably due to a feature in the OTGW. If the thermostat sends MsgID 20, the OTGW responds with the time and day that was provided to it via the SC command. If no SC command was issued in the last 64 seconds, the OTGW just acknowledges the message. This assumes that the thermostat provides its current time and day in the request. Apparently it doesn't always do that and about once a day it sends an "empty" request. By acknowledging that, the clock gets set to 00:00.

If you have OTmonitor running all the time, you can instruct it to send an SC command every minute. Under Options -> Thermostat, enable the option "Automatically update the gateway clock". Of course you can also use another method to send an SC command to the gateway every minute. Do you happen to have the WiFi version of the OTGW from Nodo shop? This could be a feature to be added to the NodeMCU firmware another user is creating. I will suggest it to him.

If sending SC commands one way or another is not an option for you, I will have to look at changing the MsgID 20 response in case no time and day information is available to DataInvalid or UnknownDataId. While working on firmware version 5.0, I was a bit surprised by the described behavior myself. But because I wasn't aware it caused any problems, I left it as it was.
Schelte
MrSnuggels
Starting Member
Starting Member
Posts: 6
Joined: Tue Jan 19, 2021 4:24 pm

Re: Opentherm Gateway communication issues

Post by MrSnuggels »

I have located the communication where the time of the thermostat is reset.

Code: Select all

06:38:20.253416  T10146625  Write-Data  Day of week and time of day: Wed 06:37
06:38:20.354389  T00140000  Read-Data   Day of week and time of day: Unk 00:00
06:38:20.458073  BF0140000  Unk-DataId  Day of week and time of day: Unk 00:00
06:38:20.465881  AC0140000  Read-Ack    Day of week and time of day: Unk 00:00
Where it normally looks like this:

Code: Select all

06:35:30.255660  T90146622  Write-Data  Day of week and time of day: Wed 06:34
06:35:30.355586  BF0140000  Unk-DataId  Day of week and time of day: Unk 00:00
06:35:30.369316  A50146622  Write-Ack   Day of week and time of day: Wed 06:34
hvxl
Senior Member
Senior Member
Posts: 1966
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Opentherm Gateway communication issues

Post by hvxl »

That's very interesting. So when there is no answer from the boiler (due to the communication issues), the thermostat doesn't repeat the MsgID 20 Write-Data request, but instead sends a MsgID 20 Read-Data request. The Read-Ack then contains no data, which resets the clock.

I wonder if sending a Data-Invalid response would give better results. I just made a version of the firmware that will send Data-Invalid if no time information is available (no recent SC command), for both Write-Data and Read-Data messages. You can try if that helps. You can download it using this link: gateway-5.0.1.hex.
Schelte
MrSnuggels
Starting Member
Starting Member
Posts: 6
Joined: Tue Jan 19, 2021 4:24 pm

Re: Opentherm Gateway communication issues

Post by MrSnuggels »

Thank you for the very quick response. I have flashed the new firmware and it has been running for quite a few hours now with the "update clock" feature in otmonitor disabled. Clock has not been reset since and the log shows that for a situation where the clock was previously reset, it remains correct.

Code: Select all

07:41:27.630035  T10148729  Write-Data  Day of week and time of day: Thu 07:41
07:41:27.725507  T00140000  Read-Data   Day of week and time of day: Unk 00:00
07:41:27.847564  BF0140000  Unk-DataId  Day of week and time of day: Unk 00:00
07:41:27.848524  A60140000  Data-Inv    Day of week and time of day: Unk 00:00
Post Reply

Return to “Opentherm Gateway Forum”