NEWS
[How-To] Goodwe Wechselrichter und Modbus TCP
-
-
-
Ich würde mich freuen, wenn auch Nutzer des Goodwe Adapters von @FossyTom über ihre Erfahrungen bzgl. des RAM-Bedarfes berichten würden.
Danke im Voraus
Martin
-
Hat jemand eine Idee, woher ich folgende täglichen Werte bekomme?
- Selbstnutzung
- Einspeisung
- Bezug
Zur Not auch via SEMS Portal, und nicht via Adapter von @FossyTom
Und dann gibt es ja noch den Wert EnergyDayLoad. Dieser sollte ja der tägliche Verbrauch sein.
aktuelle Werte:
20.65+13.27 = 33.92 vs 32.8, da stimmt doch auch etwas nicht, oder?
Und EnergyDaySell sollte ja Einspeisung + Selbstnutzung sein, oder?
31.73 + 13.27 = 45 vs 43.9, da stimmt auch etwas nicht, oder?
-
@endurance Ich könnte mir vorstellen, dass es sich dabei um Rundungsfehler handelt. Zum Anderen ist zu bedenken, dass die Messung von Strömen über deren Magnetfelder nicht besonders genau ist, besonders dann wenn man dazu billige Ferrite wie hier benutzt. Aber das ist in dem Bereich üblich. Wohl aus Kostengründen machen andere das auch nicht anders. Da es sich nicht um abrechnungsrelevante Daten handelt, ist es IMHO auch nicht notwendig, bis in Nachkommastellen genau zu sein. Um auf das eigene Verhalten einzuwirken, z. B darüber nachzudenken, wie man den Eigenverbrauch erhöhen kann, reicht das doch völlig aus.
-
Ich bin am Verzweifeln. Der RAM des Goodwe Adapters wächst und wächst. Jetzt sind es schon über 430 MB und ein Ende ist nicht abzusehen. Deshalb nochmal der dringende Aufruf an alle Verwender des Adapters von @FossyTom : Wie ist das bei euch? Wie geht ihr damit um? Es kann doch nicht sein, dass das bei euch nicht passiert. Und wenn wirklich nicht, sagt das bitte auch aber lasst mich nicht im Dunkeln. Bei mir hat der Adapter die aktuelle Version 1.0.4 .Der io-Broker läuft auf einem Raspi 4 mit 4 GB RAM und einer SSD als Programmspeicher. Der Wechselrichter ist ein Goodwe GW10K-ET ohne Batterie in der ebenfalls aktuellen FW-Version 1023.
Danke schon mal im Voraus!Martin
-
@merger Du bist nicht allein.
Da der Adapter momentan bei mir nur so mitrödelt, um vergleichbare Ergebnisse zu den per Modbus ausgelesenen Werten zu haben, werde ich ihn erst mal deaktivieren. Aufgefallen ist mir das bis jetzt noch nicht, da der IOBroker als VM auf nem Proxmox mit reichlich RAM läuft.
Alternativ könnte man die Instanz auch über einen Cron-Job in bestimmten Abständen neustarten. Nach einem Neustart sieh es ja erst mal gut aus.
-
@radi Danke, dann steckt dahinter wohl System und ich muss den Fehler nicht bei mir suchen. Aus lauter Verzweiflung habe ich schon versucht, den Modbusadapter zu benutzen. Den bekomme ich allerdings nicht zum Laufen. Er bleibt gelb, im Einzelnen Allerdings habe ich auch nur das standardmäßige Wifi-Modul. Oben ist die Rede davon, dass man zwingend das LAN-Modul benutzen müsse. Insofern wäre der Adapter von @FossyTom sehr interessant. Der scheint zu funktionieren aber so lange das Speicherproblem nicht gelöst ist, leider unbrauchbar. Es sei denn ich bekomme hier noch einen entscheidenden Tipp. Darf ich noch hoffen?
Martin
-
@merger Ich habe einen RS485 auf ETH Adapter von Waveshare an der RS485 an dem scheinbar nicht benutzten Stecker angeschlossen und hole mir auf diese Weise die Daten. Mit dem WLAN-Modul geht das nicht. Das Lan-Modul von Goodwe ist um einiges teuerer. Ob damit mehr Daten abrufbar sind, weiss ich nicht. Inzwischen habe ich ein kombiniertes LAN/Wlan-Modul von Goodwe gekauft, dieses aber noch nicht verbaut.
-
@fossytom Wie soll der Adapter installiert werden?
Ich arbeite mich gerade in iobroker ein, und schaffe es nicht, den Adapter zu installieren.
Ich habe zuerst, wie auf https://github.com/FossyTom/ioBroker.goodwe empfohlen "npm install iobroker.goodwe" probiert. Es gibt zwar die Erfolgsmeldung "added 4 packages, and audited 5 packages in 2s", aber dennoch wird der Adapter nicht auf der Plugin Seite von iobroker angezeigt - auch nicht nach einem Neustart.
Bei dem Versuch mit "iobroker url https://github.com/FossyTom/ioBroker.goodwe --debug" erhalte ich zum Ende des Ablaufs der Installation diese Fehlermeldungen:npm ERR! code 1 npm ERR! git dep preparation failed npm ERR! command /usr/bin/node /usr/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/home/iobroker/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run npm ERR! npm WARN using --force Recommended protections disabled. npm ERR! npm ERR! code 1 npm ERR! npm ERR! path /home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild npm ERR! npm ERR! command failed npm ERR! npm ERR! command sh -c -- node install.js npm ERR! npm ERR! node:internal/errors:478 npm ERR! npm ERR! ErrorCaptureStackTrace(err); npm ERR! npm ERR! ^ npm ERR! npm ERR! npm ERR! npm ERR! <ref *1> Error: spawnSync /home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild/bin/esbuild EACCES npm ERR! npm ERR! at Object.spawnSync (node:internal/child_process:1119:20) npm ERR! npm ERR! at spawnSync (node:child_process:847:24) npm ERR! npm ERR! at Object.execFileSync (node:child_process:890:15) npm ERR! npm ERR! at validateBinaryVersion (/home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild/install.js:90:32) npm ERR! npm ERR! at /home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild/install.js:243:5 { npm ERR! npm ERR! errno: -13, npm ERR! npm ERR! code: 'EACCES', npm ERR! npm ERR! syscall: 'spawnSync /home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild/bin/esbuild', npm ERR! npm ERR! path: '/home/iobroker/.npm/_cacache/tmp/git-cloneMXO1EP/node_modules/esbuild/bin/esbuild', npm ERR! npm ERR! spawnargs: [ '--version' ], npm ERR! npm ERR! error: [Circular *1], npm ERR! npm ERR! status: null, npm ERR! npm ERR! signal: null, npm ERR! npm ERR! output: null, npm ERR! npm ERR! pid: 87178, npm ERR! npm ERR! stdout: null, npm ERR! npm ERR! stderr: null npm ERR! npm ERR! }
Ich habe schon mit chown die Rechte so gesetzt, dass /home/iobroker und auch /opt/iobroker dem Nutzer "iobroker" gehören. Daher verstehe ich nicht, warum es ein Problem mit Zugriffsrechten gibt (EACCES).
Dann werde ich wohl erst einmal bei https://github.com/marcelblijleven/goodwe bleiben, da ich damit per Python Script problemlos alle Werte von meinem GoodWe GW6.5K-ET mit WLAN-Modul auslesen. Wäre zwar schöner, nicht per Exec-Aufruf in iobroker ein externes Script aufrufen zu müssen, und die Ausgabe parsen zu müssen, aber immerhin erhalte ich damit einen lokalen, direkten Zugriff auf alle relevanten Werte. Der Entwickler mletenay hat auch schon ein Plugin für "Home Assistant" erstellt.
Servus,
Achim -
@radi
Kannst du hierzu (Einrichtung Waveshare) einen kleinen Leitfaden schreiben? Ich denke das kann für viele eine mögliche Alternative zum Lan Dongle von Goodwe sein. Außerdem ist dies eine weitere Möglichkeit die Daten doppelt abzugreifen (Beispielsweise ioBroker + Solaranzeige).Gruß
-
@merger
Als Workaround, bis der Speicher Bug behoben wird, könntest du den Adapter mittels Script zyklisch neustarten lassen. Eventuell ist es auch möglich ab einem bestimmten Arbeitsspeicher verbrauch (Grenzwert) den Adapter neu zu starten.
Ich selbst verwende den Modbus Adapter.Gruß
-
Hat schon jamend erfahrung mit dem Kombi Modul LAN / Wifi und der Modbus Integration?
Oder funktioniert wirklich nur das reine LAN Modul?EDIT:
Hab gerade noch das hier gefunden:
https://community.goodwe.com/resources/goodwe/2021-12-14558424.pdf
-
Hi zusammen,
irgendwie passen die Werte in den Objekten nicht zu denen, die ich im SEMS Portal sehe. Ich bekomme dort z.B. angezeigt, dass ich heute 26.33 kWh verkauft habe, das Objekt goodwe.0.RunningData.EnergyDaySell hat aber bspw. den Wert 34.2
Jemand eine Idee, wie das zustande kommt? Habe ich irgend eine Umrechnung nicht bedacht?
-
Gibt es für Goodwe ET auch ein Modbus-Protokoll "Read Write" also RW statt RO in der Tabelle ?
Ich würde gerne die maximale Batteriekapazität zeitweise reduzieren, den DOD zeitweise erhöhen, so dass die Batterie nicht so lange in den Extremzuständen verharrt und somit mehr Ladezyklen verträgt.
Gleiches würde ich gerne mit der Ladeleistung machen, also wenn guter Tagessolarertrag prognostiziert ist, würde ich die Ladeleistung reduzieren.
Hat so etwas schon Mal jemand mit Goodwe gemacht ?
-
@xreactz Hallo,
da du dich ja schon eine weile mit dem Goodwe und Modbus beschäftigst, hast du evtl. eine Lösung:
Ich komme über RS485 und RTU an alle Werte die ich benötige.
Mit der Modbus Read Only Adress Liste ist das ja kein Problem.
Jetzt geht es mir aber darum auch Werte zu schreiben.
Gibt es auch eine Liste mit Adressen die man "schreiben" kann?
Ich will im Batteriemanagement den DOD (Depth of Discharge) im On-Grid Modus ändern.
Über die PV-Solar App geht das ja, ich will es nur über den IO Broker machen... -
@fossytom Erstmal vielen Dank den Adapter und Arbeit die dahinter steckt. Ich konnte problemlos installieren und starten, danach hat er alle Daten Punkte erzeugt und steht auf Grün. Leider bekomme ich keine Daten geliefert, auch nicht nach mehreren Tagen. Gibt es irgendwelche Voraussetzung auf Wechselrichter Seite? Ich habe nur das standardmäßige WLAN Modul am Goodwe 3648-EM.
-
Verbindung via WiFi/LAN Adapter läuft bei mir nun via Modbus TCP. Habe aber eine Frage zu den Werten.
Welcher ist der aktuelle Wert der Leistung der PV?Wenn ich den folgenden Screenshot nehme, String 1 und 2 (35105 + 35109) zusammenrechne, komme ich auf 8856W, was in etwa dem Wert in der PVMaster App entspricht, aber nicht dem Wert von 35138 (8516W).
Was ist genau der Wert 35138?
Und welchen Wert soll ich als Gesamt nehmen? (oder muss ich mir den via Script selbst berechnen?) -
@endurance
Die gesamte PV Nettoleistung AC ist die 35138 (Total INV Power). Passt auch mit den Werten zusammen die über die API kommen (Homeassistant hat da ne Integration dafür, so dass ich sowohl die Werte per API als auch per Modbus bekomme).Die 35105 + 35109 sind wohl die DC-Bruttoleistungen, die 35140 ist dann die AC Nettoleistung nach Wandlung und Verlusten.
35140 ist die Einspeiseleistung und 35172 ist das was als Last dranhängt (also 35138 - 35140)
Cu
Frank -
@thrill Meines Wissens hat GoodWe nur lesbare Register dokumentiert. Vermutlich gibt es auch schreibbare, nur stehen die in keiner (offiziellen) Doku (zumindest hab ich auch nach langen Recherchen keine gefunden)