Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Strom Verbrauch und separat Überschuss berechnen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Strom Verbrauch und separat Überschuss berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Yoda
      Yoda last edited by Yoda

      Hallo,
      ich habe ein Balkonkrafwerk und erfasse auch die ersten Daten.
      Ich habe die Werte zu meinem Aktuellen gesamt Verbrauch und den Wert den die Solar Anlage Aktuell einspielt, soweit gut.

      Nun würde ich gern noch unterscheiden wieviel ich meinen Strom Verbrauch (5-Watt-Aktuell-Tag) durch die Solaranlage (actual Power) reduziere - das ist soweit im Blockly vorhanden- auch OK.

      n1.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on_ext" id="ie!o(`},y!W_nQm2O}qM" x="-1263" y="-1213">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="UUp`wRVA;u40;DDch#qV">
              <field name="oid">fritzdect.0.DECT_087610178347.power</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="control" id="tKk!Kl]*|amjX;.RvGyz">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">0_userdata.0.Strom.8-Wert-WattAktuell-Minus-SolarWatt</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="math_arithmetic" id=";@kSg=ENkf_.+@EM=DF=">
                  <field name="OP">MINUS</field>
                  <value name="A">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="rOmh57B_Mj6v7_39n1Wr">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Strom.5-Watt-Aktuell-Tag</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="RPh%[|:,E|Nz!2@H%38(">
                      <field name="ATTR">val</field>
                      <field name="OID">fritzdect.0.DECT_087610178347.power</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
      </xml>
      

      Nun hätte ich aber gern noch zwei neue Datenpunkte mit den Werten:

      1. "Eigenverbrauch" 300 Watt = zb. Verbrauch 500 Watt Minus 300 Watt Solarleistung.

      2. "Einspeisung" 100 Watt = zb. Verbrauch 200 Watt Minus 300 Watt Solarleistung.
        Wobei hier dann wieder 200 Watt Eigenverbrauch ist.

      Diese Werte würde ich dann weiter über Sourenceanalytix loggen und auswerten.

      Wäre jemand so Lieb und könnte mir mein Blockly entsprechend vervollständigen ?

      paul53 BananaJoe 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Yoda last edited by

        @yoda sagte: zb. Verbrauch 500 Watt

        Womit wird der "Verbrauch" ermittelt?

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

          @paul53
          ich habe hier einen Datenpunkt erstellt (5-Watt-Aktuell-Tag),
          Der Werte setzt sich aus verschiedenen Steckdosen zusammen.
          Der Wert Solar ebenfalls über eine Steckdose (actual Power)

          n2.png

          paul53 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @Yoda last edited by

            @yoda das sind alles keine Werte die du mit SourceAnalytix auswerten kann - da braucht du Wh Werte oder kWh

            Verbrauch ist Zeitbasiert.

            Also eine smarte Steckdose oder Zwischenstecker die zählt (oder der Wechselrichter gibt das aus).
            Du kannst nicht einfach die aktuellen Watt-Werte gegeneinander aufrechnen. Kannst du schon aber ... wofür.
            Dein aktueller Verbrauch sollte sich doch einfach automatisch verringern oder sogar in das Minus gehen.

            Was du gespart hast? Das was deine Solaranlage produziert hat und was NICHT eingespeisst wurde
            Mein Shelly 3EM ermittelt getrennt den Verbrauch und die Einspeisung, separat ermittle ich die Erzeugung.

            Die Erzeugung - Einspeisung ergibt die Ersparnis.

            Falls du was schickes suchst wegen der Darstellung: Ich lasse Verbrauch und Erzeugung mitplotten und packe beides in ein EChart-Diagramm:
            b0d55271-5029-4f87-ac3e-0de4638283ec-image.png

            Das ist meine Lieblingsansicht 🙂

            Yoda B 3 Replies Last reply Reply Quote 1
            • Yoda
              Yoda @BananaJoe last edited by Yoda

              @bananajoe sagte in Strom Verbrauch und separat Überschuss berechnen:

              das sind alles keine Werte die du mit SourceAnalytix auswerten kann - da braucht du Wh Werte oder kWh

              Das stimmt ich habe aber gedacht ich mache hier ein "W" an meine Datenpunkte und dann gehts...
              grafik-2.png
              hier werden die Werte in SourceAnalytix dann ausgewertet:
              grafik-3.png
              Die Steckdosen messen den Stromverbrauch und einige Shellys sind auch dabei - die füge ich in der Liste nur zusammen.
              grafik-4.png

              Ich baue es mir grade so:
              Von der Berechnung des Verbrauchs bzw. der Rest Verbrauch stimmt mit der Leistung der solar Anlage überein.
              Heute wurde zb. 0,5 KW von der Solar eingespeist und mein Verbrach von 3,8 kw auf 3,3 kw Reduziert.
              grafik.png

              BananaJoe 1 Reply Last reply Reply Quote 0
              • Yoda
                Yoda @BananaJoe last edited by

                @bananajoe sagte in Strom Verbrauch und separat Überschuss berechnen:

                Mein Shelly 3EM ermittelt getrennt den Verbrauch und die Einspeisung, separat ermittle ich die Erzeugung.

                Nur wie erfasst du deinen gesamt verbrauch mit nur einen Shelly? der dann auch noch die Einspeisung erfasst?
                Deine Grafik gefällt mir 👍

                1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @Yoda last edited by

                  @yoda sagte in Strom Verbrauch und separat Überschuss berechnen:

                  Das stimmt ich habe aber gedacht ich mache hier ein "W" an meine Datenpunkte und dann gehts...

                  Das ist ja nur "fürs Auge".

                  Sind das den W oder Wh Werte?
                  Bzw.: Stimmt das denn was da ausgerechnet wird?

                  Nur wie erfasst du deinen gesamt verbrauch mit nur einen Shelly? der dann auch noch die Einspeisung erfasst?
                  Der Shelly 3EM hat 3 Klammern für die 3 Phasen. Die Klammern müssen richtig rum aufgesetzt werden und dann erfassen die auch korrekt die Stromrichtung.

                  Es gibt 2 separate Datenpunkte / Zähler für den Verbrauch ConsumedPower und Einspeisung Total_Returned
                  952e73e1-0020-479c-a9ee-277baae93eb1-image.png

                  Anhand der Zählerstände (die bisher auch nach einem Stromausfall erhalten blieben) kann ich das dann ja einfach ausrechnen.

                  Die Total_Returned gibt es auch an den einzelnen Phasen L1 bis L3.
                  Der Shelly EM (mit bis zu 2 Klemmen) hat diese Datenpunkte ebenfalls.

                  Yoda 2 Replies Last reply Reply Quote 0
                  • Yoda
                    Yoda @BananaJoe last edited by

                    @bananajoe sagte in Strom Verbrauch und separat Überschuss berechnen:

                    Bzw.: Stimmt das denn was da ausgerechnet wird?

                    Nun hast du mich aber echt ans grübeln gebracht ob meine Aktuelle Berechnung stimmt ...

                    Zur Überprüfung konnte ich am besten meine PV Anlage mit Energie anzeige nehmen.
                    Ich Denke das Bild erklärt es am besten - der errechnete Wert von 2.771 kwh ist zu 2.61 kwh der PV Anlage passend.
                    14-1.png

                    Bei meinem eigentlich Problem bin ich nun aber nicht weitergekommen 😞
                    Kann mir hier wer Weiterhelfen mit dem oberen Blockly?

                    Aufgabe:
                    Nun hätte ich aber gern noch zwei neue Datenpunkte mit den Werten:

                    "Eigenverbrauch" 300 Watt = zb. Verbrauch 500 Watt Minus 300 Watt Solarleistung.

                    "Einspeisung" 100 Watt = zb. Verbrauch 200 Watt Minus 300 Watt Solarleistung.
                    Wobei hier dann wieder 200 Watt Eigenverbrauch ist.

                    Ziel wäre es 2 Werte zu haben - das was ich selbst an Energie verbraucht habe, und was ich ins Netz Eingespeist hätte.

                    1 Reply Last reply Reply Quote 0
                    • V
                      Verblizz last edited by Verblizz

                      Ich berechne dies folgendermaßen:

                      ich lese zum Einen meinen digitalen Zähler aus, der mir die aktuelle leistung in Watt (W) angibt, und das positiv wenn ich beziehe und negativ wenn ich einspeise.
                      Zusätzlich lese ich meinen Hoymiles auch aus und nutze die Leistung (W).

                      Nun erstelle ich folgende Datenpunkte:
                      Gesamte Leistung im Haus = Leistung Zähler + Leistung PV
                      Ersparnis = Leistung PV ODER wenn Leistung Zähler <0, dann Leistung PV + Leistung Zähler (Plus, weil der Wert vom Zähler negativ ist.)

                      die Sensoren übermitteln alle 5 Sekunden neue Daten, das ist für mich genau genug. Die Auswertung läuft über Sourceanalytix, der Adapter berechnet die entsprechende Arbeit aus den Werten (kWh). Wie gesagt, für mich ist das so genau genug. Und es passt auch soweit.

                      Yoda Duffy 2 Replies Last reply Reply Quote 1
                      • paul53
                        paul53 @Yoda last edited by

                        @yoda sagte: Werte setzt sich aus verschiedenen Steckdosen zusammen.

                        Der gesamte Verbrauch läuft über Messsteckdosen - auch das Licht?

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

                          @paul53 sagte in Strom Verbrauch und separat Überschuss berechnen:

                          Der gesamte Verbrauch läuft über Messsteckdosen - auch das Licht?

                          Ein Teil über Messsteckdosen ein Teil über Shelly
                          14-2.png

                          Ich habe aber noch einen Grau wert weil ich nicht alles messen kann zb. Herd / Keller ....

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

                            @verblizz sagte in Strom Verbrauch und separat Überschuss berechnen:

                            Nun erstelle ich folgende Datenpunkte:
                            Gesamte Leistung im Haus = Leistung Zähler + Leistung PV
                            Ersparnis = Leistung PV ODER wenn Leistung Zähler <0, dann Leistung PV + Leistung Zähler (Plus, weil der Wert vom Zähler negativ ist.)

                            ich versuche es grade noch zu verstehen und auf meine Bedürfnisse anzupassen ....

                            Leistung Zähler + Leistung PV
                            Müsste das nicht - Leistung PV sein?

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

                              @yoda sagte: Grau wert weil ich nicht alles messen kann zb. Herd

                              Der Herd ist sicher nicht zu vernachlässigen.

                              Unter der Voraussetzung, dass der gesamte Stromverbrauch erfasst wird, könnte die Berechnung so aussehen:

                              Blockly_temp.JPG

                              Den eingesparten Energieverbrauch muss man mittels Integration über die Zeit ermitteln.

                              @yoda sagte in Strom Verbrauch und separat Überschuss berechnen:

                              versuche es grade noch zu verstehen

                              @BananaJoe macht die umgekehrte Berechnung: Er misst Strombezug/Einspeisung am Zähler und berechnet den Stromverbrauch.

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

                                @paul53
                                Danke für deine Arbeit.
                                Ja den Herd und Keller hätte ich noch gern, schön wäre es, wenn man an die Werte des Stromzählers kommen würde..
                                Hast du vielleicht noch den Code für das aufgeführte Beispiel für mich?

                                Ich werde Morgen mal versuchen es entsprechend anzupassen..

                                paul53 2 Replies Last reply Reply Quote 0
                                • paul53
                                  paul53 @Yoda last edited by

                                  @yoda sagte: Code für das aufgeführte Beispiel für mich?

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <variables>
                                     <variable id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</variable>
                                     <variable id="GU4[s0#]u_H,xYjT[!w+">gesparteLeistung</variable>
                                   </variables>
                                   <block type="on_ext" id="Y%]R5Hg(nxtlPgJfoQyF" x="38" y="37">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="YRolGYjde/N7eGBCcX+U">
                                         <field name="oid">0_userdata.0.Blockly.PV-Leistung</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="variables_set" id="=?SNPlz2F(6ieeCfH$l2">
                                         <field name="VAR" id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="OeaIldql|e:`a1q,M}2*">
                                             <field name="ATTR">val</field>
                                             <field name="OID">0_userdata.0.Blockly.powerW</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="controls_if" id="taM2;ZlPmmZeiE*PAZ[t">
                                             <mutation else="1"></mutation>
                                             <value name="IF0">
                                               <block type="logic_compare" id="#Ti%KFG,:0{|];hqq,j?">
                                                 <field name="OP">GT</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="i5Tq8`,m!~Nt54@!66WJ">
                                                     <field name="VAR" id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="on_source" id="BG@NfLBb*.M~,P%+bb49">
                                                     <field name="ATTR">state.val</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="update" id="rs?d@[/A[1q5o:H$nK//">
                                                 <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_arithmetic" id="8ERLaP_9-;S^aJPb;9PO">
                                                     <field name="OP">MINUS</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="8.@ljzee9BmI;1g}UkRi">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="variables_get" id="Z2FAs_xo1@U%/#2!N#gT">
                                                         <field name="VAR" id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="IFLwV3YEA{}}2`!+W^)P">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="on_source" id="$F$6XPha^yqM(@4YEAi`">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="Jo5C2.s/u${5KC^Dn`Vp">
                                                     <field name="VAR" id="GU4[s0#]u_H,xYjT[!w+">gesparteLeistung</field>
                                                     <value name="VALUE">
                                                       <block type="on_source" id=":ZHNz#|r,Ad-UDwy*AVM">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                             <statement name="ELSE">
                                               <block type="update" id="S%q^VlbwusZq^!alw@N_">
                                                 <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_arithmetic" id="PI^#r^791pW-}n,`r;y`">
                                                     <field name="OP">MINUS</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="HHI:I9`w|@4sE6G6zjOE">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="on_source" id="S=IsL+1r{d(_#wI(}B09">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="7zT)+x8)B4vU3(y[Uc`@">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="variables_get" id="nC94t+Z4U(2%#uU2z,~7">
                                                         <field name="VAR" id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="{a#u65pG=2Epr}#5O*y.">
                                                     <field name="VAR" id="GU4[s0#]u_H,xYjT[!w+">gesparteLeistung</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="[tPYq:tvLynX7/gDgaRV">
                                                         <field name="VAR" id="iVba?o}DDm+dUY.krvs(">verbrauchteLeistung</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="update" id="%)756=r51JjzK]}B;y+q">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="dO9eKGc~U8dqYZ[C/b99">
                                                     <field name="VAR" id="GU4[s0#]u_H,xYjT[!w+">gesparteLeistung</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  1 Reply Last reply Reply Quote 1
                                  • paul53
                                    paul53 @Yoda last edited by

                                    @yoda sagte: wenn man an die Werte des Stromzählers kommen würde..

                                    Lass vom Elektriker einen Shelly 3EM hinter dem Zähler einbauen.

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

                                      @paul53 sagte in Strom Verbrauch und separat Überschuss berechnen:

                                      Shelly 3EM

                                      habs grade mal gegoogelt - ist ja genial das Teil - Danke

                                      1 Reply Last reply Reply Quote 0
                                      • Yoda
                                        Yoda @BananaJoe last edited by

                                        @bananajoe sagte in Strom Verbrauch und separat Überschuss berechnen:

                                        Es gibt 2 separate Datenpunkte / Zähler für den Verbrauch ConsumedPower und Einspeisung Total_Returned

                                        Shelly 3EM / nun habe ich das auch verstanden.
                                        Wusste nicht das der gleich hinter dem Zähler kommt - Danke

                                        A F 2 Replies Last reply Reply Quote 0
                                        • A
                                          AxLED @Yoda last edited by

                                          @yoda
                                          Falls du schon einen digitalen Zähler hast, könntest du auch den Powerfox Lesekopf verwenden.

                                          Gruß

                                          AxLED

                                          Yoda 1 Reply Last reply Reply Quote 0
                                          • Yoda
                                            Yoda @AxLED last edited by Yoda

                                            @axled sagte in Strom Verbrauch und separat Überschuss berechnen:

                                            Falls du schon einen digitalen Zähler hast, könntest du auch den Powerfox Lesekopf verwenden.

                                            Danke für den Tip, auch sehr interessant, habe grade deinen Post gelesen das du den Adapter powerfox2 hierzu überarbeitet hast.

                                            Da spart man sich dann auch den Elektriker wen es mit dem Zähler passend ist.
                                            Habe grade mal versucht meinen Zähler in der Liste zu finden - wird dort aber nicht aufgeführt.

                                            Man muss dann ja auch noch einen Code vom Netzbetreiber erhalten, vielleicht frage ich die direkt mal an ob es mit meinem Zähler geht.

                                            Optisch würde ich sagen der Zähler ist Digital, ich habe dazu aber auch grade mal eine Anfrage zu
                                            support@powerfox.energy gestellt - die bieten es an, den Zähler zu prüfen, mal abwarten....

                                            14-3.png

                                            BananaJoe paul53 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            911
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            18
                                            155
                                            15544
                                            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