Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
Moderator: hvxl
Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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 ?
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.
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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.
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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 :-
Test3: boiler timings: was bizarre i dont know what to make of it, heres a chunk :-
Test4: delay symmetry: again I don't know what I'm expecting here but these readings don't look very "symmetrical" :-
Test5: voltage levels: again seem like they should be more consistant but i dont know what to expect:-
Test6: idle times : heres a sample, no idea if these are ok :-
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
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
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
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
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
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
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.
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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 ?At least you have a solution: Use the OTGW in gateway mode to clean up the signals.
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.
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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.
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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....
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....
Re: Tado Controller, Opentherm Gateway, Navien Oil Combi Boiler.
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.
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