NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
Kurzbeschreibung zur Anbindung der neuen Sungrow Hybrid WR
SGH5RT- SGH10RT (5-10 KW Hybrid), Markteinführung Sep./Okt. 2020
und lt. der Beschreibung auch für folgende Modelle (ungetestet)
SH5K-20 / SH3K6 / SH4K6 / SH5K-V13
SH5K-30 / SH3K6-30 / SH4K6-30
SH5.0RS / SH3.6RS / SH4.6RS / SH6.0RS
SH10RT / SH8.0RT / SH6.0RT / SH5.0RTDie Anbindung zum IOBroker erfolgt per MODBUS.
Einen ganz großen Dank geht hiermit an die Adapter Entwickler des MODBUS und an das Technik Team der Fa. Sungrow Deutschland für die Bereitstellung der MODBUS Variablen. Das ist absolut vorbildlich!!!Grundeinstellungen des MOD Bus Adapter:
Die Modbus- Settings im Modbus Adapter bitte wie folgt wählen
--> Dann passen die Copy Paste Files der Ein und Holding Register automatisch!, da das Registeradressen Offset (+1), welches sehr häufig für Probleme sorgt, bereits berücksichtigt ist:

Hier muss natürlich die IP Adresse Eures WR eingetragen werden!
Mit dem WLAN Direkt LOGIN (und dem 3D Code) des Aufklebers auf dem WR kann der eingebaute LAN Adapter des WR aktiviert und erstellt werden. Mit diesem LOGIN kann dieser sowohl als DHCP als auch mit fester IP eingestellt werden. Ich habe den Zugang per LAN gewählt, da ich kein Freund von WLAN bin...Als Geräte ID ist die des WR selbst einzusetzen (also nicht des WLAN Adpaters) .
Diese findet man z.B. über den Cloudzugang hier:

Einstellungen zum Lesen der Eingangsregister (Read Only Werte des WR)
Zum Lesen der WR Istwerte müssen die entsprechenden gewünschten Sollwerte aus der schon funktionsfähigen Copy/Paste Liste weiter unten ausgewählt werden. Alternativ können auch testweise mal einfach alle, die darin enthalten sind übenommen werden. (Hier ein Dank auch an alle Mitbefüller dieser Liste !!!)Die zu lesenden Werte müssen per Eingangsregister angelegt werden.
Das geht über den Reiter Eingangsregister und im Eingangsregistermenü über das + Zeichen

Das leere Textfeld mit folgenden Werten des hier angehängten Textfiles befüllen:
Eingangsregister_STAND2021_02_02.txt neuster Stand
(ACHTUNG: Dazu das txt FIle zuerst downloaden und nicht aus dem Forum gleich per click öffnen, dann sind auch die Trennzeichen dabei. Nach dem DL mit Editor öffnen und per Copy & Paste einfügen)
Danach unten das Hakerl zum Übernehmen setzen und speichern!Sollten Euch noch weitere Werte fehlen, die komplette MODBUS Beschreibung von Sungrow
hat m-fuchs in diesem threat am 15.12.20 gepostet, dort könnt Ihr das Original als pdf runterladen.Schreiben der Modbus Werte via Holding Register.
Analog der Eingangsregister werden die Lese- und schreibefähigen (Holding Register) wie folgt angelegt:Das geht über den Reiter Holdingsregister und im Holdingsregistermenü über das + Zeichen
Anbei die mittlerweile recht vollständige Copy & Paste Liste
(Einen großen Dank geht an alle, die hier im Forum dazu beigetragen haben, die Fehler zu elliminieren und fehlende Werte zu ergänzen!)
Holding-Register2021_02_04.txtJetzt kommt noch ein wichtiger Punkt!
Möchte man die Holdingregister beschreiben kann dies entweder von Hand in den Objects passieren oder per Skript/Blocky. Dazu ist aber anders als bei den JS Variablen eine andere Ansteuerung erforderlich. So funktioniert es:
mit Blocky:

Wichtig ist hier den Block Baustein "Steuere" zu nehmen und unter keinen Umständen den STD Baustein "aktualisiere"
So sieht es dann per JS aus:
setState("modbus.0.holdingRegisters.13049_EMS_mode selection", 3);Wenn man z.B. mit 500 W Laden/ Entladen möchte muss man folgende Holdings beschreiben:
EMS Mode = 2 (Quasi Handsteuerung)
13084 Einmalig mit einem Startwert versehen
EMS Charge/Discharge Comand13050 wie folgt setzen:
170 (Dezimal) = AA (Hexadezimal) <=> Charge/ Laden;
187 (Dezimal) = BB: <=> Discharge / Entladen;
204 (Dezimal) 0xCC <=> Stop (Anhalten/ Default );Der Startwert 13084 muss nach meiner Erfahrung nur einmal gesetzt werden.
Um Ehrlich zu sein habe ich noch immer den Sinn dieses Registers nicht verstanden...Sobald die Werte geschrieben sind dauert es kurz (ca. 1-2s) dann legt der WR los...
Anbei meine Intervalle wie ich das ganze kontinuierlich ansteuere:
Den EMS Mode schreibe ich jede h 1x
13051 Leistungssollwert schreibe ich ca. jede Sekunde
13050 Richtung Laden/Entladen schreibe ich ebenfalls jede Sekunde.
Das ist aber sicher nur bei Veränderung wirklich erforderlich-Wenn Ihr hier Fehler in den Copy Paste Listen entdeckt oder weitere Infos zum Schreiben der Register herausgefunden habt bitte bei mir melden, ich teste dann und ergänze die Anleitung hier---
Habe einen neuen Post aufgemacht, um mit anderen zusammen eine Muster Energiemanagement Skript Lösung für die Sollwertvorgaben zu erarbeiten. Weiterlesen könnt Ihr hier:
https://forum.iobroker.net/topic/40990/batteriemanagement-energiemanagement-mit-iobrokerAllgemeines zum Sungrow WR (ohne Bezug zu IOBROKER)
Jetzt noch ein paar generelle Punkte zum WR selbst, da sich einige sicher Fragen, kann man den WR kaufen... ?
Habe ewig mit dem Webinterface und den diversen Zugangsmöglichkeiten per WLAN, APP, & Cloud gekämpft, bis ich endlich mal verstanden habe, auf welchem der 3 Wege man sich für welchen Zweck in den WR überhaupt einloggen muss. Hier besteht noch signifikantes Verbesserungspotential im User Manual um diese 3 Zugangs-Modi und deren Einschränkungen und Funktionen besser zu erklären.
Verbesserungspotential besteht auch in der Qualität der Smartphone APP und des Cloud Zugangs. Die PC APP habe ich nicht getestet.Ich finde es Schade, dass der WR kein eigenes Webintgerface mehr besitzt und man nur per APP oder Cloud zugreifen kann. Wichtige Einstellungen lassen sich nur per direktem Einloggen per WLAN am WR direkt VORORT vornehmen.
Warum es dazu nicht ein einfaches Webinterface mit PW Zugang getan hat und man wahrscheinlich wegen dem aktuellen Trend jetzt so einen APP Murgs begonnen hat, kann nur Sungrow beantworten...
Aber wenn bei Euch mit MODBUS auch erstmal die Daten sprudeln, braucht das App Gelumpe eh keiner mehr... Bin da vielleicht etwas altmodisch...
Der WR selbst macht einen super soliden Eindruck. Gerät ist massiv, klasse verarbeitet, Montagematerial wie Dübel (Fischer), Steckverbinder (Weidhaus) sind entgegen der Erwartung nicht billig sondern sehr gehobener deutscher STD!
Schon die in die Montagehalterung integrierte Wasserwagenlibelle ist vorbildlich und zeigt, dass man bei SUNGROW mitgedacht hat.Einer von meinen 2 WR brummt (Netzbrummen) auch Nachts im Standby recht laut, was ich von meinen bisherigen Kostal WR nur bei mittlerer und hoher Last kenne. In diesem Lastbereich sind die SUNGROW WR dagegen eher ruhig.
Was ich bisher beurteilen kann ist der Wirkungsgrad zumindest bei sehr geringen PV Leistungen im reinen PV Betrieb nicht der Beste, also gerade an Tagen, wo man auf jedes Watt angewiesen ist.
Der WR (10 KW) beginnt erst ab einer AC Leistung von ca. 150W seinen Dienst, wenn auf der DC Seite bereits 220 W Leistung anliegen und bei solch geringen Leistungen auch mit sehr bescheidenem Wirkungsgrad. Dieses Verhalten kann man aber auch bei anderen Hybrid WR bzw. Batteriespeichersystemen anderer Anbieter auch zu Hauf im Netz finden.
Ohne Batterie nimmt sich der Hybrid WR 23w im Standby bei Nacht.
Werde weitere Werte z.B. bei mittlerer und hoher Einspeisung und ab Dezember dann auch mit Batterie nachliefern, sobald vorhanden!!!Jetzt bleibt nur zu hoffen, dass Sungrow Deutschland seiner aktuellen sehr offenen Philosophie treu bleibt. In Australien wo die WR mit leichten Änderungen (LCD Display) bereits seit geraumer Zeit verfügbar sind wurde der Zugang zum Modbus nach einem SW Updates ohne Vorwarnung plötzlich mit PW geschütz. Das wäre ein klares "DON´T BUY THIS PRODUCT " Signal !!!!!
Momentan halte ich aber an beiden Händen die DAUMEN HOCH !!!!!
Wer schon alles so weit umgesetzt hat und gerne den codierten WR Status als Variable haben möchte hier ein super unschöne Spaghetticode Lösung, welche aber funktioniert. Wer sich in JS oder Blocky besser auskennt und eine schönere Lösung findet bitte melden, dann übernehme ich diese für die anderen hier:
Als Zielvariablen habe ich diese hier per JS Variablen angelegt.

Hier der Blocky Code für Copy/Paste:
Blocky_WR_STATUS.txtIch habe in der Zwischenzeit ein Energiemanagement für 2 WR mit 2Batterien recht stabil am laufen.
Nachdem sich die Sonne in den letzten Wochen leider nur sehr selten so stark zeigt, dass ich in den Überschuss komme würde ich das Ganze jedoch gerne noch etwas beobachten, bevor ich das teile.Ich werde auf das Thema Energiemanagement hier nicht weiter eingehen sondern in dem oben genanten Post, da das Thema HIER nicht jeder braucht.
Dennoch vorab mal ein paar Impressionen.
Bevor jetzt gleich der Shitstorm losgeht....
Thema Estethik:
Momentan sind noch Werte mit in der Anzeige, die später natürlich rausfliegen, um die Übersichtlichkeit zu erhöhen. Aktuell aber zum Fehlers uchen mal mehr reingepackt als der Übersichtlichkeit dient und mehr als erforderlich...Thema Ausregelung:
Ich habe sehr stark springende Lasten und sehr viele spontane Verbraucher, so dass ein Ausgleichen am Grid von 300-400 Watt für mich ein recht akzeptables Resultat darstellt.
Zwischen den Bildern (Screenshots) liegen natürlich weitere Sprünge im Energiebedarf.
Bei mir läuft eine Holhackschnitzelanlage, die sich im 2-10 Sekunden Rhytmus Holz aus dem Silo mit einem 1,5 KW Motor holt, da ist ständig was in Bewegung
EIgentlich müsste ich das Ganze als Video Posten, nur dabei ist zu sehen, wie der IO Broker ständig nachtarriert...

Die WR reagieren leider nicht ganz so spontan auf die Sollwerte, wie man das erhoffen würde... Hier läßt siche später in der Abfragefrequenz, dem Zeitpunkt der Abfrage von Energiemessgerät und WR usw. noch einiges optimieren. Dazu dann mehr im anderen Post...
Atlantis (Stand 18.11.20/ Letztes Update 03.02.21)
@atlantis sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
**Kurzbeschreibung zur Anbindung der neuen Sungrow Hybrid WR
Herzlichen Dank @Atlantis . Es war zwar auch im Sommer 2022 noch kein Selbstläufer, aber jetzt klappt alles.
Ich habe den Wechselrichter zwar letztendlich doch über die "richtige" LAN Buchse verbunden. Aber am längsten habe ich mit dem WiNet-S rumgemacht. Ich hab ihn schlicht in meinem (sehr großen) WLAN Netzwerk nicht gefunden weil die Hinweise auf die Sungrow MAC Adresse (beginnt mit AC:xx) halt für den WiNet nicht zutreffen. Wenn das also jemand ein Problem macht: MAC des WiNet-S Adapters beginnt bei mir mit 94:xx und er ist mit dem Namen "espressif" aufgetaucht.. hab ewig gesucht :) Vielleicht schont es die Nerven des einen oder anderen es zu wissen. -
@burberry said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Hallo,
SH10RT über Lankabel angeschlossen, nichts WiNet-S
Bekomme beim register 13007 ab und an werte die mit "4294967" beginnen.

Was dann natürlich später in Grafana nicht abbildbar ist.
habt ihr das auch oder wie habt ihr das problem gelöst ?
habe schon neues Iobroker + neu installation Modbus getestet, hat nichts funktioniert.Danke
Genau das Problem habe ich auch, seit der SG20RT neben dem SH10RT in Betrieb genommen wurde. Wie hast du das gelöst, @burberry?
Hatte Modbus erst bei beiden über das WiNet-S laufen, allerdings ging der Running State nicht mehr beim SH10RT, bin dann wieder auf den normalen LAN-Port.@jh410
Das Selbe habe ich auch. Leider keine Lösung dafür. Hast du das inzwischen gefixt bekommen?Woran seht ihr eigentlich ob der Batteriespeicher geladen oder entladen wird? Strom und Leistung wechseln nicht wie ich erwartet hatte die Vorzeichen...
Gruß
David
-
Hallo zusammen,
starre seit Monaten immer mal wieder auf diesen Thread und versuche meinen WR via Modbus in Iobroker auszuwerten. Hatte auch immer wieder das Problem mit reconnects und Fehlern.
Heute hat es endlich geklappt. Keine Ahnung, woran es am Ende lag… hier meine letzten Schritte:-
Modbus-Adapter komplett deinstalliert und neu installiert
-
Geräte ID 1, IP, Master, kein Alias. Rest wie vorkonfiguriert

-
Ich habe nicht den WiNet-Dongle benutzt (weder Wifi noch den LAN Port des Dongles) sondern den fest verbauten separaten LAN-Port des WRs
-
Die IP findet ihr bspw. in Fritzbox unter Heimnetz->Netzwerk. Wenn ihr oben rechts über den Button "+/-" die Spalte Mac-Adresse einblendet, sollte ihr die richtige IP recht fix finden, die dazugehörige Mac-Adresse beginnt mit "AC" (Achtung: das ist aber auch beim WiNet-Dongle der Fall)
-
Um zu checken ob die Kommunikation grundsätzlich funktioniert kann man bspw. Tools wie modbus-cli nutzen:
Hier wird bspw. das aktuelle Jahr zurück gegeben. Wenn das schon nicht funktioniert, habt ihr vermutlich schon ein Problem mit der Verbindung (Client-ID falsch, IP falsch...). Aber Achtung: Verschwendet aber nicht zu viel Zeit darauf, damit "richtige" Werte wie aktuellen Ertrag auszulesen. Über das CLI-Tool habe ich bis heute keine oder unplausible Werte, man kann da mit Word Swap etc pp. viel falsch machen und denkt dann, es funktioniert irgendwas grundlegendes nicht, obwohl man nur die Datentypen falsch hat -
Den Fehler
On error: {"errno":-104,"code":"ECONNRESET","syscall":"read"}habe ich anfänglich immer wieder gehabt - und jetzt innerhalb weniger Tage mehrfach. Einmal hat ein Firmware-Update des WR das Problem gelöst (vll. aber auch nur wg. des damit zusammenhängenden Neustarts); gerade eben habe ich in meinem Zyxel-Switch das vom WR kommende LAN-Kabel in einen anderen Port gesteckt - und direkt wieder eine funktionierende Verbindung gehabt. Arbeitshypothese wäre in dem Fall, dass der Switch auf dem Port dicht gemacht hat?? -
Das TSV Format bzgl. der Register hat sich wohl verändert mittlerweile. Hier der Stand, der bei mir funktioniert hat: https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222. Wenn ihr dort auf "Raw" klickt, kommt ihr direkt zur Datei.
-
Versucht nicht zu lange von Hand drei handverlesene Register zum Laufen zu bringen, wenn ihr euch nicht sicher seit, dass ihr die Datentypen richtig getroffen habt: Die TSV funktioniert, bringt das Ding erstmal rein und schaut dann, welche Werte ihr bekommt.
-
In der Sungrow App kann man wunderbar sehen, welche Ströme von wo nach wo fließen. In den Modbus-Daten sieht man eher, welche Ströme an welche Quelle anliegen. Möchte man sehen, ob die Batterie geladen oder entladen wird, muss man den "Running State" interpretieren (Register 13000). Die Information ist binary, d.h. das Checken á la "Wenn Wert = 25" kann man sich sparen. Hier mein Ansatz in Blockly:
Hoffe das hilft etwas weiter. Vielen Dank auch nochmal an @Atlantis fürs Zusammentragen der Infos + alle anderen die mitüberlegt und mitrecherchiert haben!
Daniel
-
-
Hallo zusammen,
starre seit Monaten immer mal wieder auf diesen Thread und versuche meinen WR via Modbus in Iobroker auszuwerten. Hatte auch immer wieder das Problem mit reconnects und Fehlern.
Heute hat es endlich geklappt. Keine Ahnung, woran es am Ende lag… hier meine letzten Schritte:-
Modbus-Adapter komplett deinstalliert und neu installiert
-
Geräte ID 1, IP, Master, kein Alias. Rest wie vorkonfiguriert

-
Ich habe nicht den WiNet-Dongle benutzt (weder Wifi noch den LAN Port des Dongles) sondern den fest verbauten separaten LAN-Port des WRs
-
Die IP findet ihr bspw. in Fritzbox unter Heimnetz->Netzwerk. Wenn ihr oben rechts über den Button "+/-" die Spalte Mac-Adresse einblendet, sollte ihr die richtige IP recht fix finden, die dazugehörige Mac-Adresse beginnt mit "AC" (Achtung: das ist aber auch beim WiNet-Dongle der Fall)
-
Um zu checken ob die Kommunikation grundsätzlich funktioniert kann man bspw. Tools wie modbus-cli nutzen:
Hier wird bspw. das aktuelle Jahr zurück gegeben. Wenn das schon nicht funktioniert, habt ihr vermutlich schon ein Problem mit der Verbindung (Client-ID falsch, IP falsch...). Aber Achtung: Verschwendet aber nicht zu viel Zeit darauf, damit "richtige" Werte wie aktuellen Ertrag auszulesen. Über das CLI-Tool habe ich bis heute keine oder unplausible Werte, man kann da mit Word Swap etc pp. viel falsch machen und denkt dann, es funktioniert irgendwas grundlegendes nicht, obwohl man nur die Datentypen falsch hat -
Den Fehler
On error: {"errno":-104,"code":"ECONNRESET","syscall":"read"}habe ich anfänglich immer wieder gehabt - und jetzt innerhalb weniger Tage mehrfach. Einmal hat ein Firmware-Update des WR das Problem gelöst (vll. aber auch nur wg. des damit zusammenhängenden Neustarts); gerade eben habe ich in meinem Zyxel-Switch das vom WR kommende LAN-Kabel in einen anderen Port gesteckt - und direkt wieder eine funktionierende Verbindung gehabt. Arbeitshypothese wäre in dem Fall, dass der Switch auf dem Port dicht gemacht hat?? -
Das TSV Format bzgl. der Register hat sich wohl verändert mittlerweile. Hier der Stand, der bei mir funktioniert hat: https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222. Wenn ihr dort auf "Raw" klickt, kommt ihr direkt zur Datei.
-
Versucht nicht zu lange von Hand drei handverlesene Register zum Laufen zu bringen, wenn ihr euch nicht sicher seit, dass ihr die Datentypen richtig getroffen habt: Die TSV funktioniert, bringt das Ding erstmal rein und schaut dann, welche Werte ihr bekommt.
-
In der Sungrow App kann man wunderbar sehen, welche Ströme von wo nach wo fließen. In den Modbus-Daten sieht man eher, welche Ströme an welche Quelle anliegen. Möchte man sehen, ob die Batterie geladen oder entladen wird, muss man den "Running State" interpretieren (Register 13000). Die Information ist binary, d.h. das Checken á la "Wenn Wert = 25" kann man sich sparen. Hier mein Ansatz in Blockly:
Hoffe das hilft etwas weiter. Vielen Dank auch nochmal an @Atlantis fürs Zusammentragen der Infos + alle anderen die mitüberlegt und mitrecherchiert haben!
Daniel
Ich werde in absehbarer Zeit auch einen Sungrow WR bekommen. Mein Installateur möchte wohl das Techniker PW nicht rausrücken. Ist das ein Standard PW?
Was soll ich den einstellen lassen sofern ich nicht an das PW komme, damit ich auf den Bus zugreifen kann? -
-
Ich werde in absehbarer Zeit auch einen Sungrow WR bekommen. Mein Installateur möchte wohl das Techniker PW nicht rausrücken. Ist das ein Standard PW?
Was soll ich den einstellen lassen sofern ich nicht an das PW komme, damit ich auf den Bus zugreifen kann?@toki1973 sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Ich werde in absehbarer Zeit auch einen Sungrow WR bekommen. Mein Installateur möchte wohl das Techniker PW nicht rausrücken. Ist das ein Standard PW?
Was soll ich den einstellen lassen sofern ich nicht an das PW komme, damit ich auf den Bus zugreifen kann?Jetzt muss ich aufpassen, dass ich mich nicht falsch erinnere. Aber ich denke bei mir war es so, dass der Zugriff über das WiFi Modul auf dem Standard-PW belassen wurde. Viel wichtiger bei mir war aber im Nachhinein der Zugriff über das normale LAN Kabel auf den LAN Port (nicht der, in dem das Wifi Modul steckt). Denn dort hat der Zugriff mittels Modbus Adapter am besten funktioniert. Und soweit ich weiß, gibt es dafür kein Name/PWD sondern geht direkt immer. Nebenbemerkung: es ist Deine Anlage. "nicht herausrücken von Zugriff" würde ich nicht akzeptieren.
-
Ich werde in absehbarer Zeit auch einen Sungrow WR bekommen. Mein Installateur möchte wohl das Techniker PW nicht rausrücken. Ist das ein Standard PW?
Was soll ich den einstellen lassen sofern ich nicht an das PW komme, damit ich auf den Bus zugreifen kann? -
Hallo zusammen,
starre seit Monaten immer mal wieder auf diesen Thread und versuche meinen WR via Modbus in Iobroker auszuwerten. Hatte auch immer wieder das Problem mit reconnects und Fehlern.
Heute hat es endlich geklappt. Keine Ahnung, woran es am Ende lag… hier meine letzten Schritte:-
Modbus-Adapter komplett deinstalliert und neu installiert
-
Geräte ID 1, IP, Master, kein Alias. Rest wie vorkonfiguriert

-
Ich habe nicht den WiNet-Dongle benutzt (weder Wifi noch den LAN Port des Dongles) sondern den fest verbauten separaten LAN-Port des WRs
-
Die IP findet ihr bspw. in Fritzbox unter Heimnetz->Netzwerk. Wenn ihr oben rechts über den Button "+/-" die Spalte Mac-Adresse einblendet, sollte ihr die richtige IP recht fix finden, die dazugehörige Mac-Adresse beginnt mit "AC" (Achtung: das ist aber auch beim WiNet-Dongle der Fall)
-
Um zu checken ob die Kommunikation grundsätzlich funktioniert kann man bspw. Tools wie modbus-cli nutzen:
Hier wird bspw. das aktuelle Jahr zurück gegeben. Wenn das schon nicht funktioniert, habt ihr vermutlich schon ein Problem mit der Verbindung (Client-ID falsch, IP falsch...). Aber Achtung: Verschwendet aber nicht zu viel Zeit darauf, damit "richtige" Werte wie aktuellen Ertrag auszulesen. Über das CLI-Tool habe ich bis heute keine oder unplausible Werte, man kann da mit Word Swap etc pp. viel falsch machen und denkt dann, es funktioniert irgendwas grundlegendes nicht, obwohl man nur die Datentypen falsch hat -
Den Fehler
On error: {"errno":-104,"code":"ECONNRESET","syscall":"read"}habe ich anfänglich immer wieder gehabt - und jetzt innerhalb weniger Tage mehrfach. Einmal hat ein Firmware-Update des WR das Problem gelöst (vll. aber auch nur wg. des damit zusammenhängenden Neustarts); gerade eben habe ich in meinem Zyxel-Switch das vom WR kommende LAN-Kabel in einen anderen Port gesteckt - und direkt wieder eine funktionierende Verbindung gehabt. Arbeitshypothese wäre in dem Fall, dass der Switch auf dem Port dicht gemacht hat?? -
Das TSV Format bzgl. der Register hat sich wohl verändert mittlerweile. Hier der Stand, der bei mir funktioniert hat: https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222. Wenn ihr dort auf "Raw" klickt, kommt ihr direkt zur Datei.
-
Versucht nicht zu lange von Hand drei handverlesene Register zum Laufen zu bringen, wenn ihr euch nicht sicher seit, dass ihr die Datentypen richtig getroffen habt: Die TSV funktioniert, bringt das Ding erstmal rein und schaut dann, welche Werte ihr bekommt.
-
In der Sungrow App kann man wunderbar sehen, welche Ströme von wo nach wo fließen. In den Modbus-Daten sieht man eher, welche Ströme an welche Quelle anliegen. Möchte man sehen, ob die Batterie geladen oder entladen wird, muss man den "Running State" interpretieren (Register 13000). Die Information ist binary, d.h. das Checken á la "Wenn Wert = 25" kann man sich sparen. Hier mein Ansatz in Blockly:
Hoffe das hilft etwas weiter. Vielen Dank auch nochmal an @Atlantis fürs Zusammentragen der Infos + alle anderen die mitüberlegt und mitrecherchiert haben!
Daniel
@daniel Ich beabsichte mir auch einen WG SGH10RT mit Speicher zuzulegen.
Eine generelle Frage ist für mich: kann der Zählerwert aus IOBroker per Modbus übergeben werden.
Ich möchte ungern mein bestehendes Setup bezüglich des Netzzählers ändern. -
-
@daniel Ich beabsichte mir auch einen WG SGH10RT mit Speicher zuzulegen.
Eine generelle Frage ist für mich: kann der Zählerwert aus IOBroker per Modbus übergeben werden.
Ich möchte ungern mein bestehendes Setup bezüglich des Netzzählers ändern.@flieder Verstehe ich das richtig: Du möchtest Daten, die in Iobroker sind, an andere Systeme übergeben via Modbus? Ich benutze es bisher nur lesend, zu der Richtung kann ich leider nichts sagen. Eigentlich bekommt man seine Daten aus Iobroker ja immer gut raus - will nur bzgl. Modbus nichts falsches sagen, das Protokoll scheint mir seine Tücken zu haben 😅
Aber wenn das die Idee ist, könntest du die Daten ja auch direkt via Modbus aus dem WR auslesen, vll. habe ich dich noch missverstanden? -
Hallo zusammen,
starre seit Monaten immer mal wieder auf diesen Thread und versuche meinen WR via Modbus in Iobroker auszuwerten. Hatte auch immer wieder das Problem mit reconnects und Fehlern.
Heute hat es endlich geklappt. Keine Ahnung, woran es am Ende lag… hier meine letzten Schritte:-
Modbus-Adapter komplett deinstalliert und neu installiert
-
Geräte ID 1, IP, Master, kein Alias. Rest wie vorkonfiguriert

-
Ich habe nicht den WiNet-Dongle benutzt (weder Wifi noch den LAN Port des Dongles) sondern den fest verbauten separaten LAN-Port des WRs
-
Die IP findet ihr bspw. in Fritzbox unter Heimnetz->Netzwerk. Wenn ihr oben rechts über den Button "+/-" die Spalte Mac-Adresse einblendet, sollte ihr die richtige IP recht fix finden, die dazugehörige Mac-Adresse beginnt mit "AC" (Achtung: das ist aber auch beim WiNet-Dongle der Fall)
-
Um zu checken ob die Kommunikation grundsätzlich funktioniert kann man bspw. Tools wie modbus-cli nutzen:
Hier wird bspw. das aktuelle Jahr zurück gegeben. Wenn das schon nicht funktioniert, habt ihr vermutlich schon ein Problem mit der Verbindung (Client-ID falsch, IP falsch...). Aber Achtung: Verschwendet aber nicht zu viel Zeit darauf, damit "richtige" Werte wie aktuellen Ertrag auszulesen. Über das CLI-Tool habe ich bis heute keine oder unplausible Werte, man kann da mit Word Swap etc pp. viel falsch machen und denkt dann, es funktioniert irgendwas grundlegendes nicht, obwohl man nur die Datentypen falsch hat -
Den Fehler
On error: {"errno":-104,"code":"ECONNRESET","syscall":"read"}habe ich anfänglich immer wieder gehabt - und jetzt innerhalb weniger Tage mehrfach. Einmal hat ein Firmware-Update des WR das Problem gelöst (vll. aber auch nur wg. des damit zusammenhängenden Neustarts); gerade eben habe ich in meinem Zyxel-Switch das vom WR kommende LAN-Kabel in einen anderen Port gesteckt - und direkt wieder eine funktionierende Verbindung gehabt. Arbeitshypothese wäre in dem Fall, dass der Switch auf dem Port dicht gemacht hat?? -
Das TSV Format bzgl. der Register hat sich wohl verändert mittlerweile. Hier der Stand, der bei mir funktioniert hat: https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222. Wenn ihr dort auf "Raw" klickt, kommt ihr direkt zur Datei.
-
Versucht nicht zu lange von Hand drei handverlesene Register zum Laufen zu bringen, wenn ihr euch nicht sicher seit, dass ihr die Datentypen richtig getroffen habt: Die TSV funktioniert, bringt das Ding erstmal rein und schaut dann, welche Werte ihr bekommt.
-
In der Sungrow App kann man wunderbar sehen, welche Ströme von wo nach wo fließen. In den Modbus-Daten sieht man eher, welche Ströme an welche Quelle anliegen. Möchte man sehen, ob die Batterie geladen oder entladen wird, muss man den "Running State" interpretieren (Register 13000). Die Information ist binary, d.h. das Checken á la "Wenn Wert = 25" kann man sich sparen. Hier mein Ansatz in Blockly:
Hoffe das hilft etwas weiter. Vielen Dank auch nochmal an @Atlantis fürs Zusammentragen der Infos + alle anderen die mitüberlegt und mitrecherchiert haben!
Daniel
Hallo zusammen,
erst mal
@Atlantis Danke für die tolle Anleitung und das Zusammentragen der Registereinträge.
@daniel Ebenfalls danke für weitere gute infos.Ich bin seit knapp 2 Wochen Besitzer eines WR SH10RT und schließlich seit 2 Tagen ist auch die Batterie angeschlossen.
Via IoBroker werden die Daten des WRs per Modbus erfolgreich ausgelesen. Ich hatte die Hoffnung das der Running State die korrekten Werte nach Anschluss der Batterie liefern würde - leider nein!
Dieser bleibt weiter 0.Meine Konfig und Daten:



QModMaster zeigt ebenfalls 0:

Laut diesem und dem Photovoltaik Forum ist dies wohl ein Problem an der Firmware des WLAN Dongles, das bei mir ebenfalls im Einsatz ist.
Firmware-Versionen:


Meine Frage ist nun:
Ist ein Wechsel vom Wifi(LAN) Dongle auf den alternativen LAN Port ohne Probleme möglich? Also bleiben die Einstellungen und die Verbinung zur Cloud ohne Eingriff erhalten?
Hat jemand danach Probleme mit Verbindungsabbrüchen gehabt? In anderen Foren berichten Leute über Timing-Probleme in Kombi mit der Cloud.Außerdem zum Thema Firmware:
Lohnt sich ein Update und ist es empfehlenswert diese regelmäßig einzuspielen oder sind diese eher mit Vorsicht zu genießen?
Ich kann schlecht bewerten ob meine Firmware-Versionen vom Dongle und vom WR recht aktuell oder eher veraltet sind.Danke und Grüße,
Marcel
Ergänzung 31.10.2022
Ich habe es gewagt den LAN Port anzuschließen - allerdings ohne Erfolg.
Erwartung war: Cloud + Modbus und Running State funktionieren und liefern Ergebnisse.Ist-Zustand:
LAN via Dongle
IP im Netzwerk: Ja (IP: 10.55.0.1)
Cloud: Ja
Modbus: Ja
Running State: Nein (= 0)Test-Zustand 1:
LAN an separaten Port + Dongle angeschlossen aber ohne Verbindung
IP im Netzwerk: Ja (IP: 10.55.0.2)
Cloud: Nein
Modbus: Keine Verbindung
Running State: unbekanntTest-Zustand 2:
LAN an separaten Port + Dongle angeschlossen mit WLAN verbunden
IP im Netzwerk: (JA) nur Dongle (IP: 10.55.0.3)
Cloud: Nein
Modbus: Nein
Running State: unbekanntTest-Zustand 3:
LAN an separaten Port + Dongle angeschlossen mit LAN verbunden
IP im Netzwerk: (JA) nur Dongle (IP: 10.55.0.1)
Cloud: JA
Modbus: JA (via Dongle)
Running State: weiterhin 0, da Zugriff via DongleDer separate LAN Port scheint bei mir nur eine IP Adresse im Netz zu bekommen, wenn der Dongle weder LAN noch WLAN Zugriff hat. Die Cloud bekommt dann aber keine Daten mehr. Zugriff via QModMaster auf LAN IP hat aber trotzdem nicht geklappt.
Hat jemand eine Idee und kann mir helfen, wie ich evt. ohne Dongle am LAN Port Cloud Zugriff + Modbus eingerichtet bekomme und hoffentlich dann auch den Running_State auslesen kann?
-
-
Nachdem ich sonst immer nur mit Fragen komme, möchte ich hiermit mal was zurück geben.
Habe mit viel Try & Error den SUngrow WR Typ SGH10RT (10Kw Hybrid) mit Modbus eingebunden.
Wenn ich Zeit habe werde ich ein komplettes How To dazu verfassen, sollte jemand schon vorher Bedarf haben einfach melden.
Gruss
Atlantis
Hallo, ich habe den SMA Wechselrichter.
Der ist von der Hardware Baugleich.Das Auslesen diverser Modbus daten funktioniert mit Iobroker
Jetzt würde ich gerne die Batterie Lade und Entladeleistung begrenzen.
Die sollte über die Register 44433 CmpBMS.BatChaMaxW und 44437 CmpBMS.BatDschMaxW funktionieren.
Leider nimmt der Wechselrichter es nicht an wenn ich unter Objekte z.B. 2000W eintrage.
Hast du ne Idee? -
Hallo liebe Foristen,
ich stelle mich mal vor als Betreiber eines Sungrow SH6.0RT, der sich von der isolar-cloud emanzipieren möchte und sich gerade mühsam in das Thema "modbus" einarbeitet.
Bisher ist es mir gelungen, den iobroker auf einem ubuntu-System (Thinkpad) zu installieren und die Eingangsregister des Wechselrichters auszulesen.Hierzu gleich meine erste Frage:
Ich habe beide Schnittstellen des WR (LAN bzw. WiNet-S) ausprobiert. LAN liefert plausible Daten, dis- bzw. reconnected aber im Sekundentakt. Ist das so normal?
Beim Auslesen mit WiNet-S bleibt die Verbindung permanent, dafür sind die gelieferten Daten unsinnig.Im nächsten Schritt möchte ich die Daten (analog der Darstellung in der isolar-cloud) visualisieren.
Vielleicht möchte mir ja der eine oder andere hier ein Tip geben, damit ich mich nicht zu tief in "trial-and-error" verstricke;).
Besten Dank schon mal im Voraus!
-
Hallo liebe Foristen,
ich stelle mich mal vor als Betreiber eines Sungrow SH6.0RT, der sich von der isolar-cloud emanzipieren möchte und sich gerade mühsam in das Thema "modbus" einarbeitet.
Bisher ist es mir gelungen, den iobroker auf einem ubuntu-System (Thinkpad) zu installieren und die Eingangsregister des Wechselrichters auszulesen.Hierzu gleich meine erste Frage:
Ich habe beide Schnittstellen des WR (LAN bzw. WiNet-S) ausprobiert. LAN liefert plausible Daten, dis- bzw. reconnected aber im Sekundentakt. Ist das so normal?
Beim Auslesen mit WiNet-S bleibt die Verbindung permanent, dafür sind die gelieferten Daten unsinnig.Im nächsten Schritt möchte ich die Daten (analog der Darstellung in der isolar-cloud) visualisieren.
Vielleicht möchte mir ja der eine oder andere hier ein Tip geben, damit ich mich nicht zu tief in "trial-and-error" verstricke;).
Besten Dank schon mal im Voraus!
Die Übertragung zur Cloud übers WiNet-S
Den LAN Anschluss am SH10RT für Modbus. Nicht alle Daten abfragen die gehen sondern nur die die du wirklich brauchst und lass dem WR 5 - 10 sec Pause zwischen den Abfragen.Meine Vis über 3 WR sieht so aus

Die Strings selber so

plus die des Energiemanagments

Nur mal so als Anregung. Modbus Adapter, SQL Adapter und widgets von @Scrounger
-
@ostseeskipper
danke für die Tips!Unterbricht denn der Modbusadapter auch bei dir alle paar Sekunden die Verbindung, wenn du den LAN-Port zur Abfrage verwendest?
Mit dem SQL-Adapter und den Widgets von Scrounger werde ich mich jetzt mal befassen.
Verwendest du für deine Visualisierung auch den VIS-Adapter?
-
@ostseeskipper
danke für die Tips!Unterbricht denn der Modbusadapter auch bei dir alle paar Sekunden die Verbindung, wenn du den LAN-Port zur Abfrage verwendest?
Mit dem SQL-Adapter und den Widgets von Scrounger werde ich mich jetzt mal befassen.
Verwendest du für deine Visualisierung auch den VIS-Adapter?
@bricoleur
Habe keine Modbus Unterbrechungm nicht im SH10(LAN Port) und auch nicht im SG10.
Nur der kleine SG3 mit einen EthernetStick steigt genau alle 5 Minuten aus wenn er versucht nach Hause zu funken.
SQL nehm ich für die Datenspeicherung. da gibts aber auch noch anderes.
Ja die Visualisierung ist mit VIS. -
@bricoleur
Habe keine Modbus Unterbrechungm nicht im SH10(LAN Port) und auch nicht im SG10.
Nur der kleine SG3 mit einen EthernetStick steigt genau alle 5 Minuten aus wenn er versucht nach Hause zu funken.
SQL nehm ich für die Datenspeicherung. da gibts aber auch noch anderes.
Ja die Visualisierung ist mit VIS.Servus Zusammen,
ich habe einen SH10RT schon länger erfolgreich über Modubus eingebunden.
Jetzt wollte ich einen SG10RT über den WiNet-S Stick ebenfalls einbinden.
Hab alles gleich gemacht, nur natürlich mit einer anderen IP und Modubus ID.
Verbindung wird im IO-Broker als "true" angezeigt. Aber leider sind alle Werte "0".
Kann man für den SG10RT die gleichen Eingangsregister verwenden wie für den SH10RT ?Danke schon mal im Vorraus :)
-
Servus Zusammen,
ich habe einen SH10RT schon länger erfolgreich über Modubus eingebunden.
Jetzt wollte ich einen SG10RT über den WiNet-S Stick ebenfalls einbinden.
Hab alles gleich gemacht, nur natürlich mit einer anderen IP und Modubus ID.
Verbindung wird im IO-Broker als "true" angezeigt. Aber leider sind alle Werte "0".
Kann man für den SG10RT die gleichen Eingangsregister verwenden wie für den SH10RT ?Danke schon mal im Vorraus :)
@jolly
Der SG10RT hat andere Register.
Hier z.B. meine Leseregister, schreibend macht da ja kein Sinn_address name description unit type len factor offset formula role room cw isScale 5002 Daily_Output_Energy Eigene Energienutzung heute (PV & Akku) Kwh uint16be 1 0.1 0 value false false 5003 Total_Output_Energy Eigene Energienutzung gesamt (PV & Akku) Kwh uint32sw 2 1 0 value false false 5005 Total_running_time Betriebstunden h uint16be 1 1 0 value false false 5007 Inside_Temperature Innenlufttemperatur °C int16be 1 0.1 0 value false false 5010 MPPT_1_Voltage MPPT1 Spannung V uint16be 1 0.1 0 value false false 5011 MPPT_1_Current MPPT1 Strom A uint16be 1 0.1 0 value false false 5012 MPPT_2_Voltage MPPT 2 Spannung V uint16be 1 0.1 0 value false false 5013 MPPT_2_Current MPPT 2 Strom A uint16be 1 0.1 0 value false false 5016 Total_DC_Power PV-Leistung aktuell W uint32sw 2 1 0 value false false 5030 Total_active_power Total active power W uint32sw 2 1 0 value false falseAls TSV Daten einfügen, dann sollte es so aussehen.

-
@jolly
Der SG10RT hat andere Register.
Hier z.B. meine Leseregister, schreibend macht da ja kein Sinn_address name description unit type len factor offset formula role room cw isScale 5002 Daily_Output_Energy Eigene Energienutzung heute (PV & Akku) Kwh uint16be 1 0.1 0 value false false 5003 Total_Output_Energy Eigene Energienutzung gesamt (PV & Akku) Kwh uint32sw 2 1 0 value false false 5005 Total_running_time Betriebstunden h uint16be 1 1 0 value false false 5007 Inside_Temperature Innenlufttemperatur °C int16be 1 0.1 0 value false false 5010 MPPT_1_Voltage MPPT1 Spannung V uint16be 1 0.1 0 value false false 5011 MPPT_1_Current MPPT1 Strom A uint16be 1 0.1 0 value false false 5012 MPPT_2_Voltage MPPT 2 Spannung V uint16be 1 0.1 0 value false false 5013 MPPT_2_Current MPPT 2 Strom A uint16be 1 0.1 0 value false false 5016 Total_DC_Power PV-Leistung aktuell W uint32sw 2 1 0 value false false 5030 Total_active_power Total active power W uint32sw 2 1 0 value false falseAls TSV Daten einfügen, dann sollte es so aussehen.

Danke für die Antwort. Leider war das nicht das Problem. Bekomme weiterhin keine Werte.
Es werde auch keine Adressen für die einzelnen Register angelegt sondern nur NaN.
Hat jemand eine Idee was ich hier falsch mache ?

-
Danke für die Antwort. Leider war das nicht das Problem. Bekomme weiterhin keine Werte.
Es werde auch keine Adressen für die einzelnen Register angelegt sondern nur NaN.
Hat jemand eine Idee was ich hier falsch mache ?

@jolly
Wie sehen denn deine Grundeinstellungen aus?

So hab ich keine Probleme.Was sagt das Log im Debug Modus?
-
@jolly
Wie sehen denn deine Grundeinstellungen aus?

So hab ich keine Probleme.Was sagt das Log im Debug Modus?
@ostseeskipper
Habe den "Fehler" gefunden :)
Ich bin davon ausgegangen wenn ich 2 Wechselrichter am Modbus habe muss ich auch 2 verschiedene Geräte ID´s vergeben. Deshalb hab ich dem Hybridwechselrichter die ID: 1 gegeben und dem 2. Wechselrichter die ID:2.
Jetzt habe ich dem 2. Wechselrichter auch die ID: 1 gegeben nun klappt es komischerweise.
