Modul für LG_ESS HOME Hybridwechselrichter

Begonnen von Morluktom, 04 Mai 2020, 13:35:35

Vorheriges Thema - Nächstes Thema

Morluktom

Hallo FHEM-Gemeinde,

ich habe ein Modul für LG ESS HOME Wechselrichter entwickelt. Evtl kann es noch jemand gebrauchen.
Dieses Modul liest Status Werte des Wechselrichters aus und stellt ein paar Kommandos zur Verfügung.

Installation

Ermittlung des Passworts Variante 1

Um das Passwort des Systems zu ermitteln muss dieses Modul mittels Strawberry Perl auf einem Laptop mit WLAN ausgeführt werden.

1. FHEM auf Laptop installieren: https://wiki.fhem.de/wiki/FHEM_Installation_Windows

2. FHEM am Rechner starten (siehe 1)

3. Modul installieren: update all https://raw.githubusercontent.com/Morluktom/LG_ESS/master/controls_lgess.txt

4. Rechner mit WLAN des LG_ESS Systems verbinden. (WLAN Passwort steht auf dem Typenschild)

5. Folgenden Befehl in die FHEM Befehlszeile eingeben um das Passwort zu ermitteln: define myEss LG_ESS GettingPassword

6. Das Passwort notieren

Ermittlung des Passworts Variante 2 (für Windows User einfacher)

1. Rechner mit WLAN des LG_ESS Systems verbinden. (WLAN Passwort steht auf dem Typenschild)
2. LG_Ess_Password.exe starten (befindet sich im Anhang! mindestens .Net Framework  4.5 erforderlich)
3. Passwort notieren

Modul auf den Zielsystem installieren

1. Modul installieren: update all https://raw.githubusercontent.com/Morluktom/LG_ESS/master/controls_lgess.txt

2. Modul zur Updateliste hinzufügen: update add https://raw.githubusercontent.com/Morluktom/LG_ESS/master/controls_lgess.txt

3. ESS Modul in FHEM definieren: define myEss LG_ESS <IP-Adresse> <Passwort>

Viele Grüße
Tom

tfuchs

Hallo Tom,
super Sache, dass du dir die Mühe gemacht hast die Defizite von LG hinsichtlich einer offenen Schnittstelle zu kompensieren und das hier teilst.

Ich habe mir dein Pearl Script angesehen, da mein LG ESS Home 10 erst morgen montiert wird und ich noch keine Testmöglichkeit habe. Was ich nicht rauslesen kann ist, welche Daten du wie oft vom ESS ausliest. Mein Ziel wäre es Verbrauch/Produktion/Batteriestand laufend auszulesen, um es in Loxone zu visualisieren und zur Optimierung des Verbrauchs (triggern der Wärmepumpe, Heizstab, etc.) zu verwenden.

lg
Thomas

Morluktom

#2
Hallo Thomas,

Du kannst das Polling Intervall einstellen.
Momentan habe ich eine Minimumbegrenzung von 10 Sekunden drin, die ist aber frei definiert kann evtl auch noch verändert werden.
Default ist 30 Sekunden.
Du kannst das automatische Pollen aber auch deaktivieren und manuell über das Kommando GetState starten.
Sollte in der CommandRef halbwegs beschriebenen sein.
Momentan lese ich immer alle Daten aus.

Gruss
Tom

SamA699

#3
Hallo Morluktom,
vielen Dank für deine Arbeit.
Ich habe einen ESS-Home 8 und deine Anweisungen oben bis Punkt 5 befolgt   ;D

Leider kommt bei mir im FHEM immer der Hinweis:  "LG ESS: could not fetch password"

Mein Notebook (WIN10) hat Verbindung mit dem LG-ESS Wlan.

Hast Du eine Idee?  Brauchst du noch mehr Infos?

Danke schon mal  8)

Morluktom

#4
Hallo SamA699,

Ich selbst habe eine ESS 10.
Denke aber das das hoffentlich nur einen Unterschied in der Leistungselektronik gibt.
Kann es sein das die Firewall blockt?
Ich habe gerade eine Änderung eingecheckt das eine Fehlermeldung nach "LG ESS: could not fetch password" angezeigt wird.
Evtl. kommen wir so weiter.
Im Logfile sollten auch Infos stehen.

Gruß

Tom

SamA699

Hallo,
danke für die schnelle Antwort.
Das gibt das FHEM aus:
LG ESS: could not fetch password.
Errorcode:
https://192.168.23.1:443: Can't load 'c:/my-fhem/perl/vendor/lib/auto/Net/SSLeay/SSLeay.xs.dll' for module Net::SSLeay: load_file:Das angegebene Modul wurde nicht gefunden at c:/my-fhem/perl/lib/DynaLoader.pm line 193.
at c:/my-fhem/perl/vendor/lib/IO/Socket/SSL.pm line 19.
Compilation failed in require at c:/my-fhem/perl/vendor/lib/IO/Socket/SSL.pm line 19.
BEGIN failed--compilation aborted at c:/my-fhem/perl/vendor/lib/IO/Socket/SSL.pm line 19.
Compilation failed in require at (eval 29) line 1.
BEGIN failed--compilation aborted at (eval 29) line 1.

Der Ping scheint o.k.:
Microsoft Windows [Version 10.0.18363.778]
(c) 2019 Microsoft Corporation. Alle Rechte vorbehalten.

C:\WINDOWS\system32>ping 192.168.23.1

Ping wird ausgeführt für 192.168.23.1 mit 32 Bytes Daten:
Antwort von 192.168.23.1: Bytes=32 Zeit=3ms TTL=64
Antwort von 192.168.23.1: Bytes=32 Zeit=3ms TTL=64
Antwort von 192.168.23.1: Bytes=32 Zeit=3ms TTL=64
Antwort von 192.168.23.1: Bytes=32 Zeit=3ms TTL=64

Ping-Statistik für 192.168.23.1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 3ms, Maximum = 3ms, Mittelwert = 3ms

Beste Grüße

Morluktom

Hallo SamA699,

ich denke ich konnte dein Problem nachstellen.
Führe die Datei portableshell.bat aus und starte dann FHEM. Nicht über cmd wie im Wiki beschrieben.
Sonst musst Du scheinbar Umgebungsvariablen definieren.

Gruß

Tom

SamA699

Hallo Morluktom,
danke für Hilfe.
Leider komme ich auch damit nicht wirklich weiter. Als Meldung bekomme ich nun:
2020.05.07 19:06:27 1: define myEss LG_ESS GettingPassword: LG ESS: could not fetch password.
Errorcode:
https://192.168.23.1:443: Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at (eval 33) line 1.
BEGIN failed--compilation aborted at (eval 33) line 1.

:'( :'(

Morluktom

Hallo SamA699,

schau bitte nochmal bei meinen ersten Betrag. Ich habe eine .exe Datei erstellt die das Passwort ausliest. Das dürfte als Windows User einfacher sein.

Gruß

Tom

SamA699

Vielen Dank,
jetzt hab ich das Passwort erhalten  ;D

tfuchs

Der LG PCS hängt ja auch im LAN sofern man das möchte. Seht ihr eine Möglichkeit die Daten auch über diese Verbindung auszulesen oder klappt das nur über das WLAN des Wechselrichters?

Morluktom

Hallo,
Das geht auch übers LAN. Ist bei mir auch über LAN angebunden.
Das einzige was wichtig ist, die ESS braucht eine Feste IP Adresse.
Die WLAN Verbindung brauchst Du nur zur Ermittlung des Passworts.
Gruss
Tom

SkyMachine

Hi, ich hab das Vorgängermodell (ED05K000E00) der Home Serie (ging 02.2018 in Betrieb)
sieht jemand eine Möglichkeit, dass ich auch an die Daten meines Wechselrichters komme?
Ein WLAN Modul hat der Hybrid nicht und kann nur per LAN Kabel angeschlossen werden, eine App Unterstützung gibt es nicht.

Passwort kann ich somit vom Gerät nicht abfragen, ich weiß zumindest nicht wie ich die Aufrufadresse 192.168.23.1 auf meine LG IP-Adresse matchen kann.

Bisher habe ich es nur geschafft per SSH auf den Wechselrichter zuzugreifen und die dort abgelegte sqlite DB auszulesen (was mit der Home-Serie wohl nicht geht). Hier werden jedoch auch nur alle 15 Minuten die Daten rein geschrieben. Weiß aber auch hier nicht, wie ich die Daten in FHEM bekomme.

Über jede Hilfe, wäre ich sehr dankbar.

LoxRalf

Hallo Tom,
total super, hat auf Anhieb funktioniert. Ich nutze eine FHEM-Installation auf einem LoxBerry und möchte nun die Werte aus dem ESS in meinen Loxone Miniserver übernehmen. Ich habe nur keine Ahnung, wie nun der Miniserver "von außen", auf die Werte des ESS im FHEM zugreifen kann.
Vielleicht hast Du mir einen kurzen Tipp zu einer entsprechenden Anleitung? Bisher habe ich nichts gefunden, mit dem ich konkret was anfangen kann. Bin aber auch absoluter FHEM-Neuling...
Besten Dank im Voraus
Ralf

Morluktom