Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Ladezyklen Stromspeicher berechnen, wie?

    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

    Ladezyklen Stromspeicher berechnen, wie?

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

      @babl sagte:

      das einigermaßen zu verstehen.

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="/g,:nd6=sKPn,]JSfrua">ladezyklen</variable>
         <variable id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</variable>
       </variables>
       <block type="variables_set" id="U@8=CwrckLeKOt]iD}Lv" x="63" y="88">
         <field name="VAR" id="/g,:nd6=sKPn,]JSfrua">ladezyklen</field>
         <value name="VALUE">
           <block type="get_value" id="{YRjN`Nx=BEx3R/LDF4+">
             <field name="ATTR">val</field>
             <field name="OID">0_userdata.0.Stromspeicher.Vollzyklen.Anzahl</field>
           </block>
         </value>
         <next>
           <block type="variables_set" id="o.|.m{:;0.0cY^4+eni(">
             <field name="VAR" id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</field>
             <value name="VALUE">
               <block type="get_value" id="^bB|fQUnfqz^f]r1Qvu1">
                 <field name="ATTR">val</field>
                 <field name="OID">0_userdata.0.Stromspeicher.Vollzyklen.Zyklusstand</field>
               </block>
             </value>
             <next>
               <block type="on_ext" id="`(wlgoz]jsa80Nq,#_e?">
                 <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=")#VRho?5rkxAtApcNu)r">
                     <field name="oid">default</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="Fi_q7rn|saH-bzJ9($A^">
                     <value name="IF0">
                       <block type="get_value" id="6Z`4]I}G?sWO77Wmrta|">
                         <field name="ATTR">val</field>
                         <field name="OID">ID auswählen</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="math_change" id="8WjQf)YmQ3vQ;^G)7B]G">
                         <field name="VAR" id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</field>
                         <value name="DELTA">
                           <shadow type="math_number" id="Vifqka:H.5{:*M7]Bc{W">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="math_arithmetic" id="ZpFHQ#NR!jiV~gw!j{jG">
                             <field name="OP">MINUS</field>
                             <value name="A">
                               <shadow type="math_number" id="Q/G-2MtZ-GI)!Ar+qks_">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="on_source" id="GNfmJHKAM#n[VOh{ffPk">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number" id="gVz;[H5fPq40@-[R6N[N">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="on_source" id="y@k~Z[13[n:(sj|+XMuk">
                                 <field name="ATTR">oldState.val</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="controls_if" id="sxk@msUzgs8p*9N%t:7p">
                             <value name="IF0">
                               <block type="logic_compare" id="t3CnNEq}CmUCU-tm6YQp">
                                 <field name="OP">GTE</field>
                                 <value name="A">
                                   <block type="variables_get" id="2-eirE3@48R?ieh|bSXC">
                                     <field name="VAR" id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="math_number" id=".CT*v=bH`vt#,G0kwZ{}">
                                     <field name="NUM">100</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="variables_set" id="eNc2wv?]F/o8muo/AnY[">
                                 <field name="VAR" id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</field>
                                 <value name="VALUE">
                                   <block type="math_number" id="/(B2|8R{%3B/0?fhIO]U">
                                     <field name="NUM">0</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="math_change" id="60}*yym(zZukxz/IWZ^i">
                                     <field name="VAR" id="/g,:nd6=sKPn,]JSfrua">ladezyklen</field>
                                     <value name="DELTA">
                                       <shadow type="math_number" id="0uk=V(+d04OdxwmBb+%3">
                                         <field name="NUM">1</field>
                                       </shadow>
                                     </value>
                                     <next>
                                       <block type="update" id="`D3$u0Q|2(23`RRP|%^A">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">0_userdata.0.Stromspeicher.Vollzyklen.Anzahl</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id="T389$@H2,@S%b{~-MR[#">
                                             <field name="VAR" id="/g,:nd6=sKPn,]JSfrua">ladezyklen</field>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <next>
                               <block type="update" id="!E1ULcC.zeMcJH~b).6i">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.Stromspeicher.Vollzyklen.Zyklusstand</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="variables_get" id="p|Z}yGB64*xixOV)bKVD">
                                     <field name="VAR" id="]!MEA36|p#,3f{Ib=S1.">zyklusstand</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </next>
           </block>
         </next>
       </block>
       <block type="comment" id="xMhMBGiV$PvGORZY6/5G" x="313" y="163">
         <field name="COMMENT">SOC (%)</field>
         <next>
           <block type="comment" id="36)m^TFmBWk}]cH:I)?C">
             <field name="COMMENT">status.batteryCharging</field>
           </block>
         </next>
       </block>
      </xml>
      

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

        @paul53 danke dir es funktioniert👍 , so ist es mir um vieles klarer, noch eine frage für das entladen kann ich ja dann das gleiche script hernehmen und nur die datenpunkte ändern, oder kann ich das eventuell noch hinzu machen daß das ein script ist?

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

          @babl sagte:

          für das entladen kann ich ja dann das gleiche script hernehmen und nur die datenpunkte ändern

          Wozu das Entladen betrachten ? Das Laden um 100 % erfasst den gesamten Vollzyklus, denn wenn nicht geladen wird, wird entladen (im Grenzfall mit 0 A).

          B Homoran 3 Replies Last reply Reply Quote 0
          • B
            babl @paul53 last edited by

            @paul53 ok da hast du eigentlich auch wieder recht das entladen spielt ja bei dem ladezyklus keine rolle.

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @paul53 last edited by

              @paul53 sagte in Ladezyklen Stromspeicher berechnen, wie?:

              Wozu das Entladen betrachten ?

              @babl sagte in Ladezyklen Stromspeicher berechnen, wie?:

              Die dabei erreichte Entladungstiefe ist entscheidend für die Berechnung.

              Ich habe zwar keine Ahnung mit welcher Formel die Entladetiefe in die Lebensdauer des Akkus eingeht, aber diese ist entscheidend.

              Bei meinen Yttrium-Batterien im Wohnmobil heisst es z.B. ausschnittsweise:

              Lebensdauer in Ladungszyklen
              > 3.000 x bei 80% DOD
              > 5.000 x bei 70% DOD

              da ist eine deutlich kürzere Lebensdauer bei tieferer Entladung

              B 1 Reply Last reply Reply Quote 0
              • B
                babl @Homoran last edited by babl

                @Homoran ja, da gebe ich dir recht, daß die entladetiefe schon auch eine rolle spielt, aber ich will das nur vergleichen, denn die ladezyklen stimmen vom hersteller sowieso nicht. Im August hatte ich eine maximale Entladung der Batterie von 50% über Nacht, sie wurde dann am nächsten Tag wieder zu 100% aufgeladen, aktuell komme ich auf ca. 40% und hier werden teilweise bis zu 2 ladezyklen dann am tag verbraucht um bis auf 100% zu kommen, obwohl nur 60% Energie verbraucht wurden.

                Andere Frage was denkt ihr spielen die Erhaltungsladungen hierzu auch eine Rolle? Denn ca. jede Stunde muß die Batterie 1% nachladen.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @babl last edited by

                  @babl sagte in Ladezyklen Stromspeicher berechnen, wie?:

                  denn die ladezyklen stimmen vom hersteller sowieso nicht.

                  wenn der diese gewichteten Ladezyklen rechnet um bei unterschiedlicher Entladetiefe auf die gleiche Anzahl zu kommen, ergäbe das schon einen Sinn.

                  Also nicht 3000/5000 Zyklen sondern 5000 gewichtete Zyklen und tiefer als 50% entladene Zyklen zählen vielleicht das anderthalbfache.

                  Was hast du denn für Batterien? Blei sollte NIE unter 50% abfallen

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    babl @Homoran last edited by

                    @Homoran Sonnenbatterie 10 mit Lithium-Eisen-Phosphat

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @babl last edited by

                      @babl für LiFePO4 Zellen habe ich gerade das gefunden:

                      > 2.000 bei 80% DOD, 
                      > 4.000 bei 70% DOD
                      Arbeitstemperatur -20°C - + 55°C
                      

                      Da schlägt die Entladetiefe (DOD [Depth of Discharge]) noch schlimmer zu.

                      eine optimale Lebensdauer, die dann deutlich über den genannten Zyklen liegt, erhältst du bei einem Ladelevel zwischen 50 und 90 %
                      Was natürlich bedeutet, dass man eine doppelt so große Batterie benötigt 😉

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        babl @Homoran last edited by

                        @Homoran ok danke, das erklärt natürlich auch einiges an der ladezyklen anzahl.

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

                          @paul53 kann das sein, daß der nun wieder zurückzählt.

                          ich hatte als ich das script aktiviert habe 67% Batteriekapazität, die Batterie wurde dann auf 100% aufgefüllt, also 33, aktuell wird die Batterie wieder entladen wir sind hier jetzt bei 98% und der zyklusstand ist jetzt bei 31. Das sollte aber nicht sein. oder habe ich etwas falsch eingestellt.

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

                            @babl sagte:

                            aktuell wird die Batterie wieder entladen wir sind hier jetzt bei 98% und der zyklusstand ist jetzt bei 31.

                            Das kann sein, wenn gleichzeitig geladen und entladen wird, der Entladestrom aber größer ist als der Ladestrom.

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

                              @paul53 aktuell sieht mein script so aus

                              <xml xmlns="https://developers.google.com/blockly/xml">
                                <variables>
                                  <variable id="5o@2goY9||Jrz,20if;2">ladezyklen</variable>
                                  <variable id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</variable>
                                </variables>
                                <block type="variables_set" id="U@8=CwrckLeKOt]iD}Lv" x="63" y="88">
                                  <field name="VAR" id="5o@2goY9||Jrz,20if;2">ladezyklen</field>
                                  <value name="VALUE">
                                    <block type="get_value" id="{YRjN`Nx=BEx3R/LDF4+">
                                      <field name="ATTR">val</field>
                                      <field name="OID">0_userdata.0.Sonnenbatterie_Zyklen_Anzahl</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="o.|.m{:;0.0cY^4+eni(">
                                      <field name="VAR" id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</field>
                                      <value name="VALUE">
                                        <block type="get_value" id="^bB|fQUnfqz^f]r1Qvu1">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Sonnenbatterie_Zyklus_Stand</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="on_ext" id="`(wlgoz]jsa80Nq,#_e?">
                                          <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=")#VRho?5rkxAtApcNu)r">
                                              <field name="oid">sonnen.0.status.userSoc</field>
                                            </shadow>
                                          </value>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="Fi_q7rn|saH-bzJ9($A^">
                                              <value name="IF0">
                                                <block type="get_value" id="6Z`4]I}G?sWO77Wmrta|">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">sonnen.0.status.userSoc</field>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="math_change" id="8WjQf)YmQ3vQ;^G)7B]G">
                                                  <field name="VAR" id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</field>
                                                  <value name="DELTA">
                                                    <shadow type="math_number" id="Vifqka:H.5{:*M7]Bc{W">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="math_arithmetic" id="ZpFHQ#NR!jiV~gw!j{jG">
                                                      <field name="OP">MINUS</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="Q/G-2MtZ-GI)!Ar+qks_">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="on_source" id="GNfmJHKAM#n[VOh{ffPk">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="gVz;[H5fPq40@-[R6N[N">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="on_source" id="y@k~Z[13[n:(sj|+XMuk">
                                                          <field name="ATTR">oldState.val</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="controls_if" id="sxk@msUzgs8p*9N%t:7p">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="t3CnNEq}CmUCU-tm6YQp">
                                                          <field name="OP">GTE</field>
                                                          <value name="A">
                                                            <block type="variables_get" id="2-eirE3@48R?ieh|bSXC">
                                                              <field name="VAR" id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id=".CT*v=bH`vt#,G0kwZ{}">
                                                              <field name="NUM">100</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="variables_set" id="eNc2wv?]F/o8muo/AnY[">
                                                          <field name="VAR" id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</field>
                                                          <value name="VALUE">
                                                            <block type="math_number" id="/(B2|8R{%3B/0?fhIO]U">
                                                              <field name="NUM">0</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="math_change" id="60}*yym(zZukxz/IWZ^i">
                                                              <field name="VAR" id="5o@2goY9||Jrz,20if;2">ladezyklen</field>
                                                              <value name="DELTA">
                                                                <shadow type="math_number" id="0uk=V(+d04OdxwmBb+%3">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                              </value>
                                                              <next>
                                                                <block type="update" id="`D3$u0Q|2(23`RRP|%^A">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                  <field name="OID">0_userdata.0.Sonnenbatterie_Zyklen_Anzahl</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE">
                                                                    <block type="variables_get" id="T389$@H2,@S%b{~-MR[#">
                                                                      <field name="VAR" id="5o@2goY9||Jrz,20if;2">ladezyklen</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="update" id="!E1ULcC.zeMcJH~b).6i">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.Sonnenbatterie_Zyklus_Stand</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="variables_get" id="p|Z}yGB64*xixOV)bKVD">
                                                              <field name="VAR" id="5Cp4BapwLI_BfQvN:hN:">Zyklusstand</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                                <block type="comment" id="xMhMBGiV$PvGORZY6/5G" x="313" y="163">
                                  <field name="COMMENT">SOC (%)</field>
                                  <next>
                                    <block type="comment" id="36)m^TFmBWk}]cH:I)?C">
                                      <field name="COMMENT">status.batteryCharging</field>
                                    </block>
                                  </next>
                                </block>
                              </xml>
                              

                              ich müßte dann ja eigentlich nur sagen daß wenn die batterie geladen wird nur gezählt wird. also müßte da noch ein wahr mit rein, denn diesen wert habe ich ja im datenpunkt batterycharging entweder true oder false

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

                                @babl sagte:

                                aktuell sieht mein script so aus

                                Die Abfrage "falls Wert vom Objekt ID sonnen.0.status.userSoc" ist falsch. Es muss hier der Datenpunkt "sonnen.0.status.batteryCharging" abgefragt werden.

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

                                  @paul53 genau, ist mir auch gerade aufgefallen, aber hier war ich mir nicht sicher wie das hier genau heißen soll,

                                  falls wert von battery charging aber hier habe ich ja nur true oder false wie kennt das script das dann?

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

                                    @babl sagte in:

                                    hier habe ich ja nur true oder false wie kennt das script das dann?

                                    Falls verarbeitet nur true und false. Alles andere wird implizit gewandelt.

                                    B 1 Reply Last reply Reply Quote 1
                                    • B
                                      babl @paul53 last edited by

                                      @paul53 ok verstanden, aber dann muß ich doch trotzdem angeben daß es daß nur bei wahr machen soll, oder nicht?

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

                                        @babl sagte:

                                        dann muß ich doch trotzdem angeben daß es daß nur bei wahr machen soll, oder nicht?

                                        Der Datenpunkt liefert doch schon wahr oder falsch. Du musst nur den richtigen Datenpunkt zuweisen.

                                        Blockly_temp.JPG

                                        B 1 Reply Last reply Reply Quote 1
                                        • Homoran
                                          Homoran Global Moderator Administrators @babl last edited by

                                          @babl sagte in Ladezyklen Stromspeicher berechnen, wie?:

                                          daß es daß nur bei wahr machen soll, oder nicht?

                                          oder nicht!

                                          Diese verkürzte Version bedeutet (= true)

                                          Analog dazu bedeutet die Form FALLS NICHT Wert von... dass der Wert false sein muss

                                          B 1 Reply Last reply Reply Quote 1
                                          • B
                                            babl @paul53 last edited by

                                            @paul53 dieser datenpunkte liefert wahr oder falsch in einem datenpunkt das stimmt. Darum frage ich ja wie weiss dann das Script ob der datenpunkte wahr oder falsch ist

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            618
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly script javascript ladezyklus stromspeicher
                                            3
                                            32
                                            4963
                                            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