Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

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

Moderator: hvxl

Post Reply
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

Sorry this is a long post, but its a complex issue / question so need to get all the info I have so far out there.

Hi, I'm new here, I understand this is the place to find opentherm gateway experts...

I recently fitted a Navien LCB700 Oil Combi boiler. and originally had it hooked up to my Google Nest thermostat using opentherm. This worked fine giving me the ability to control my central heating and my hot water.

I wanted more control over my house's central heating, specifically I wanted rooms other than the main living room to be able to call for heat if they needed it. So to this end I purchased a Tado kit including the opentherm wireless receiver, 6 smart radiator valves and a couple of wireless room stats.

Ever since connecting the Tado up for the first time my Navian boiler has thrown a ton of Opentherm Comms errors (Navian code 783-00) and flashed red on the front screen - the boiler also does wired stuff like start up when there's no demand for heat from either the hot water or the heating. As a result I've had to use my boiler on manual mode or switch back to the nest.

After getting no where with Navien and Tado support over a few weeks I decided to start debugging the issue myself. So ordered an Opentherm Gateway from the Nodo Shop.

When I connect the opentherm gateway in "gateway" mode the Tado/Navien combo works perfectly... so I switched the gateway to "monitor" mode and straight away back to the same errors as if the gateway was not there.

So question number 1 is when in "monitor" mode does the signal get passed on exactly as is at the same voltages etc?

So I get my oscilloscope out and measure the signal without the gateway in place for both Tado and Nest. It turns out the Nest Low voltage is 6v and the Nest High voltage is 16,8v so within the opentherm spec. When I check the Tado though its Low voltage is 7,2v and its High voltage is 15,4v so the low is just outside of spec and the high is just within spec.

So question number 2 (my main question). What is likely to be the reason I'm seeing a non working system when the tado is connected directly or via the gatewway in "monitor" mode. And I get a fully working system when I connect it up via the gateway in "gateway" mode.

is it likely to be the slightly out of spec voltages and my boiler is sensitive to them but the gateway is not?
OR
is it likely to be that in "gateway" mode some of the opentherm messages are getting manipulated as per the documentation on the otgw,tlcode website that's causing the system to work ?
OR
is it something else I'm not understanding ?

I have logfiles and images but they are too big to post here and i cant post a link.

log files and screenshots https://drive.google.com/drive/folders/ ... sp=sharing
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

Just done some more testing with the scope connected at the boiler side and switching between OTGW "gateway" mode and OTGW "monitor" mode

There's zero difference in the high/low voltages seen at the boiler so I'm moving towards ruling out the slight voltage variances between Tado, Nest and the OTGW having anything to do with it.

So this leaves the burning question why does it work in "gateway" mode and not in "monitor" mode..

Here's a short sample of the kind of behaviour im seeing as you can see the log starts in "gateway" mode then switched to "monitor" mode and back again. during the period of being in "monitor" mode the tado just re-transmits the same message over and over and gets no response from the boiler but as soon as I switch it back to "gateway" mode normal communication resumes. I'm certain the answer to this riddle will also be the answer to why the tado doesn't work when directly connected to the boiler.

any one ?


Code: Select all

21:23:22.170525  T80130000  Read-Data   DHW flow rate (MsgID=19): 0.00
21:23:22.672106  T80130000  Read-Data   DHW flow rate (MsgID=19): 0.00
21:23:23.173463  T80130000  Read-Data   DHW flow rate (MsgID=19): 0.00
21:23:23.329646  B40130000  Read-Ack    DHW flow rate (MsgID=19): 0.00
21:23:23.675108  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:24.176064  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:24.347885  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:24.678697  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:25.178214  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:25.336817  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:25.680475  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:25.838186  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:26.181940  T001A7FFF  Read-Data   DHW temperature (MsgID=26): 128.00
21:23:26.684914  T001A7FFF  Read-Data   DHW temperature (MsgID=26): 128.00
21:23:26.841906  BC01A1C99  Read-Ack    DHW temperature (MsgID=26): 28.60
21:23:27.185633  T90383700  Write-Data  DHW setpoint (MsgID=56): 55.00
21:23:27.687152  T90383700  Write-Data  DHW setpoint (MsgID=56): 55.00
21:23:27.843629  B50383700  Write-Ack   DHW setpoint (MsgID=56): 55.00
21:23:28.189348  T00197FFF  Read-Data   Boiler water temperature (MsgID=25): 128.00
21:23:28.360187  B40194D33  Read-Ack    Boiler water temperature (MsgID=25): 77.20
21:23:28.691759  T00110000  Read-Data   Relative modulation level (MsgID=17): 0.00
21:23:28.863566  BC0110000  Read-Ack    Relative modulation level (MsgID=17): 0.00
21:23:29.193091  T10394600  Write-Data  Max CH water setpoint (MsgID=57): 70.00
21:23:29.364965  BD0394600  Write-Ack   Max CH water setpoint (MsgID=57): 70.00
21:23:29.713165  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:29.869278  BD0100500  Write-Ack   Room setpoint (MsgID=16): 5.00
21:23:30.211075  T101813CC  Write-Data  Room temperature (MsgID=24): 19.80
21:23:30.382885  Error 03
21:23:30.713056  T101813CC  Write-Data  Room temperature (MsgID=24): 19.80
21:23:31.215286  T101813CC  Write-Data  Room temperature (MsgID=24): 19.80
21:23:31.383625  BD01813CC  Write-Ack   Room temperature (MsgID=24): 19.80
21:23:31.716894  T10010000  Write-Data  Control setpoint (MsgID=1): 0.00
21:23:31.873103  BD0010000  Write-Ack   Control setpoint (MsgID=1): 0.00
21:23:32.218276  T900E6400  Write-Data  Maximum relative modulation level (MsgID=14): 100.00
21:23:32.374488  B500E6400  Write-Ack   Maximum relative modulation level (MsgID=14): 100.00
21:23:32.720499  T00050000  Read-Data   Application-specific flags (MsgID=5): 00000000 0
21:23:33.210623  T00050000  Read-Data   Application-specific flags (MsgID=5): 00000000 0
21:23:33.378116  BC0050000  Read-Ack    Application-specific flags (MsgID=5): 00000000 0
21:23:33.723575  T001C7FFF  Read-Data   Return water temperature (MsgID=28): 128.00
21:23:34.225530  T001C7FFF  Read-Data   Return water temperature (MsgID=28): 128.00
21:23:34.381780  B401CD800  Read-Ack    Return water temperature (MsgID=28): -40.00
21:23:34.726297  T00120000  Read-Data   CH water pressure (MsgID=18): 0.00
21:23:34.883608  BC0120140  Read-Ack    CH water pressure (MsgID=18): 1.25
21:23:35.226822  T801B7FFF  Read-Data   Outside temperature (MsgID=27): 128.00
21:23:35.385679  BC01BE200  Read-Ack    Outside temperature (MsgID=27): -30.00
21:23:35.729550  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:36.230467  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:36.732115  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:37.234522  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:37.735990  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:38.237072  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:38.728882  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:23:38.892829  B40210040  Read-Ack    Exhaust temperature (MsgID=33): 64
21:23:39.240819  T00740000  Read-Data   Burner starts (MsgID=116): 0
21:23:39.397627  BF0740000  Unk-DataId  Burner starts (MsgID=116): 0
21:23:39.727808  T00770000  Read-Data   DHW burner starts (MsgID=119): 0
21:23:40.229140  T00770000  Read-Data   DHW burner starts (MsgID=119): 0
21:23:40.401014  BF0770000  Unk-DataId  DHW burner starts (MsgID=119): 0
21:23:40.745819  T00780000  Read-Data   Burner operation hours (MsgID=120): 0
21:23:41.232268  T00780000  Read-Data   Burner operation hours (MsgID=120): 0
21:23:41.404049  BF0780000  Unk-DataId  Burner operation hours (MsgID=120): 0
21:23:41.734408  T007B0000  Read-Data   DHW burner operation hours (MsgID=123): 0
21:23:41.906235  BF07B0000  Unk-DataId  DHW burner operation hours (MsgID=123): 0
21:23:42.236872  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:23:42.738109  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:23:42.909950  BF0240000  Unk-DataId  Electrical current through burner flame (MsgID=36): 0.00
21:23:43.239748  T80394600  Read-Data   Max CH water setpoint (MsgID=57): 70.00
21:23:43.739274  T80394600  Read-Data   Max CH water setpoint (MsgID=57): 70.00
21:23:43.913225  BC0395500  Read-Ack    Max CH water setpoint (MsgID=57): 85.00
21:23:44.241482  T80730000  Read-Data   OEM diagnostic code (MsgID=115): 0
21:23:44.416123  B40730000  Read-Ack    OEM diagnostic code (MsgID=115): 0
21:23:44.744437  T80130000  Read-Data   DHW flow rate (MsgID=19): 0.00
21:23:44.910280  B40130000  Read-Ack    DHW flow rate (MsgID=19): 0.00
21:23:45.245025  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:45.747044  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:45.919806  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:46.263523  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:46.765845  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:47.267449  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:47.769114  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:48.271205  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:48.439025  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:48.772371  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:48.941524  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:49.333795  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:49.835359  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:50.340837  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:50.497177  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:50.843311  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:50.999531  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:51.343842  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:51.842044  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:23:52.011576  B40000200  Read-Ack    Status (MsgID=0): 00000010 00000000
21:23:52.347988  T001A7FFF  Read-Data   DHW temperature (MsgID=26): 128.00
21:23:52.849380  T001A7FFF  Read-Data   DHW temperature (MsgID=26): 128.00
21:23:53.005585  BC01A1CCC  Read-Ack    DHW temperature (MsgID=26): 28.80
21:23:53.351231  T90383700  Write-Data  DHW setpoint (MsgID=56): 55.00
21:23:53.507445  B50383700  Write-Ack   DHW setpoint (MsgID=56): 55.00
21:23:53.853963  T00197FFF  Read-Data   Boiler water temperature (MsgID=25): 128.00
21:23:54.354344  T00197FFF  Read-Data   Boiler water temperature (MsgID=25): 128.00
21:23:54.526189  B40194D66  Read-Ack    Boiler water temperature (MsgID=25): 77.40
21:23:54.854697  T00110000  Read-Data   Relative modulation level (MsgID=17): 0.00
21:23:55.357052  T00110000  Read-Data   Relative modulation level (MsgID=17): 0.00
21:23:55.530539  BC0110000  Read-Ack    Relative modulation level (MsgID=17): 0.00
21:23:55.874176  T10394600  Write-Data  Max CH water setpoint (MsgID=57): 70.00
21:23:56.032288  BD0394600  Write-Ack   Max CH water setpoint (MsgID=57): 70.00
21:23:56.182761  Command: GW=0
21:23:56.235426  GW: 0
21:23:56.376013  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:56.867798  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:57.378209  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:57.878391  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:58.382265  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:58.884963  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:59.386723  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:23:59.888038  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:00.389609  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:00.891888  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:01.392971  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:01.891010  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:02.019822  BD0100500  Write-Ack   Room setpoint (MsgID=16): 5.00
21:24:02.381957  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:02.882664  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:03.384785  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:03.902317  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:04.401880  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:04.904189  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:05.390288  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:05.907083  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:06.408255  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:06.895121  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:07.397316  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:07.897590  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:08.399746  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:08.964211  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:09.466034  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:09.968148  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:10.470883  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:10.983674  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:11.472757  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:11.974572  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:12.355146  Command: GW=1
21:24:12.399092  GW: 1
21:24:12.477201  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:12.979714  T10100500  Write-Data  Room setpoint (MsgID=16): 5.00
21:24:13.151298  BD0100500  Write-Ack   Room setpoint (MsgID=16): 5.00
21:24:13.479637  T101813CC  Write-Data  Room temperature (MsgID=24): 19.80
21:24:13.651493  BD01813CC  Write-Ack   Room temperature (MsgID=24): 19.80
21:24:13.982265  T10010000  Write-Data  Control setpoint (MsgID=1): 0.00
21:24:14.154098  BD0010000  Write-Ack   Control setpoint (MsgID=1): 0.00
21:24:14.481873  T900E6400  Write-Data  Maximum relative modulation level (MsgID=14): 100.00
21:24:14.655938  B500E6400  Write-Ack   Maximum relative modulation level (MsgID=14): 100.00
21:24:14.983933  T00050000  Read-Data   Application-specific flags (MsgID=5): 00000000 0
21:24:15.157688  BC0050000  Read-Ack    Application-specific flags (MsgID=5): 00000000 0
21:24:15.485693  T001C7FFF  Read-Data   Return water temperature (MsgID=28): 128.00
21:24:15.659382  B401CD800  Read-Ack    Return water temperature (MsgID=28): -40.00
21:24:15.987418  T00120000  Read-Data   CH water pressure (MsgID=18): 0.00
21:24:16.488896  T00120000  Read-Data   CH water pressure (MsgID=18): 0.00
21:24:16.662468  BC0120140  Read-Ack    CH water pressure (MsgID=18): 1.25
21:24:16.990462  T801B7FFF  Read-Data   Outside temperature (MsgID=27): 128.00
21:24:17.164737  BC01BE200  Read-Ack    Outside temperature (MsgID=27): -30.00
21:24:17.492784  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:24:17.994111  T80217FFF  Read-Data   Exhaust temperature (MsgID=33): 32767
21:24:18.165998  B40210040  Read-Ack    Exhaust temperature (MsgID=33): 64
21:24:18.496589  T00740000  Read-Data   Burner starts (MsgID=116): 0
21:24:18.997590  T00740000  Read-Data   Burner starts (MsgID=116): 0
21:24:19.498905  T00740000  Read-Data   Burner starts (MsgID=116): 0
21:24:19.669843  BF0740000  Unk-DataId  Burner starts (MsgID=116): 0
21:24:20.001555  T00770000  Read-Data   DHW burner starts (MsgID=119): 0
21:24:20.165412  BF0770000  Unk-DataId  DHW burner starts (MsgID=119): 0
21:24:20.502874  T00780000  Read-Data   Burner operation hours (MsgID=120): 0
21:24:20.674718  BF0780000  Unk-DataId  Burner operation hours (MsgID=120): 0
21:24:21.005024  T007B0000  Read-Data   DHW burner operation hours (MsgID=123): 0
21:24:21.176807  BF07B0000  Unk-DataId  DHW burner operation hours (MsgID=123): 0
21:24:21.506928  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:24:22.008625  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:24:22.510521  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:24:23.011474  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:24:23.513854  T00240000  Read-Data   Electrical current through burner flame (MsgID=36): 0.00
21:24:23.676514  BF0240000  Unk-DataId  Electrical current through burner flame (MsgID=36): 0.00
21:24:24.013655  T80394600  Read-Data   Max CH water setpoint (MsgID=57): 70.00
21:24:24.515846  T80394600  Read-Data   Max CH water setpoint (MsgID=57): 70.00
21:24:24.689354  BC0395500  Read-Ack    Max CH water setpoint (MsgID=57): 85.00
21:24:25.017422  T80730000  Read-Data   OEM diagnostic code (MsgID=115): 0
21:24:25.518809  T80730000  Read-Data   OEM diagnostic code (MsgID=115): 0
21:24:25.692095  B40730000  Read-Ack    OEM diagnostic code (MsgID=115): 0
21:24:26.020162  T80130000  Read-Data   DHW flow rate (MsgID=19): 0.00
21:24:26.195157  B40130000  Read-Ack    DHW flow rate (MsgID=19): 0.00
21:24:26.523267  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
21:24:27.024746  T80000200  Read-Data   Status (MsgID=0): 00000010 00000000
Last edited by roycruse on Thu Sep 14, 2023 10:49 pm, edited 1 time in total.
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

In monitor mode, the comparators inside the PIC are configured in such a way that their outputs go straight to the Opentherm drivers. This means that the same interface circuitry is used as in gateway mode and only logical levels (high/low) are passed through, not the exact voltages (as you have already figured out).

It also means that the timing of the signals in monitor mode is determined by the connected thermostat. In gateway mode, the OTGW generates the signal timings. Your boiler may be very particular about these bit timings. Although they don't appear to be anywhere near horrible, judging from your scope pictures. Clearly the OTGW has no trouble at all understanding them. The boiler likes the messages from the OTGW better, but it still does not respond to quite a number of them.

If you want to further investigate the bit timings, you can load the diagnostic firmware. Test #2 will report the bit timings from the thermostat. It may also be interesting to have a look at the bit timings from the boiler, using test #3. You will probably have to disconnect the thermostat to get some responses. If the boiler timings deviate significantly from what the specification prescribes, it may be an indication that the microprocessor of the boiler runs at a different clock rate than it is supposed to. This would then also affect the reception of messages. For a full picture, you may also want to run test #4. Note that you have to loop the OTGW interfaces for this test.

One more difference between monitor mode and gateway mode is that the OTGW introduces a delay in gateway mode: The complete incoming message must be received before the OTGW starts sending a message to the other side. This causes a delay of about 32ms in each direction. I don't see how this could be a factor in your problem, but I wanted to mention it for completeness.
Schelte
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

Thankyou hvxl for that detailed and informative response. Id not considered the timings but I can see on my scope screenshot it is a fair bit shorter than the 1ms it should be on that tado - not sure if its outside of spec but its not bang on. (Ill measure it over the weekend)

Id not considered the boiler being the one that is responding poorly either - the reason for this is it works flawlessly if I connect it up to a Google Nest thermostat via OT so have concentrated my efforts on looking at what's wrong with what Tado is sending. Unless the Nest is just way more forgiving than the tado ?

Anyway looks like I've got some more tests and more measurements to make.
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

From your pictures, it looks like the signal from the Tado is around 950µs, instead of 1000µs. The specs allow a deviation of -10%/+15%. So, 900-1150 should be fine. But to a microprocessor that somehow runs at 19MHz when it should be running at 20MHz(¹), 950µs would look like 902.5µs. Measuring the bit times from the boiler should give us some idea of what it considers to be 1ms. If it's significantly longer than an actual millisecond, that might be part of the reason for the problems.

I wouldn't say things work flawlessly with the Nest. It works well enough that a message gets through frequently enough for there not to be a noticeable problem. But the monitor mode part of your Nest log shows many requests that don't get a response from the boiler either. The Nest has to repeat the message a few times before it finally gets a response.

----

1): The mentioned clock frequencies are just an example. I have no idea what clock rate the microprocessor in your boiler actually uses.
Schelte
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

Ive done a set of tests however i am not sure i understand some of the results or the implications of them. results are in text files in the google drive share https://drive.google.com/drive/folders/ ... sp=sharing

Test2: thermostat timings: provided a ton of almost identical results a typical result being :-

Code: Select all

478,489,476,960,476,481,476,481,476,481,476,481,475,482,475,482,475,482,475,481,476,481,476,481,476,481,476,481,476,478,478,481,476,481,476,481,476,481,476,481,475,482,475,482,967,947,475,482,475,481,476,481,476,482,475,482,475,482,475,482,475,481,955.
80000200  Read-Data   Status (MsgID=0): 00000010 00000000
Test3: boiler timings: was bizarre i dont know what to make of it, heres a chunk :-

Code: Select all

24,1183,65304,933,24,933,24,932,24,1189,65304,933,24,932,24,933,24,933,24,1411,24,933,24,1890,24,1411,24,1668,65304,932,24,934,24,932,24,933,24,930,24,936,24,933,24,933,24,932,24,933,24,933,24,933,24,933,24,933,24,1189,65304.
Error 01
24,927,24,933,24,933,24,933,24,1189,65304,933,24,933,24,932,24,1189,65304,1412,24,933,24,1890,24,1411,24,1668,65304,933,24,933,24,934,24,1189,65304,930,24,936,24,933,24,933,24,933,24,934,24,932,24,933,24,933,24,934,24,933,24.
Error 01
24,927,24,933,24,933,24,933,24,933,24,932,24,933,24,933,24,933,24,1412,24,933,24,1890,24,1411,24,1412,24,933,24,934,24,933,24,933,24,930,24,936,24,933,24,933,24,933,24,933,24,933,24,1189,65304,933,24,933,24,933,24.
Error 01
509,1023,1003,996,502,498,502,498,502,497,503,497,503,497,503,497,503,497,503,497,1004,495,505,996,1003,996,503,497,502,498,1004,995,503,497,502,498,1004,494,506,494,505,996,503,499,500,498,502,508,492,497,503,513,486,498,1025.
401A2380  Read-Ack    DHW temperature (MsgID=26): 35.50
24,1414,24,1412,24,1411,24,933,24,933,24,933,24,933,24,1668,65304,932,24,933,24,1411,24,933,24,933,24,933,24,1411,24,932,24,1890,24,932,24,933,24,1411,24,933,24,933,24,933,24,933,24,930,24,936,24,1411,24.
Error 01
24,1406,24,1412,24,1667,65304,936,24,930,24,933,24,1189,65304,1411,24,933,24,1189,65304,1411,24,933,24,933,24,933,24,1412,24,932,24,1890,24,929,24,936,24,1411,24,933,24,932,24,1189,65304,933,24,933,24,933,24,1412,24.
Error 01
Test4: delay symmetry: again I don't know what I'm expecting here but these readings don't look very "symmetrical" :-

Code: Select all

OK1A high-to-low: 11.25us
OK1A low-to-high: 39.75us
OK1B high-to-low: 16.25us
OK1B low-to-high: 4.50us
Test5: voltage levels: again seem like they should be more consistant but i dont know what to expect:-

Code: Select all

Power supply: 3.281
Reference: 1.457
Thermostat: 0.887, 1.951
Boiler: 0.000, 2.495
Reference voltage setting (0..9) [5]: 5
Test6: idle times : heres a sample, no idea if these are ok :-

Code: Select all

T: 468.870
T: 468.903
T: 468.778
B: 99.902
T: 336.625
B: 99.919
T: 335.841
T: 476.978
T: 468.224
T: 468.802
T: 468.750
B: 99.831
T: 337.099
T: 469.145
T: 532.329
i guess the thing confusing me the most is the mess coming back from the boiler most of the time - how is the gateway making sense of these when the tado seems not to be.

does this mean my boiler is faulty... i hope not ive no idea how to get Navien on board with sending out an engineer. how do i explain how it can talk to nest and the otgw but not direct to tado.

any help interpreting all of this gratefully received thanks
Last edited by roycruse on Sat Sep 16, 2023 3:21 pm, edited 2 times in total.
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

Test #2 shows the Tado mostly sends bits of 957 µs. But, especially when sending complementary bits, it may drop to 947 µs. Due to the delay asymmetry, that may drop even further to 918 µs. This may be the reason it doesn't work in monitor mode.

Test #3 reveals that your boiler is mixing two protocols. I don't know exactly what this second protocol is, but I've received reports for other boilers in the past that do the same. The OTGW firmware has been adapted to ignore that unknown protocol. But perhaps it confuses the Tado. That could explain why it doesn't work when the Tado is directly connected to the boiler.

The Opentherm message that's included in the chunk you copied in your post shows that the boiler sends very accurate 1ms bits. Two half-bits add up to 1000 most of the time. The difference between the high and low halves is at least largely due to the delay asymmetry.

The voltage levels look fine. The idle times are quite short. This can also be seen in your earlier logs. It may take up to 800ms for an answer to be returned to the thermostat, but the Tado doesn't wait that long. It retransmits its messages after less than 500ms. But that shouldn't cause problems here, because the boiler generally responds within 100ms (when it responds).

It's still unclear to me why the boiler doesn't answer in many cases, or not at all when talking to the Tado. The theory that its clock is not accurate has been disproven. It looks like it's just not doing a great job to comply with the Opentherm specification.

At least you have a solution: Use the OTGW in gateway mode to clean up the signals.
Schelte
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

At least you have a solution: Use the OTGW in gateway mode to clean up the signals.
I've been considering this. (i may even add a wifi module to so i can connect it to home assistant and log some of that data). My only reservation is that if anything happens to the OTGW wont it revert to monitor mode as a fail safe ?

My boiler does weird stuff whilst connected directly to the Tado or via OTGW in monitor mode. It flashes red and complains of opentherm comms errors and sometimes turns on the central heating for no apparent reason.

How reliable is the OTGW can it be left in gateway mode indefinitely without an issue ?
Last edited by roycruse on Sun Sep 17, 2023 12:26 am, edited 1 time in total.
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

The OTGW doesn't revert to monitor mode if "anything" happens. It only does that if it resets due to a watch dog timeout. The last report of that happening was on firmware version 5.2. That issue has been fixed. It was due to the PIC16F88 running out of stack space. The PIC16F1847 has double the amount of stack space and it has checks to detect a stack overflow. So, it would take much deeper subroutine nesting for the PIC16F1847 to run out of stack space, and it would reset immediately when that happens. It won't simply go on to execute random code, which might lead to the watch dog timer expiring.

If you hook up the OTGW to home assistant, you could implement a monitoring function there. Whenever the OTGW resets (which you can tell from an unsolicited "OpenTherm Gateway #.#" report), send a GW=1 command. I am not familiar with home assistant, so I don't know how hard it would be to realize that. You could even mindlessly have it send GW=1 periodically.

When the OTGW resets due to the watch dog timer, it turns on LED function M. You could configure one of the GPIO ports as LED E or F and configure that LED as the M function. Then hook up that GPIO port with some external circuitry to the reset pin. Of course that will also reset the OTGW when the boiler reports an issue.

I may consider thinking about possibly adding an option to disable the fail safe fallback to monitor mode. But I'm extremely confident that you won't run into this situation with a PIC16F1847. Unless the firmware somehow gets corrupted due to cosmic rays or something. But then all bets are off and an option also won't provide protection against such circumstances. I've not had confirmed cases of that happening, though.

There is a feature defined in the Opentherm specs called "Special Installation Short-Circuit Feature". This means that a boiler should consider a low-voltage state with no valid communications frame for at least 5 seconds as a heat demand. I suspect that may be the reason your boiler switches on unexpectedly.
Schelte
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

Thankyou again for your informative response...

Piecing together everything I've observed using the OTGW and the oscilloscope and the boiler behaviour with everything thats been discussed here. I'm pretty sure the issue with my setup is (as per one of your suggestions) the Tado bitrate being too fast.

I think either the too fast bitrate its self being interpreted as non opentherm or the absence of any valid opentherm messages being received by the boiler is triggering it to transmit the other protocol that the timing test revealed is being sent out by the boiler. I suspect these are proprietary signals designed for their own branded controls.

This would explain the behaviour in monitor mode being identical to direct connection as although the out of spec voltages are being corrected by the OTGW the timings are not in monitor mode.

Once in gateway mode the timings are fixed and the boiler and thermostat get their messages across and I get a fully functional system.

I have been in contact with Tado support asking if this fast clock rate on the OT signal can be adjusted in firmware or settings from their end or if its a faulty unit and I need a replacement and I'm now waiting for their response - I've also linked them to this discussion thread.

I liked your comment about cosmic rays - the "all bets are off" remark made me laugh... I still blame cosmic rays for one off blue screens on windows computers at work - I always get a funny look...

I also think your correct about the "Special Installation Short-Circuit Feature" being whats triggering the boiler to turn on.

Thankyou also for your reassurance around leaving the gateway connected permanently. I'm much more happy now that I will be able to use my Tado system this winter even if Tado don't or cant figure out the issue and correct it. At least I will be able to use my heating system as intended in the mean time while I continue pursuing a fix from them.
Last edited by roycruse on Sun Sep 17, 2023 1:09 pm, edited 2 times in total.
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

Just a few additional remarks:

While the Tado timings may not be spot-on, they are well within the allowed margins. The delay asymmetry of the OTGW may make things worse to the point where the boiler fails to recognize the message. It is possible that the boiler responds to the message when the OTGW is not in the connection, and then the Tado gets confused by the additional protocol. So, there could be different reasons for the failure to communicate in the two configurations. I'm not saying this is the case. But I also can't rule it out.

As mentioned before, there are other boilers that also send multiple protocols. And by the looks of it, the same ones as your boiler. So it seems like the other protocol is also quite commonly used. To my knowledge, those other boilers don't look for a trigger to send one or the other protocol. They simply always send both and leave it up to the thermostat to ignore the protocol it doesn't understand.

Considering that there are more boilers behaving this way, I expect that other Tado users will also have encountered such boilers and, if necessary, Tado has updated their firmware to deal with it. If that suspicion is true, then the only explanation for your issue must be that the boiler is much too strict about the Opentherm signal timings it accepts.
Schelte
roycruse
Starting Member
Starting Member
Posts: 4
Joined: Thu Sep 14, 2023 7:47 pm

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by roycruse »

an update as to where i am on this...

Tado eventually caved in and sent me a replacement opentherm controller...

I connected it up (along with the gateway so i could see what was going on) I turned the gateway into Monitor mode and whoo hoo it was still working - I thought I must have had a faulty unit with a too fast opentherm bit clock, maybe a faul;ty resistor or capacitor or something throwing out the timing... it worked like this for an hour or so - then whilst on the phone to my friend (the boiler engineer who fitted my boiler) I noticed it had stopped working again and was back to just endless transmissions from the controller and nothing back from the boiler...

luckily i had taken a screen shot of the tado config screen and had the opentherm logs to trawl back through. turns out there was a 2 minute period where the thermostat kept disconnecting and reconnecting and after this no more communication. i switched the otgw back in to gateway mode and just like before normal operation resumed.

Anyway it turns out the 2 minute window was the controller going through a series of firmware updates - from version 74.3 up to 140.6 (quite some number of versions.)

So after all this it would seem that what ever the issue is (and im still assuming its the too fast bitrate) was introduced in firmware somewhere between these two versions... perhapse a new library for the chipset they are using to transmit the opentherm messages or someone optimised a loop of code thats now running faster that it used to.... ??? who knows ?

anyway the sad part is - i sent in all the evidence and log files to prove it worked on the old firmware and not on the later one thinking they would get all this in front of a software engineer to fix it.... but no.... i ot sent right back to first line support and got the response - "did you try to turn on your heating - we can see no heating requests and it looks like communication is working fine.....

AAAAAGGGGHHHHHHH !!!!!

I sent in the logs of the coms not working i told them it was left connected via the gateway which was the only reason it was working and that i couldn't leave it for more than 5 or 10 minutes connected without the gateway as my boiler interprets all the errors as a call for heat and randomly turns the burner on...

anyway they got 2 long emails explaining my frustration and pleading with them to put all this evidence in front of the dev team. but no replies as yet.

is opentherm really this flaky or does it just work for the majority of people. all the boiler engineers i speak to have no clue how it all works - they are just glorified plumbers at the end of the day - not electronics engineers... If i didnt have an oscilloscope and the OTGW i would have given up and returned it all by now...

Ive also got a list of issues with how the navien boiler responds to the OTGW corrected instructions too so I have a support ticket open with them also.... :(
hvxl
Senior Member
Senior Member
Posts: 1967
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.

Post by hvxl »

Too bad you didn't get bit timings while the Tado was working, on the old firmware. But that is hind-sight. You couldn't have expected that firmware updates would break the communication again.

Opentherm isn't generally flaky, although some manufacturers use some creative interpretations of the specs. For the majority of systems it works just fine. Your boiler just seems to be very picky about the Opentherm signal. And judging by your stories, it has some other quirks as well.
Schelte
Post Reply

Return to “Opentherm Gateway Forum”