Modbus-Integration nach Update auf HAOS 13 defekt?

Seit dem Update von HAOS gestern auf Version 13 laufen etliche meiner Modbus-Sensoren nicht mehr. Im Debug-Log sehe ich Fehler wegen “nicht verbunden”, sowie Umwandlungsfehler von 2 Registern in float, weil nur 2 statt 4 Byte zurückgeliefert wurden. 2 Byte klingt nach einer Fehlerresponse - kann ich irgendwie die Daten ausgeben lassen?

Direkt mit einem Modbustool lassen sich die Sensoren problemlos abfragen.

Moin,

Ich benutze kein Modbus, somit habe ich davon keine Ahnung, aber und das ist eigentlich wichtiger, Du solltest Fehler nicht nacherzählen, sondern zeigen, genauso so wie sie im Log stehen, am besten immer mit ein paar Zeilen davor und danach.

Du solltest vielleicht auch vorab mitteilen, was Du schon gemacht hast, z. B.

  • Integration
    • wie sieht die Konfiguration aus
  • HA neu gestartet
  • HA Hardware neu gestartet
  • usw.

VG
Bernd

Hast ja Recht!:wink:

Ich bin heute morgen bisher nur auf dem Tablet unterwegs, da editiert es sich schlecht in ~50MB Logfile. Ich dachte halt, das könnte anderen auch schon begegnet sein.

Ausführliche Logs und Konfiguration kommen später, wenn ich an den PC komme.

Reboot des Raspi ändert leider nichts.

Moin,

Ob, es jetzt am OS Update Nummer 13, ein Schelm wer Böses denkt, liegt, kann ich nicht sagen, das hängt ja davon ab, was Modbus für Ansprüche an das OS stellt.
Hast Du schon mal in die Release Notes geschaut?

Eigentlich gibt es zu jedem neuen HA Release ein Thread, hier im Forum, wo die Probleme mit Integrationen gepostet werden,

In dem Thread habe ich beim Überfliegen aber nichts von ModBus gelesen.

Da nicht alle, sondern nur einige Geräte davon betroffen sind, würde ich aber, Bauchgefühl, von einem anderen Problem ausgehen.

VG
Bernd

Genau, die Release Notes hatte ich gelesen und nichts passendes gefunden.

Es sind nur Geräte betroffen, von denen float-Werte abgefragt werden sollen. int, uint etc. scheinen nicht betroffen zu sein.

Die Koinzidenz mit dem HAOS-Release ist auffällig, ich habe nichts an Konfiguration oder Geräten verändert.

Nachtrag:
So, kann losgehen.

YAML-Ausschnitt eines der betroffenen Geräte:

# DewAir Klimasteuerung
- name: Anbau
  type: tcp
  host: 192.168.178.30
  port: 502
  timeout: 5
  sensors:
    - name: Anbau_S0_Temp
      unique_id: Anbau_S0_T
      <<: &DW_S0_T
        device_address: 1
        address: 2
        data_type: float32
        unit_of_measurement: °C
        device_class: temperature
        scan_interval: 41
    - name: Anbau_S0_Hum
      unique_id: Anbau_S0_H
      <<: &DW_S0_H
        device_address: 1
        address: 4
        data_type: float32
        unit_of_measurement: "%"
        device_class: humidity
        scan_interval: 41
    - name: Anbau_S0_Dew
      unique_id: Anbau_S0_DP
      <<: &DW_S0_D
        device_address: 1
        address: 6
        data_type: float32
        unit_of_measurement: °C
        device_class: temperature
        scan_interval: 41
    - name: Anbau_S1_Temp
      unique_id: Anbau_S1_T
      <<: &DW_S1_T
        device_address: 1
        address: 8
        data_type: float32
        unit_of_measurement: °C
        scan_interval: 41
    - name: Anbau_S1_Hum
      unique_id: Anbau_S1_H
      <<: &DW_S1_H
        device_address: 1
        address: 10
        data_type: float32
        unit_of_measurement: "%"
        scan_interval: 41
    - name: Anbau_S1_Dew
      unique_id: Anbau_S1_DP
      <<: &DW_S1_D
        device_address: 1
        address: 12
        data_type: float32
        unit_of_measurement: °C
        device_class: temperature
        scan_interval: 41
    - name: Anbau_Cond_Check
      unique_id: AnbauCC
      <<: &DW_CC
        device_address: 1
        address: 46
        data_type: uint16
        scan_interval: 41
    - name: Anbau_Target
      unique_id: AnbauTS
      <<: &DW_TC
        device_address: 1
        address: 14
        data_type: uint16
        scan_interval: 41
    - name: Anbau_S0_AbsHum
      unique_id: Anbau_S0_AH
      <<: &DW_S0_AH
        device_address: 1
        address: 51
        data_type: float32
        unit_of_measurement: g/m³
        scan_interval: 41
    - name: Anbau_S1_AbsHum
      unique_id: Anbau_S1_AH
      <<: &DW_S1_AH
        device_address: 1
        address: 53
        data_type: float32
        unit_of_measurement: g/m³
        scan_interval: 41

Dazu gehören diese (beispielhaften) Meldungen im Log:

024-08-16 10:25:24.292 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 2 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.292 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 4 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.292 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 6 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.292 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 8 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.292 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 10 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.293 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 12 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.293 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 46 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.293 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 14 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.293 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 51 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]
2024-08-16 10:25:24.293 DEBUG (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Anbau: Error: device: 1 address: 53 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.178.30:502]

Außerdem sind immer die hier eingestreut, zu denen ich das Gerät nicht zuordnen kann (deswegen die Frage nach der Ausgabe der Pakete im Eröffnungspost):

2024-08-16 10:25:16.810 ERROR (MainThread) [homeassistant.components.modbus.base_platform] Received 2 bytes, unpack error unpack requires a buffer of 4 bytes
2024-08-16 10:25:21.889 ERROR (MainThread) [homeassistant.components.modbus.base_platform] Received 2 bytes, unpack error unpack requires a buffer of 4 bytes

Per Modbus-Clienttool aufgerufen funktioniert es:

micha@Nimbus:~$ ./SyncClient Anbau 1 16
Using 192.168.178.30:502:1 @1/16
[N] Response: @5D3037676590/35:
  | 0000: 01 03 20 00 01 41 C8 00  00 42 69 99 9A 41 82 51  |.. ..A...Bi..A.Q|
  | 0010: 52 41 CA 66 66 42 62 66  66 41 80 A1 8F 00 00 00  |RA.ffBbffA......|
  | 0020: ED 4E 8A                                          |.N.             |

ping vom Raspi unter HAOS geht auch:
grafik

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

FYI: Auch wenn Dir das jetzt nicht wirklich hilft, aber bei mir ist seit ca. 1 Std. die Anzeige/Meldung für das mögliche HAOS Update 13 verschwunden. Auch eine Suche nach Updates,
HA_Updates
oder gar ein HA Neustart, ändert daran nichts. Das HAOS Update 13 wird mir aktuell nicht mehr angeboten. Wobei es hier natürlich immer noch als aktuell und Download angeboten wird.

K.A. ob das ggf. zurückgezogen wurde weil es dazu ja inzwschen div. Isssues-Meldungen auf GitHub gibt, oder ob es ggf. nur ein temporäres Problem mit der Anzeige gibt.

VG Jim

1 „Gefällt mir“

Danke! :+1:

Inzwischen habe ich gefunden, dass man mit der (jetzt wieder auskommentierten) letzten Zeile

logger:
  default: error
  logs:
    homeassistant.components.modbus: debug
    pymodbus.client: debug
#    pymodbus: debug

in der configuration.yaml mit Logmeldungen von pymodbus zugeschüttet wird :rofl: .

Damit konnte ich das Problem mit den 2 statt 4 Bytes klären - hat nichts mit dem anderen Problem zu tun, das ist ein Server, der ein falsches Längenbyte sendet.

Der Rest bleibt leider bestehen.

[Update] Oder auch nicht… Nach wiederholten Restarts wegen des Loglevel-Umschaltens scheint es wieder zu gehen?!?
grafik