Hilfe beim Auslesen/Anzeigen von Modbus-Daten

Begonnen von DaRealDan, 15 April 2023, 21:07:12

Vorheriges Thema - Nächstes Thema

DaRealDan

Hallo zusammen, bevor ich hier jetzt noch mehr Zeit in planloses Debugging stecke, wollte ich Euer Wissen kurz anzapfen:

Hintergrund: Ich habe ein LG Therma V Monoblock Wärmepumpe. An dem RS485 Kabel hängt bereits das LG Cloud Gateway. Die Kommunikation zwischen Cloud Gateway und WP funktioniert und via App kann die WP ausgelesen und gesteuert werden. Modbus sollte daher funktionieren.

Habe mich hier via 2-adrigem Kabel mit angeklemmt und via RS485 USB Stick an einem Raspi um damit die Daten via Modbus auszulesen und ggfs auch Signale zur Steuerung senden zu können.

Angelegt habe ich ein ModBusLine via:

DEF /dev/ttyUSB3@9600,8,N,1
DeviceName /dev/ttyUSB3@9600,8,N,1
EXPECT idle
FD 13
FUUID 6414c11a-f33f-5180-9b37-8760003efbe1509f
IODev ModBusLine
LASTOPEN 1681579876.43647
MODE master
NAME ModBusLine
NR 30
NTFY_ORDER 50-ModBusLine
PARTIAL
PROTOCOL RTU
STATE opened
SerialConn 1
TYPE Modbus
devioLoglevel 3
nextOpenDelay 60

Ich habe zudem ein ModbusAttr angelegt

DEF 1 30
FUUID 6414c173-f33f-5180-8161-b73ade92b1c38a75
IODev ModBusLine
Interval 30
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.4.14 - 30.1.2023
NAME WP
NOTIFYDEV global
NR 59
NTFY_ORDER 50-WP
PROTOCOL RTU
STATE active
TYPE ModbusAttr
eventCount 9

Nachfolgend die aktuellen Verbose5 Logs

2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 009e0000
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 4 bytes (009e0000 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00600006fe
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 5 bytes (00600006fe rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 1 bytes (00 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00001e0000
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 5 bytes (00001e0000 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00600000fe
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 5 bytes (00600000fe rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 1 bytes (00 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 00
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 1 bytes (00 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 009e0000
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 4 bytes (009e0000 rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data
2023.04.15 21:02:51 5: ModBusLine: readFn buffer: 0060001efe
2023.04.15 21:02:51 5: ModBusLine: ParseFrameStart called from ReadFn
2023.04.15 21:02:51 5: ModBusLine: SkipGarbageCheck special feature without given id
2023.04.15 21:02:51 4: ModBusLine: SkipGarbageCheck skipped 5 bytes (0060001efe rest )
2023.04.15 21:02:51 5: ModBusLine: readFn did not see a valid RTU frame start yet, wait for more data

Problem nun: Ich bekomme keine Daten in FHEM rein / angezeigt und weiß nicht, wie ich die Register richtig ausgelesen bekomme.

Folgende Attributes sind angelegt, geben aber nichts in FHEM zurück:
obj-c0-reading Heizung
obj-c1-reading Warmwasser
obj-c2-reading Silent Modus
obj-i12-reading outside_temp
obj-i3-reading wp_outlet_temp
obj-i5-reading lg_therma_warmwasser
obj-i8-reading flow_rate

Kann jemand helfen oder sagen, wo ich weiter debuggen kann/sollte?
 
Modbus Informationen:
https://www.yourwizblog.com/blog/2022/02/20/therma-v-modbus-information/

Hier funktioniert es (angeblich) mit Homeassistant:
https://community.home-assistant.io/t/lg-therma-v-heat-pump-modbus-control/496233/5

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DaRealDan

Merci. Da bei meiner Suche nach "Modbus" sehr viele Posts auch in "Anfängerfragen" waren, habe ich es dort gepostet. Aber wenn "Sonstiges" besser passt, mache ich das natürlich. Danke für den Hinweis.

StefanStrobel

Hallo,

bei Modbus darf es nur einen Master am Bus geben. Vermutlich ist das Cloud-Gateway der Master und die Wärmepumpe der Slave.
Da keine poll-Attribute gesetzt sind, sendet Fhem keine eigenen Requests, was auch gut so ist, sonst kämen sich die beiden Master in die Quere.
Ein zusätzlicher USB-Stick kann statt als Master auch als Passiv-Listener definiert werden. Dann wertet er die Daten aus, die das Cloud-Gateway von der Wärmepumpe abfragt.
Die Daten im Log sehen allerdings auch nicht nach gültigen Modbus-Frames aus. Vermutlich stimmt etwas auf der unteren Ebene nicht. Sind die Kabel richtig angeschlossen?

Gruss
   Stefan