Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Ladezyklen Stromspeicher berechnen, wie?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Ladezyklen Stromspeicher berechnen, wie?

Scheduled Pinned Locked Moved ioBroker Allgemein
blockly scriptjavascriptladezyklusstromspeicher
32 Posts 3 Posters 5.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    babl
    wrote on last edited by
    #1

    Hi zusammen,

    ich habe einen Stromspeicher, hier würde ich gerne die Ladezyklusberechnung selber durchführen, aber ich weiß nicht so genau wie man das umsetzen kann. ich habe einen Datenpunkt der durch den Adapter des Stromspeichers bereits erzeugt wurde. Dieser ist in Einheit %.

    Als Ladezyklus bezeichnet man laut Support des Stromspeichers folgendes.

    "Ein Zyklus ergibt sich, wenn eine Batterie komplett geladen und entladen wird.
    Der sogenannte Vollzyklus wird dann erreicht, wenn eine von der Speicherkapazität der Batteriezelle abhängige Energiemenge einmal umgeschlagen wurde. Die dabei erreichte Entladungstiefe ist entscheidend für die Berechnung. Mit dem nachfolgenden Beispiel lässt
    sich der Vollzyklus leichter beschreiben: Ein Vollzyklus wird erreicht, wenn

    • die Batteriezelle einmal komplett auf- und entladen wurde
    • die Batteriezelle zweimal komplett auf- und zweimal zur Hälfte entladen wurde
    • die Batteriezelle von einem Ladungszustand von SOC* 30% zweimal nach SOC 80% aufgeladen und zurück zum Ausgangsladezustand zurück entladen wurde.

    *SOC: SOC steht für „State of Charge“, zu deutsch: Ladezustand. Der SOC beschreibt den Füllgrad einer Batterie in Prozent. Eine vollgeladene Batterie besitzt dementsprechend einen SOC von 100 Prozent"

    So nun meine Frage, wenn ich hier daß mit Blockly berechnen will, wie würdet ihr hier das Entladen berechnen auf 100% und das Beladen auf 100%.

    Da ich totaler Anfänger bin und jetzt doch einige Zeit gesucht habe aber leider nichts passendes gefunden habe würde ich hier fragen. Ich hoffe, daß wäre auch für andere interessant.

    Gruß BABl

    paul53P 1 Reply Last reply
    0
    • B babl

      Hi zusammen,

      ich habe einen Stromspeicher, hier würde ich gerne die Ladezyklusberechnung selber durchführen, aber ich weiß nicht so genau wie man das umsetzen kann. ich habe einen Datenpunkt der durch den Adapter des Stromspeichers bereits erzeugt wurde. Dieser ist in Einheit %.

      Als Ladezyklus bezeichnet man laut Support des Stromspeichers folgendes.

      "Ein Zyklus ergibt sich, wenn eine Batterie komplett geladen und entladen wird.
      Der sogenannte Vollzyklus wird dann erreicht, wenn eine von der Speicherkapazität der Batteriezelle abhängige Energiemenge einmal umgeschlagen wurde. Die dabei erreichte Entladungstiefe ist entscheidend für die Berechnung. Mit dem nachfolgenden Beispiel lässt
      sich der Vollzyklus leichter beschreiben: Ein Vollzyklus wird erreicht, wenn

      • die Batteriezelle einmal komplett auf- und entladen wurde
      • die Batteriezelle zweimal komplett auf- und zweimal zur Hälfte entladen wurde
      • die Batteriezelle von einem Ladungszustand von SOC* 30% zweimal nach SOC 80% aufgeladen und zurück zum Ausgangsladezustand zurück entladen wurde.

      *SOC: SOC steht für „State of Charge“, zu deutsch: Ladezustand. Der SOC beschreibt den Füllgrad einer Batterie in Prozent. Eine vollgeladene Batterie besitzt dementsprechend einen SOC von 100 Prozent"

      So nun meine Frage, wenn ich hier daß mit Blockly berechnen will, wie würdet ihr hier das Entladen berechnen auf 100% und das Beladen auf 100%.

      Da ich totaler Anfänger bin und jetzt doch einige Zeit gesucht habe aber leider nichts passendes gefunden habe würde ich hier fragen. Ich hoffe, daß wäre auch für andere interessant.

      Gruß BABl

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @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 ?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      B HomoranH 2 Replies Last reply
      0
      • paul53P paul53

        @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 Offline
        B Offline
        babl
        wrote on last edited by babl
        #3

        @paul53 danke daß du dich dieser sache auch wieder annimmst, :+1:

        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

        paul53P 1 Reply Last reply
        0
        • B babl

          @paul53 danke daß du dich dieser sache auch wieder annimmst, :+1:

          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

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @babl sagte:

          gibt es einen weiteren datenpunkt der dann true wird

          Vorschlag:

          Blockly_temp.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          B 2 Replies Last reply
          0
          • paul53P paul53

            @babl sagte:

            gibt es einen weiteren datenpunkt der dann true wird

            Vorschlag:

            Blockly_temp.JPG

            B Offline
            B Offline
            babl
            wrote on last edited by
            #5

            @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:+1:

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

            1 Reply Last reply
            0
            • paul53P paul53

              @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 ?

              HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #6

              @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

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Reply Last reply
              0
              • paul53P paul53

                @babl sagte:

                gibt es einen weiteren datenpunkt der dann true wird

                Vorschlag:

                Blockly_temp.JPG

                B Offline
                B Offline
                babl
                wrote on last edited by
                #7

                @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.

                paul53P 1 Reply Last reply
                0
                • B babl

                  @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.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @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.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  B 2 Replies Last reply
                  0
                  • paul53P 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 Offline
                    B Offline
                    babl
                    wrote on last edited by
                    #9

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

                    1 Reply Last reply
                    0
                    • paul53P 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 Offline
                      B Offline
                      babl
                      wrote on last edited by
                      #10

                      @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.

                      paul53P 1 Reply Last reply
                      0
                      • B babl

                        @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.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #11

                        @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>
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        B 1 Reply Last reply
                        0
                        • paul53P paul53

                          @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 Offline
                          B Offline
                          babl
                          wrote on last edited by
                          #12

                          @paul53 danke dir es funktioniert:+1: , 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?

                          paul53P 1 Reply Last reply
                          0
                          • B babl

                            @paul53 danke dir es funktioniert:+1: , 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?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by
                            #13

                            @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).

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            B HomoranH 3 Replies Last reply
                            0
                            • paul53P paul53

                              @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 Offline
                              B Offline
                              babl
                              wrote on last edited by
                              #14

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

                              1 Reply Last reply
                              0
                              • paul53P paul53

                                @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).

                                HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #15

                                @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

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                B 1 Reply Last reply
                                0
                                • HomoranH Homoran

                                  @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 Offline
                                  B Offline
                                  babl
                                  wrote on last edited by babl
                                  #16

                                  @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.

                                  HomoranH 1 Reply Last reply
                                  0
                                  • B 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.

                                    HomoranH Do not disturb
                                    HomoranH Do not disturb
                                    Homoran
                                    Global Moderator Administrators
                                    wrote on last edited by
                                    #17

                                    @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

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    B 1 Reply Last reply
                                    0
                                    • HomoranH Homoran

                                      @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 Offline
                                      B Offline
                                      babl
                                      wrote on last edited by
                                      #18

                                      @Homoran Sonnenbatterie 10 mit Lithium-Eisen-Phosphat

                                      HomoranH 1 Reply Last reply
                                      0
                                      • B babl

                                        @Homoran Sonnenbatterie 10 mit Lithium-Eisen-Phosphat

                                        HomoranH Do not disturb
                                        HomoranH Do not disturb
                                        Homoran
                                        Global Moderator Administrators
                                        wrote on last edited by
                                        #19

                                        @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 ;-)

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        B 1 Reply Last reply
                                        0
                                        • HomoranH Homoran

                                          @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 Offline
                                          B Offline
                                          babl
                                          wrote on last edited by
                                          #20

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

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          394

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe