Mehrere Modbus-Devices ansprechen

Begonnen von Biba, 26 Dezember 2022, 17:56:38

Vorheriges Thema - Nächstes Thema

Biba

Hallo,
als Neuling mit FHEM musste ich mich gleich mit der Programmierung von Device-Modulen beschäftigen, da bisher weder meine Wallbox noch mein Wechselrichter in FHEM verfügbar sind.
Die Wallbox lässt sich mittlerweile problemlos ansprechen.
Für den Wechselrichter musste ich wg. unterschiedlicher Modbus-Parameter ein separates USB/RS485-Interface einsetzen.
Für beide Geräte verwende ich als Basis das Modul "98_Modbus.pm".
Für die zwei USB/RS485-Interfaces habe ich die IODevs "ModbusLine" und "ModbusLine1" definiert. Beide IODevs werden korrekt angesprochen.
Beim Versuch, den Wechselrichter anzusprechen, wird zwar das richtige USB/RS485-Interface aktiviert. Allerdings wird versucht, Parameter der Wallbox auszulesen (die es beim Wechselrichter natürlich nicht gibt). Das sieht man im Logfile:
"2022.12.26 17:47:43 3: ModbusLine1: Timeout waiting for a modbus response, read buffer empty,
request: id 2, read fc 4 i5, len 1, master device GW10KET, reading ChargingState (getUpdate for ChargingState len 1), queued 3.09 secs ago, sent 2.00 secs ago"
Im Modul "ModbusInverterGW10KET.pm" ist bisher nur das Reading "Vpv1" definiert, "ChargingState" kommt aus dem anderen Modul "ModbusWallBoxHEC.pm".
Wo kommt diese Verwechslung her bzw. wie kann man sie verhindern? Die IODevs sind ja korrekt zugeordnet.