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:

      Ein Vollzyklus wird erreicht, wenn

      Anders ausgedrückt: Wenn die Ladungen insgesamt eine Änderung von +100 % erreichen, ist ein Ladezyklus erreicht ? Gibt es einen Datenpunkt, der anzeigt, dass geladen wird ?

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

        @paul53 danke daß du dich dieser sache auch wieder annimmst, 👍

        ja es gibt einen datenpunkt der anzeigt wenn die batterie entladen oder geladen wird in %. oder brauchst du mehr datenpunkte oder noch das laden selbst hier gibt es einen weiteren datenpunkt der dann true wird ebenfalls einen datenpunkt beim entladen der dann auch von false nach true springt.

        Hier könnte man ja die 2 Datenpunkte triggern mit true und false und dann die Prozente hoch oder tiefrechnen aber du weist es ja ich hab keine ahnung wie ich das in blockly (geschweige denn normales Javascript) umsetzen kann.

        
        
        status.batteryCharging
        Datentyp 	Berechtigung
        boolean 	R
        
        Nur lesbarer boolscher Wert. Dieser ist true, wenn die sonnenBatterie derzeit geladen wird.
        
        status.flowConsumptionBattery
        Datentyp 	Berechtigung
        boolean 	R
        
        Nur lesbarer boolscher Wert. Dieser ist True, wenn die Batterie derzeit entladen wird.
        
        
        status.relativeSoc
        Datentyp 	Berechtigung
        number 	R
        
        Nur lesbarer number Wert, welcher den aktuellen Batterieladestand repräsentiert.
        
        status.userSoc
        Datentyp 	Berechtigung
        number 	R
        
        Nur lesbarer number Wert, welcher den aktuellen Batterieladestand repräsentiert.
        
        

        Gruß Babl

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

          @babl sagte:

          gibt es einen weiteren datenpunkt der dann true wird

          Vorschlag:

          Blockly_temp.JPG

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

            @paul53 wahnsinn, du kannst doch nur mehr von den scripten träumen, das probier ich morgen mal. wenn man das so anschaut ist vieles logisch, aber da erst mal draufkommen wie man sowas umsetzt das ist schon cool. danke dir👍

            Sollten weitere Fragen sein, hoffe ich darf mich wieder melden bei dir.

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

              @paul53 sagte in Ladezyklen Stromspeicher berechnen, wie?:

              Wenn die Ladungen insgesamt eine Änderung von +100 % erreichen, ist ein Ladezyklus erreicht ?

              das ist die eine Definition, hilft aber nicht bei der Abschätzung der Lebensdauer.
              Dabei ist es wichtig wie weit entladen wurde (je nach Akkutyp nicht unter 50% (Blei), 70%(LiIon), 80-90% (LiFeYPO4))
              wie schnell geladen wurde und wie hoch geladen wurde.

              Einmal auf 20% runter und auf 100% hoch ist vielfach schädlicher, als 2x auf 50% und auf 90% hoch

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

                @paul53 leider komme ich nicht weiter damit muss ich hier Variablen erstellen und 2 datenpunkte einmal ladezyklen und 1 mal Zyklus Stand soweit ist es mir klar. Aber weiter komme ich nicht. Das ist mir doch zu hoch. Es klingt logisch mit der Erhöhung aber welche datenpunkte ich unter object ID eintragen muss ist mir noch nicht so klar. Ich teste weiter.

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

                  @babl sagte:

                  2 datenpunkte einmal ladezyklen und 1 mal Zyklus Stand soweit ist es mir klar...welche datenpunkte ich unter object ID eintragen muss ist mir noch nicht so klar.

                  Das geht doch aus den Variablennamen bzw. Kommentaren hervor.
                  Was der Unterschied zwischen "relativeSoc" und "userSoc" ist, musst Du wissen.

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

                    @paul53 ok ich werd morgen nochmal in ruhe testen, danke dir

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

                      @paul53 moin, ich bin hierzu einfach zu dumm. Da besteht noch viel lernpotential um hier durchzublicken und das einigermaßen zu verstehen. Aber danke dir @paul53 für deine Mühe.

                      paul53 1 Reply Last reply Reply Quote 0
                      • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            696
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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