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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Shelly Pro 3EM saldierender Stromzähler in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                    • M
                      magix last edited by magix

                      Hallo,
                      bin gerade über das Script gestolpert weil mich die falschen Werte bei dem EM3 schon seit Jahren stören.
                      Danke dazu.

                      magix

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

                        @paul53 Hallo, cih bin gerade über diesen Thread hier gestolpert, weil ich auch eine Herausforderung mit meinem Shelly Pro 3 EM habe. Diese ist verwandt, aber anders als das bisher hier diskutierte:

                        Mein Shelly sitzt nämlich nicht dort, wo der offizielle Zählerwerkelt, sondern er ist bewusst so eingebaut, dass er nur die hausinternen Verbraucher zählt, d.h. er ignoriert und kennt nicht die Leistung, die vom Dach kommt, sondern die längste Zeit hat er rein den Verbrauch im Haus gemessen.

                        Nebenbei: Es gibt einen IR-Lesekopf-Zähler auf dem Zähler des Netzbetreibers, wo ich Einspeise- und Bezugszählerstände ablese und der auch die aktuelle Leistung in Summe (unter Berücksichtigung PV) kennt.

                        Bisher klappte das wunderbar.

                        Seitdem ich haber am Hausnetz einen Hyomiles Speicher habe, "spinnt" der Shelly Verbrauchszählerstand (zu hoch), den ich per mQTT aus dem DP "TotalActiveEnergy" ziehe.

                        Das ganze hat also Null mit den PV-Sachen zu tun und würde genauso doof laufen ganz ohne PV. Es tritt auf, weil der Speicher (den ich ja einfach aus dem Netz aufladen kann) irgendwann beim Entladen "negative" Leistungen auf einer Phase erzeugt. Der Shelly hantiert seltsam mit TotalActiveEnergy und TotalActiveReturnEnergy.

                        Auch wenn ich es nicht ganz blicke, scheint die Problemursache hier skizziert zu sein: https://community.simon42.com/t/shellypro3em-balkonkraftwerk-ins-energiedashboard/33080/4

                        Hat jemand sowas schon mal gelöst für iobroker oder eine Idee, wie man es lösen könnte?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        916
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        9
                        30
                        4175
                        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