NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
Hi zusammen,
mein SH10RT wird gerade montiert, bin schon gespannt auf die Einbindung, vielen Dank an alle die hier Input geliefert haben!
Geil wäre es natürlich, wenn man das Ganze in einen eigenen Sungrow Modbus Adapter gießen könnte, wie das beim Schwoerer Ventcube Adapter getan wurde. Modbus Basis, IP Adresse rein, ggf. Modell auswählen und der Rest geschieht im backround. So klappt das bei meiner SchwörerHaus Heizung, alle
Datenpunkte werden automatisch erstellt und gezogen.Macht auch Aktualisierungen leichter.
Leider reicht mein Fachwissen nicht aus, um das bei Github anzufragen, evtl. sind ja hier Spezialisten zu finden, die Interesse an einem solchen Projekt hätten. Für mich sicher zu spät, aber evtl. für künftige Neulinge spannend. -
@mraiobroker Hat die Einbindung in iobroker bei dir geklappt? Benötigt man das Techniker PW? In KW3/23 bekomme ich meine Anlage wollte schonmal etwas vorbereitet sein
-
Moin zusammen und frohes neues Jahr.
In der letzten Woche wurde nun meine Anlage mit 2 WR SH6RT und SH8RT angeschlossen.
Die Modbus Anbindung hat dank Euch sofort geklappt.
Ich habe aber noch ein paar Fragen zu den Registern.
Die brennenste Frage lautet,welches Register zeigt mir den aktuellen Stromverbrauch im Haus komplett an?
NAch dem was ich so lese, soll es ja "modbus.0.inputRegisters.13007_Load_Power" sein? Dort werden mir auch hablwegs vernünftige Werte angezeigt, andererseits können die Werte aber nicht so wirklich stimmen. Manchmal zeigt mir das Register einen sehr geringen Verbrauch von nur 200-300W an, was ich mir allerdings nicht vorstellen kann.Ich habe schon länger einen Shelly 3EM im Einsatz zur Verbrauchsmessung. Dieser zeigt mir immer mehr an, als das Register 13007.
Jetzt gerade ca 300W mehr
Die Differenz schwankt aber meist auch relativ stark zwischen 150-600.
Ist der Shelly so ungenau?Hier läuft jetzt der Trockner mit. Dieser wird anscheinend nicht vom Smartmeter erfasst?
Welcher Wert ist denn nun richtig? Habe ich mit 13007 das richtige Register als Verbrauch?
-
@maniac sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Welcher Wert ist denn nun richtig? Habe ich mit 13007 das richtige Register als Verbrauch?
Guten Morgen, also ich verwende auch seit Beginn das 13007er Register und hatte bisher keinen Grund daran zu zweifeln, dass er mir dort den Komplettverbrauch anzeigt. Auch, weil die Gegenrechnung aus Netzbezug, Produktion und ggf. Batterie (wenn vorhanden) auch im Ergebnis den Wert bestätigt.
Gruß
Markus -
@toki1973 sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
@mraiobroker Hat die Einbindung in iobroker bei dir geklappt? Benötigt man das Techniker PW? In KW3/23 bekomme ich meine Anlage wollte schonmal etwas vorbereitet sein
ich habe per klassischem LAN Kabel (nicht über den Wifi Dongle) angebunden und brauche dafür kein Techniker PW. Zumindest kann ich mich nicht erinnern es gebraucht zu haben.
-
@maniac sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Welcher Wert ist denn nun richtig? Habe ich mit 13007 das richtige Register als Verbrauch?
Ich glaube ich habe es. Da ich 2 WR habe, sinkt anscheinend der Wert beim Master je nachdem wieviel produziert wird.
Gleichzeitig steigt der Wert beim 2ten WR. Man muss also die Summe der beiden nehmen...
Werde ich mal weiter beobachten. -
Hallo zusammen,
ich bin neu hier und würde gerne wissen, ob ich erstmalig alle Daten im Eingangsregister manuell eingeben muss? Irgendwie funktioniert es über Copy & Paste über "Daten als TSV bearbeiten" nicht.
Vielen Dank schon mal
Edit: Habe es jetzt nach rumprobieren hinbekommen. Man kann das aus einer xlsx-Datei rauskopieren, wenn die Spalten korrekt an das TSV angepasst sind.
-
@tuning said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Jetzt würde ich gerne die Batterie Lade und Entladeleistung begrenzen.
Damit hat ja der ganze Thread wohl auch angefangen und Atlantis hat eigens dazu einen neuen Thread aufgemacht, auf dem aber nicht viel passiert ist. Ich frage mich aber, wozu will man das denn überhaupt aktiv steuern. Was ist der Beweggrund dazu?
-
@bricoleur said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
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.Ich habe eine SH8.0RT - und bin nicht sicher, ob diese "Emanzipation" sinnvoll ist. Ich finde die ModBus-Werte teilweise merkwürdig, während die iSolarCloud-Anzeige besonders bei niedrigen Werten, plausibler wirkt. Als gäbe es zwei verschiedene Quellen für die Daten.
Zum Beispiel zeigt mir die iSolarCloud sogar Entladungen aus der Batterie in Richtung Netz aus. Das finde ich sowieso, nach Wegfall der Einspeisebegrenzung, völlig abwegig. Und ich kann auch in ModBus keinen Wert finden mit dem ich das nachhalten kann. Ich habe dazu im Photovoltaikforum einen Thread aufgemacht. Das Sungrow Team hat den gesehen (hat mich auf mögliche Offset-Fehler hingewiesen, die ich aber berücksichtigt habe. Darauf wurde in diesem Thread ja oft genug hingewiesen). Aber ansonsten habe ich nichts mehr gehört.
Ein weiteres Beispiel ist die Summe des Netzverbrauchs. Für meine VIS-Anzeige errechne ich mir den aus den ModBus-Werten als Summe aus den Netz-Importen(13035), der direkten PV-Nutzung (13016) und der Batterie-Entladung (13025). Der Wert ist aber, verglichen mit iSolarCloud nur "fast" richtig. Denn die Batterie-Entladung geht auch wohl teilweise in den Export - die iSolarCloud zeigt immer niedrigere Werte für die Eigennutzung aus Batterie.
So sieht gerade mein VIS aus:
(Die Werte von "Gestern" gibts noch nicht, habe ich gerade erst aufgesetzt, sehe ich morgen!)
Besonders merkwürdig ist hier der Wert von 1,3kWh aus der Batterie. Die ist leer, wir kommen gerade aus der Nacht und haben insgesamt nur 0,5 kWh erzeugt. wie es dazu kommen kann ist mir ein völliges Rätsel. Es steht aber in den Registern, wie mir der VagaModBus-Analyzer zeigt:
Register 13025 steht auf "000D", also 13. Mit dem Faktor 0,1 wird daraus 1,3kWh,Und so meine iSolarCloud-Anzeige:
-
@atlantis sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Eingangsregister_STAND2021_02_02.txt neuster Stand
Zunächst herzlichen Dank für diese hervorragende Anleitung, die Tipps und alles was hier geliefert wurde!!
Selten so easy nen Adapter integriert.Folgendes musste ich noch anpassen. Einiges haben Daniel und andere schon erwähnt
Vielleicht kann man das nach Verifizierung einiger Mitglieder noch in Post 1 anpassen.1. Geräte ID des Wechselrichters gibt es nicht mehr in meinem Sungrow Account.
Mit der 1 hat´s funktioniert.2. Aktuelle ioBroker und Modbus Adapterversionen - Spalte 1 Geräte ID weg, Spalte Formula dazu.
@Daniel hat die Liste hier gefunden
https://gist.githubusercontent.com/dnoegel/543c72ef722365a3934bbad0bb43e222/raw/17c23638b60035d7ee9201286c95576692a29b8b/sungrow_modbus_register.tsv3. Einige Eingangsregisterwerte scheinen auch hier noch nicht ganz korrekt zu sein.
13002
müsste meines Erachtens auch Faktor 0.1 haben, so wie 13001.
An Tag 1 leicht zu erkennen, der Gesamtertrag liegt sonst um das 10fache zu hoch.13011 - müsste 0.1 sein wie bei 13012
Holdingregister
13055
13056
glaub nicht dass die Werte stimmen. 6553V und 65535 Ah, vermutlich auch Faktor 0.1 notwendig...Gruß
Matthias -
@mraiobroker said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
- Einige Eingangsregisterwerte scheinen auch hier noch nicht ganz korrekt zu sein.
Sie haben recht (mit den Eingangsregistern, Holding-Register nutze ich (noch) nicht, darüber kann ich nichts sagen). So habe ich das bei mir auch eingestellt.
Nur die Adresswerte sollten Sie in Ihrem Post noch anpassen (13002 statt 1302, z.B.)Auch die Adresse für 5003 muss man ändern. Die komplette Energie für den Eigenverbrauch ("Total Power Yields") muss, nach den Werten die ich sehe, mit dem Faktor 0.1 gewichtet werden.
Korrektur am 27.2.2023:
Falls die Register per WiNet-S Anbindung ausgelesen werden
müssen die Faktoren für 5035 (Grid Frequency) und für 13038 (Batteriekapazität) auf 0.01 sitzen ansonsten wie in der Dokumentation beschrieben, auf 0.1. -
Hallo,
erstmal vielen Dank für die Anleitung hier im Forum.
Gestern wurde mein SH10RT Hybridwechselrichter installiert. Leider will die Verbindung zum Iobroker nicht so recht klappen.Er holt sich genau einmal die Daten und auch nur eine Handvoll. Das keine Batteriedaten geliefert sind ist klar, da ich keine habe. Aber der komplette Netzbezug fehlt zum Beispiel.
Der Adapter geht auch immer nur ganz kurz auf grün um im Anschluss wieder auf gelb zu gehen.
Anbei ein Screenshot aus dem Protokoll:
Was mache ich falsch?
Vielen Dank und viele Grüße Henning
-
@gmt94 said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Was mache ich falsch?
Ob da ein grundsätzlicher Fehler vorliegt kann ich nicht sagen. Aber diese Art Abbrüche hatte ich auch schon. Der Modbus Slave scheint recht sensibel zu sein und kommt nach einem "Fehler" von selbst nicht mehr in den Tritt. Welcher Art der Fehler sein kann weiß ich nicht sicher - aber ich hatte den Eindruck, dass er auftrat, wenn ich bei den Timeouts vom Vorschlag abwich.
Geholfen hat am Ende nur das Ausschalten und Wiedereinschalten.
Das geht natürlich physisch sowieso, aber auch theoretisch über die iSolarCloud (hat bei mir irgendwie nie funktioniert, die Funktion ist aber da) und über den Direktzugang WiNet-S. -
So habe die Beiträge alle durchgeackert und verschiedene Konfiguration getestet. Nun läuft es. Habe jetzt auch die passenden IDs für meinen wechselrichter gefunden. Und es werden alle notwendigen Infos übertragen.
Vg Henning
-
Hallo,
ich habe alles nach der Anleitung istalliert und die neue Liste wie @MRaioBroker verwendet. Damit bekomme ich schon werte aus meinem Sungrow WR.
Leider erhallte ich ca. alle 5 sekunden einen Fehler im Protokoll angezeigt. Folgende Fehler werden ausgegeben:
modbus.0 2023-01-25 17:01:31.937 warn Poll error count: 6 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-25 17:01:31.936 error Client in error state. modbus.0 2023-01-25 17:01:31.936 error Request timed out. modbus.0 2023-01-25 17:01:31.935 warn Error: undefined
und
modbus.0 2023-01-25 17:01:07.909 warn Poll error count: 3 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-25 17:01:07.908 error Client in error state. modbus.0 2023-01-25 17:01:07.907 error Request timed out. modbus.0 2023-01-25 17:01:07.905 warn Error: undefined modbus.0 2023-01-25 17:01:01.851 warn Poll error count: 2 code: "App Timeout" modbus.0 2023-01-25 17:00:56.663 warn Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds modbus.0 2023-01-25 17:00:55.597 warn Poll error count: 1 code: "ReadInputRegisters: Invalid FC 132"
Danach verbindet sich der Adapter jedes Mal neu.
Hat jemand eine Idee wie ich diesen Fehler beheben kann?
Vielen Dank!
-
@d-franz Ich würde behaupten du hast einen Fehler bei den Adressen vom Eingangsregister gemacht..
"warn Poll error count: 1 code: "ReadInputRegisters: Invalid FC 132" überprüf mal ob alle Adressen im gültigen Bereich liegen.
MFG
-
Ich hab bis her noch keine Code für die Aufschlüsselung des Registers 12999 - System_State gefunden.
Daher möchte ich gerne meinen Code zu Verfügung stellen (wie immer gilt das Ein- und Ausgänge & Pfade entsprechend angepasst werden müssen). Bei Verbesserungsvorschlägen immer raus mit der Spracheconst idVar = 'modbus.0.inputRegisters.12999_System_State'; var bez = 'javascript.0.scriptEnabled.Eigene_Skripte.Solar.G01_-_SH10RT.SystemState.SystemState'; var text = "" createState(bez,"", {name: 'SystemState', read: true, write: true, desc: "Automatisch erzeugt",type: "string", role: "state"}); function dec2text(dp) { switch (dp) { case 2: text = "Stop" break; case 8: text = "Standby" break; case 16: text = "Initial Standby" break; case 32: text = "Startup" break; case 64: text = "Running" break; case 256: text = "Fault" break; case 1024: text = "Running in maintain mode" break; case 2048: text = "Running in forced mode" break; case 4096: text = "Running in off-grid mode" break; case 9473: text = "Restarting" break; case 16384: text = "Running in External EMS mode" break; default: text = "Code = " + dp + " not defined!" break; } setState(bez, text, true); } dec2text(getState(idVar).val); //Frage Zustand bei Skriptstart ab on(idVar, function(dp) { // Triggern bei Wertänderung in idVar dec2text(dp.state.val); })
Als Grundlage beziehe ich mich auf die Sungrow "Communication Protocol of Residential Hybrid Inverter"
Ihr werdet parallelen zum Script von @ostseeskipper für den Running_State feststellen, dieses hab ich hierfür umgeschrieben.
-
@gombersiob said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Zum Beispiel zeigt mir die iSolarCloud sogar Entladungen aus der Batterie in Richtung Netz aus.
Ich habe es als Problem an meine Installationsfirma gemeldet, dass:
- Strom exportiert wird, obwohl die Batterie noch nicht voll ist
- Die Batterie Strom exportiert (zumindest nach Aussage von iSolarCloud). Wie ich das mit den ModBus-Daten zeigen kann ist mir nicht klar. Woher weiß die iSolarCloud das also?
- Die Batterie importiert Strom aus dem Netz. Sie füllt sich, obwohl noch kein Strom überhaupt erzeugt wurde.
Gestern kam die Nachricht, dass dieses Verhalten bekannt sei und es inzwischen per Firmware-Upgrade behoben wurde.
Ich habe mir mit Blockly eine Überwachung geschrieben. Die hatte heute schon Alarm egschlagen. Es zeigt sich, dass heute 800 Wh exportiert, aber die Batterie nicht aufgeladen wurde. Der Installateur meint, diese Messtoleranz müsse einkalkuliert werden und solche Einspeisewerte seien unumgänglich. -
Hi, kann mir mal jemand sagen, welche Holdingregister ich beschreiben muss, um die Batterie zu einer bestimmten Zeit aus dem Netz zu laden oder um eine Zwangsladung sofort zu starten und zu beenden?
-
@blacksheep587
Kann ich zwar nicht sagen, es würde mich aber interessieren, warum man das tun wollte. Haben Sie irgendeinen Tarif in dem die Preise wechseln?