Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      guitardoc @guitardoc last edited by

      Ich habe die Frage schon in einem anderen Thread gestellt, weiß aber nicht, ob der noch lebt. Daher frage ich hier noch mal, vielleicht kann mir jemand helfen.

      Was ich nun dank der Hilfe von @lisalisa entdeckt habe, sind die Register meines Byd-Speichers und die sind auch richtig. Ich habe also den Zustand der Batterie, sprich ob diese be- oder entladen wird, und mit welcher Leistung.

      Die aktuelle Einspeisung ins Netz hab ich auch direkt aus dem SolarEdge-Wechselrichter: 40207_M_AC_Power mit Skalierungsfaktor 40211_M_AC_Power_SF (Wert positiv bei Einspeisung und negativ bei Netzbezug).

      Was ich nicht zuordnen kann sind folgende beiden Werte:

      aktuelle Sonnenenergie
      Stromverbrauch im Gebäude

      Kann mir jemand diese beiden Register benennen? Ich finde die irgendwie nicht...
      Danke schon mal im Voraus!

      L M 2 Replies Last reply Reply Quote 0
      • L
        lisalisa @guitardoc last edited by

        Ich habe jetzt mal aus "Power Control Open Protocol for SolarEdge Inverters.pdf" eine Word-Datei erstellt und zu den von mir verwendeten HEX-Adressen die Decimal-Adressen dazu geschrieben.

        Weiß nicht ob das wirklich jemand braucht, aber mich hat die "jedesmal Umrechnerei" generft...

        Sieht dann an den verwendeten Stellen so aus:
        576279f5-2179-4326-b44f-f96267768741-image.png

        englisch:
        Decimal Power Control Open Protocol for SolarEdge Inverters.odt
        auf deutsch übersetzt:
        Decimal Power Control Open Protocol for SolarEdge Inverters.en.de.odt

        1 Reply Last reply Reply Quote 0
        • M
          ManfredHi @guitardoc last edited by ManfredHi

          @guitardoc sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

          aktuelle Sonnenenergie
          Stromverbrauch im Gebäude

          aktuelle Sonnenenergie:
          das müsste doch dieser Wert sein: 40084 I_AC_Power ( und 40085 Skalierungsfaktor)
          oder du berechnest es aus dem Wert: 40101 I_DC_Power (mit 40102 Skalierungsfaktor). In meinem Fall der Wert * 0,98 (Wirkungsgrad des WR)

          Zumindest bei meinem SE7K zeigt dieser Wert an, wieviel die PV gerade erzeugt.

          Stromverbrauch im Gebäude:
          Kannst du nur mit anderen Werte berechnen, hierfür gibt es keinen eigenen Wert.
          Also z.B. die aktuelle PV-LEistung minus dem Wert der eingespeist wird ergibt den Stromverbrauch im Gebäude.
          bzw. auch die PV-Leistung und der Wert der zusätzlich bezogen wird ergibt ebenfalls den stromverbracuh im Haus.

          Thomas123 0 1 Reply Last reply Reply Quote 0
          • Thomas123 0
            Thomas123 0 @ManfredHi last edited by

            @manfredhi said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

            Also z.B. die aktuelle PV-LEistung minus dem Wert der eingespeist wird ergibt den Stromverbrauch im Gebäude.

            So hatte ich es auch berechnet, bevor die Batterie installiert wurde. Mit Batterie bin ich an einem vernünftigen Blockly kläglich gescheitert 🙂 Das waren einfach zu viele "Wenn- Dann"...

            Ich lese jetzt die Daten für den Hausverbrauch, Sonnenleistung, Netz und Batterie per API aus

            1 Reply Last reply Reply Quote 0
            • M
              ManfredHi last edited by ManfredHi

              @thomas123-0 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

              Ich lese jetzt die Daten für den Hausverbrauch, Sonnenleistung, Netz und Batterie per API aus

              Also ich bekomme in den nächsten 2-3 Wochen meinen SE10K-RWS mit BYD Speicher installiert. Dann werde ich mich damit auseinandersetzen.
              Der Wert von "I_DC_Power" ist sicherlich vorhanden und zusätzlich gibt es den Wert "Battery 1 Instantaneous Power" von der Batterie. Diese beiden muss man glaub ich zusammenzählen. Irgendsowas in der Art hab ich entweder hier oder in einem anderen Forum mal gelesen.

              So hab ich es für mich mal vorbereitet und beim SE7K (ohne Batterie) in Verwendung. Der umgerechnete DC-Wert stimmt mit dem im SE7K vorhandenen AC-Wert überein.

              efac2dc6-35f5-4e07-aa4e-f94555858a9e-image.png

              Aber wie gesagt, ich kanns im Moment noch nicht mehr testen und mich damit noch nicht auseinandersetzen weils noch nicht installiert ist.

              Auf alle Fälle ist das auslesen mit der API ist für mich absolut keine Alternative, da keine Echtzeitdaten damit möglich sind und man von einer Internetverbindung und dem Portal von SolarEdge abhängig ist. Und das fällt ziemlich oft aus bzw. hinkt oftmals mit den Daten weit nach.

              G Thomas123 0 2 Replies Last reply Reply Quote 0
              • G
                guitardoc @ManfredHi last edited by

                @manfredhi Wo kommt denn der Wert 0.98 her?

                1 Reply Last reply Reply Quote 0
                • M
                  ManfredHi last edited by ManfredHi

                  @guitardoc sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                  Wo kommt denn der Wert 0.98 her?

                  Der Wirkungsgrad des Wechselrichters (98%)

                  30ec95d5-242e-4984-b1f3-c92883b5c95f-image.png

                  1 Reply Last reply Reply Quote 0
                  • Thomas123 0
                    Thomas123 0 @ManfredHi last edited by

                    @manfredhi
                    Hallo Manfred,

                    richtig glücklich bin ich mit der API-Lösung ja auch nicht - aber wie ich geschrieben habe, ich bin am Blockly kläglich gescheitert.

                    Deshalb verfolge ich das hier sehr gespannt, und hoffe, Du findest eine Lösung.

                    Eine Frage: die Variable "I_DC-Power" ist schon das Ergebnis von "I_DC_Power" x ""I_DC_Power_SF"?

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      ManfredHi @Thomas123 0 last edited by ManfredHi

                      @thomas123-0 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                      Eine Frage: die Variable "I_DC-Power" ist schon das Ergebnis von "I_DC_Power" x ""I_DC_Power_SF"?

                      wenn du den normalen Modbus Adapter verwendest, dann musst du mit dem Skalierungsfaktor umrechnen.

                      Ich verwende den SolarEdge-Modbus Adapter, da ist die Umrechnung schon im Adapter hinterlegt.

                      Am Samstag bekomm ich den neuen WR und die Batterie installiert, dann kann ich mir das mal genauer anschauen wie ich das löse.

                      1 Reply Last reply Reply Quote 1
                      • M
                        M1R0O @Glasfaser last edited by M1R0O

                        kann weg

                        1 Reply Last reply Reply Quote 0
                        • M-A Hueb
                          M-A Hueb last edited by

                          Ich nutze auch die Anleitung.
                          Mit dem hausverbrauch habe ich Allerdings ein Problem.
                          Und zwar ist es so, mit steigender PV-Leistung auch mein Hausverbrauch steigt.
                          Vorhanden ist ein Solaredege WR SE7K + BYD Batterie, sowie 1 kleine Balkonanlage die über FritzDect ausgewertet wird.
                          7639c753-0332-49ea-bbe1-2b39c4ee30dd-grafik.png
                          So sieht mein Blockly aus.
                          ACTUAL ist der aktuelle Wert meines Stromzählers.
                          AC Leistungswert und Total Real Power sind die Daten vom WR mit Modbus ausgelesen und mit SF verrechnet.
                          Power ist der Wert von dem Fritzstecker.
                          1ab50c29-3211-4017-b739-93b692c57a3a-grafik.png
                          Wo liegt meine Fehler?

                          und noch ne 2te Frage:
                          Habt ihr über Modbus auch manchmal so harte Peaks drin?
                          f1a02370-074e-4514-86b5-71cd489fea8d-grafik.png

                          Das habe ich seit dem letzten Firmware-Update des Solaredge-WR

                          1 Reply Last reply Reply Quote 0
                          • M
                            ManfredHi last edited by ManfredHi

                            Hallo.

                            Ich hab da mal ein kurze Verständnisfrage:
                            wenn man den Wert vom WR I_DC_Power mit dem Leistungsfaktor des WR (SE10k-RWS hat 98%) umrechnet, kommt man auf den selben Wert, der vom WR als I_AC_Power ausgegeben wird.

                            Wie ist das nun mit dem Speicher:
                            Dort gibt es den Wert Battery 1 Instantaneous Power. Ich nehme mal an, dass dies ein DC-Wert ist und entsprechend umgerechnet werden muss:
                            Wenn der Speicher nun geladen wird (also ein positiver Wert), muss ich diesen dann mit dem Leistungsfaktor des WR umrechnen, so wie bei der Umrechnung vom DC in AC oder wandert dies 1:1 in den Speicher?

                            Bei der Entladung des Speichers (negativer Wert) ist der Wert von Battery 1 Instantaneous Power weitaus höher als was bei I_DC_Power bzw. I_AC_Power steht. Negativen Wert hab ich vorher mit -1 auf positiv umgerechnet. D.h. wenn ich 100/Battery 1 Instantaneous PowerI_DC_Power rechne, komme ich auf den Leistungsfaktor bei der Batterie beim entladen oder? Habe das jetzt einige Tage beobachtet und der schwankt so zwischen 93 und 82% je nachdem wieviel Watt aus dem Speicher entnommen werden. Bei einem hohen Entnahmewert ist der Faktor besser, bei niedriger Entnahme schlechter. DAs müsst doch so stimmen oder?

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

                              @manfredhi sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                              Hallo.

                              Ich hab da mal ein kurze Verständnisfrage:
                              wenn man den Wert vom WR I_DC_Power mit dem Leistungsfaktor des WR (SE10k-RWS hat 98%) umrechnet, kommt man auf den selben Wert, der vom WR als I_AC_Power ausgegeben wird.

                              Wie ist das nun mit dem Speicher:
                              Dort gibt es den Wert Battery 1 Instantaneous Power. Ich nehme mal an, dass dies ein DC-Wert ist und entsprechend umgerechnet werden muss:
                              Wenn der Speicher nun geladen wird (also ein positiver Wert), muss ich diesen dann mit dem Leistungsfaktor des WR umrechnen, so wie bei der Umrechnung vom DC in AC oder wandert dies 1:1 in den Speicher?

                              Bei der Entladung des Speichers (negativer Wert) ist der Wert von Battery 1 Instantaneous Power weitaus höher als was bei I_DC_Power bzw. I_AC_Power steht. Negativen Wert hab ich vorher mit -1 auf positiv umgerechnet. D.h. wenn ich 100/Battery 1 Instantaneous PowerI_DC_Power rechne, komme ich auf den Leistungsfaktor bei der Batterie beim entladen oder? Habe das jetzt einige Tage beobachtet und der schwankt so zwischen 93 und 82% je nachdem wieviel Watt aus dem Speicher entnommen werden. Bei einem hohen Entnahmewert ist der Faktor besser, bei niedriger Entnahme schlechter. DAs müsst doch so stimmen oder?

                              Kann mir bitte jemand sagen, ob das mit meiner Berechnung so stimmt?

                              1 Reply Last reply Reply Quote 0
                              • G
                                guitardoc @leo8405 last edited by

                                @leo8405 said in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                                @scheuler Hallo Bernd, hast du passende Register zum Heizstab gefunden? Ich habe bis heute nichts passendes gefunden.

                                Gruß
                                Michael

                                Hallo Michael, hast du mittlerweile passende Register gefunden?

                                1 Reply Last reply Reply Quote 0
                                • S
                                  schadis last edited by schadis

                                  Meine auslesen über den Modbus Adaapter funktioniert soweit.

                                  Für meine PV Erweiterung würde ich die Limitierungs Adressen brauchen aber irgendwie bekomm ich die nicht zum laufen.
                                  Aus folgendem Dokument:"Technical Note – Power Control Protocol for SolarEdge Inverters" habe ich die Hex Adressen,
                                  dies in DECI und +1 gerechnet. Aber bei allen dieser Adresse bekomme ich einen Timeout Errror im Log.
                                  Anbei Snipe der Adressen im Adapter und Debug Log. Hierbei aber nur versucht die Adresse 57347 Export Wattage Limit zu lesen, da alle den selber Fehler ausgeben.

                                  Ich will nicht Homeas. nutzen aber zum Gegenversuch habe ich in Homeas. deren Solaredge Modbus integration probier.
                                  Dies liest auch diese Adressen und bekommt aber die Werte als Antwort!

                                  Hat die Adressen irgendjemand zum Laufen gebracht?
                                  LOG + SNIPE anbei!

                                  Mit dem Oben erwähnten Toll bekomm ich auch meine 1000W Einspeiselimit über den Bus.
                                  ISt das ein Problem beim ModBus Adapter? @apollon77

                                  Screenshot bus.jpg

                                  solaredge.jpg


                                  modbus.0
                                  2024-04-21 20:15:22.714 silly States user redis pmessage modbus.0.*/modbus.0.info.connection:{"val":false,"ack":true,"ts":1713723322713,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723321755}

                                  modbus.0
                                  2024-04-21 20:15:22.712 info Disconnected from slave 192.168.1.85

                                  modbus.0
                                  2024-04-21 20:15:22.712 debug Closing client on purpose.

                                  modbus.0
                                  2024-04-21 20:15:21.755 silly States user redis pmessage modbus.0.*/modbus.0.info.connection:{"val":false,"ack":true,"ts":1713723321755,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723321755}

                                  modbus.0
                                  2024-04-21 20:15:21.712 debug Cleaning up request fifo.

                                  modbus.0
                                  2024-04-21 20:15:21.712 debug Clearing timeout of the current request.

                                  modbus.0
                                  2024-04-21 20:15:21.712 debug Socket closed with error

                                  modbus.0
                                  2024-04-21 20:15:21.712 warn Poll error count: 3 code: {"err":"timeout","timeout":10000}

                                  modbus.0
                                  2024-04-21 20:15:21.712 error Client in error state.

                                  modbus.0
                                  2024-04-21 20:15:21.711 error Request timed out.

                                  modbus.0
                                  2024-04-21 20:15:21.711 warn Error: undefined

                                  modbus.0
                                  2024-04-21 20:15:11.754 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40235_M_Imported:{"val":898983500,"ack":true,"ts":1713723311753,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311753}

                                  modbus.0
                                  2024-04-21 20:15:11.754 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40210_M_AC_Power_L3:{"val":-1578,"ack":true,"ts":1713723311753,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311753}

                                  modbus.0
                                  2024-04-21 20:15:11.753 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40209_M_AC_Power_L2:{"val":-7450,"ack":true,"ts":1713723311752,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311752}

                                  modbus.0
                                  2024-04-21 20:15:11.753 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40208_M_AC_Power_L1:{"val":-2034,"ack":true,"ts":1713723311752,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311752}

                                  modbus.0
                                  2024-04-21 20:15:11.711 debug [DevID_1/holdingRegs] Poll address 17346 - 2 registers

                                  modbus.0
                                  2024-04-21 20:15:11.711 debug [DevID_1/holdingRegs] Poll address 226 DONE

                                  modbus.0
                                  2024-04-21 20:15:11.689 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40207_M_AC_Power:{"val":-11063,"ack":true,"ts":1713723311689,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311689}

                                  modbus.0
                                  2024-04-21 20:15:11.689 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40108_I_Status:{"val":2,"ack":true,"ts":1713723311688,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311688}

                                  modbus.0
                                  2024-04-21 20:15:11.687 debug [DevID_1/holdingRegs] Poll address 226 - 17 registers

                                  modbus.0
                                  2024-04-21 20:15:11.687 debug [DevID_1/holdingRegs] Poll address 206 DONE

                                  modbus.0
                                  2024-04-21 20:15:11.670 silly States user redis pmessage modbus.0.*/modbus.0.holdingRegisters.40104_I_Temp_Kühler:{"val":0,"ack":true,"ts":1713723311669,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311669}

                                  modbus.0
                                  2024-04-21 20:15:11.668 debug [DevID_1/holdingRegs] Poll address 206 - 5 registers

                                  modbus.0
                                  2024-04-21 20:15:11.668 debug [DevID_1/holdingRegs] Poll address 83 DONE

                                  modbus.0
                                  2024-04-21 20:15:11.658 silly States user redis pmessage modbus.0.*/modbus.0.info.connection:{"val":true,"ack":true,"ts":1713723311657,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1713723311657}

                                  modbus.0
                                  2024-04-21 20:15:11.616 silly Keepalive is disabled!

                                  modbus.0
                                  2024-04-21 20:15:11.615 debug [DevID_1/holdingRegs] Poll address 83 - 25 registers

                                  modbus.0
                                  2024-04-21 20:15:11.615 debug [DevID_1] Poll start ---------------------

                                  modbus.0
                                  2024-04-21 20:15:11.615 info Connected to slave 192.168.1.85

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    lisalisa @schadis last edited by

                                    @schadis sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:

                                    Export Wattage Limit

                                    wo hast diese Bezeichnung und die Adresse her ?

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      schadis @lisalisa last edited by schadis

                                      @lisalisa

                                      Steht oben im Post einfach den Namen des Dokuments aus 2017 suchen.

                                      Link solaredge doc Limits

                                      Br schadi

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        lisalisa @schadis last edited by

                                        @schadis Falls du das meinst teste mal die andern Adressen.
                                        E001 / F701 1 R/W Export Control Limit Mode Uint16 0-1 N/A
                                        E002 / F702 2 R/W Export Control Site Limit Float32 0-Max_Site Power W

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          schadis @lisalisa last edited by schadis

                                          @lisalisa

                                          das hatte ich schon erledigt sry vergessen zu erwähnen.... selbes spiel mit dem timeout / client error

                                          1 Reply Last reply Reply Quote 0
                                          • Longbow
                                            Longbow @hennerich last edited by

                                            @hennerich
                                            Hallo, was mache ich falsch. In dem Dashborad bei Grafana habe ich die Übersicht, was für ein Status der Wechselrichter gerade für einen hat. Jetzt habe ich aber leider Zahlen mit einem Komma, somit kann er nicht mehr sein Status anzeigen, er muss die Werte die aus Iobroker kommt zusammenziehen und dann irgendwie teilen.

                                            Habe ich eine Einstellung falsch gesetzt? Wer kann mir da helfen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            grafana modbus solaredge
                                            90
                                            603
                                            148347
                                            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