NEWS
[How-To] Goodwe Wechselrichter und Modbus TCP
-
@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)
-
@endurance Hab ich. Das Kombimodul kann Modbus TCP sowohl auf LAN als auch auf WLAN ausgeben (im Unterschied zum serienmässigen WLAN Modul, das kann kein Modbus). Ist aber (zumindest bei mir) nicht sehr stabil gelaufen. Erst als ich auf LAN gewechselt habe (und das war ein Krampf, kann ich dir sagen) war das stabil.
-
Danke für die ausführliche Doku und Rückmeldungen. Ich ergänze mal mein Feedback.
Goodwe GW10KN-ET mit Wifi Dongle
Anforderung: Daten im Smarhome an openWB (ohne Internet / ohne SEMS)
Via Modbus Adapter (RTU, TCP; RTUoverTCP) komme ich nicht an die Daten.
Der Adapter von FossyTom [FossyTom /ioBroker.goodwe] läuft gut/ausreichend.
Allerdings starte ich den Adapter regelmäßig via node-red exec (iobroker restart goodwe.0) täglich neu.
Über den Expertenmodus > Dateien habe ich das Minium für den Poll Zyklus reduziert (1s).Habe derzeit keine bessere Alternative, um an die Daten zu kommen.
Weiß jemand, ob der 5-PIN Adapter bei diesem Wechselrichter verwendet werden kann? -
@zaphood sagte in [How-To] Goodwe Wechselrichter und Modbus TCP:
PV Nettoleistung AC ist die 35138 (Total INV Power)
Total INV Power = PV Summe + ggf. Batterieentladung
-
@2schaf Ich habe eher das Problem dass der Adapter mir das SEMS Portal durch scheinbar zu viele Anfragen lahm legt. Wie klappt das dann dass die Abfragezeit bei dir bei 1s ist? Selbst mit über 2 Minuten stürzt bei mir SEMS ab und der WR zeigt Offline an. Die COM LED am WR beginnt zu blinken.
-
Weiß jemand zufällig wie ich den Hausverbrauch berechnen kann. Also den Totalen Wert?
-
sagt kann/muss ich die Modbus TCP einstellung noch irgendwo aktivieren oder reicht einfach das er im LAN/WLan hängt - natürlich mit dem LAN/WLAN Adapter.
Über WLAN gehts leider nicht.. zumindest hab ich es nicht zusammen gebracht.
-
Ich bin aktuell auch am testen des Adapters von @FossyTom.
In den Objekten tauchen die Daten für PV1 bis PV4 auf. Ich vermute dass PV1 und PV2 der MPPT1 und PV3 und PV4 der MPPT2 sind. Zumindest deute ich dies ab und zu so aus den Werten die dort ankommen. Wobei diese auch nicht immer wirklich plausibel sind.
Ich habe allerdings einen GW25K-ET. Dieser hat drei MPP Tracker und nach meinem Verständnis oben müsste ich dann noch PV5 und PV6 haben?Grundsätzlich verstehe ich was der Adapter macht und wie er funktioniert. Jedoch sitze ich gerade über der GoodWe.js des Adapters und frage mich gerade wie man auf die rcvbuf Adresse kommt?
Beispiel anhand Zeile 335:
this.#runningData.Pv1.Voltage = this.#GetUintFromByteArray(rcvbuf, 11, 2) / 10;Woher weiß ich warum gerade 11 und 2 abgefragt wird und dieser Wert der PV1 Voltage entspricht.
Ich hoffe ihr versteht was ich meine? Ich würde mir das nämlich gerne mal genauer anschauen.
LG
paeppi -
-
@paeppi sag wie hast du dein problem nun gelöst? Der Adapter von @FossyTom macht bei mir die gleichen Probleme. Ich hätte gerne beides - SEMS Portal (ist einfach schön anzusehen, wenn du bei den Schwiegereltern bist und die dich fragen wie es aussieht) und den Rest brauch ich ja für meine Steuerungen....