core icon indicating copy to clipboard operation
core copied to clipboard

2021.3 broke Stiebel_Eltron compatibility

Open cton opened this issue 3 years ago • 9 comments

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

cton avatar Sep 29 '22 08:09 cton

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)

homeassistant avatar Oct 04 '22 14:10 homeassistant

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.

janiversen avatar Oct 05 '22 20:10 janiversen

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.

cton avatar Oct 06 '22 08:10 cton

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).

janiversen avatar Oct 06 '22 09:10 janiversen

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)

homeassistant avatar Oct 06 '22 09:10 homeassistant

changed the label to stiebel_eltron and unsubscribed myself.

janiversen avatar Oct 06 '22 09:10 janiversen

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.

cton avatar Oct 06 '22 09:10 cton

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.

janiversen avatar Nov 07 '22 12:11 janiversen

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.

cton avatar Nov 07 '22 15:11 cton

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.

janiversen avatar Nov 07 '22 18:11 janiversen

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'

cton avatar Nov 08 '22 07:11 cton

Is this still a problem or have the stiebel.eltron integration been updated ?

janiversen avatar Jan 15 '23 21:01 janiversen

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!

fucm avatar Jan 15 '23 21:01 fucm

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.

janiversen avatar Jan 15 '23 22:01 janiversen