NEWS
[How-To] Goodwe Wechselrichter und Modbus TCP
-
Hallo, ich bin neu hier und habe folgendes Problem.
Wechselrichter Goodwe ET29.9
Kann via Modbus RTU Daten lesen und auch schreiben.
Nur finde ich nicht raus, wie ich den Wechselrichter gezielt sagen kann, dass die Batterie jetzt mit einem Strom von xA geladen werden soll.
Kann mir jemand weiterhelfen? -
Hallo, ich bin neu hier und habe folgendes Problem.
Wechselrichter Goodwe ET29.9
Kann via Modbus RTU Daten lesen und auch schreiben.
Nur finde ich nicht raus, wie ich den Wechselrichter gezielt sagen kann, dass die Batterie jetzt mit einem Strom von xA geladen werden soll.
Kann mir jemand weiterhelfen?Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.
-
Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.
@michi_pi
ich habe auch das Problem das richtige Register für die Steuerung des SoC zu finden. Ich habe einen GW25 und auch die aktuelle Registerbelegung von Goodwe (hoffe ich zumindest), aber ich finde einfach nicht das Register für die Werte die in der PV-Master APP mit "Entladungstiefe Netz/netzunabhängig" einstellbar sind. Der Zugriff über Modbus funktioniert. -
Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.
Update:
Kaum habe ich mich extra angemeldet um die Frage zu stellen, schon habe ich die Register nun doch gefunden. Es sind die Register 45356 für "Entladungstiefe am Netz" und 45358 für "Entladungstiefe netzunabhängig". Beachten muß man nur, daß man im Unterschied zur APP den SoC eingeben muß. Der Wert für die Entladungstiefe ist also 100-gewünschte Entladungstiefe. -
Update:
Kaum habe ich mich extra angemeldet um die Frage zu stellen, schon habe ich die Register nun doch gefunden. Es sind die Register 45356 für "Entladungstiefe am Netz" und 45358 für "Entladungstiefe netzunabhängig". Beachten muß man nur, daß man im Unterschied zur APP den SoC eingeben muß. Der Wert für die Entladungstiefe ist also 100-gewünschte Entladungstiefe.@michi_pi said in [How-To] Goodwe Wechselrichter und Modbus TCP:
Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.
Jetzt habe ich doch noch ein Problem. Die von mir genutzte Lösung mit dem Register 45356 für "Entladungstiefe am Netz" funktioniert zwar perfekt, aber leider wirkt dieses Register nur auf die Batterie 1. Die Batterie 2 hat einen eigenen Einstellwert (siehe SolarGo-APP), für den ich das zugehörige Register aber bisher nicht gefunden habe. Falls Jemand eine Idee hat, dann immer her damit.
-
Bei mir erscheinem im Log jede Minute diese Meldungen obwohl der Datenpunkt (aktuell nur einer) richtig aktualisiert wird...
modbus.0 2025-03-04 15:51:09.572 info Disconnected from slave 192.168.178.45 modbus.0 2025-03-04 15:51:08.572 warn [DevID_247] Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2025-03-04 15:51:08.571 error Client in error state. modbus.0 2025-03-04 15:51:08.571 error Request timed out. modbus.0 2025-03-04 15:51:08.571 warn Error: undefined modbus.0 2025-03-04 15:47:08.839 info Connected to slave 192.168.178.45Was ist die Ursache?
-
Bei mir erscheinem im Log jede Minute diese Meldungen obwohl der Datenpunkt (aktuell nur einer) richtig aktualisiert wird...
modbus.0 2025-03-04 15:51:09.572 info Disconnected from slave 192.168.178.45 modbus.0 2025-03-04 15:51:08.572 warn [DevID_247] Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2025-03-04 15:51:08.571 error Client in error state. modbus.0 2025-03-04 15:51:08.571 error Request timed out. modbus.0 2025-03-04 15:51:08.571 warn Error: undefined modbus.0 2025-03-04 15:47:08.839 info Connected to slave 192.168.178.45Was ist die Ursache?
@sandmanyz Hast du die die Abfragezeit schon mal etwas erhöht? Ich frage direkt über den EMS Port ab mit 8sekunden, das ist da Minimum das bei mir funktioniert.
Mit dem WIFI/LAN Dongle musste ich mindestens 12 Sekunden einstellen. -
@sandmanyz Hast du die die Abfragezeit schon mal etwas erhöht? Ich frage direkt über den EMS Port ab mit 8sekunden, das ist da Minimum das bei mir funktioniert.
Mit dem WIFI/LAN Dongle musste ich mindestens 12 Sekunden einstellen.Welchen Wert muss ich ändern? Datenabfrageintervall (schon mit 10000ms getestet) unde/oder Leseintervall (auch schon mit 10000ms getestet).
Habe auch mal auf Serial gewechselt aber da erscheinen auch Warnungen...modbus.0 2025-03-13 18:14:24.716 info Disconnected from slave modbus.0 2025-03-13 18:14:24.666 warn [DevID_247] Poll error count: 8 code: "App Timeout" modbus.0 2025-03-13 18:14:19.465 info Connected to slave modbus.0 2025-03-13 18:13:19.451 info Disconnected from slave modbus.0 2025-03-13 18:13:19.399 warn [DevID_247] Poll error count: 7 code: "App Timeout" modbus.0 2025-03-13 18:13:14.198 info Connected to slave modbus.0 2025-03-13 18:12:14.182 info Disconnected from slave modbus.0 2025-03-13 18:12:14.130 warn [DevID_247] Poll error count: 6 code: "App Timeout" modbus.0 2025-03-13 18:11:58.878 warn [DevID_247] Poll error count: 5 code: "App Timeout" modbus.0 2025-03-13 18:11:43.625 warn [DevID_247] Poll error count: 4 code: "App Timeout" modbus.0 2025-03-13 18:11:28.372 warn [DevID_247] Poll error count: 3 code: "App Timeout" modbus.0 2025-03-13 18:11:13.120 warn [DevID_247] Poll error count: 2 code: "App Timeout" modbus.0 2025-03-13 18:10:57.867 warn [DevID_247] Poll error count: 1 code: "App Timeout" modbus.0 2025-03-13 18:10:52.664 info Connected to slave modbus.0 2025-03-13 18:10:52.196 info starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.2, js-controller: 7.0.6Hier meine aktuelle Konfiguration:



-
Welchen Wert muss ich ändern? Datenabfrageintervall (schon mit 10000ms getestet) unde/oder Leseintervall (auch schon mit 10000ms getestet).
Habe auch mal auf Serial gewechselt aber da erscheinen auch Warnungen...modbus.0 2025-03-13 18:14:24.716 info Disconnected from slave modbus.0 2025-03-13 18:14:24.666 warn [DevID_247] Poll error count: 8 code: "App Timeout" modbus.0 2025-03-13 18:14:19.465 info Connected to slave modbus.0 2025-03-13 18:13:19.451 info Disconnected from slave modbus.0 2025-03-13 18:13:19.399 warn [DevID_247] Poll error count: 7 code: "App Timeout" modbus.0 2025-03-13 18:13:14.198 info Connected to slave modbus.0 2025-03-13 18:12:14.182 info Disconnected from slave modbus.0 2025-03-13 18:12:14.130 warn [DevID_247] Poll error count: 6 code: "App Timeout" modbus.0 2025-03-13 18:11:58.878 warn [DevID_247] Poll error count: 5 code: "App Timeout" modbus.0 2025-03-13 18:11:43.625 warn [DevID_247] Poll error count: 4 code: "App Timeout" modbus.0 2025-03-13 18:11:28.372 warn [DevID_247] Poll error count: 3 code: "App Timeout" modbus.0 2025-03-13 18:11:13.120 warn [DevID_247] Poll error count: 2 code: "App Timeout" modbus.0 2025-03-13 18:10:57.867 warn [DevID_247] Poll error count: 1 code: "App Timeout" modbus.0 2025-03-13 18:10:52.664 info Connected to slave modbus.0 2025-03-13 18:10:52.196 info starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.2, js-controller: 7.0.6Hier meine aktuelle Konfiguration:



@sandmanyz hier meine Einstellung

Zu den Verbindungsparameter kann ich jetzt nichts sagen, weil ich nicht weis mit welchem Gerät du abfrägst.
-
Ich habe einen einphasigen GoodWe-Wechselrichter GW5000N-EH und wollte diesen mit Modbus in EVCC einbinden. Ich hoffe, es ist ok, wenn ich hier mein Ergebnis teile, auch wenn der der Fokus nicht IOBroker ist ;-)
Da über diesen relativ wenig bekannt ist und meistens über die "großen" Wechselrichter von GoodWe geschrieben wird, möchte ich kurz bestätigen, dass man auch diesen mit einem Modbus-Adapter wie dem Waveshare "RS485 TO POE ETH (B)" per Modbus TCP auslesen und z.B. damit in EVCC integrieren kann.
Da der ursprüngliche Beitragsersteller mir ermöglicht hat, darüber den Goodwe GW5000N-EH einzubinden und mir die entscheidenden Tipps bzw. "roten Faden" gegeben hat, möchte ich gerne das Know-How für diesen eher seltenen Wechselrichter teilen und damit etwas zurückgeben - es geht!
Der Vorteil: Gegenüber einer Einbindung rein über Homeassistant/IOBroker hinaus erhält die Modbus-Integration in EVCC das Attribut "steuerbar" - dadurch greift der Batterieentladeschutz von EVCC.
Meine Einstellungen dazu (Waveshare):
Device IP: Die IP Eures Waveshares im LAN
Work Mode: TCP-Server
Destination IP: IP des Wechselrichters im WLAN (findet Ihr z.B. über euren Router bzw. bei mir Ubiquit)
Device Port/Destination Port: 502
Baud Rate: 9600
Databits: 8
Parity None
Stopbits: 1
Flow Control: NoneProtocol (Wichtig!): Modbus TCP to RTU
EVCC:
GoodWe ET/EH/BH/BT Hybrid Inverter (OHNE Wifi)
Modbus Verbindung: Netzwerk
Modbus ID: 247 (Standardstellung gemäß SEMS+Portal)
IP-Adresse: Eure Device IP (nicht (!) die des Wechselrichters)
Port: 502
Modus-Protokoll: TCP (!)
Batteriespeichernummer: 1
Akkukapazität (so wie bei Euch)Die Einstellungen gelten in EVCC sowohl für "Hausbatterie" als auch für den "Wechselrichter"
Damit das funktioniert, muss im Wechselrichter natürlich Folgendes eingestellt sein:
Verbinden zum Wechselrichter-WLAN "Solar-Wifi...."
App Solar Go aufrufen
RS485
Modusbus TCP = aktiviert
COM-Adresse: 247
Baudrate: 9600Meine Verkabelung:
Standard-Patch-Kabel (S/FTP, TIAE 486B)
a) ein Ende an Waveshare- Orange in Port 485B (der zweite von links)
- Orange/weiß in Port 485A (der dritte von links)
(zuvor abschneiden und vorsichtig die Äderchen abmanteln, ich habe sie ohne Aderendülse verbunden)
b) anderes Ende mit RJ45 in Wechselrichter, Port Serial/485 (ggfs. die Abdeckplatte lösen)
waveshare com/wiki/ RS485_TO_POE_ETH_(B)
Test mit: mbpoll -a 247 -t 4 -r 37007 -c 2 -1 DEVICE_IP
--> 37007 ist der State of chargeWichtig: Danach funktioniert es reibungslos.
"Status prüfen" hat bei mir in EVCC ohne Ende gemeckert.
Verblüffender Weise geht es nach dem Neustart, wenn man einfach "Trotzdem speichern" klickt.Als Erklärung zu EVCC und Modbus war für mich das Youtube-Video hilfreich: Wallbox mit Waveshare über Ethernet in EVCC und Home Assistant integrieren
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden