Opentherm Gateway component not working

I have a problem with the new Opentherm Gateway component. I think i did everyting right but all I get is an error in the logbook. No entity shows up in HomeAssistant…

I have a NodeMCU with ESPEasy firmware connected to the Opentherm Gateway. When I telnet to the nodeMCU serial port or use OTMonitor all works fine.

This is my Homeassistant config:

climate:

  • platform: opentherm_gw
    device: socket://nodemcuIP:serialoutputport
    name: Testmostaat

Below the error in Homeassistant log:

018-09-19 13:55:54 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 342, in _async_add_entity
    await entity.async_added_to_hass()
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/climate/opentherm_gw.py", line 66, in async_added_to_hass
    await self.gateway.connect(self.hass.loop, self._device)
  File "/usr/local/lib/python3.6/site-packages/pyotgw/pyotgw.py", line 55, in connect
    await self.get_reports()
  File "/usr/local/lib/python3.6/site-packages/pyotgw/pyotgw.py", line 170, in get_reports
    OTGW_DEFAULT_TIMEOUT, loop=self.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 362, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

Crazy thing… it worked once, after a restart of homeassistant… But after the next reboot gone again…I’ve got no idea whats wrong…

Same here, after a reboot of Home-Assistant it works for a short period, after that it crashes.

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/service.py", line 226, in _handle_service_platform_call
    await func(entity, data)
  File "/usr/src/app/homeassistant/components/climate/__init__.py", line 679, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/app/homeassistant/components/climate/opentherm_gw.py", line 174, in async_set_temperature
    temp)
  File "/usr/local/lib/python3.6/site-packages/pyotgw/pyotgw.py", line 91, in set_target_temp
    self._protocol.issue_cmd(cmd, value), timeout, loop=self.loop))
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 362, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

Also anoying: not after every reboot the component is loaded. Home-Assistant complains that it takes too long to load or anything. And the only way to get it running is to reboot Home-Assistant again.

I’ve upgraded my NodeMCU with ESPEasy firmware to the newest version (MEGA 20183010) and changed/tested a lot of settings… Now suddently everything works. It runs stable for a couple of hours now…

So far so good…

1 Like

Can you list your setting from nodeMCU en those from device in configuration.yaml

Would really help me.

can some body help me to get the opentherm gateway working with home assistant?
i’m now struggling for 6 months with different versions of H.A. and always get the same error after a reboot of H.A.

"Invalid config

The following components and platforms could not be set up:

Please check your config."

i have tried different yaml configs and H.A. versions (now 100.3) and always get the same error.
my gateway is working, when i connect with telnet i get sensor data in the telnet window.
it has always worked in domoticz with the same config in the gateway.

this is a section of my current configuration.yaml:

logger:
default: debug
logs:
homeassistant.components.opentherm_gw: info
homeassistant.components.climate: info

climate:

  • platform: opentherm_gw
    device: socket://192.168.10.121:6638
    climate:
    name: Thermostat
    precision: 0.5
    floor_temperature: False
    monitored_variables:
    • room_setpoint
    • room_temp
    • room_setpoint_ovrd
    • return_water_temp
    • otgw_about

if you need more info i’m happy to provide it.

Make an entry in your configuration.yaml like this: (taken from integration docs)

# Full example configuration.yaml entry
opentherm_gw:
  holiday_home:
    device: socket://otgw.example.org:2345
    name: "Holiday Home"
    climate:
      precision: 0.5
      floor_temperature: true

I’m almost Shure that i tried that and also got error messages but i will try that asap. Thanks for the answer.

@Cadster it works thank you very much.

Good to hear. :+1:

I’ve had connectivity issues using the opentherm_gw integration too but using the otmonitor tool worked fine.

Therefore, I have created a Supervisor (formerly HassIO) add-on with Ingress support.

See this repository on GitHub.