NEWS
[How-To] Goodwe Wechselrichter und Modbus TCP
-
@unbeliveable89 Sind das nicht die Tagessätze ? Was ist an denen denn nicht richtig ?
-
@frank-zoellner sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
@unbeliveable89 Sind das nicht die Tagessätze ? Was ist an denen denn nicht richtig ?
Ich beziehe mich hier wieder auf dem FossyTom Adapter, nicht auf Modus. Damit es hier nicht zu Verwechselungen kommt.
Einige Werte sind einfach falsch bezeichnet/verknüpft im Adapter.
EnergyDayLoad ist korrekt, das war ein Versehen von mir. Gibt die gesamte Last des Tages an.
EnergyDaySell sollte nach Definition den gesamten, verkauften Strom des Tages anzeigen. Der Wert passt aber nicht, muss man nur öfters mit SEMS vergleiche, am besten kurz vor Mitternacht.
Hierbei handelt es sich tatsächlich um den generierten Tagesstrom aus der PV-Anlage. Quasi die "PVEnergyDay minus Verlustleistung". Das ist der Tagesstrom von welchem man ausgehen sollte.Analog hierzu gibt es ja auch die korrekten Datenpunkte "PvEnergyTotal" und "EnergyTotal". Erstes ist der Strom, den die Panels generieren (DC). Zweites ist der tatsächlich zur Verfügung stehende Strom, welchen der Wechselrichter nach der Umwandlung (AC) ausspuckt. Hier habe ich auf das Jahr gesehen ca 7,5% Unterschied (= Verlustleistung).
Die Werte in der SEMS-App (Arbeite, Heutige Produktion, Monatsgenerierung, Produktion Gesamt) beziehen sich immer auf die Panels, nicht auf den tatsächlichen Strom! Das sieht man, wen man den Wert von "Heutige Produktion" mit "Selbstnutzung von PV + Verkaufen" unter Today vergleicht. Letzteres sollte immer etwas weniger sein, da es zusammengerechnet die tatsächliche Tagesleistung ergibt.
EnergyTotelBuy (im Ordner RunningData) sollte den gesamten zugekauften Strom vom Netz seit Installation der Anlage anzeigen. Passt auch nicht. Sieht mir eher nach dem Tagesbezug aus dem Netz aus.
Der selbe Datenpunktname im Ordner ExComData scheint zu passen. Wäre ja auch komisch, wenn es den Wert doppelt gäbe.
Grundsätzlich scheinen alle Daten im Ordner ExComData die Werte vom Smartmeter zu sein. Alles unter RunningData wird aus dem WR ausgelesen.
Welche Werte noch nicht korrekt sind, kann ich nicht beurteilen, ich arbeite nicht mit allen. Eine Batterie habe ich noch nicht.
VG
-
@flash sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
Wifi-/LAN-Kit funktioniert nicht
Das Dongle funktioniert für 5 Sekunden und geht dann aus - danach blinkt das Power-Symbol nur alle 5 Sekunden kurz.Immer eine feste IP eintrage. Auf der Fritzbox UND auf dem GoodWe Adapter!
-
@unbeliveable89 Hallo,
ja, ich stimme Dir zu das da einiges nicht ganz klar ist bei all den Werten.
EnergyDayBuy ist bei mir immer 0, wenn ich mit dem SEMS Portal vergleiche, denke ich das EnergyDaySell dem EnergyDayBuy entspricht (?), aber sicher bin ich mir da nicht.Der ExComData Ordner sind die Werte vom Smartmeter, soweit ich das sehe.
Was ist in dem Zusammenhang denn InverterTotalPower?
Vielleicht gibt es ja noch Nutzer des Adapters, die hier beitragen können, dass man die Werte sicher zuordnen kann ?
-
EnergyDayBuy ist bei mir auch 0.
EnergyDaySell hatte ich ja oben bereits beschrieben: das ist der zur Verfügung stehende Strom, welcher am selben Tag erzeugt wurde. Entspricht exakt der Summe aus den SEMS-Werten "Selbstnutzung von PV" und "Verkaufen". Leider sind die letzten 2 Werte nicht über den Adapter realisierbar, da nicht vorhanden. Wäre nur einer vorhanden, würde sich der andere berechnen lassen.
InverterTotalPower sollte DER Echtzeitwert sein, wieviel Strom aktuell erzeugt wird und live und jetzt zur Verfügung steht. Also "TotalPowerPv minus Leistungsverlust". Ohne Sonne steht er auf -2, das ist der Standbyverbrauch des Wechselrichters. Diese Werte über den Tag kumuliert sollten dann eben den oben genannten "EnergyDaySell" (mit falscher Bezeichnung) ergeben.
AcActivePower sollte in Echtzeit den exakten Netzbezug bzw. die Einspeisung aufzeigen - je nachdem. Ergibt sich aus "TotalPower plus/minus InverterTotalPower". Sieht man auch insbesondere Nachts gut, mit den -2w Standby des WR.
Leider scheint @FossyTom die Entwicklung des Adapters eingestellt zu haben und @paeppi verwendet nun auch den Modus-Adapter, welcher einen Fork auf Github erstellt hatte. Wirklich schade, da der Adapter ansonsten wirklich gut und ohne Probleme (bei mir mit altem only-Wifi-Adapter) läuft.
-
@flash
Also zunächst: viele Versuche. Genau nachvollziehen ist schwierig:
Um Modbus via Wifi zu realisieren:-
Kein Netzwerkkabel stecken! Nicht über die App einrichten
-
der Adapter agiert als AccessPoinz: in WLAN einwählen: 12345678; webseite 10.10.100.53. admin/admin öffnen
-
unter STA das Wifi vom Router auswählen/einrichten
-
ohne Gewähr auf die Reihenfolge: Modus STA einstellen und über die Weboberfläche „Device management“ einen Neustart durchführen.
Statische IP unter STA eintragen, neustarten, im Router statische IP eintragen. -
über diese IP erreiche ich den GW10K- ET plus über Modbus
Wenn was schief geht. Kann man den Dongle über den Standard AP erreichen und auf der 10.10.100.53 unter Device Management einen Factory Reset durchführen. Interessanterweise hat sich bei mir der Name des Wifis dadurch geänder.
Gleiches für LAN hat bei mir nicht geklappt.
-
-
Im FossyTom Adapter gibt unter Batterie den Eintrag Mode, der kann bei mir die Werte 1, 2 und 3 annehmen. Hat jemand eine Ahnung was die genau bedeuten?
@paeppi hatte ja mal Mode 1 und 2 als be- btw entladen berichtet, aber was ist mode 3 dann ?
-
@frank-zoellner sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
@paeppi hatte ja mal Mode 1 und 2 als be- btw entladen berichtet, aber was ist mode 3 dann ?
Evtl. "Standby".
-
@jb1985 hm keine Ahnung in Mode 3 hat er Saft von der PV bekommen ....
-
@frank-zoellner ich glaube das war Standby, bei solargo heißt der Wert glaub ich warten
-
@paeppi ok danke
-
-
@michi_pi
Frohe euch allen....
habe seit Ende November einen GW10KN-ET mit zwei LX F9.8-h Speichern am laufen und sammle gerade alle Modbus-Register die ich so finde....
Basis ist die GoodWE Doku Vers. 1.7 die @xReactz hier im Thread bereitgestellt hat.
Dazu Infos aus dem GitHub Projekt "goodwe" von Marcel Blijleven
Weiter Register aus den GitHub - Repos von OpenEMS
Das ganze ich noch nicht fertig...
goodwe_modbus1.tsv.csv
Aktuell unterscheide ich die verschiedenen Register-Typen nicht.Franz
-
@datzerf
Hab gestern noch eine Doku gefunden für meinen GW25K-ET. Ist zwar auch nicht mehr ganz aktuell, fehlen ein paar Register, aber vermutlich 98% ist damit so abgedeckt.
Die Doku ist für Hybrid-WR der Serie ET, EH, BT, BH, EHB, AES, ABP, BTC laut Beschreibung
ARM.745.ESG2.ET30.MODBUS.Protocol.Map.20221231.-.v1.pdf -
@michi_pi
Danke, gleiche ich bei Gelegenheit mit den vorhandenen Registern ab und ergänze was fehlt. Wenn sinnvoll werde ich eine Spalte mit einfügen die festlegt ob für ET10 oder andere Geräte der ET-Serie.
Franz -
Hallo in die Runde,
hier die Doku zu den Modbus-Registern.
Die Spalten A - O können per copy und paste für die Import-Funktion des Modbus Adapters genutzt werden.
Die Spalte P definiert ob das Register RO oder RW ist.
Die Spalte Q habe ich mit Commentaren versehen, da einige Register nicht funktionieren.
Auffällig ist, das der Adapter viele Fehler wirft, obwohl die einzelnen Register alle gelesen werden können:
"Can not set value: The value of "offset" is out of range. It must be >= 0 and <= 2. Received 30"Viel Spass damit.
Franz
-
Hi @achim,
hilf bitte mal einem "DAU" auf die Sprünge.
Ich habe mir das Python-Script auch geladen bin aber zu blöd es zu startet. Wo muss ich die Parameter eintragen und wie dann das Python-Script auf der Konsole starten?Vielen Dank im Voraus
Franz -
Sagt auf was is den bei euch die BYD Batterie mit einem Ladestrom eingestellt. Ich hab hier 12A stehen.. kann das stimmen ???
-
Kleiner Zwischenruf: Ich teste gerade einen bisher vielversprechenden Ansatz mit einer Modbus zu MQTT-Bridge (modbus-2-mqtt-bridge, auch fertig als Container für ARM, also z.B. Raspi, zu haben)
Damit kann ich einzelne Register zu unterschiedlichen Intervallen abfragen (Leistungswerte z.B. häufig, Fehlerzustände z.B. minütlich, andere Sachen nur einmal am Tag oder seltener), teilweise Codes direkt auf Strings mappen (z.B. einen Fehlermeldungscode direkt auf einen Text) und kann das u.a. in iobroker direkt weiterverwerten, aber z.B. auch in evcc und sonst wo.
Die Konfiguration für meinen GW20K-ET (also neuere ET-Serie) funktioniert.
Voraussetzung ist allerdings Modbus TCP, also das passende WiFi/LAN-Kit. Bei Interesse poste ich gerne mehr, ggf. in eigenem Thread.
-
@xreactz Sehr gute Beschreibung - aber ich verzweifele trotzdem!
Ich fange mal von hinten an: Die Kommunikation grundsätzlich funktioniert offenbar, aber ich bekomme keine Werte.
Das Protokoll sieht so aus:
Die Konfiguration:
Das Ergebnis:
Mein ioBroker läuft auf einem Rpi4, dort läuft auch der Goodwe-Adapter ohne Probleme.
Im Keller hängt ein Goodwe GW8K-ET.
Mit den Einstellungen habe ich intensiv herumprobiert (TCP vs. RTU, Port, Geräte ID, den verschiedenen Zeitparametern). Entweder änderte sich nichts, oder die Fehlermeldungen werden noch gravierender.
Ich halte "Socket closed with error" und "Clearing timeout of the current request" für die Übeltäter, finde aber leider keine weitere Informationen. Eine Vervielfachung des Timeout-Parameters bringt keine Änderung, gefühlt wird auch gar nicht gewartet.
Was kann ich noch machen?