Anbindung eines Sungrow Hybrid Wechselrichter SH 10 RT

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • IFLUR
    LoxBus Spammer
    • 07.01.2016
    • 392

    #1

    Anbindung eines Sungrow Hybrid Wechselrichter SH 10 RT





  • FRECH
    LoxBus Spammer
    • 07.08.2017
    • 262

    #2
    Der Link geht nicht mehr. Gibt es einen Aktuellen?

    Kommentar

    • Pflock
      Smart Home'r
      • 13.02.2021
      • 60

      #3
      Zitat von FRECH
      Der Link geht nicht mehr. Gibt es einen Aktuellen?
      Sungrow Wechselrichter - LoxWiki - LoxWiki (atlassian.net)

      und

      Hallo zusammen, Ich habe 2 Wechselrichter bei mir verbaut ( 1x SG10 + 1xSH10 von Sungrow) und versuche nun eine Kommunikation zwischen diesen und Loxone herzustellen. Im Loxwiki habe ich hierzu etwas gefunden aber die dort aufgelisteten Modbus-Register sind nur Read Werte. Ich benötige auch eine Write Funktion da ich den


      (Beim zweiten hab ich das Register PDF hinzugefügt, falls welche Details noch gebraucht werden)

      Kommentar

      • beteigeuze
        Smart Home'r
        • 25.08.2015
        • 95

        #4
        Habe die Anbindung meines Wechselrichters SH10.0RT samt BYD HVS 12,8 and den Energiemonitor laut Wiki durchgeführt.
        Ein Problem ist dabei aufgetreten, und zwar ist der Wert der Speicherladung / Speicherentladung (Modbus Register Battery Power 13022) leider ein unsigned Integer. Dadurch kann der Energiemonitor nicht automatisch zwischen Laden und Entladen unterscheiden.



        Achtung in Lox mit Nr. 13021 als Modbussensor anlegen ... wegen Modbus ... 0 ist das 1. Register ...

        Es gibt aber ein Register Running State (13001) in dem die nötigen Infos bzgl. Laden / Entladen in den Bits 2 und 3 verfügbar sind. siehe Registerbeschreibung und Anlage Modbus Register Anhang 2

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Running State 13001.png Ansichten: 0 Größe: 57,6 KB ID: 358838
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Running State Appendix 1.2.png Ansichten: 0 Größe: 125,8 KB ID: 358839

        In der Config sind nun diese beiden Werte geeignet zu verknüpfen, um zu einer vorzeichenbasierten Speicherleistung zu kommen und diese an den Energiemonitor anzubinden :
        Der Running State (Byte) wird durch den Binärdekoder in die einzelnen Bits aufgeteilt und im folgenden Formelbaustein der Leistungswert "Battery Power" in den vorzeichenbasierten Lade/Entladewert umgewandelt. Formel: (I1*I3)-(I1*I2)

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Energiemonitor Config.png Ansichten: 0 Größe: 326,0 KB ID: 358840
        Hier nun die Darstellung des Ladevorganges (grüne Linie zw. Produktion und Batterie)
        bedeutet: dass die Batterieleistung am Energiemonitor Eingang Ps negativ ist.

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Energiemonitor.png Ansichten: 0 Größe: 33,5 KB ID: 358910

        Modbus Register SHXXRT TI_20211231_Communication Protocol of Residential Hybrid Inverter_V1.0.23_EN.pdf

        HG Bert

        PS: Im Wiki schaffe ich es derzeit nicht einen Account anzulegen und den Artikel zu ergänzen.
        Stefan Löwemann: kannst gerne meine Inhalte rüberkopieren ... falls Zeit und Lust ...
        Zuletzt geändert von beteigeuze; 28.09.2022, 12:23.

        Kommentar

        • cheesy2210
          Azubi
          • 20.08.2022
          • 4

          #5
          Hallo,

          Das mit der Batterie funktioniert super mit dem Binärdekoder habe nur die Abfrage des Running State auf 13000 ändern müssen! Danke

          Hast du evtl. auch eine Lösung für den Gwpr Eingang beim Energiemonitor?
          Mache derzeit über 13009 die Abfrage! Bekomme aber immer nur einen - Wert!

          lg

          Kommentar

          • IFLUR
            LoxBus Spammer
            • 07.01.2016
            • 392

            #6

            Ptot : 13001 | 4 - Read input register(3x) | 32-bit floating point
            Validierung Eingangswert 2 = 1 | Zielwert 2 = 0,1

            ppwr : 5016 | 4 - Read input register(3x) | 32-bit floating point
            Validierung Eingangswert 2 = 100 | Zielwert 2 = 0,1

            Gi : 13007 |4 - Read input register(3x) | 32-bit floating point
            Validierung Eingangswert 2 = 10 | Zielwert 2 = 0,01

            Gpwr : 13009 |4 - Read input register(3x) | 32-bit floating point
            Validierung Eingangswert 2 = 100 | Zielwert 2 = MINUS - 0,1

            GESpwr : 5016 |4 - Read input register(3x) | 32-bit floating point
            Validierung Eingangswert 2 = 100 | Zielwert 2 = 0,1

            SoC . 13022 |4 - Read input register(3x) | 16-bit unsigned integer
            Validierung Eingangswert 2 = 10 | Zielwert 2 = 1


            Batterieladeleistung 13021 | 4 - Read input register(3x) | 16-bit unsigned integer
            Formel: ((I1*I3)-(I1*I2))/1000

            Kommentar

            • RolandMalzner
              Azubi
              • 12.01.2023
              • 2

              #7
              Hallo im Forum.
              Bei mir hat alles geklappt nur beim "Running State" bekomme ich den Wert 0 raus. Somit weiß ich nicht ob ich importiere oder exportiere

              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 5770
Größe: 30,0 KB
ID: 375554

              Danke

              MFG
              Roland

              Kommentar

              • kofi1990
                Extension Master
                • 21.03.2017
                • 165

                #8
                Bei mir funktioniert der Runningstate. Unterschied zur deiner Config: der Haken bei "16-Bit Register" ist nicht drinnen.

                Den Running State musst du dann noch in die einzelnen Bits zerlegen. Ich hab da lang gebraucht um das herauszufinden. Um dir das ganze herumsuchen zu ersparen:

                Den Running State auf den Baustein "Formel"
                mit folgender Formel:
                I1-int(I1/256)*256

                Den Ausgang "R" auf einen Binärdecoder Baustein.

                Dann erhältst du 8 Ausgänge:
                O1 = PV Produktion (Ein/Aus)
                O2 = Batterie lädt (Ein/Aus)
                O3 = Batterie entlädt (Ein/Aus)
                O4 = Verbraucher (Ein/Aus)
                O5 = Einspeisung Netz (Ein/Aus)
                O6 = Bezug Netz (Ein/Aus)
                O7 = Reserver (nicht belegt)
                O8 = Negative Load power (so wie ich das Verstehe: Verbraucher speisen ein - benötige ich nicht).

                Den Running State benötige ich für die korrekte Anzeige der Batterie.
                Grund: Die Battery-Power wird immer positiv angezeigt (bei Ladung und Entladung).
                Über den Status-Baustein habe ich dann die Ladung der Batterie negativ gesetzt und die Entladung positiv.

                EDIT: haha, grad gesehen, dass der running state im Beitrag 4 bereits gut dokumentiert ist 😂​

                LG
                Angehängte Dateien
                Zuletzt geändert von kofi1990; 23.01.2023, 10:29.

                Kommentar


                • Chris-to-ian
                  Chris-to-ian kommentierte
                  Kommentar bearbeiten
                  Hey,
                  danke für die tolle Erklärung habe es gerade selber umgesetzt und funktioniert echt super
              • polo6n
                Smart Home'r
                • 04.11.2016
                • 47

                #9
                Hi,

                also ich habe alles ausprobiert, was ihr hier geschrieben habt, einmal mit Adresse 13000 und 13001, zuerst hatte es anscheinend mit 13001 geklappt, aber dann seit ich in Loxone was geändert hatte und der Miniserver einen Neustart gemacht hatte, läuft nichts mehr. Ich bekomme es einfach nicht hin, dass der Akku anständig im Energieflussmonitor angezeigt wird:-( Vielleicht könntet Ihr mir nochmal bissl unter die Arme greifen. Habe auch den Binärdekodierer und die Formeln genau so drin.... Aber er spuckt mir jetzt hinter dem Formelbaustein keine Zahlen mehr aus....

                Kommentar


                • kofi1990
                  kofi1990 kommentierte
                  Kommentar bearbeiten
                  1. Ich glaub zwar nicht dass es daran liegt, aber bei der Eingangskorrektur hab ich 0, 0, 10, 10. bei deinem Screenshot seh ich den letzten Punkt nicht mehr. Die letzten beiden müssten jedenfalls 10,10 oder 100,100 sein.
                  2. Wechselrichter neu starten (mit der sungrow App und dem Direktzugriff)
                  3. Keine Ahnung. Man sieht ja, dass die Modbusverbindung klappt, da die anderen Werte übermittelt werden.

                  Das Problem liegt jedenfalls nicht an deinem Binärdekoder, oder den Formeln. Es kommt am Anfang schon nichts an.
                  Wenn der Wert mal übermittelt wird, sollte der Rest auch passen (so auf den ersten blick)
                  Zuletzt geändert von kofi1990; 01.02.2023, 18:36.
              • kofi1990
                Extension Master
                • 21.03.2017
                • 165

                #10
                13000 ist schon richtig. 13001 ist "Daily PV Generation".

                Alle Registernummen im Dokument minus 1
                Angehängte Dateien

                Kommentar

                • Makimilator
                  Extension Master
                  • 08.09.2022
                  • 114

                  #11
                  Hallo,

                  ich habe leider auch das problem mit Runningstate... ich bekomme nur den Wert: 0
                  Eine Fehlermeldung bekomme ich nicht. Kann mir hier jemand helfen?


                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 5621
Größe: 75,2 KB
ID: 377842
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 5566
Größe: 14,9 KB
ID: 377843

                  Desweiteren würde mich Interessieren ob es irgendeine Möglichkeit gibt den Systemstatus (12999) auszulesen bzw. zu dekodieren?

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 5578
Größe: 5,3 KB
ID: 377845
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 5633
Größe: 72,8 KB
ID: 377844


                  Auch bei den Fehlerstatuse bekomme ich nur "0" - kann aus der Doku nicht entnehmen ob das nun OK ist, da kein Fehler vorliegt, oder die Werte unplausibel sind.
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 5671
Größe: 15,3 KB
ID: 377846

                  Vielen Dank!
                  Christian

                  Kommentar

                  • RolandMalzner
                    Azubi
                    • 12.01.2023
                    • 2

                    #12
                    Ich hab jetzt was in einem anderen Forum gelesen das nicht alle Daten am Winet S auslesbar sind. Wr hat einen 2. NETZWERKANSCHLUSS. Dort sollen alle Modus Parameter auslesbar sein. Hab es aber noch nicht probiert.

                    Kommentar

                    • polo6n
                      Smart Home'r
                      • 04.11.2016
                      • 47

                      #13
                      Zitat von RolandMalzner
                      Ich hab jetzt was in einem anderen Forum gelesen das nicht alle Daten am Winet S auslesbar sind. Wr hat einen 2. NETZWERKANSCHLUSS. Dort sollen alle Modus Parameter auslesbar sein. Hab es aber noch nicht probiert.
                      Genau so muss man es machen!!! Also über das WiNet bekomme ich den Wert nicht raus aber vom WR direkt schon, also einen 2. Modusserver angelegt und dann dort die andere IP Adresse eingegeben und siehe da, der spuckt den Wert aus!!!!

                      Kommentar


                      • Makimilator
                        Makimilator kommentierte
                        Kommentar bearbeiten
                        Vielen Dank euch für den Tipp, ich habe gerade mal ein Netzwerkkabel angeschlossen, allerdings wird mir hier nichts im Router angezeigt. D.h. ich finde die IP Adresse nicht raus. Muss man hier noch was aktivieren?
                    • polo6n
                      Smart Home'r
                      • 04.11.2016
                      • 47

                      #14
                      Ich habe an meinem Router nachgesehen, welcher Port dort belegt ist und dann die IP auf dem Router rausgesucht, sollte bei dir auch so machbar sein…

                      Kommentar


                      • Makimilator
                        Makimilator kommentierte
                        Kommentar bearbeiten
                        Leider nicht. Ich habe es über einen Switch laufen, dort sehe ich den Port un nicht die IP. Normal sehe ich im Router im Netzwerk alles was am Switch hängt. aber ich sehe den Sungrow nur einmal.. und zwar die IP die ich bisher verwendet habe übers WiNet.

                        So wie ich euch verstehe müsste allergings der WR ein zweites mal auftauchen mit einer neuen IP. Das macht er nicht.
                        Muss ich "auser Anstecken" des Netzwerkkabels noch irgendwas beachten?
                    • kofi1990
                      Extension Master
                      • 21.03.2017
                      • 165

                      #15
                      Also zur Klarstellung:
                      Der Netzwerkanschluss hinten ist der Modbusanschluss. Darüber bekommt man alle Daten.
                      Der Netzwerkanschluss, wo der WiNet Stick drinnen ist ist der "normale" LAN Anschluss. Dieser ist für Modbus nur bedingt geeignet.

                      Normalerweise bekommt der Wechselrichter nach Einstecken des LAN Kabels automatisch eine IP für die Modbus Schnittstelle.
                      Diese sollte eigentlich in der Clientliste des Routers sichtbar sein. Ansonsten kann auch noch ein IP Scanner verwendet werden.
                      Ich nutze Unifi und habe den Wechselrichter 3x sichtbar.
                      1x IP WLAN
                      1x IP LAN
                      1x IP Modbus

                      Ansonsten kann auch noch ein Netzwerk Scanner verwendet werden. Bei mir sehe ich alle Geräte mit der Wifiman App von Unifi.

                      Bei mir sieht das zB so aus:
                      192.168.7.X: Model Tuya Smart, Manufacturer Espressif Inc. = LAN
                      192.168.7.Y: Model Embedded OS, Manufacturer Sungrow Power Supply Co. Ltd. = Modbus

                      LG

                      Kommentar


                      • kofi1990
                        kofi1990 kommentierte
                        Kommentar bearbeiten
                        Wenn ihr die Modbus IP gefunden habt ist es notwendig im Router eine DHCP Reservierung vorzunehmen. Damit stellt ihr sicher, dass sich die IP nicht irgendwann ändert. Eine fixe Modbus IP am Sungrow zu hinterlegen ist meines Wissens nach nicht möglich.
                    Lädt...