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 M1R0O

      @centurytt-0
      Du warst schnell, danke.
      Als ich beim Posten genau drauf gewschaut habe, habe ich gesehen, dass da etwas nicht stimmt.
      Muss nur gucken, was ich genau löschen muss ...!?

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

        @m1r0o

        importier dir einfach die Modbus Liste von mir...

        M 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            985
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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