Can't connect to OpenTherm Gateway via TCP (OTGW)

I have successfully installed an OpenTherm gateway and I can read the data in OpenTherm monitor (OTMonitor) but when I put the IP address and port number in the OpenTherm Gateway integration i get a connection timeout. Anyone knows what is wrong with this setup?

I tried with http://192.168.1.201 and with and without port number but without success

Capture

Replace http://192.168.1.201 by socket://192.168.1.201.

1 Like

Thanks! @Cadster that works

Another question, i see only one climate entity but i should also see sensors with data from the OpenTherm Gateway integration right? Like water temperature, returning water temperature etc.

Just enable the wanted entities:
Instellingen > Integraties > OpenTherm Gateway > Entiteiten

@Cadster, Thanks again!

I have a similar problem to the original poster above - Althoug I seem to use the correct syntax. (socket://192.168.50.33:23)

OTGW is working fine and windows tool has no problems connecting to it. It looks HA specific.

Is there anything else I can check ? Or a good starting place to investigate ?

Much appreciated !

(btw;
in the screenshot

  • 192.168.50.183 = windows PC succesfully using Openthem Monitor (wifi)
  • 192.168.50.10 = Home assistant (cable)
  • 192.168.50.33 = OTGW (cable) )

Update: I found my logs - but it isn’t helping me :frowning:

Logger: aiohttp.server
Source: components/opentherm_gw/config_flow.py:55
First occurred: 12:37:38 AM (1 occurrences)
Last logged: 12:37:38 AM

Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py”, line 422, in _handle_request
resp = await self._request_handler(request)
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py”, line 499, in _handle
resp = await handler(request)
File “/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py”, line 118, in impl
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 56, in security_filter_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 18, in request_context_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 72, in ban_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 127, in auth_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/view.py”, line 129, in handle
result = await result
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 169, in post
return await super().post(request, flow_id)
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 60, in wrapper
result = await method(view, request, *args, **kwargs)
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 106, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 155, in async_configure
result = await self._async_handle_step(flow, cur_step[“step_id”], user_input)
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 213, in _async_handle_step
result: Dict = await getattr(flow, method)(user_input)
File “/usr/src/homeassistant/homeassistant/components/opentherm_gw/config_flow.py”, line 60, in async_step_init
res = await asyncio.wait_for(test_connection(), timeout=10)
File “/usr/local/lib/python3.8/asyncio/tasks.py”, line 494, in wait_for
return fut.result()
File “/usr/src/homeassistant/homeassistant/components/opentherm_gw/config_flow.py”, line 55, in test_connection
status = await otgw.connect(self.hass.loop, device)
File “/usr/local/lib/python3.8/site-packages/pyotgw/pyotgw.py”, line 139, in connect
await self.get_status()
File “/usr/local/lib/python3.8/site-packages/pyotgw/pyotgw.py”, line 383, in get_status
v.DATA_SLAVE_MAX_CAPACITY: int(capmodlimits[0]),
ValueError: invalid literal for int() with base 10: ‘0.00’

Please share some information about your setup.

Are you using the Nodo otgw? Wich firmware is installed on your otgw? What kind of boiler and thermostat are you using?

b.t.w. you can’t use otmonitor and the hass intergration at the same time if you use the serial-port to acces the otgw.

Thanks for the feedback.

This is the firmware correct ? (preconfigured from nodo)

|13:01:56.783577|Command: PR=A|
|13:01:56.829043|PR: A=OpenTherm Gateway 5.0|

That would indicate version 5 and might be the issue ?
https://otgw.tclcode.com/download.html#hexfiles

Potential incompatibility: The PS=1 output has changed. If using this function, the program processing the information will have to be adapted accordingly.

Should I revert to 4.3 - [gateway-4.3.hex] - and is it OK to flash using the windows OT Monitor ?
My setup is Vaillant ecotec (Belgian edition) <> VR33 <> OTGW <> Honeywell round modulation

I’m using the LAN header - USR-TCP232-T2 - It’s configured to handle 10 TCP clients - I assumed this module is doing serialising and marshalling to handle multiple clients ? (I tried also without OTM open)

Did you already tried without port at the end of the url? (socket://192.168.50.33)

Yes i think the current opentherm_gw intergration does not support 5.0 firmware yet. I filed an issue so let’s hope it will get fixed. So yes i would sugest you to revert to the 4.3 firmware. I link my otgw by a nodemcu and i can’t make a stable connection with both otmonitor and the hass intergration. Perhaps this is in your case (lan) different. I flashed the firmware by otmonitor. To avoid trouble see to it that you do this in a stable environment.

Yes, no result

From what I’m learning on https://github.com/mvn23/pyotgw/pull/27/commits/7ebaf42dc820900e91131cc65962853744ae8fd4 a patch is needed to support FW5 - I assume reverting to 4.3 or 4.2.5 is best :slight_smile:

Edit; this was a reply to coen17st - I will follow the advice from Cadster - thanks

1 Like

Hello

I have to replace my old boiler.
I’ve opted for an Opentherm boiler (I’m still waiting for some proposals)

I’m using HomeAssistant. And I’ve read the documentation of the Integration “Opentherm gateway”.

But now my question: what is the best hardware that I can use? I’m still lost between some possibilities like : Nodo, ESP, Pyserial

I’ll install the gateway close to my new boiler. For the moment, I don’t have a proper cable that goes to that room (but I’ll install an UTP Ethernet cable later on). So Wifi seems me the only option at this moment to connect to the gateway.

Who can me propose some hardware (and shops)

Thanks

Hello Herman,

My setup uses the Nodo OpenTherm gateway (which now is version 2.3 hardware) and a NodeMCU for the WiFi connection. All documentation is on the website of the Nodo shop.
Please note that not all boilers provide a return water temperature. But with the latest software for the OTGW you can add a sensor yourself. All documented very well on the OTGW website.
If you have a wired version of the Lyric T6 thermostat you have to fiddle around with the reference voltage setting on OTGW configuration screen.
Integration with HA works without any problem. I’ve programmed an automation to notify me when the water pressure gets to low,
When you store all the data from the OTGW you can use Grafana to create very nice graphs!
Have fun!

Hi Herman,
I noted my earlier reply seems not have saved. Anyway, I use the V2.3 OTGW from Nodo w/Ethernet cable. It is located between a wired Remeha iSense thermostat and a Quinta Pro boiler. It integrates well with HA and works up to now very well. One lesson learned: use a good 5V power cable to the USB B connection on the OTGW card. I made one myself to ensure no voltage drop. Success

Hello

Thanks four your answers.

I found the OTGW site. I suppose it’s https://otgw.tclcode.com

If I understood it correctly, the gateway has to be installed between the thermostat and the boiler. Which means cutting the wire from the thermostat to the boiler.

My boiler will be new and will be installed by a technician. I suppose he will never accept putting an (for him) unknown device between the thermostat and the boiler.
Is it also possible to connect this gateway in a parallel way to the boiler? In the beginning, only for reading the status info of the boiler. And later on, I can decide to put the gateway between the thermostat and the boiler.

When you install the OTGW near the boiler you can connect the thermostat wire to the OTGW and a new wire from the OTGW to the boiler. So you do not have to cut any wires and if you like you can reverse it very easily. As far as I know it is NOT possible to connect the OTGW in parallel to just listen to the communication. The OTGW has a setting for just listening and not controlling the boiler.

I received my Opentherm interface from Nodo. It was assembled (solder service).
At his moment, I still don’t have an Opentherm CV.
I’m only trying to install the Opentherm integration in Home Assistant.
My PC is connected to the same IP segment than the OTGW.
I have stopped my firewall on my Windows PC

I can open the OTGW by using a web browser on the default port 192.168.0.7
For now, I have left the default values, like passwords, addresses and ports.
In the Web interface I can see : - Firmware Version:V4017

I can also use the .EXE = Opentherm monitor.
I see another port = 25238
image

A port scanner finds the two adresses 192.168.0.7 and 192.168.0.201
• On 192.168.0.7
port scanner shows « USR-TCP232-T2 (lwIP/1.3.1 (lwIP - A Lightweight TCP/IP stack - Summary [Savannah])) »
MAC 9C:A5:25:D7:48:A0
Open ports : TCP poorten 80 en 1501 (scanned from 1 tot 65535)
• op 192.168.0.201 :
Port scanner fonds something (alive) and MAC = 38:10:D5:87:F5:E9 but it shows no open port between 1 and 65535

I have always an error when trying to install the OTGW.
I tried about all possible combinations. I receive always an error.
But I don’t know what I have to enter as the ID item
image

I have tried
KO : 192.168.0.201:20108
KO: 192.168.0.201:8234
KO: 192.168.0.201:25238
KO : socket://192.168.0.7:20108
KO :socket://192.168.0.7:8234
KO : socket://192.168.0.201:20108
KO : socket://192.168.0.201:8234

What am I doing wrong?

OK, I found the solution by looking on the nodo shop.
They should have sent that documentation in the box

I have changed the following settings:
Local Port Number 23 (ws 20108)
Work Mode TCP Server (was TCP client)
Similar RFC2217 Unchecked (was checked)

Hi Herman,

Good to hear that you have solved it
Good documentation is always a problem, most of the time the latest version can be found on the website of the supplier.