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
      ein paar Daten:

      • der Stromzähler ist ein "einfacher" 2-Richtungszähler.
      • der Zählerstand wird mit einer Nachkommastelle angezeigt.

      Die jährliche Einspeisung beträgt ca. 1,500 kWh, der Bezug beträgt < 1.000 kWh.

      Ob die Stromwandler korrekt eingebaut sind kann ich nicht prüfen, dazu müsste ich im Schaltschrank Abdeckungen öffnen, als Elektro-Laie ist mir das zu gefährlich. Daher kann ich Deine Vermutung nicht überprüfen. Ich gehe aber vom korrekten Einbau aus, mein Elektriker ist erfahren, dem traue ich das schon zu.
      Wenn er das nächste Mal vor Ort sein sollte werde ich ihn dazu ansprechen, aber das kann dauern, aktuell habe ich keinen Auftrag für ihn.

      Nachdem das Skript jetzt knapp 4 Tage läuft sind die Abweichungen schon deutlich:

      • Bezug: Stromzähler keiner, Abweichung vom Skript 1,4 kWh
      • Einspeisung: Abweichung vom Skript 1,55 kWh
      Frederik Buss 1 Reply Last reply Reply Quote 0
      • 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
                            • 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

                                778
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

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