NEWS
Ladezyklen Stromspeicher berechnen, wie?
-
@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 -
@Homoran ok danke, das erklärt natürlich auch einiges an der ladezyklen anzahl.
-
@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.
-
@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.
-
@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
-
@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.
-
@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?
-
@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.
-
@paul53 ok verstanden, aber dann muß ich doch trotzdem angeben daß es daß nur bei wahr machen soll, oder nicht?
-
@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.
-
@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 -
@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
-
@babl sagte:
wie weiss dann das Script ob der datenpunkte wahr oder falsch ist
Mit "falls" wird der Wert geprüft und nur bei "wahr" der "mache"-Zweig ausgeführt.
-
@Homoran aah ok jetzt ist mir das Licht aufgegangen. Danke euch beiden. Wünsche euch schönes Wochenende..