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.
    • M
      M1R0O @Centurytt 0 last edited by

      @centurytt-0
      Zum Importieren benötige ich die Datei als .tsv?!

      Centurytt 0 1 Reply Last reply Reply Quote 0
      • Centurytt 0
        Centurytt 0 @M1R0O last edited by

        @m1r0o

        richtig

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

          @centurytt-0 Danke, die Formeln sind raus.
          Bildschirm­foto 2023-08-13 um 20.04.20.png
          Nun habe ich die Skripte aus dem ersten Post eingefügt.
          PV Leistung aktuell läuft.

          Nur Total Real Power läuft (also Einspeisung oder Bezug) nicht, zeigt immer 0W an:

          function convertValue(value, factor) {
            if (value === null) return;
            if (factor === null) factor = 0;
            setState('Solar.Wechselrichter.ACTotalRealPower', value * Math.pow(10, factor), true);
          }  
          
          createState('Solar.Wechselrichter.ACTotalRealPower', {
             name: 'akt_bez_einsp',
             unit: 'W',
             min:  -999999,
             type: 'number',
             role: 'value.energy'
          }, function () {
             on('modbus.0.holdingRegisters.40206_meter_M_AC_Power'/*Total Real Power (sum of active phases)*/, function(obj) {
             	var timeout = setTimeout(function () {
             		clearTimeout(timeout);
             		var factorState = getState('modbus.0.holdingRegisters.40210_meter_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
             		convertValue(obj.state.val, factorState ? factorState.val : 0);
             	}, 100); 
             });
             var factorState = getState('modbus.0.holdingRegisters.40210_meter_M_AC_Power_SF'/*AC Real Power Scale Factor*/);
             var valueState = getState('modbus.0.holdingRegisters.40206_meter_M_AC_Power'/*Total Real Power (sum of active phases)*/);
             convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
          });
          

          Ich bin, wie immer, für eure Hilfe dankbar!

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

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

            @hennerich

            Warum berechnest du nicht die Werte gleich im Modbus dann sparst dir das in den Scripten.

            ich mache das so z.B.:
            ab538379-cbeb-4a5f-a0ea-b793d73dc569-image.png

            ist zwar Ansichtssache aber dann habe ich weniger Fehleranfälligkeit und iob hat nicht zig Scripte zum abarbeiten.

            Lg
            Tom

            Sehr interessante Idee, wusste nicht, dass das geht. Schaue ich mir mal an.

            Danke
            Henri

            1 Reply Last reply Reply Quote 0
            • Centurytt 0
              Centurytt 0 @M1R0O last edited by

              @m1r0o

              Total Real Power musst nicht berechnen. Total AC Real Power ist die Wechselstrom Seite und wird jetzt im Modbus automatisch berechnet, wenn du meine Liste importiert hast und heisst AC Power Value. Also die Energie über alle 3 Phasen.

              oder meinst du was anderes ?

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

                @centurytt-0
                Ich bin leider nicht in der Lage dein Liste zu importieren, da sie sich nicht via copy & paste einfügen lässt.
                Ich eine .tsv daraus erstellt, die sich aber ebenfalls nicht importieren lässt 😠

                Centurytt 0 1 Reply Last reply Reply Quote 0
                • S
                  SentiQ @Centurytt 0 last edited by SentiQ

                  @centurytt-0 habe es so probiert wie du, das Ergebnis ist über die Nacht das gleiche. Immer mal wieder Werte für PVLeistungAktuell.
                  Außerdem scheint dein Blockly fehlerhaft? Der untere Teil müsste doch in ein "sonst". So wie abgebildet setzt er die Werte doppelt, wenn die Batterie geladen wird.

                  d7a381b8-fe0e-45ca-be51-8a5a67742e1d-image.png

                  Wie berechnest du den Hausverbrauch?

                  So sieht meine Lösung jetzt aus, das passt auch wunderbar:

                  fc3f86ef-7850-4d5b-8084-4c341862a486-image.png

                  Centurytt 0 1 Reply Last reply Reply Quote 0
                  • M
                    M1R0O last edited by M1R0O

                    Ich habe zumindest des Wert für 40083 AC_Power AC Power value kW int16be 1 1 0 x * Math.pow(10, sf['40084']) *0.001 true false false false jetzt manuell hinzugefügt und das klappt gut.

                    Das einzige was ich jetzt noch nicht geschafft habe (neben dem Import der kompletten Liste von @Centurytt-0) ist das Anzeigen/Berechnen der Aktuellen PV-Produktion!
                    Was muss ich tun, um die aktuelle Energieproduktion der PV-Anlage angezeigt zu bekommen?!

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

                    @sentiq

                    hab auch einen Speicher hab das Problem aber nicht. Ich gehe wie folgt vor:

                    52d3ebef-15ea-479f-9734-dde008b0c358-image.png

                    Kannst du mir dieses Blockly Skript zur Verfügung stellen?

                    Danke

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SentiQ @M1R0O last edited by SentiQ

                      @m1r0o

                      du brauchst dafür noch DC_Power aus der Liste von @Centurytt-0

                      Beachte, dass ich mit Watt arbeite und *0.001 entfernt habe!

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <block type="on" id="nIckN53BSoxr;{]fe3kY" x="-587" y="137">
                         <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="33C-n)jP`m.e%9?E!=tX">
                             <mutation else="1"></mutation>
                             <value name="IF0">
                               <block type="math_number_property" id="~N8MFs(_bqs{CQh1Yx0T">
                                 <mutation divisor_input="false"></mutation>
                                 <field name="PROPERTY">POSITIVE</field>
                                 <value name="NUMBER_TO_CHECK">
                                   <shadow type="math_number" id="!AvF8j8n[B3S?`f.f+w5">
                                     <field name="NUM">0</field>
                                   </shadow>
                                   <block type="get_value" id="[msS4Zv06(%a%IqtKmRd">
                                     <field name="ATTR">val</field>
                                     <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="update" id="?eJ+n7$X8Q,2OB[Jw?]6">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="1Fc?PZX0G%ufiK+b@x7E">
                                     <field name="OP">ADD</field>
                                     <value name="A">
                                       <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="@5,wPHPN%::Xav3)TWyy">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                         <field name="NUM">1000</field>
                                       </shadow>
                                       <block type="get_value" id="VWhNN8xf*=y|[MoS8%qf">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                             <statement name="ELSE">
                               <block type="update" id="@-|uQZ}BySNdkVVTi-m%">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">javascript.0.Solar.Wechselrichter.PVLeistungAktuell</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="Q`Dz+Gn$.Vo2pjkb}k%N">
                                     <field name="OP">MINUS</field>
                                     <value name="A">
                                       <shadow type="math_number" id=",KpQxgw6c0efaxM.H#V|">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="]_]-,0)N(#mRO:o`FcT#">
                                         <field name="ATTR">val</field>
                                         <field name="OID">modbus.0.holdingRegisters.40100_DC_Power</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number" id="7mlFm+r@6z{X}.Krv2~%">
                                         <field name="NUM">1000</field>
                                       </shadow>
                                       <block type="math_arithmetic" id="Lq7956`[)v+%R`mpI2|S">
                                         <field name="OP">MULTIPLY</field>
                                         <value name="A">
                                           <shadow type="math_number" id="}v#E=(+l|h7y9rz)0wy]">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="get_value" id="tW.kJ$2|~6vDI0#]{[5f">
                                             <field name="ATTR">val</field>
                                             <field name="OID">modbus.0.holdingRegisters.57716_Batt1_Power</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="!kqV52.],5yjJtrfedpG">
                                             <field name="NUM">-1</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

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

                        @sentiq
                        Hat geklappt! Sauber, danke!
                        Bildschirm­foto 2023-08-16 um 22.01.04.png

                        Ich würde nun gern den Wert 57116 "Batterieladung" in kwh umrechnen.
                        Einfach *0.001 in das Feld Formel zu schreiben, klappt nicht.
                        Welche Formel muss ich stattdessen nehmen?

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SentiQ @M1R0O last edited by

                          @m1r0o

                          x *0.001
                          
                          M 1 Reply Last reply Reply Quote 0
                          • M
                            M1R0O @SentiQ last edited by M1R0O

                            @sentiq Mega! THX

                            @SentiQ Zu früh gefreut.
                            Das Berechnen des Hausverbrauchs gelingt mir nicht.
                            Das liegt u.a. darn, dass 40206 M_AC_Power keinen korrekten Wert ausgibt. Egal wie hoch mein realer Hausverbrauch ist, 40206-40209 verändern sich nicht.
                            Bildschirm­foto 2023-08-17 um 20.51.03.png
                            Woran kann das liegen?
                            Danke vorab

                            Centurytt 0 1 Reply Last reply Reply Quote 0
                            • Centurytt 0
                              Centurytt 0 @M1R0O last edited by

                              @m1r0o

                              Hi, anbei das TSV holding-registers (1).tsv

                              1 Reply Last reply Reply Quote 0
                              • Centurytt 0
                                Centurytt 0 @M1R0O last edited by

                                @m1r0o

                                Welchen Wechselrichter hast du ? Hast du dir die Adressliste von Solaredge angesehen ? ob das alles stimmt oder ob du die Adressen um 1 verschieben musst ? Modbus Zähler ist installiert nehme ich an ?

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

                                  @sentiq

                                  Ich muss mir das in Ruhe nochmal ansehen du könntest nämlich Recht haben 😉 Ich berechne den Hausverbrauch auf der Realstrom also Wechselstrom Seite was mich eh ein wenig stört. Allerdings mache ich das nicht so wie du sondern so:

                                  5a4946e2-82e4-4efc-8621-cec929b47b67-image.png

                                  Eben aus besagtem Grund weil ich nicht die DC Seite im Hausverbrauch betrachte.

                                  Die Werte aus der PVLeistung aktuell setzt er nicht doppelt. Das "Mache" ist wie ein sonst. Hatte damit nie Schwierigkeiten.

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

                                    @centurytt-0
                                    Danke für die tsv und die Antwort.
                                    Ich habe einen Solaredge-Wechselrichter. Alle anderen Werte liefern korrekte Werte, nur 40206 nicht

                                    L Glasfaser 2 Replies Last reply Reply Quote 0
                                    • L
                                      lisalisa @M1R0O last edited by lisalisa

                                      @m1r0o Dann teste doch mal nur 40206 auf 40207 und 40210 auf 40211 ändern.

                                      SE 8k und BYD Batterie
                                      40207holding-registers.tsv

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

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

                                        Alle anderen Werte liefern korrekte Werte, nur 40206 nicht

                                        die anderen Werte stimmen auch nicht !

                                        @m1r0o sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
                                        @sentiq Mega! THX

                                        @SentiQ Zu früh gefreut.
                                        Das Berechnen des Hausverbrauchs gelingt mir nicht.
                                        Das liegt u.a. darn, dass 40206 M_AC_Power keinen korrekten Wert ausgibt. Egal wie hoch mein realer Hausverbrauch ist, 40206-40209 verändern sich nicht.
                                        Bildschirm­foto 2023-08-17 um 20.51.03.png
                                        Woran kann das liegen?
                                        Danke vorab

                                        Welchen SolarEdge Smartmeter hast du !?

                                        Edit :

                                        Deshalb Frage ich danach ...

                                        SolarEdge Inline Energiezähler MTR-240-3PC1-D-A-MW

                                        https://forum.iobroker.net/topic/67538/modbus-adapter-solaredge-meter-kann-nicht-ausgelesen-werden

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

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

                                          SolarEdge Inline Energiezähler MTR-240-3PC1-D-A-MW

                                          Genau diesen habe ich.

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

                                          @m1r0o Dann teste doch mal nur 40206 auf 40207 und 40210 auf 40211 ändern.

                                          SE 8k und BYB Batterie
                                          40207holding-registers.tsv

                                          SE10k bei mir.
                                          Nach dem Ändern auf 40207 und 40211 sieht es so aus:
                                          Bildschirm­foto 2023-08-19 um 16.03.50.png

                                          Glasfaser L 2 Replies Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @M1R0O last edited by

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

                                            Genau diesen habe ich.

                                            Dachte ich mir irgendwie ...
                                            deshalb wie auch im Thread oben schon den Link angefügt
                                            https://forum.iobroker.net/post/933713

                                            @ManfredHi kannst du dazu was sagen , wie ich dich auch im anderen Thread zu diesem Thema eingeladen haben !?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            891
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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