[MQTT] LG Thema V R32 auslesen/ansteuern - funktioniert

Begonnen von kuschelganxta, 15 Juni 2020, 21:30:49

Vorheriges Thema - Nächstes Thema

kuschelganxta

Hallo zusammen,

zur Dokumentation und vielleicht um mal um Hilfe zu bitten mache ich mal diesen Thread auf. Aktuell bin ich noch am Basteln, habe aktuell keine Fragen ;-)

Dieses Jahr kam die neue Heizung - eine Luft/Wasser-Wärmepumpe von LG. Informationen zum Gerät gibt's hier https://www.lg.com/de/business/monobloc
Kurz: Monoblock Außengerät (kaltes Wasser und Strom rein, warmes Wasser raus) und innen eine Fernbedienung ("REMO").

Die Fernbedienung ist über ein 3-adriges Kabel angebunden: +12V, GND, Signal.

"Signal" ist eine 300 Baud schnelle, halb-duplex serielle Schnittstelle.
Die übertragenen Pakete sind immer 20 Bytes lang. Im Anhang habe ich ein Capture von der Fernbedienung (noch vor dem Bus) angehangen, welches mit PulseView (https://sigrok.org/wiki/PulseView) geöffnet werden kann. Ein Beispiel habe ich als Bild angehangen.

Das erste Byte ist pro Nibble ein ID-Feld: Ax sendet die REMO, Cx sendet das Außengerät.
A0 und C0 sind identisch und enthalten die "wichtigsten" Informationen. Modus (Kühlen, Heizen, Auto, Aus, Warmwasser), Status Heizungspumpe, Status Außengerät, etc.
A5 und C5 sind identisch sind unklar
A6 und C6 sind identisch sind unklar

Das 20. Byte ist eine Prüfsumme. Dank https://www.instructables.com/id/Hacking-an-LG-Ducted-Split-for-Home-Automation/ war die Lösung schon fertig: Summe aller Bytes XOR 0x55 && 0xFF - also alles aufsummieren, mit 0x55 exklusiv or'en und dann (um das neunte Bit los zu werden) mit 0xFF ver'and'en ;-)

Ich kann die Pakete erstellen und mit 300 baud auf die Leitung legen. Leider kommt dann ein Gerät daher und "beseitigt" meine Bytes mit 0xFF für jedes gesendete Byte.

Der nächste Versuch wird also sein, vorm Senden die REMO vom Bus zu nehmen und dann zu schauen, wie das Außengerät reagiert.
Außerdem habe ich das WLAN-Modul am Außengerät hängen. Wenn hier Änderungen über die App gemacht werden, sendet das Außengerät "unaufgefordert" eine C0-Nachricht.

Ich halte auf dem Laufenden. Das Gerät ist leider nicht so modulierend wie gehofft, hat allerdings traumhafte Effizienz!

Basterische Grüße,
Sascha

kuschelganxta

#1
Der Code (ohne wirkliche Doku, sorry. Pull-Requests-Welcome ;) ) ist hier https://github.com/cribskip/esp8266_lgawhp

Viele bastlerische Grüße,
Sascha