Guten Abend zusammen, für mein LG Therma V Wärmepumpenprojekt (Beitrag "LG Therma V R32 Monoblock Wärmepumpe Bus") möchte ich ein Herstellergerät emulieren und der Wärmepumpe die Existenz dessen Vorgaukeln. Rahmendaten - Zu emulierendes Gerät LG PENKTH000 ("Energiezähler Modul") - Dieses erfasst Daten von Wärme- und Energie/Stromzählern - Ist per Modbus RTU 9600 8N1 mit der Wärmepumpensteuerung verbunden - Kann die Slaveadressen B0 oder B1 bekommen - Die (aktuellen) Daten können an der Wärmepumpensteuerung angezeigt werden (bei Vorhandensein des Geräts) Also habe ich mal mit einem USB RS485 Dongle gesnifft. Ich bekomme immerwährend folgende Telegramme: B0 01 00 02 00 02 07 EA B0 02 00 00 00 01 A2 2B B0 03 00 00 00 08 5F ED B0 04 00 00 00 10 EA 27 Das sieht für mich unerfahrenen tatsächlich schonmal nach Modbus aus - bis auf den CRC der byte-geswappt ausschaut (Vergleich mit https://www.lammertbies.nl/comm/info/crc-calculation) und die Responsegröße in Byte 4 - diese wäre in 3 von 4 Fällen Null. Was meint ihr hierzu? Unterstellt, dass es tatsächlich Modbus ist, wären die 2. Bytes jeweils der Function Code: Function Code Register Type 1 Read Coil 2 Read Discrete Input 3 Read Holding Registers 4 Read Input Registers Somit fragt die Wärmepumpe bereits ab und ich müsste nur einen Modbus Slave z.B. für einen Arduino programmieren und mit Testwerten die Steuerung füttern und das Verhalten beobachten, richtig? Herlichen Dank für eure Kommentare hierzu, Sascha PS: Der fertige Code wird dann auch mit zu https://github.com/cribskip/esp8266_lgawhp gepackt
Sascha K. schrieb: > 9600 8N1 Sicher? Laut Spec hat man 1 Parity Bit und 1 Stopbit oder 2 Stopbit. Denn die Zeiten für 1Byte+drumrum müssen gleich bleiben, weil Modbus RTU mit Timeouts auf dem Bus arbeitet. -> 8E1, 8O1, 8N2 Sascha K. schrieb: > bis auf den CRC der byte-geswappt ausschaut Die CRC hat bei Modbus lustigerweise eine andere Endianess als die 16Bit Werte im Rest des Frames. Also alles in Ordnung! Ansonsten richtig. Bis dann die Steuerung so alle 1h was abfragt, was du noch nicht eingebaut hast. Ab dann wirds richtig lustig ;)
Mw E. schrieb: > Sicher? Tatsächlich. Mit Parity bekomme ich nur Müll, der nicht zum CRC passt. Ich bin jetzt mit 2 Stoppbit unterwegs und läuft. Ich habe auch schon den Erfolg, dass ich den Stromverbrauch an die Wärmepumpe melde und diese reagiert. Doku auf der o.g. github Seite. Danke für die (schnelle) Unterstützung :-)
Sascha K. schrieb: > Mw E. schrieb: >> Sicher? > Tatsächlich. Mit Parity bekomme ich nur Müll, der nicht zum CRC passt. > Ich bin jetzt mit 2 Stoppbit unterwegs und läuft. > > Ich habe auch schon den Erfolg, dass ich den Stromverbrauch an die > Wärmepumpe melde und diese reagiert. Doku auf der o.g. github Seite. > > Danke für die (schnelle) Unterstützung :-) Hallo Sascha, ja, mir ist bewusst, dass der letzte Post von 2020 ist. Bist du hier noch aktiv und bist mit dem Porjekt weitere gekommen? Ich habe aktuell eine LG Therma V und würde dieser gerne Leistungsvorgaben geben, welche dann nicht überschritten werden darf.
Nicht Sascha hier, aber ich denke er hat es zum Laufen bekommen. Hier ist sein Github mit dem Code und Schaltplänen (oder ein anderer Sascha der genau das gleiche gemacht hat :-) ): https://github.com/cribskip/esp8266_lgawhp
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.