Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Sungrow WR SGH10RT MODBUS ioSkripte

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sungrow WR SGH10RT MODBUS ioSkripte

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MRaioBroker @kklaus last edited by MRaioBroker

      @kklaus für´s Dach hab ich mit nem HTML Widget gemacht.
      Zwei Bildchen eingefügt und jeweils die Dachseiten berechnet.

      Das stimmt nicht zu 100% mit der Summe des Energieflussadapters überein, aber gut genug

      HTML Code
      Süd {Voltsuedmppt1:modbus.0.inputRegisters.5010_MPPT_1_Voltage;Amperesuedmppt1:modbus.0.inputRegisters.5011_MPPT_1_Current;(Voltsuedmppt1*Amperesuedmppt1).toFixed(0)} Watt

      Nord {Voltnordmppt2:modbus.0.inputRegisters.5012_MPPT_2_Voltage;Amperenordmppt2:modbus.0.inputRegisters.5013_MPPT_2_Current;(Voltnordmppt2*Amperenordmppt2).toFixed(0)} Watt

      1558f251-afd1-4909-a35b-1390f2aa7d5a-image.png

      K 1 Reply Last reply Reply Quote 0
      • K
        kklaus @MRaioBroker last edited by kklaus

        @mraiobroker said in Sungrow WR SGH10RT MODBUS ioSkripte:

        Süd {Voltsuedmppt1:modbus.0.inputRegisters.5010_MPPT_1_Voltage;Amperesuedmppt1:modbus.0.inputRegisters.5011_MPPT_1_Current;(Voltsuedmppt1*Amperesuedmppt1).toFixed(0)} Watt

        Danke,

        @edit
        Hat geklappt,, die Werte habe ich schon mal. War doch einfacher als ich dachte.PXL_20230502_132620744.jpg

        M 1 Reply Last reply Reply Quote 0
        • M
          MRaioBroker @kklaus last edited by

          @kklaus das ist eine Variable innerhalb des HTML Widgets, damit man die beiden Datenpunkt multiplizieren kann.
          Einfach in eine View in ein HTML Widget einfügen und gut ist

          1 Reply Last reply Reply Quote 1
          • Carsten Sauermann
            Carsten Sauermann @MRaioBroker last edited by Carsten Sauermann

            @mraiobroker sagte in Sungrow WR SGH10RT MODBUS ioSkripte:

            sehr cool, danke für den Beitrag.

            Mein Solarteur hat mir einen 10kW WR und eine 16er Anlage verbaut, erst heute weiß ich was das bedeutet und wie das Verhältnis sein sollte...

            Hab dann ECharts genutzt und es grafisch gelöst. Werde wohl den halben Sommer über den 10kW des WR liegen

            Mir war es eh wichtiger im Winter viel Strom zu haben, daher das ganze Dach voll gemacht, im Sommer nicht alles nutzen zu können.... ist dann halt so - gibt ja eh kaum Geld dafür.

            Trotzdem wichtig das zu überwachen, finde ich.

            Hier könntest du ein Programm schreiben, was anhand der Wetterdaten ermittelt, ob du heute die 10000W vermutlich knacken wirst.
            Den Akku dann mit dem Überschuss über 10000W laden. Denn das geht, der WR kann zwar "nur" 10000W, aber er kann den Rest direkt an den Akku abgeben, weil dieser Gleichstrom bekommt!
            So könntest du das Ganze zumindest noch ein wenig optimieren!

            G 1 Reply Last reply Reply Quote 0
            • G
              GombersIOB @Carsten Sauermann last edited by

              @carsten-sauermann

              Hier könntest du ein Programm schreiben

              Das Programm gibt es schon - bzw. den entsprechenden Adapter.
              Derzeit wird er zum Zeichnen eines Graphen verwendet, die Zahlen lassen sich aber bestimmt auch auswerten.

              Carsten Sauermann 1 Reply Last reply Reply Quote 0
              • Carsten Sauermann
                Carsten Sauermann @GombersIOB last edited by

                @gombersiob
                Den Adapter kenne ich. Liegt bei mir leider immer daneben.

                Ich wollte aber nicht den Adapter programmieren sondern man muss dann ein Programm schreiben was dafür sorgt, das alles was über 10k Erzeugung liegt in den Akku geht.

                Was insofern schwierig ist da man nicht weiss was vom Dach kommen könnte, da der WR ja begrenzt..
                Evtl kann man es aber anhand von MPP Spannung × MPP Strom errechnen. Ich weiss nicht ob dort die echt anliegenden Werte stehen. Kann ich auch kickt testen da mein WR nicht unterdimensioniert ist

                1 Reply Last reply Reply Quote 0
                • X
                  xpectives last edited by

                  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

                  Carsten Sauermann 1 Reply Last reply Reply Quote 0
                  • Carsten Sauermann
                    Carsten Sauermann @xpectives last edited by

                    @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...

                    X 1 Reply Last reply Reply Quote 0
                    • X
                      xpectives @Carsten Sauermann last edited by xpectives

                      @carsten-sauermann
                      Danke für dein Feedback
                      Gut zu hören, dass es eine Möglichkeit gibt 👍

                      Zugegeben... 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/543c72ef722365a3934bbad0bb43e222

                      Allerdings fehlt hier die 13050

                      Edit/Gefunden
                      Communication.Protocol.of.Residential.Hybrid.InverterV1.0.22_20201117.pdf

                      Hast Du noch eine andere Quelle?

                      Grüße
                      Alex

                      Carsten Sauermann 1 Reply Last reply Reply Quote 0
                      • Carsten Sauermann
                        Carsten Sauermann @xpectives last edited by

                        @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
                        
                        X 1 Reply Last reply Reply Quote 0
                        • X
                          xpectives @Carsten Sauermann last edited by

                          @carsten-sauermann
                          Danke Dir 👍
                          Jetzt heisst es erstmal studieren 😀

                          1 Reply Last reply Reply Quote 0
                          • R
                            rali2011 @MRaioBroker last edited by

                            @mraiobroker

                            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

                            M Carsten Sauermann 2 Replies Last reply Reply Quote 0
                            • M
                              MRaioBroker @rali2011 last edited by

                              @rali2011

                              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.

                              R 1 Reply Last reply Reply Quote 0
                              • Carsten Sauermann
                                Carsten Sauermann @rali2011 last edited by

                                @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.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rali2011 @MRaioBroker last edited by rali2011

                                  @mraiobroker

                                  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!

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MRaioBroker @rali2011 last edited by MRaioBroker

                                    @rali2011

                                    ja bin aktuell zeitlich echt Land unter...

                                    ich versuchs mal in aller Kürze.

                                    Also hab den Energiefluss Adapter, der ist so konfigutiert
                                    be35cec4-2fe3-4d88-bc63-c3012efcea06-image.png
                                    ca172005-46a3-4cef-b3bf-c74e84e2541e-image.png

                                    Datenpunkt für Batterie laden oder entladen muss leider per Datenpunkt berechnet werden, Skript siehe hier
                                    0495465d-6824-42e0-bfc3-65776b3b478b-image.png

                                    <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 berechnet

                                    281923f7-d72a-41c2-ba91-d8ff37290eaa-image.png

                                    Die 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)} Watt

                                    Zweite 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

                                    9cd603b6-776d-4e9d-b975-f21cf845840e-image.png
                                    1b1ea2a8-b686-447e-8652-9e91be988eda-image.png

                                    Die Lampe unten rechts ist noch ganz witzig, die leuchtet in jeder View sobald Überschussstrom vorhanden ist, den berechne ich per Skript
                                    e612333b-e300-4eda-b7f8-5cc72d7bebaf-image.png
                                    Ich muss nun leider wieder, hoffe das hilft Dir ein wenig

                                    R G 2 Replies Last reply Reply Quote 0
                                    • R
                                      rali2011 @MRaioBroker last edited by rali2011

                                      @mraiobroker

                                      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.

                                      Unbenannt.jpg

                                      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:

                                      90f2b3cd-b9a7-48d7-a334-74349d22a427-grafik.png

                                      ne halbe Minute Später wieder enorm große Werte

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MRaioBroker @rali2011 last edited by

                                        @rali2011
                                        Verrückt, das habe ich noch nicht beobachtet. Ich würde die Geräte neustarten

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          rali2011 @MRaioBroker last edited by

                                          @mraiobroker

                                          Kann ich die WR einfach aus und wieder an machen?! Oder muss da etwas besonderes beachtet werden...

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MRaioBroker @rali2011 last edited by

                                            @rali2011 sagte in Sungrow WR SGH10RT MODBUS ioSkripte:

                                            @mraiobroker

                                            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

                                            R 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            700
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            akku automatisierung batteriespeicher blockly javaskript photovoltaik skript smarthome sungrow wechselrichter
                                            10
                                            52
                                            5403
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo