2021.3 broke Stiebel_Eltron compatibility
The problem
I thing the changes made in 2021.3.0 in the modbus component broke the combatibility for stiebel_eltron as described in my other issue #65661.
What version of Home Assistant Core has the issue?
2021.3.0 and newer
What was the last working version of Home Assistant Core?
2021.2.3
What type of installation are you running?
Home Assistant Container
Integration causing the issue
Modbus
Link to integration documentation on our website
https://www.home-assistant.io/integrations/stiebel_eltron
Diagnostics information
No response
Example YAML snippet
modbus:
- name: "ISG"
type: tcp
host: 192.168.1.5
port: 502
stiebel_eltron:
name: "LWZ504"
hub: "ISG"
Anything in the logs that might be useful for us?
2022-09-29 08:43:16.315 INFO (MainThread) [homeassistant.setup] Setting up stiebel_eltron
2022-09-29 16:26:27.742 WARNING (SyncWorker_1) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-09-29 16:26:27.893 DEBUG (SyncWorker_1) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
Additional information
No response
Hey there @adamchengtkc, @janiversen, @vzahradnik, mind taking a look at this issue as it has been labeled with an integration (modbus) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
modbus documentation modbus source (message by IssueLinks)
Please provide some debug log so we can see if the problem is in the modbus integration, the Pymodbus library or as per the closed issue in another integration.
Please also add a limited configuration.
Thank you for answering. I added some logs and the configuration snippet to the initial post of this issue. I assume that the stiebel_eltron integration is using the library pystiebeleltron which uses the ModbusTCPClient and the methods read_input_registers and read_holding_registers. This worked up until version 2021.2.x i think. In version 2021.3.0 the ModbusHub class were changed an some methods were removed which were used by the stiebel_eltron integration. So I think that this change broke the stiebel_eltron integration. I hope these information help you to have a look in this issue.
Yes there was several changes to the modbus integration, but if the stiebel_eltron uses its own library it surely do not use the modbus integration. The stiebel_eltron library might use the Pymodbus library (which have not changed).
Hey there @fucm, mind taking a look at this issue as it has been labeled with an integration (stiebel_eltron) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
stiebel_eltron documentation stiebel_eltron source (message by IssueLinks)
changed the label to stiebel_eltron and unsubscribed myself.
The stiebel_eltron integration uses a modbus bridge or hub, which i think is provided by the modbus integration. Please have a look at the documentation.
It does, but the problem seems to be that the stiebel_eltron integration have not been updated, at least in the log supplied (which was without debug) do not suggest any problems in the modbus integration.
Thank you for answering.
I configured debug logging as following:
default: info
logs:
homeassistant.components.stiebel_eltron: debug
homeassistant.components.modbus: debug
pystiebeleltron: debug
But there are no additional log entries:
2022-11-07 16:41:05.200 WARNING (SyncWorker_4) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-11-07 16:41:05.204 DEBUG (SyncWorker_4) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
2022-11-07 16:42:05.191 WARNING (SyncWorker_1) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-11-07 16:42:05.195 DEBUG (SyncWorker_1) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
2022-11-07 16:43:05.192 WARNING (SyncWorker_2) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-11-07 16:43:05.196 DEBUG (SyncWorker_2) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
2022-11-07 16:44:05.192 WARNING (SyncWorker_3) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-11-07 16:44:05.195 DEBUG (SyncWorker_3) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
So as i understand the integration has to be updated to work with current versions.
This line signals a problem:
2022-11-07 16:43:05.192 WARNING (SyncWorker_2) [homeassistant.components.stiebel_eltron] Modbus read failed
you have not enabled debug log as we document in the modbus integration (you miss the pymodbus part), it is strange that you do not see any debug from modbus, which makes me believe it is never called.
You're right I missed the pymodbus part.
2022-11-08 08:12:08.781 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:08.800 DEBUG (SyncWorker_2) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:08.815 DEBUG (SyncWorker_3) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:08.866 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:08.886 DEBUG (SyncWorker_2) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:08.903 DEBUG (SyncWorker_3) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:19.970 WARNING (SyncWorker_0) [homeassistant.components.stiebel_eltron] Modbus read failed
2022-11-08 08:12:19.974 DEBUG (SyncWorker_0) [homeassistant.components.stiebel_eltron.climate] Update LWZ504, current temp: 0.0
2022-11-08 08:12:22.581 DEBUG (SyncWorker_2) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:22.628 DEBUG (SyncWorker_3) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:22.650 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:22.757 DEBUG (SyncWorker_2) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:22.783 DEBUG (SyncWorker_3) [pymodbus.client.sync] New Transaction state 'SENDING'
2022-11-08 08:12:22.812 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
Is this still a problem or have the stiebel.eltron integration been updated ?
Hi all, I am not able to maintain the stiebel_eltron integration anymore, due to the following issue mentioned here. Any volunteer to take over the pystiebeleltron would be very welcome!
Fair enough, you should remove yourself as code owner (if you have not already done so) to make it clear that you are not maintaining the integration.
Closing this issue for now.