Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Shelly Pro 3EM saldierender Stromzähler in Blockly

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shelly Pro 3EM saldierender Stromzähler in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Frederik Buss
      Frederik Buss @Fritz 0 last edited by

      @fritz-0 Bei den Werten gehe ich von aus, dass Du einen Stromspeicher verbaut hast. Falls Du das script 1:1 umgesetzt hast, bin ich mir sicher, dass der Fehler im Schaltschrank zu suchen ist. Abweichungen von 0,5kWh pro Tag sind zu hoch, zumal Auffällig ist, dass die Abweichungen von Bezug und Einspeisung in der selben Größenordnung sind. Zum Vergleich: Ich habe momentan wegen der Klimaanlage ca. 5.000-6.000 kWh Verbrauch pro Jahr hochgerechnet (Solar rausgerechnet) und seit 2 Wochen insgesamt < 0,2kWh Abweichungen. Es ist auch denkbar, dass der Shelly an der "falschen" Stelle sitzt - Messen sollte der direkt hinter dem Hausanschluss, vor allen Sicherungen/Verbrauchern/Akkus/Wechselrichtern etc.
      Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

      F 1 Reply Last reply Reply Quote 0
      • F
        Fritz 0 @Frederik Buss last edited by

        @frederik-buss

        Wie hoch ist der Stromverbrauch ohne Solar? Oder anders: wie hoch war der Verbrauch vor der Solaranlage?

        der lag bei ca. 4.000 kWh

        Mit dem Speicher liegst Du richtig.

        Was den Einbau an der korrekten Stelle angeht muss ich warten bis ich den Elektriker mal wieder im Keller habe 🙂
        Ich denke, das ich da vorher nicht weiterkomme.
        Erstmal vielen Dank für Deine Unterstützung.

        Wissen würde ich trotzdem, wie ich das Blockly-Skript runterladen kann. Das geht vermutlich ganz einfach, aber ich habe den Weg dazu noch nicht gefunden.

        Frederik Buss 1 Reply Last reply Reply Quote 0
        • Frederik Buss
          Frederik Buss @Fritz 0 last edited by

          @fritz-0 Ich denke hier gibt es ein Missverständnis: Importieren und Exportieren geht im Javascript Adapter, wie von Pau beschrieben (oben rechts: Blöcke importieren/exportieren). Mit runterladen meinst Du vermutlich dass Du den hier gezeigten Code bei Dir importieren möchtest. Dazu muss ihn aber vorher jemand exportiert und hier bereit gestellt haben, was ich nicht sehe 😉
          Ich bin auch eher ein Freund davon die Scripte selbst nachzubauen, schon allein um alle Variablen/Verknüpfungen auswählen zu müssen, was die typischen Fehlerquellen deutlich reduziert.

          F 1 Reply Last reply Reply Quote 0
          • F
            Fritz 0 @Frederik Buss last edited by

            @frederik-buss
            alles klar. Ich werde das Thema jetzt erstmal zurückstellen, bis klar ist ob die Anbringung der Stromzangen korrekt ist (sprich Richtung und Montageort).

            Vielleicht klärt es sich danach ja schon 🙂

            K 1 Reply Last reply Reply Quote 0
            • K
              Kippe @Fritz 0 last edited by Kippe

              @fritz-0

              Hallo
              Ich habe mir jetzt die 2 Datenpunkte wie im oberen Beitrag angelegt
              Energiezaehler 1:8:0 Verbrauch und Energiezaehler 2:8:0 Einspeisung

              Ich bekomme es mit dem Blockly nicht hin. Könnte mir jemand das Blockly zu Verfügung stellen, und mir mal genau sagen kann welche Datenpunkte ich beim Shelly Pro 3 em nehmen muss?

              Würde mich sehr freuen.

              Screenshot (633).png

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Kippe last edited by paul53

                @kippe sagte: Könnte mir jemand das Blockly zu Verfügung stellen

                Du musst allerdings deine Datenpunkte zuweisen.

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</variable>
                   <variable id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</variable>
                   <variable id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</variable>
                 </variables>
                 <block type="comment" id="Oo~f?,+KUpsHqmTcN[WZ" x="188" y="37">
                   <field name="COMMENT">Energie (kWh)</field>
                   <next>
                     <block type="variables_set" id="[_???w4Erk+RQ}R~(7vB">
                       <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                       <value name="VALUE">
                         <block type="get_value" id="?j1{wfD2ewfvBo[@]aGI">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Blockly.EVU-Bezug</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="mbhzmxw}Olt:RED`$HM?">
                           <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                           <value name="VALUE">
                             <block type="get_value" id="fv.Pyn+=XNj3mBR^O*y#">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Blockly.EVU-Einspeisung</field>
                             </block>
                           </value>
                           <next>
                             <block type="comment" id="zB]aZ2A+Q7t}Zj)v/Mp0">
                               <field name="COMMENT">TotalActivePower (W)</field>
                               <next>
                                 <block type="on" id="UK.7BpQ#a@nx[dyE)3OQ">
                                   <field name="OID">0_userdata.0.Blockly.Bezug-Einspeisung</field>
                                   <field name="CONDITION">ne</field>
                                   <field name="ACK_CONDITION"></field>
                                   <statement name="STATEMENT">
                                     <block type="variables_set" id="t+e]v;zvCc]pe`eHoiFR">
                                       <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                       <value name="VALUE">
                                         <block type="math_arithmetic" id="A$gG{a@9o/lcbx##`D%y" inline="false">
                                           <field name="OP">DIVIDE</field>
                                           <value name="A">
                                             <shadow type="math_number" id="q*0#7)IKIdS}sN%W7tfw">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="math_arithmetic" id="#u68#/SI`@H(ukUUj`=9" inline="false">
                                               <field name="OP">MULTIPLY</field>
                                               <value name="A">
                                                 <shadow type="math_number" id="J)-A5vC7c^f~YA_D,D,?">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="on_source" id="Z%ejn^wwOOcA0z2qVjYo">
                                                   <field name="ATTR">oldState.val</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="l{SbNq,AT{hE]hFEqSB2">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_arithmetic" id="E02lX:*gLrgj+mWOqQVI">
                                                   <field name="OP">MINUS</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="%(VU0;/9G!^AX,q%]9cr">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="on_source" id="WncTZ;c4W4nn?s!)bwH?">
                                                       <field name="ATTR">state.lc</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="j=obz_-g%yDMlIBeJ^aH">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="on_source" id="AY]p`Oodsk4kQH0A9$nr">
                                                       <field name="ATTR">oldState.lc</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="m?toN!Hb2WoT68y_1m0s">
                                               <field name="NUM">3600000000</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="Ah1T+%Zg,Jwu12qd{clW">
                                           <mutation else="1"></mutation>
                                           <value name="IF0">
                                             <block type="logic_compare" id="!}L8R}/%Elp$%K5Sl(9|">
                                               <field name="OP">LT</field>
                                               <value name="A">
                                                 <block type="variables_get" id="d!3EdW@%s:cZ_`Bpi;Pd">
                                                   <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="[T?_,mrEXTI=ga^+u3N`">
                                                   <field name="NUM">0</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="math_change" id="TA~#gMw.SJ~,/v*ECS?1">
                                               <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                                               <value name="DELTA">
                                                 <shadow type="math_number" id="wXIN-|,F`7v*fx-hR{7R">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_single" id="zP9:F/$yeRfL%o^orE/z">
                                                   <field name="OP">NEG</field>
                                                   <value name="NUM">
                                                     <shadow type="math_number" id="F`a;S9wD61f?)xS$Ek99">
                                                       <field name="NUM">9</field>
                                                     </shadow>
                                                     <block type="variables_get" id="$kWK3DbhgC(l]%%=A4sD">
                                                       <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="update" id="p+(#|mvOG}YZ0iHd9]PX">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Blockly.EVU-Einspeisung</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_rndfixed" id="t1[Qz#9@XJVau7lU_XgR">
                                                       <field name="n">2</field>
                                                       <value name="x">
                                                         <shadow type="math_number" id="Qnsd$8gBj5Ke$}=Iax5.">
                                                           <field name="NUM">3.1234</field>
                                                         </shadow>
                                                         <block type="variables_get" id="v6mCa0tEa)Q%VFC$ULdS">
                                                           <field name="VAR" id="8QfIKsruysJpkfI_Laz=">Einspeiseenergie</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <statement name="ELSE">
                                             <block type="math_change" id="_m0zaR1ZcuHEtMpGm3-g">
                                               <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                                               <value name="DELTA">
                                                 <shadow type="math_number" id="Uk@[+;hZ(9z{7j!R!*)~">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="variables_get" id="#f(*J,eIE7_,.1rW`kgW">
                                                   <field name="VAR" id="WDQ;vNZrHosQ_UGc[U(^">delta_kWh</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="update" id="!LqtdCcih;y)3*_[2q,|">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Blockly.EVU-Bezug</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_rndfixed" id="1$r`f.h946vRu$1c`}$d">
                                                       <field name="n">2</field>
                                                       <value name="x">
                                                         <shadow type="math_number" id="Qnsd$8gBj5Ke$}=Iax5.">
                                                           <field name="NUM">3.1234</field>
                                                         </shadow>
                                                         <block type="variables_get" id="`N=lK:Vp.lo+ro:$n#t3">
                                                           <field name="VAR" id="8mF[y:Mu?ppOEQ|${|0v">Bezugsenergie</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kippe @paul53 last edited by

                  @paul53
                  Super das Blockly habe ich jetzt drin. Also muss ich die 4 Datenpunkte jetzt noch zuordnen. Welche Datenpunkte vom Shelly
                  Pro 3em muss ich denn genau haben ? Und was muss ich in den Datenfeld ( Grün ) Umrandet im Bild eintragen. Mein jetziger Zählerstand ?

                  Screenshot (634).png

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Kippe last edited by paul53

                    @kippe sagte: muss ich die 4 Datenpunkte jetzt noch zuordnen.

                    Ja:

                    • EVU-Bezug --> 1:8:0_Verbrauch
                    • EVU-Einspeisung --> 2:8:0_Einspeisung
                    • Shelly (ich habe keine) müsste "EM0.TotalActivePower" sein

                    @kippe sagte in Shelly Pro 3EM saldierender Stromzähler in Blockly:

                    Und was muss ich in den Datenfeld ( Grün ) Umrandet im Bild eintragen.

                    Dieser Umrechnungsfaktor muss unverändert bleiben.

                    @kippe sagte in Shelly Pro 3EM saldierender Stromzähler in Blockly:

                    Mein jetziger Zählerstand ?

                    Die Zählerstände müssen unmittelbar vor Skriptstart in die beiden eigenen Datenpunkte eingetragen werden.

                    1 Reply Last reply Reply Quote 0
                    • J
                      jordy @jordy last edited by

                      Falls es jemand interessiert.... be i mir läuft Script jetzt seit 5 Monaten und ich habe extra keine Wertanpassungen gemacht.
                      Ich habe nur knapp 5 kWh mehr auf dem Stromzähler als im Datenpunkt durch das Script. Das ist im Schnitt nur eine Differenz von 1 kWh pro Monat, was ich sehr gut finde und diese kommen auch durch Updates und Neustarts des Raspi welche ja das Script unterbrechen.
                      Muss allerdings dazusagen ich habe keine Einspeisung weil ich noch kein Photovoltaik habe.

                      1 Reply Last reply Reply Quote 0
                      • D
                        diba03 last edited by diba03

                        Ich habe den shelly pro 3 EM. Habe das script bei mir mit Blockly genau nachgebaut. Irgendwie funktioniert es mit dem pro Gerät nicht.
                        Der Pro aktualisiert den Wert "TotalActivePower" ca. 2 mal pro Sekunde. Kann jemand helfen wie man das Script umbaut, dass es mit dem Shelly pro 3 EM funktioniert??

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @diba03 last edited by paul53

                          @diba03 sagte: Script umbaut, dass es mit dem Shelly pro 3 EM funktioniert??

                          Das Skript ist für den Shelly pro 3EM (siehe Zeile 3).

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          500
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          7
                          28
                          3567
                          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