Ich habe eine Anzahl von Schaltsteckdosen, die über Modbus TCP geschaltet und abgefragt werden können. Ich versuche nun, die über die YAML-Konfiguration HA beizubringen - scheitere aber zunächst.
In configuration.yaml habe ich eine Zeile switch: !include switch.yaml eingebaut, weil ich die Bastelei in einer anderen Datei veranstalten möchte.
Sie wird syntaktisch akzeptiert, ich finde aber nirgends in HA die darin vorgenommenen Einträge. Irgendwie habe ich die Hierarchie noch nicht richtig verstanden, fürchte ich. Ich war davon ausgegangen, dass sich die Definition irgendwie als Schalter “Treppenlicht” finden würde.
Was er für eine Problem hat mit type: tcp weiß ich nicht weil so steht es in der Doku. baudrate, bytesize, method, parity, stopbits brauchst du nur bei type: serial und zeigt er wohl an da er mit type: tcp ein Problem hat.
Wenn ich es bei mir in die Config einfüge hat er keine Probleme (klick für Bilder)
Ja, akzeptieren tut er das bei mir auch - syntaktisch also okay. Aber da taucht nirgends ein Gerät, eine Entität oder so was auf in HA…
Nachtrag:
In der Homeassistant-App kann ich ein Widget mit der Entity “switch.schalter” anlegen, das aber nichts tut. Bekannt ist das Ding also doch irgendwie.
Ich habe mich jetzt von meiner Proxmox-Installation getrennt und den Raspi dediziert mit HAOS neu aufgesetzt, in der Hoffnung, dass es sich um ein Netzwerkproblem der Virtualisierung handeln könnte.
Dem ist leider nicht so, auch unter nativem HAOS kommt
2024-06-07 14:33:34.682 ERROR (MainThread) [homeassistant.components.modbus.modbus] Pymodbus: Treppenlicht: Error: device: 1 address: 1 -> Modbus Error: [Input/Output] ERROR: No response received after 3 retries
2024-06-07 14:34:25.524 ERROR (MainThread) [pymodbus.logging] Cancel send, because not connected!
Kann ich irgendwie ausgeben lassen, was genau pymodbus da an wen schicken will?
Nachtrag:
Ich habe mir die inetutilsim Container installiert und festgestellt:
ich kann die Modbusgeräte anpingen
ich kann sogar eine telnet-Session darauf öffnen
im tcpdump tauchen die Geräte nie auf. Weder in ARP- noch in IP-Paketen.
dort sehe ich eigentlich nur mDNS-Multicasts meiner Repeater und der Fritzbox, sowie die Pakete zu meinem Endgerät, mit dem ich auf HA zugreife.
Da muss also irgendwas in HA selber fehlen, was die Verbindung überhaupt erst versucht.
Nachtrag2:
Im Augenblick sieht es für mich so aus, als wäre die Modbus-Integration in HA seit einigen Versionen schadhaft. Es gibt im Core-Github einige Issues dazu, nur sind die Entwickler bisher nicht geneigt, die schon als Anlass zur Suche zu nehmen
Das Fehlerbild ist immer ähnlich: bestehende Entities laufen nach wie vor, neu definierte sind nicht kontaktierbar.