NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
Hallo,
inzwischen habe ich die Input-Register für meinen SGH10RT richtig gesetzt. Wobei ich diesen per WiNET ansteueere (falls dies einen Unterschied macht). ich habe folgende Werte: Sungrow ModBus InputRegister - SH10RT.tsv
Ein Problem habe ich mit der Batterie-Leistung. Diese wird mir nur ohne Vorzeichen ausgegeben. Ich kann also nicht zwischen Laden und Entladen unterscheiden. Gerade für eine grafische Darstellung wäre dies aber hilfreich.
Hat jemand einen Tipp für mich, wie ich erkennen kann ob die Batterie geladen der entladen wird?
Vielen Dank!
@d-franz said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Hat jemand einen Tipp für mich, wie ich erkennen kann ob die Batterie geladen der entladen wird?
Ich denke, man muss die Felder untersuchen und dann entscheiden. Ich habe mir das, wie ich denke, dass es funktionieren müsste, mal als Blockly zusammengetragen

(Korrigiert: Stand: 22.2.2023 - 19:30)Korrekturen:
- In der Function "isBatteryChargingFromGrid" war der Vergleich von loadPower und exportPower verkehrt.
- In der Function "isBatteryDischarging" fehlte der untere Logikteil "falls IsBatteryCharging == falsch".
Insgesamt habe ich jetzt diese Anzeige:

- Für importierten Strom wird die Zahl rot unterlegt.
- Entladen der Batterie wird, wie hier, mit einem roten "D", laden würde mit einem gelben "C" angezeigt. Ausserdem habe ich mir mit dieser letzten Korrektur noch die Möglichkeit geschaffen anzuzeigen, ob die Batterie aus dem Netz oder von PV geladen wird.
Damit man das Programm nicht eintippen muss, füge ich den XML-Export davon bei. Dann kann jeder, der Verbesserungspotential oder Notwendigkeit von Korrekturen sieht, das anfügen (und hoffentlich hier posten).
Einfach unter Blockly importieren.
BatteryChargingDischarging.xmlGegenüber gestern habe ich die Parameterübergabe korrigiert. Außerdem das Laden aus der PV getestet. Das Skript funktioniert zumindest dafür.
Das Laden der Batterie aus dem Netz konnte ich nicht testen. Und Entladen auch nicht. -
@d-franz
Hi, ja macht einen Unterschied. Nicht alle Register können 100%ig ausgelesen werden.
z.b. die Monatsstände oder der WR Running und System Status.Was die Batterie-Leistung angeht habe ich mir so geholfen, sprich selber berechnet:
#337@manny4566
Hier noch mein Code aus Beitrag #337 wie von @manny4566 erwähnt.
Ergebnis ist ein der Datenpunkt 0_userdata.0.PV_Datenpunkte.Berechnung_Batterieentladung_negativ
unter userdata<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="(ocA``hXb:ASln87_[5i">PV Akku Be- oder Entladung</variable> </variables> <block type="on_ext" id="ehBZF8`0,PKLSMKg__PB" x="-2012" y="-487"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="0m^saRA]WjVCQ`9A%2n8"> <field name="oid">modbus.0.inputRegisters.13007_Load_power_</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="F`@4}oyq-b-2|/kYbR$U"> <field name="VAR" id="(ocA``hXb:ASln87_[5i">PV Akku Be- oder Entladung</field> <value name="VALUE"> <block type="math_arithmetic" id="1Zv4~dL0,_aGpt}7[_kP"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="d[QgpJU-{V|[)Y8g,,:@"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="5||kb1lHC-qwY!85c3KH"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="lWjzQ^1^A)~nyY4K}k/%"> <field name="NUM">1</field> </shadow> <block type="get_value" id="v|oqCDrxh=7lS_fPh~*["> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.5016_Total_DC_Power</field> </block> </value> <value name="B"> <shadow type="math_number" id="hMTHE%-|Fip{Z1M$2d7y"> <field name="NUM">1</field> </shadow> <block type="get_value" id="pQL:D)uc#*C|yW94;;1U"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.13007_Load_power_</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="LWB:(CTORxv:`-#$RF=q"> <field name="NUM">1</field> </shadow> <block type="get_value" id="E}0?u4:S)mn)6}@G9fd]"> <field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.13009_Export_power</field> </block> </value> </block> </value> <next> <block type="update" id="(TMX3NmoY?k,I8B2]p?C"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.PV_Datenpunkte.Berechnung_Batterieentladung_negativ</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="p$a.=$hGsH%AenyyxPI!"> <field name="VAR" id="(ocA``hXb:ASln87_[5i">PV Akku Be- oder Entladung</field> </block> </value> </block> </next> </block> </statement> </block> </xml>Mir freundlichen Grüßen aus Bad Friedrichshall wo ich heute um 0,1 kW an 100%-Autarkie über Nacht vorbeigeschrammt bin ;-). Eine Minute früher Sonne und es hätte gereicht
-
Hallo zusammen,
ich habe mir erlaubt für Skripte ein neues (Folge) Thema aufzumachen.
Findet ihr hier.
https://forum.iobroker.net/topic/63226/sungrow-wr-sgh10rt-modbus-ioskripte
Hoffe das passt für euch und es wird angenommen. Hier gehen evtl. interessante Skripte unter, bei aktuell über 300 Einträgen
-
Hallo zusammen,
ich habe mir erlaubt für Skripte ein neues (Folge) Thema aufzumachen.
Findet ihr hier.
https://forum.iobroker.net/topic/63226/sungrow-wr-sgh10rt-modbus-ioskripte
Hoffe das passt für euch und es wird angenommen. Hier gehen evtl. interessante Skripte unter, bei aktuell über 300 Einträgen
ich habe mir erlaubt für Skripte ein neues (Folge) Thema aufzumachen.
Die Idee ist gut, danke dafür. Aber Du solltest vielleicht eher das Blockly als Bild zeigen und den Export als File.
-
ich habe mir erlaubt für Skripte ein neues (Folge) Thema aufzumachen.
Die Idee ist gut, danke dafür. Aber Du solltest vielleicht eher das Blockly als Bild zeigen und den Export als File.
@gombersiob sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
ich habe mir erlaubt für Skripte ein neues (Folge) Thema aufzumachen.
Die Idee ist gut, danke dafür. Aber Du solltest vielleicht eher das Blockly als Bild zeigen und den Export als File.
Das sorgt sicher für mehr Übersichtlichkeit. Schaue dass ich es morgen umsetze
-
bin gerade nur am Handy
Ich hab das so gelöst
Den Datenpunkt hab ich manuell erstellt und ihn dann im Energiefluss Adapter hinterlegt
@mraiobroker : Vielen Dank! Diese Lösung gefällt mir sehr gut.
-
@mraiobroker : Vielen Dank! Diese Lösung gefällt mir sehr gut.
@d-franz said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Vielen Dank! Diese Lösung gefällt mir sehr gut.
Die Rechnung entscheidet aber nicht, ob entladen oder geladen wird. Das war doch das, was sie wissen wollten. Außerdem ist sie unnötig. Denn egal, ob geladen oder entladen wird, sagt Ihnen doch die Battery Power, wie groß die anliegende Leistung ist.
Diese drei Szenarien sehe ich gerade bei mir bzgl entladen.

Und ich habe mir mal eine Entscheidungsmatrix gemach um zu sehen, was meiner Meinung nach, bezüglich Batterieladung derzeit möglich ist:

Beides, Laden und Entladen gleichzeitig (z.B. Laden aus PV und Wietergabe an Hausnetz), ist mir noch nicht begegnet. Es macht keinen Sinn und ist vermutlich nicht möglich.Man könnte jetzt ermitteln wie sich der Ladestrom bzw Entladestrom auf die verschiedenen Quellen verteilt - das geht aber nur über den Vergleich der Zahlen.
-
@d-franz said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Vielen Dank! Diese Lösung gefällt mir sehr gut.
Die Rechnung entscheidet aber nicht, ob entladen oder geladen wird. Das war doch das, was sie wissen wollten. Außerdem ist sie unnötig. Denn egal, ob geladen oder entladen wird, sagt Ihnen doch die Battery Power, wie groß die anliegende Leistung ist.
Diese drei Szenarien sehe ich gerade bei mir bzgl entladen.

Und ich habe mir mal eine Entscheidungsmatrix gemach um zu sehen, was meiner Meinung nach, bezüglich Batterieladung derzeit möglich ist:

Beides, Laden und Entladen gleichzeitig (z.B. Laden aus PV und Wietergabe an Hausnetz), ist mir noch nicht begegnet. Es macht keinen Sinn und ist vermutlich nicht möglich.Man könnte jetzt ermitteln wie sich der Ladestrom bzw Entladestrom auf die verschiedenen Quellen verteilt - das geht aber nur über den Vergleich der Zahlen.
Doch die Rechnung kann das, weil der Export das korrekte Vorzeichen liefert
Einfach ausprobieren -
Doch die Rechnung kann das, weil der Export das korrekte Vorzeichen liefert
Einfach ausprobieren@mraiobroker said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Doch die Rechnung kann das, weil der Export das korrekte Vorzeichen liefert
Du hast recht. Ich bin auf dem Papiere jetzt mal alle Fallunterscheidungen durchgegangen. War ein bisschen Arbeit - und ja. Es stimmt!
Hier mein Beweis:
Sei PV der erzeugte Strom, LP der verbrauchte Strom und EP der Strom am Netz- PV = 0: Dann ist -EP größer oder gleich LP, denn das Haus wird aus dem Netz versorgt und vielleicht die Batterie noch geladen
das heißt zwangsläufig 0-LP-EP >=0. - PV > 0: Dann gibt es zwei Fälle:
- PV < LP: Dann muss Strom importiert werden: -EP >= PV - LP. EP versorgt also LP und lädt vielleicht auch die Batterie. PV-LP-EP>=0
- PV > LP: Dann gibt es wiederum drei Fälle:
- EP = 0: Dann ist PV-LP-0>0, die PV gibt den überschüssigen Strom an die Batterie (lädt!)
- EP > 0:
- Wenn EP > PV-LP ist, dann bedeutet das, dass Strom aus der Batterie entladen wird und PV-LP-EP<0. Passt
- Wenn EP < PV-LP ist, dann versorgt die PV sowohl das Netz (und es ist noch Strom da!) auch die Batterie: PV-LP-EP < 0. Passt auch!
- EP < 0: Das heisst es wird Strom importiert. Da PV ja größer als LP ist wird also Strom an die Batterie abgegeben, wo soll er sonst hin. PV-LP-EP>0. Passt auch.
Damit wäre das jetzt auch logisch geklärt!
- PV = 0: Dann ist -EP größer oder gleich LP, denn das Haus wird aus dem Netz versorgt und vielleicht die Batterie noch geladen
-
@mr1burns said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Wurde das Problem hier schon aufgelöst?
Das würde mich auch sehr interessieren. Mich irritieren zum Beispiel die unerwarteten Ladevorgänge der Batterie, die mir von der iSolarCloud angezeigt werden. Ich würde sie gerne mit den ModBus-Daten auch "sehen" können.
Ich schreibe über mein RaspBerryPi die Modbus Daten alle 15 Minuten als XML lokal weg (mit einem selbstgeschriebenen Java-Programm, nicht mit ioBroker).
Da habe ich heute morgen um 9:20 Uhr diesen Screenshot von iSolarCloud gemacht:

Um 9:30 zog mein Programm u.A. diese Werte:
<details value="0" unit="" name="**Running State**" address="**13000**" description="Betriebsstatus"/> <details value="624" unit="W" name="Total DC Power" address="5016" description="PV-Leistung aktuell"/> <details value="193" unit="W" name="Load Power" address="13007" description="Wirkleistung gesamt"/> <details value="-558" unit="W" name="Export power" address="13009" description="Aktuelle Leistung am Übergabepunkt des Versorgungsnetzes"/> <details value="0.5" unit="kWh" name="Daily Battery Charge Energy from PV" address="13011" description="Energie in Speicher heute"/> <details value="988" unit="W" name="Battery Power" address="13021" description="Batterieladeleistung"/> <details value="3.1" unit="%" name="Battery Level" address="13022" description="Batteriekapazität"/> <details value="-365" unit="W" name="Total Active Power" address="13033" description="Eigenverbrauch aktuell"/> <details value="0.5" unit="kWh" name="Daily Charge Energy" address="13039" description="Batterie-Ladeenergie heute"/>Der Running State ist 0 also ist auch Bit1 0. Trotzdem zeigt mir die iSolarCloud deutlich "Batterie Laden" an. (Es gibt eine zeitlich Diskrepanz zwischen Screenshot und den Daten. Leider habe ich nicht um 9:30 den ScreenShot gezogen. Trotzdem bin ich sicher, dass prinzipiell geladen wurde. Es zog sich hin und zeigte auch 9:45 noch ein ähnliches Bild).
Und es funktioniert auch logisch nicht anders.
Die PV-Anlage erzeugt 624W. Vom Netz kommen insgesamt 558W rein (-558). Den Eigenverbrauch von -365W verstehe ich nicht. Der Verbrauch ist normalerweise positiv. Wenn der Strom von der PV-Anlage komplett in diee Batterie geht, dann fehlen noch 364W (das sind ungefähr 365W - wie der Wert vom Eigenverbrauch, könnte passen). Das hiesse das Haus verbraucht 193W (558-365=193), den Wert finde ich auf Register 13007 (Load Power).Ich habe mir aus einem aktuellen Anlass mal die Zahlen zusammengesponnen. Ich krieg die Register nicht wirklich, auch nicht mit den Vorzeichen, auf die Reihe.
@gombersiob
Hallo gombersiob,
liest Du den modbus über Winet Adapter aus?
Das war mein Problem. Deshalb war bei mir auch das Running State Register permanent auf 0.
Nach Umstöpseln auf den separaten LAN Port und Umstellung der IP im ModbusAdapter wird bei mir das 13000 Register sauber befüllt.Gruß
Rana -
@gombersiob
Hallo gombersiob,
liest Du den modbus über Winet Adapter aus?
Das war mein Problem. Deshalb war bei mir auch das Running State Register permanent auf 0.
Nach Umstöpseln auf den separaten LAN Port und Umstellung der IP im ModbusAdapter wird bei mir das 13000 Register sauber befüllt.Gruß
Rana@rana said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Nach Umstöpseln auf den separaten LAN Port
Ja, das hat geholfen. Danke!
Da es hier einen Unterschied gibt, habe ich mir die Register-Werte aus WiNet-S und dem separaten LAN-Port mal angeschaut. Folgende Unterschiede sind mir aufgefallen

Es scheint mir sinnvoll zu sein, eher auf die Daten vom separaten LAN-Port zu setzen! Es scheint eher der Dokumentation zu entsprechen.
-
@rana said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Nach Umstöpseln auf den separaten LAN Port
Ja, das hat geholfen. Danke!
Da es hier einen Unterschied gibt, habe ich mir die Register-Werte aus WiNet-S und dem separaten LAN-Port mal angeschaut. Folgende Unterschiede sind mir aufgefallen

Es scheint mir sinnvoll zu sein, eher auf die Daten vom separaten LAN-Port zu setzen! Es scheint eher der Dokumentation zu entsprechen.
ich bin seit 3h am googlen und suchen, bekomme aber mein Problem nicht gelöst.
Seit ich am WE zum ersten mal erfolgreich den Akku mit 200W testweise geladen habe und alle von mir veränderten Holding Register im Anschluss auf ihren vorherigen Wert zurück gestellt habe, weigert sich mein SH10RT hartnäckig im "EMS Mode 0" den Akku zu laden.
Der Hausstrom wird ausgeregelt und ich kann den Akku auch weiterhin im "EMS Mode 2" zwangsladen - aber es fließt eben kein Strom von der PV in den Akku, wenn ich es wieder auf 0 stelle.Habe inzwischen alles mögliche probiert (außer Neustart des Systems, aber das kann ja nicht die Lösung sein?)
Hat jemand einen Tipp?Hier mal meine aktuelle Konfig.





ergibts sich zu:

und sobald ich EMS Mode auf 0 setze (alles andere bleibt gleich):

[EDIT]Achso, ich sollte noch hinzufügen, dass vor meinem ersten modbus-test alles 1A wie es sollte funktioniert hat.
-
ich bin seit 3h am googlen und suchen, bekomme aber mein Problem nicht gelöst.
Seit ich am WE zum ersten mal erfolgreich den Akku mit 200W testweise geladen habe und alle von mir veränderten Holding Register im Anschluss auf ihren vorherigen Wert zurück gestellt habe, weigert sich mein SH10RT hartnäckig im "EMS Mode 0" den Akku zu laden.
Der Hausstrom wird ausgeregelt und ich kann den Akku auch weiterhin im "EMS Mode 2" zwangsladen - aber es fließt eben kein Strom von der PV in den Akku, wenn ich es wieder auf 0 stelle.Habe inzwischen alles mögliche probiert (außer Neustart des Systems, aber das kann ja nicht die Lösung sein?)
Hat jemand einen Tipp?Hier mal meine aktuelle Konfig.





ergibts sich zu:

und sobald ich EMS Mode auf 0 setze (alles andere bleibt gleich):

[EDIT]Achso, ich sollte noch hinzufügen, dass vor meinem ersten modbus-test alles 1A wie es sollte funktioniert hat.
@mub said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
EMS Mode 2
Dazu kann ich nicht viel sagen. Ich sehe für mich derzeit keinen Anlass, die Batterie aus irgendeinem Grund zwangsladen zu wollen. Nur manchmal, wenn der Wechselrichter exportiert anstatt die Batterie zu laden, möchte ich eingreifen können. Aber wirklich viel ist es nicht, was an Energie falsch abfließt, wenn ich mir die Summen betrachte. Und ab jetzt, wo mehr Sonne zu sehen ist, ist es mir auch fast egal ob die Batterie etwas früher oder später voll geladen ist.
Bezüglich des Einflusses auf die Register würde ich, nach meinen Erfahrungen die ich direkt vor Deinem Eintrag geschildert habe, wirklich mal versuchen den Port zu wechseln. Das Verhalten, zumindest was die Auswertung der Register betrifft, ist auf dem LAN-Port anders als auf dem WiNet-S-Adapter.
Das zweite Bild aus der iSolarCloud erscheint mir aber auf den ersten Blick plausibel. Es wird genausoviel Strom erzeugt wie verbraucht wird - es bleibt also nichts zum Laden oder Exportieren.
Wobei das auch schon ein merkwürdiger Zufall ist, dass die Zahlen so genau passen. Ist PV-Power auf die Load-Power gedrosselt? Es gab ja mal die Einschränkung auf 70% Einspeisung. Die Funktionalität zum Drosseln ist also da. -
ich bin seit 3h am googlen und suchen, bekomme aber mein Problem nicht gelöst.
Seit ich am WE zum ersten mal erfolgreich den Akku mit 200W testweise geladen habe und alle von mir veränderten Holding Register im Anschluss auf ihren vorherigen Wert zurück gestellt habe, weigert sich mein SH10RT hartnäckig im "EMS Mode 0" den Akku zu laden.
Der Hausstrom wird ausgeregelt und ich kann den Akku auch weiterhin im "EMS Mode 2" zwangsladen - aber es fließt eben kein Strom von der PV in den Akku, wenn ich es wieder auf 0 stelle.Habe inzwischen alles mögliche probiert (außer Neustart des Systems, aber das kann ja nicht die Lösung sein?)
Hat jemand einen Tipp?Hier mal meine aktuelle Konfig.





ergibts sich zu:

und sobald ich EMS Mode auf 0 setze (alles andere bleibt gleich):

[EDIT]Achso, ich sollte noch hinzufügen, dass vor meinem ersten modbus-test alles 1A wie es sollte funktioniert hat.
@mub
Ich würde beides neu booten, WR und Akku
Dann lokal anmelden und die Einträge über die App vornehmen. Ggf nochmal booten -
ich bin seit 3h am googlen und suchen, bekomme aber mein Problem nicht gelöst.
Seit ich am WE zum ersten mal erfolgreich den Akku mit 200W testweise geladen habe und alle von mir veränderten Holding Register im Anschluss auf ihren vorherigen Wert zurück gestellt habe, weigert sich mein SH10RT hartnäckig im "EMS Mode 0" den Akku zu laden.
Der Hausstrom wird ausgeregelt und ich kann den Akku auch weiterhin im "EMS Mode 2" zwangsladen - aber es fließt eben kein Strom von der PV in den Akku, wenn ich es wieder auf 0 stelle.Habe inzwischen alles mögliche probiert (außer Neustart des Systems, aber das kann ja nicht die Lösung sein?)
Hat jemand einen Tipp?Hier mal meine aktuelle Konfig.





ergibts sich zu:

und sobald ich EMS Mode auf 0 setze (alles andere bleibt gleich):

[EDIT]Achso, ich sollte noch hinzufügen, dass vor meinem ersten modbus-test alles 1A wie es sollte funktioniert hat.
Ein Neustart hat das Problem nicht behoben, ich konnte es jetzt aber lösen.
wenn man im Register 13050 -> EMS_Mode_selection eine 2 ("Handsteuerung") setzt, muss man auch einen Wert für Start Charging Power Register 13052) setzen, sonst geht es nicht los.
Wenn man dann aber in den Automatikmodus zurück geht muss man das Register 13052 wieder auf 0 stellen, sonst lädt er die Batterie nicht.
Zumindest gehe ich aktuell davon aus, dass das das Problem war.
Ist mir persönlich bissl unklar warum man das so macht, hauptsache es läuft wieder alles.
-
Ein Neustart hat das Problem nicht behoben, ich konnte es jetzt aber lösen.
wenn man im Register 13050 -> EMS_Mode_selection eine 2 ("Handsteuerung") setzt, muss man auch einen Wert für Start Charging Power Register 13052) setzen, sonst geht es nicht los.
Wenn man dann aber in den Automatikmodus zurück geht muss man das Register 13052 wieder auf 0 stellen, sonst lädt er die Batterie nicht.
Zumindest gehe ich aktuell davon aus, dass das das Problem war.
Ist mir persönlich bissl unklar warum man das so macht, hauptsache es läuft wieder alles.
@mub Ich habe dieses Verhalten auch schon in der App beobachtet.
Der netzunabhängige Betrieb musste nicht nur deaktiviert werden, ich musste auch gleichzeitig den Prozentsatz des reservierten SOC auf 0% setzen. -
Ich habe Probleme mit meiner Rechnung bezüglich der Batterie.
Ich rechne einen Erwartungswert über den Füllstand aus:BatterieStand am Anfang (= Level * Kapazität / 100) + Charging in der Zeit von Anfang bis "jetzt" (Register 13040) - Discharging in der Zeit von Anfang bis "jetzt" (Register 13026) ____________________________________________________________________ = Erwarteter FüllstandVom erwarteten Füllstand ziehe ich den gerade gezeigten tasächlichen Füllstand (Level * Kapazität/100) ab und habe damit meine Verluste.
Gerade eben habe ich aber für diese Verluste einen negativen Wert - irgendwoher hat sich die Batterie gefüllt - aber ich weiß nicht woher.

Wenn ich also eine leere Batterie habe und sie mit 8,2kHh fülle, erwarte ich maximal einen Füllstand von 8,2kWh. Es sind aber, laut ModBus 9,6kWh drin (100% voll).
Kann das jemand hier erklären?
-
@reddd Hallo, hast Du fuer dass Thema mit den fehlerhaften Tageswerten am frühen Abend eigentlich ein Lösung gefunden? Habe bei mir jetzt auch soweit eingerichtet, aber das gleiche Thema, ab ca. 18 Uhr fängt er an die Tageswerte neu zu zählen. Da die Parameter aber dochueber Modus direkt aus dem WR kommen vermute ich hier doch eher eine Systemeinstellung im WR, als ob es neben der allgemeinen Systemzeit fuer den Modus noch eine abweichende gibt, denn in der iSolarCloud passen die Werte.
Im weiteren Verlauf des Threads konnte ich leider keine Lösung finden, oder? -
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 Danke für die Anleitung, leider mag das bei mir nicht funktionieren.
Ich musste bei den Eingangsregistern ein bisschen die Formatierung anpassen, aber dann waren die scheinbar Daten richtig.Bei den Objekten stehen bei mir sowohl bei den Eingangs- sowie auch bei den Holding-Registern NaN (Not a Number) for den ids und in meinem Logs sind einige Meldungen wie diese:
2023-03-19 10:18:57.165 - error: modbus.0 (3372) Invalid data inputRegisters/0: {"_address":4999,"name":"Nominal Output Power","description":"Installierte Leistung","unit":"Kw","type":"uint16be","len":"1","factor":"0.1","offset":"00","formula":"","role":"value","cw":false,"isScale":false,"deviceId":1,"address":-25002,"fullId":"modbus.0.0"}Ich verstehe aber leider nicht so ganz wo das Problem liegt …
-
Hallo zusammen ,
sagt mal hat schon jemand mal mit dem DO Anschluss des WR herumgespielt? Sungrow SH Handbuch Seite 62 Punkt 6.10 DO-Anschluss
Ich lasse da gerade meine smart grid Wärmepumpe anschließen.
Wenn ich es richtig verstehe, dann schaltet der DO bei mehr als 5min PV Überschuss sein Relais (trocken). Man kann wohl sogar einstellen bei welchem Überschuss das passieren soll....Zwischen WR DO und Wärmepumpe muss dann noch ein AC Schalter, weil man keine Lasten an den DO hängen soll.
Was aber wenn ich zusätzlich nen shelly an den DO packe das geschaltet wird wenn DO aktiv und mir damit in ioBroker sämtliche Möglichkeiten der Überschussstromnutzung eröffnet....Das wäre deutlich einfacher als das über ein Skript zu steuern, dass nach X Minuten aktiv geht. Schließlich läuft wohl im WR bereits ein Skript das man nutzen könnte...
