home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.15k stars 30.19k forks source link

Opentherm Gateway: get/set Domestic Hot Water Mode not working (most of the time) #77925

Closed jan-gerard closed 1 year ago

jan-gerard commented 2 years ago

The problem

Since this week (but may be much longer since I didn't use it for long until I create a new automation), controlling the Domestic Hot Water Mode of my OTGW is no longer working. I can neither get nor set the mode from Home Assistant.

SET: service: opentherm_gw.set_hot_water_ovrd --> I can execute the service call but nothing happens GET: sensor.otgw_dhw_ovrd_gateway_cv --> reporting UNAVAILABLE

I checked the funcationality with Opentherm Monitor, and that works. I can get and set the mode. Also direct communication with the web interface of the Opentherm Gateway works normal.

Yesterday, suddenly, I could communicate (both get and set the mode) for a couple of hours, but then it reports UNAVAILABLE again. And the mode had switched off once after I had just switched it on. And today, after rebooting Home Assistant, it worked for a while again. The get command reports the correct value, and calling the service correctly changes the mode. Then after a while (5 minutes) the get command stops working properly (it only reports the last state, and later turns to UNAVAILABLE), while the (set) service still operates. And after a longer time, also the service is not functioning anymore.

So the functionality is not working properly, it seems, from the opentherm_gw integration. It can, but unreliably. All other supported interfaces of this integration to the OTGW, like water temperature, work perfectly.

Is there anything I can do to enable more logging?

What version of Home Assistant Core has the issue?

2022.8.7

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

opentherm_gw

Link to integration documentation on our website

https://www.home-assistant.io/integrations/opentherm_gw/

Diagnostics information

This integration does not provide diagnostic data.

Example YAML snippet

set:
service: opentherm_gw.set_hot_water_ovrd
data:
  gateway_id: cv
  dhw_override: 0

get: 
{{ states('sensor.otgw_dhw_ovrd_gateway_cv') }}

Anything in the logs that might be useful for us?

There is nothing visible in the logs.

Additional information

I'm using OTGW firmware 0.8.5-beta+0f07d02 (26-06-2021). Device info OpenTherm Gateway by Schelte Bron, Firmware: 4.3

probot-home-assistant[bot] commented 2 years ago

opentherm_gw documentation opentherm_gw source (message by IssueLinks)

probot-home-assistant[bot] commented 2 years ago

Hey there @mvn23, mind taking a look at this issue as it has been labeled with an integration (opentherm_gw) you are listed as a code owner for? Thanks! (message by CodeOwnersMention)

mvn23 commented 2 years ago

Can you add the following to configuration.yaml and produce a debug log when the problem occurs?

logger:
  default: info
  logs:
    pyotgw.commandprocessor: debug

If you already have a logger section, you can just add these settings to the existing section.

jan-gerard commented 2 years ago

Can you add the following to configuration.yaml and produce a debug log when the problem occurs?

logger:
  default: info
  logs:
    pyotgw.commandprocessor: debug

If you already have a logger section, you can just add these settings to the existing section.

I'll do that, thanks.

jan-gerard commented 2 years ago

Everything works fine until those lines appear in the log

2022-09-08 01:55:20.022 DEBUG (MainThread) [pyotgw.commandprocessor] Sending command: PS with value 0
2022-09-08 01:55:20.082 DEBUG (MainThread) [pyotgw.commandprocessor] Response submitted. Queue size: 1
2022-09-08 01:55:20.083 DEBUG (MainThread) [pyotgw.commandprocessor] Got possible response for command PS: PS: 0
2022-09-08 01:55:20.808 INFO (MainThread) [homeassistant.components.automation.dhw_value_changed] DHW value changed: Running automation actions
2022-09-08 01:55:20.808 INFO (MainThread) [homeassistant.components.automation.dhw_value_changed] DHW value changed: Executing step call service
2022-09-08 01:55:20.831 INFO (MainThread) [homeassistant.components.automation.dhw_setpoint_set] DHW setpoint set: Running automation actions
2022-09-08 01:55:20.831 INFO (MainThread) [homeassistant.components.automation.dhw_setpoint_set] DHW setpoint set: Executing step call service
2022-09-08 01:55:20.834 DEBUG (MainThread) [pyotgw.commandprocessor] Serial transport closed, not sending command SW
2022-09-08 01:55:21.787 DEBUG (MainThread) [pyotgw.commandprocessor] Serial transport closed, not sending command PR
2022-09-08 01:55:31.789 DEBUG (MainThread) [pyotgw.commandprocessor] Serial transport closed, not sending command PR
2022-09-08 01:55:41.792 DEBUG (MainThread) [pyotgw.commandprocessor] Serial transport closed, not sending command PR
2022-09-08 01:55:51.794 DEBUG (MainThread) [pyotgw.commandprocessor] Serial transport closed, not sending command PR

The automation mentioned sets the hot water setpoint

opentherm_gw.set_hot_water_setpoint

After this, the DHW mode has become unavailable, I guess since the communication hangs up (serial transport closed). Strange thing is that reading the water temperatures from the OTGW still works, but nothing is logged about that.

mvn23 commented 2 years ago

Looks like a duplicate of #76213, which was fixed in 2022.9.0.

jan-gerard commented 2 years ago

So far, upgrading to 2022.9.0 solved it.