NEWS
Sungrow WR SGH10RT MODBUS ioSkripte
-
Hallo Zusammen,
bin seit kurzem glücklicher Besitzer einer PV Anlage (12.7 kWp) mit zwei Sungrow WR (SH8 und SG5) und einem SBR128
Gibt es die Möglichkeit, den SBR script-/ und zeitgesteuert mit einer Zwangsladung zu befüllen?
Hintergedanken der Frage ist die Kombination mit einem dynamischen Stromtarif (aWattar, Tibber,...) und der Möglichkeit, speziell in der dunklen Jahreszeit den Strombezug/Strompreis zu optimieren.
Hat hier jemand eine Idee oder einen Ansatz dafür?
VG
Alex -
@xpectives hi. Ich habe einen sungrow sh8.0rt mit sbr096. Damit ist es über die Holding register möglich eine Zwangsladung zu starten. Man kann sogar die Ladeleistung einstellen.
Holding 13050 und zwei weitere muss man dafür ändern.
Habe die Daten gerade nicht im Kopf. Aber es ist möglich!
Wie genau steht auch hier im forum. Kann leider gerade nicht nachgucken da ich unterwegs bin...
-
@carsten-sauermann
Danke für dein Feedback
Gut zu hören, dass es eine Möglichkeit gibtZugegeben... ist für mich noch alles ein wenig Neuland... aber man wächst mit den Herausforderungen
Bisher habe ich als Registerbeschreibung nur folgende Infos gefunden
https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222Allerdings fehlt hier die 13050
Edit/Gefunden
Communication.Protocol.of.Residential.Hybrid.InverterV1.0.22_20201117.pdfHast Du noch eine andere Quelle?
Grüße
Alex -
@xpectives in der pdf stehen auch die Holding register mit drin. Ich kann die meine Liste als Import für iobroker geben.
_address name description unit type len factor offset formula role room poll wp cw isScale 4999 System Clock Year Systemzeit Jahr uint16be 1 1 0 value true false false false 5000 System Clock Month Systemzeit Monat uint16be 1 1 0 value true false false false 5001 System Clock Day Systemzeit Tag uint16be 1 1 0 value true false false false 5002 System Clock Hour Systemzeit Stunde uint16be 1 1 0 value true false false false 5003 System Clock Minute Systemzeit Minute uint16be 1 1 0 value true false false false 12999 Start/Stop Start/Stop Start(CF) Stop (CF) uint16be 1 1 0 value true false false false 13001 Load Adjustment mode Energie Management Modus ON/OFF(1) / Energieoptimiert(2) uint16be 1 1 0 value true false false false 13002 Load 1 timing period 1: Start hour h uint16be 1 1 0 value true false false false 13003 Load 1 timing period 1: Start minute min uint16be 1 1 0 value true false false false 13004 Load 1 timing period 1: End hour min uint16be 1 1 0 value true false false false 13005 Load 1 timing period 1: End minute h uint16be 1 1 0 value true false false false 13006 Load 1 timing period 2: Start hour h uint16be 1 1 0 value true false false false 13007 Load 1 timing period 2: Start minute min uint16be 1 1 0 value true false false false 13008 Load 1 timing period 2: End hour h uint16be 1 1 0 value true false false false 13009 Load 1 timing period 2: End minute min uint16be 1 1 0 value true false false false 13010 Load 1 ON/OFF mode Load 1 ON/OFF mode ON(170/AA)/ OFF (85/55) uint16be 1 1 0 value true false false false 13011 Load 1 power optimized mode: Start hour h uint16be 1 1 0 value true false false false 13012 Load 1 power optimized mode: Start minute min uint16be 1 1 0 value true false false false 13013 Load 1 power optimized mode: End hour h uint16be 1 1 0 value true false false false 13014 Load 1 power optimized mode: End Minute min uint16be 1 1 0 value true false false false 13015 Optimized power of load 1 Optimized power of load 1 W uint16be 1 1 0 value true false false false 13049 EMS mode selection EMS Modus uint16be 1 1 0 value true false false false 13050 Charge/discharge command Ext. Sollvorgabe Laden170(AA)/ Stop187(BB)/ Entladen204(CC) uint16be 1 1 0 value true false false false 13051 Charge/discharge power Ext. Sollvorgabe Lade/Entladeleistung uint16be 1 1 0 value true false false false 13057 Max. SOC Max SOC % uint16be 1 0.1 0 value true false false false 13058 Min. SOC Min SOC % uint16be 1 0.1 0 value true false false false 13065 Max. discharge current Max. Entlade Strom A int16be 1 0.001 0 value true false false false 13066 Max. charge current Max. Lade Strom A int16be 1 0.001 0 value true false false false 13074 Export Power Backup Backup-Ausgang AN(170/AA) AUS(85/55h) uint16be 1 1 0 value true false false false 13079 External EMS heartbeat uint16be 1 1 0 value true false false false 13083 Start Charging Power u.U. Leistung, mit welcher ein Ladevorgang begonnen wird. Klärung erwünscht W uint16be 1 1 0 value true false false false 13084 Start Discharging Power u.U. Leistung, mit welcher ein Entladevorgang begonnen wird. Klärung erwünscht W uint16be 1 1 0 value true false false false 13085 Meter Comm. Kommunikation mit Energie Meter des WR uint16be 1 1 0 value true false false false 13086 Export Power Limitation Einspeise Limitierung AN(170/AA) AUS(85/55h) uint16be 1 1 0 value true false false false 13099 SOC Reserve SOC Reserve % uint16be 1 1 0 value true false false false
-
@carsten-sauermann
Danke Dir
Jetzt heisst es erstmal studieren -
Hallo, ich habe gesehen, dass du (genauso wie ich) zwei Dächer seperat mit PV bestückt hast. Ich addiere einfach die Werte 5016 der beiden Wechselrichter und habe dann den aktuellen Gesamtertrag.
Allerdings finde ich nicht heraus, wie ich den aktuellen Verbrauch auslesen kann. Der unter 13033 ausgelesene Werte ist konstant ca. 200W geringer als die (verzögerte) anzeige in der App.
Hast du oder alle anderen einen Tipp für mich, wie an den korrekten Wert komme?
Liebe Grüße und Danke für eure Hilfe
Ralph
-
Hi Ralf,
Ich arbeite nur mit 13007 als Verbrauch des Hauses und separat mit der Ladeleistung der Batterie.
Mein Tipp ist es, die App einfach nicht zu benutzen. wenn doch dann nicht miteinander vergleichen. Die Modus Daten sind wesentlich genauer.
Ich habe auch aufgegeben Werte die in Modbus bereits summiert werden (Gesamtverbräuche) durch die Aufaddierung der Einzelwerte nachzuvollziehen, weil das hat nie gestimmt. Es ist alles nicht 100-prozent genau.
-
@rali2011 die Werte in der App sind gemittelt Werte über die letzten paar Minuten. Daher weicht die Anzeige immer von der reellen Werten auf dem modbus ab.
-
Danke für die schnelle Antwort!
Ja die App ist sicherlich deutlich ungenauer. Aber die Daten aus 13033 sind in meinen Augen (warum auch immer...) zu gering.
Ich würde mich sehr freuen, wenn du etwas genauer darauf eingehen könntest wie du aus 13007 den Hausverbrauch berechnest. Bzw. wie - ganz allgemein - du deine Daten berechnest. Ich habe mal begonnen mich in den verschiedenen Foren einzulesen und das Thema scheint ja sehr komplex zu sein....
Liebe Grüße und vielen Dank!
-
ja bin aktuell zeitlich echt Land unter...
ich versuchs mal in aller Kürze.
Also hab den Energiefluss Adapter, der ist so konfigutiert
Datenpunkt für Batterie laden oder entladen muss leider per Datenpunkt berechnet werden, Skript siehe hier
<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>
dann noch etwas VIS und ein paar kleine einfache Berechnungen, leider alles in Gruppen gebunden und gefixt, kann ich Dir nicht so leicht sagen was ich da alles eingebunden hab.
Dachflächenertrag ist berechnetDie Flächen mach ich je Süd- und Nordseite über zwei den zwei gelben Dachlinien mit einem einfachen HTML Widget mit folgendem Inhalt
Süd {Voltsuedmppt1:modbus.0.inputRegisters.5010_MPPT_1_Voltage;Amperesuedmppt1:modbus.0.inputRegisters.5011_MPPT_1_Current;(Voltsuedmppt1*Amperesuedmppt1).toFixed(0)} WattZweite VIS geht mehr auf historische Daten, zwei echarts und ein paar Monatsdatenpunkte und Tageswerte in Form gepackt
Hoffe da kannst Du was rausziehen an Infos
Die Lampe unten rechts ist noch ganz witzig, die leuchtet in jeder View sobald Überschussstrom vorhanden ist, den berechne ich per Skript
Ich muss nun leider wieder, hoffe das hilft Dir ein wenig -
Danke für die ausführliche Zusammenfassung! Schaue ich mir Heute abend nochmals genauer an.
Aber nochmals zu meiner wegen der 13007. Gestern Abend waren da tatsächlich passende Werte (Herd + Kochfeld mal an / aus --> Werte haben sich passend geändert)
Jetzt steht da allerdings eine viel zu große Zahl. Genauso wie Gestern Nachmittag als du zum ersten mal geantwortest hast.
Da sind wir ja locker im GigaWatt bereich.... Ich weiß nur nicht, was da nicht passt.....
EDIT: Komischerweise passt es ab und zu wie jetzt gerade wieder:
ne halbe Minute Später wieder enorm große Werte
-
@rali2011
Verrückt, das habe ich noch nicht beobachtet. Ich würde die Geräte neustarten -
Kann ich die WR einfach aus und wieder an machen?! Oder muss da etwas besonderes beachtet werden...
-
@rali2011 sagte in Sungrow WR SGH10RT MODBUS ioSkripte:
Kann ich die WR einfach aus und wieder an machen?! Oder muss da etwas besonderes beachtet werden...
Ich beschäftige mich mehr mit der Software das muss jemand anderes beantworten. Im Zweifelsfall hätte ich es bei mir so gemacht, oder Sicherung weg für 20sek aber ohne Gewähr
-
Habe mit dem Chef der Firma gesprochen. Einfach "abschalten" sollte man nicht und es macht auch keinen Sinn. Es gibt da ein genaues Prozedere das eingehalten werden muss und auch einiges an Zeit in Anspruch nimmt.
Werde das Morgen testen und dann berichten ob die Werte nun passen.
Falls gewünscht kann ich die Schritte zum Neustart auch gerne hier posten!
-
@rali2011 said in Sungrow WR SGH10RT MODBUS ioSkripte:
Falls gewünscht kann ich die Schritte zum Neustart auch gerne hier posten!
Sicher, würde mich interessieren.
Ich kenne das hier: https://www.photovoltaikforum.com/thread/158136-sungrow-sammelthread-produktmanagement/?pageNo=147
Das Runterfahren geht, neben dem iSolarCloud-Zugriff auch über den lokalen WebServer des Wechselrichters.
Wobei, der Elektriker, der meine Anlage installiert hat, hat das auch an dem Last-Trenn-Schalter gemacht. Und ich seitdem auch schon zwei oder drei mal.
Worin besteht die Gefahr? Sollen Überspannungen vermieden werden. -
Hast Du echt eine nach Norden ausgerichtete Panel-Fläche? Ich habe mir das auch mit dem ioBroker-PVForecaster schon mal rechnen lassen und auch mit dem Rechner der EU.
Bei dem Rechner der EU komme ich bei Nordausrichtung noch auf knapp 2/3 des Ertrags der Südausrichtung. Das schien mir nicht gerade lohnend. Finanziell ist ja schon die Südausrichtung ein Hoffnungsprojekt.
-
@gombersiob sagte in Sungrow WR SGH10RT MODBUS ioSkripte:
ast Du echt eine nach Norden ausgerichtete Panel-Fläche?
klar, als Süd kalkuliert war hab ich gefragt was die Erweiterung auf Nord kostet und der Aufschlag war sehr günstig.
Die meisten Fixkosten waren da schon gedeckt, WR blieb bei 10KWIch hab meine Anlage für den Winter konstruiert, da will ich viel Strom, weil da bezahl ich nen Haufen Geld für Strombezug.
Also hab ich jetzt viel Dachfläche für den Winter und die zahlt voll in die Amortisationsrechnung ein - außerdem hab ich ein
sehr flaches komplett unbeschattetes Dach, muss ich erwähnen. -
@mraiobroker Danke dir für das Skript. Aber wie schon von @kklaus erwähnt, muss dies nicht über die "Runnning States" berechnet werden?
-
@casifa29 wir tun uns leichter, wenn wir mit Zitaten arbeiten, sonst weiß ich nicht welches Skript gemeint ist.
Hab oben nachgesehen, geht vermutlich um die Batterieladung.
Du kannst das berechnen wie Du willst, ich mach´s so und es funktioniert, da ich nicht mal ne running states Auflistung hab und es auch für meine Anwendung nicht nötig ist, lass ich es so.Gruß
Matthias