Hallo zusammen,
ich benötige etwas Unterstützung bei diesem Thema.
Wie ich bei meiner Vorstellung hier bereits schrieb, möchte ich in meinem Reisemobile von HA aus über Modbus Seriell RS485 Daten aus einer Mastervolt PV/Batterie - Anlage in meinem Reisemobil auslesen und in HA in Dashboards anzeigen. HA läuft bei mir auf einem PI5.
Dazu habe ich ein USB/RS485 Interface installiert, welches an den Modbus Gateway der der Mastervolt Anlage über die drei Modbus Leitungen angeschlossen ist. Dieses Gateway lässt nur den Modbus Function Code 23 (Read/Write) zu, andere Calls funktionieren nicht. Das ganze habe ich bereits unter Windows mit einem Modbus Poll Programm getestet und das hat auch funktioniert. Jetzt möchte ich das natürlich unter HA auf dem PI5 integrieren.
Dazu habe ich in der modbus.yaml die RS485/USB Verbindung definiert und die Kommunikationsdaten mit der Modbus Gateway Definitionen abgestimmt (Baudrate, Parity etc.).
Modbus Mastervolt Gateway
-
name: modbus_mastervolt_gateway
type: serial
port: /dev/ttyUSB0
baudrate: 19200
bytesize: 8
method: rtu
parity: E
stopbits: 1
delay: 0
timeout: 5sensors:
- name: „Mastervolt Masterbus_sensor“
unique_id: „Mastervolt_Masterbus_sensor“
slave: 1
address: 0x0001
scan_interval: 0
- name: „Mastervolt Masterbus_sensor“
Der von mir unter Windows mit dem Poll Programm getestete TX String der Function Code 23 Anfrage an das Modbus Gateway mit 25 Byte ist wie folgt:
01 17 00 00 00 06 00 00 00 06 0C 13 01 A9 45 00 00 00 00 00 00 00 00 4E F6
und das Modbus Gateway antwortet in Windows korrekt mit 17 Byte RX :
01 17 0C 13 01 A9 45 00 00 00 00 00 00 C8 42 49 AC
Meine konkreten Fragen lauten: Wie müsste so etwas in Home-Assistant definiert werden, um einen solchen String in einer Anfrage zu senden und wie könnte dann die vom Gateway erhaltene Antwort weiterverarbeitet werden? Also im RX String prüfen, ob der Call erfolgreich war (Byte 2 muss x17 sein) und aus dem RX die sich darin befindliche Antwort (Byte 12-15) in HA weiterzuverarbeiten, dass diese z.B. in einer Entität landen, welche dann in einem Dashboard angezeigt werden kann?
Leider reichen meine HA Kenntnisse hier nicht wirklich aus. Wäre dankbar für Hilfestellungen.
Beste Grüße
Peter