NEWS
Test Adapter OpenDTU
-
sehr geil besten Dank! Ich musste das Script etwas anpassen, da ich dauerhaft die Grundlast einspeisen möchte. Am Tage sollte der Akku trotzdem noch voll werden, da ich noch weitere drei Module an 1300 Watt WR Leisung angeschlossen habe.
ich habe jetzt dein erstes Script für meinen Zweck abgeändert, und Mal hier zur Begutachtung exportiert. Kannst Du deine 10 Watt Änderung an meinem angepassten Script noch einfügen?
Komme jetzt mit den zwei Abschnitten nicht ganz klar...
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</variable> <variable id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</variable> <variable id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</variable> <variable id="le#}gR{6G.yhW=x|6pS8">neededPower</variable> <variable id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</variable> <variable id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</variable> <variable id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</variable> <variable id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</variable> <variable id="?~:J:;gqC%-pt?=zNsH:">Sunrise</variable> <variable id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</variable> <variable id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</variable> </variables> <block type="schedule" id="!P+uzJ#%y!_wHsKqo2~M" x="-769" y="-524"> <field name="SCHEDULE">*/15 * * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="xaOp|xXgB@BB44iq}cJ."> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare_ex" id="Y8n@Iqzd:%qZbp|#P_v^"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="]-0N3DkP*7?ghtYzXwX!"> <field name="TEXT">10:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="fBJt;J|@?8y+L|`jmRd9"> <field name="TEXT">09:00</field> </shadow> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="~p6WKGjCNU[UXfc{|$8|"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field> <value name="VALUE"> <block type="math_number" id="Z(v(#cMkS]/o.,;iyE/|"> <field name="NUM">600</field> </block> </value> <next> <block type="variables_set" id="Ih%sQzzK`!Ec=`tscEm-"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</field> <value name="VALUE"> <block type="get_value" id="E60zTd:yszZT-@pD[YB#"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.10421</field> </block> </value> <next> <block type="variables_set" id=":rlAB32E^@yPP9Jh?EMO"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</field> <value name="VALUE"> <block type="get_value" id="Q8pLDlgI~N(N2-6)X@Qu"> <field name="ATTR">val</field> <field name="OID">opendtu.0.114182913679.ac.phase_1.power</field> </block> </value> <next> <block type="variables_set" id="t8-xB+K`%rr)x]%:Q5cN"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field> <value name="VALUE"> <block type="math_arithmetic" id="2FaDMR/kS5K9d!j=`dK3"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="2FEk%?jHI2)Hvf4}p|*;"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Z`YZ!4FileGG?5VwaP-/"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="+10nRI6/x]hugF{/lmxM"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="n0BqKn~p@qPw.Jvfrj,s"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</field> </block> </value> </block> </value> <next> <block type="variables_set" id="$61h{3os=)%X-VEx9M:i"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> <value name="VALUE"> <block type="math_round" id="3$tH.4.P)ukPPcI4xw.A"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="{D8W1ElJ#97Cg:]vDkM;"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="ju~9S8j-`0c/OF%2$7-o"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="6:p#t,*^;)z:Wb:@dc|3"> <field name="NUM">100</field> </shadow> </value> <value name="B"> <shadow type="math_number" id=".fYZ,3H9RSS}:wD=%Bvk"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Z9S-r-/8^FbCeq,[{ULB"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="jul_lM$(9.yj`:ZH8}%@"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="_mPBX.l-0%hNvWtND[z1"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="{Q+JfjzDv.)Z1KRbU*uv"> <field name="NUM">600</field> </shadow> <block type="variables_get" id="M!sN^/9!7$b}.ru.lqgC"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="g3gA+F5X4*$4x2),%sJV"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> <value name="VALUE"> <block type="get_value" id="7wbrC,7l;@ahCGcw2/pL"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.PV-Anlage.storedNeededPowerHM600.storedNeededPower</field> </block> </value> <next> <block type="variables_set" id="2KI]WdQd`0MzEf%mOPaL"> <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field> <value name="VALUE"> <block type="math_round" id="Ha.~N]M`[1eWboby_aYe"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id=":C/cpWh)P`-jK9}]IN*4"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="v}v!|Jkv3JHVqQR7poM0"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Nou}`9U#64_9EfeP$7E^"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="{dg*rTfc(I5I1PoYYN;l"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="D`~([S!SEua]l95F+#-*"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="#Aa[sC!ija_TtL9Go*jl"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="GfovLR]X(6=?),|X/9K2"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="?YS@_}6Hup[`ZsLR!Z45"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="YxGb?xk[MY37)!7O-Cqe"> <field name="NUM">0.05</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="+KJ71_Z(eLN.a(uoEuci"> <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field> <value name="VALUE"> <block type="math_round" id="=HYNg!vGE)^Z7m{+e$cs"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="|d.50MyF$Zxnn(B]!gq~"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="?8HAOa[X,LM#h`p]lLc4"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="(8p!3BSrd)N0m`PVj}cd"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="?$cU!rsg;wkU}CP.VsR."> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="@kP8*eoC!D4/Wa?%grKM"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="D$_kryX`Gb5eu$gnYS_q"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="MHx^YJ`[IJHske|0K5}M"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="nrL6t1UCC{jy1*U[O|Xq"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="||~-FC.nb3oU=fuLJzw}"> <field name="NUM">0.1</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="8cGY=ms*^/Fbn#Cde4/e"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="csk68CmH=pR,ptmE?y}5"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="QUQf.~7J|ziuD3sLdl)|"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="lGPf[Ci!QdAF4j#Bn34-"> <field name="TEXT">Sonnenaufgang; </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="kwmbl:u%6-!)]lE{Bhdj"> <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field> </block> </value> </block> </value> <next> <block type="debug" id="yaFK]t~sZKg}j1WzH!TL"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A:^a.TTl)CuCY?K4{Z0;"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="g_%Dq-ksE!p;Tib-dWoB"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="(bZZUaTT0bt~IQ|a~%#R"> <field name="TEXT">Sonnenuntergang; </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="weuYcyZ5+:mfnpSK9UiP"> <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field> </block> </value> </block> </value> <next> <block type="debug" id="1|f1K~GhCe(a;/q4o_X]"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="WtDq6*-h|XRBClzt7C[}"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="2Zo2{I0w6J%`$2:qEY1l"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="+YI.VRyx;em.YT$D(|bs"> <field name="TEXT">Istwert: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="z%3ACfZd0~)KLgj0p}%@"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> </block> </value> <next> <block type="debug" id="r+xN[i`4xS-M`OYDBpb."> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="huRV|RwGh(WJG|l-)Aw`"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="(f(78JM#Hy0@?Z0hJe~l"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="~}`O(MW.TU:J%_oS)#Xu"> <field name="TEXT">obere Grenze: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=",vBoJg7x{3!@v.c5w4q]"> <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field> </block> </value> </block> </value> <next> <block type="debug" id="qBNh2:P3U}F#$|$6FZFn"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="2kPK8(t-SdR9TZvb.%-l"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="}cq5v9RJT$55w(=?6BX)"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="*q^TTVgJ+?:b!z,x/S;V"> <field name="TEXT">untere Grenze: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Vh$)4$K%:ZHW:~MiMXet"> <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field> </block> </value> </block> </value> <next> <block type="debug" id="k}*+@}8y%^u*6nB1JGm^"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="p_lud?Lq-FYBOI}E.h])"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="9O/.cB+R0J#M=YHuIJn?"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="3Uv-x,Irz%wnP{oXU!s^"> <field name="TEXT">benötigte Power in Prozent:</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="T);Yxf;X[xS0z_7}_YkI"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> </block> </value> <next> <block type="controls_if" id="//Rx),f%pyif!qW8O/?G"> <mutation elseif="1" else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="6|n{EZ*g-L?wwMuw~`pt"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="@s)ep$AZC}nn4%[Y{zXv"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="rLGQIwoD@(-[)i.@Gek1"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> <value name="B"> <block type="math_number" id="i.8)/]r6EY5E@{+61}ch"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="M%7gn=%*6!Oo0Iy!N0HE"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="FPBUa4}8MCdw~u2(u=Z4"> <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field> </block> </value> <value name="B"> <block type="math_number" id="])#t~DUCT78?qe_~1/X)"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="_|aD2Z`JU`?BoQCCcfTz"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="wcNA/`cj2DUcJLr26^bd"> <field name="TEXT">keine Änderung, Wert ist gleich gespeichertem Wert</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="4WJuW,40dOlCCnG8!=A("> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="0U*fZT58L0uKFJsD)N{;"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="%=U`G7.6z`w:8|:XtgTI"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> <value name="B"> <block type="variables_get" id="IE{(_NPVQP{:.^rxbG?4"> <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="7GGwP6lHcmy!ILxZJvYk"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="EN^7brshgWEicI7V4)C!"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> <value name="B"> <block type="variables_get" id="7B.88d1a^Hr`R-b6!iMZ"> <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="controls_if" id="P8/_4.KJ/zZ6qh9iBh+o"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="mk*xKT^,LdqKZpmRr}r4"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id=".d_KP;p/?wytr_{S7(db"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field> </block> </value> <value name="B"> <block type="variables_get" id="R!EQmKR0*lP1iR`NTG%f"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="v_^pc%4YAqueF4@xp/Ph"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> <value name="VALUE"> <block type="variables_get" id="rba!2I;EQyijkPfjo!Ze"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> <next> <block type="update" id="E7HJvqAC,*BNAxN~e8sd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.PV-Anlage.storedNeededPowerHM600.storedNeededPower</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="hR1[WimPbd@1ICN+UAdn"> <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="iqqD`P-h34,:2q7p$CH|"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> <value name="VALUE"> <block type="math_number" id="dowAhu.+=iz#Wc-F]p:X"> <field name="NUM">100</field> </block> </value> <next> <block type="update" id="*?5=;cANP)NJ|KuX_[PF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.PV-Anlage.storedNeededPowerHM600.storedNeededPower</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="7vXqNl1zb}n*oh6q3:]4"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="ngN)`(Ee_|WVjpbeEi,Z"> <value name="IF0"> <block type="logic_compare" id="E;jvy,d?,h~{8J-;$c#Z"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="j.wG0w+y^vE]tm7AZ2SR"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> </block> </value> <value name="B"> <block type="math_number" id="qmst0kfQa63`(1C?20+t"> <field name="NUM">4</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="eG:yr(gAO*#W@6$4I,9T"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> <value name="VALUE"> <block type="math_number" id="0qq=Pa2L.`pfN{/fr=|V"> <field name="NUM">5</field> </block> </value> </block> </statement> <next> <block type="control" id="KN@t^0cE0k@-082b*`$}"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">opendtu.0.114182913679.power_control.limit_nonpersistent_relative</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="T,9Ms}!g05fFGlV[=97t"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> </block> </value> <next> <block type="update" id="K~#2,NL{?T,t?vi8K@_K"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.PV-Anlage.Solarlimit_HM600.Solarlimit_HM600</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="obffp}fvI-w|9kbk(:D7"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> </block> </value> <next> <block type="debug" id="4(mO4hae0d8|yCEDlMj~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="GhK9E*i9z*IoFuBKSaq1"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="K$7:Tw;%Pm?f$3/:xV?V"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="tzX795?CuQ=.SGL`i!ns"> <field name="TEXT">gesetztes Limit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="`hpd|~6gnaa1#A:#I^ku"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="k-_yI!1YR}Cw@^zA*2By"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="pOzzR,#7b~P,=jhm/QLz"> <field name="TEXT">keine Änderung</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="6hv2w66u%V}c3Ij`Q?pi"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="LmPU])Tk80,#%40`K:m4"> <field name="TEXT">Zeit ist außerhalb der Reglungszeit.</field> </shadow> </value> </block> </statement> </block> </statement> </block> </xml>
Ich lade mein Batterie tagsüber. Der dahinter geschaltete WR ist dann vom Netz getrennt. Wenn ich einspeise, ist das Ladegerät vom Netz getrennt. Ich weiß nicht ob man eine Batterie gleichzeitig laden und entladen kann, was Dir vermutlich vorschwebt?
das Laden und Entladen parallel macht dem Akku nichts aus... Es geht und wird auch woanders genau so geregelt.
-
@knopers1
mal so nebenbei.
Ich frage mich immer wie lange solche Solarakkus halten - angeblich ja: 5.000-10.000 Ladezyklen.
Wenn gerade jetzt in der Übergangszeit mal Sonne, Wolken usw. sich zügig ablösen ist ja der Akku ständig am be/entladen. - Da ist der bald hin.
Oder wenn man mal den Herd anschaltet .... lässt sich sicher nicht einfach händeln. -
Alles angepasst aber irend etwas passt nicht...
bei 250 Watt Netzbezug, setzt das Script mein hm-600WR auf 10%-60 Watt bei 0 Watt Sonnenleistung
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="BN!a@q$SEAU4^)xo:SRJ">max_WR_Leistung</variable> <variable id="AcYpB0Ty+wVObL7=Y.a.">saldierte_Leistung</variable> <variable id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</variable> <variable id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</variable> <variable id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</variable> </variables> <block type="schedule" id="OO@|Rtoh_rlRKcPbfGAo" x="-2262" y="-1412"> <field name="SCHEDULE">0,10,20,30,40,50 * * * * *</field> <statement name="STATEMENT"> <block type="comment" id="!%pL=9LkG.9?H[$qx2YI"> <field name="COMMENT">wenn Nachteinspeisung aktiv</field> <next> <block type="controls_if" id="7T?Z|?Y5.p-:678Tx$Ti"> <value name="IF0"> <block type="get_value" id="E60zTd:yszZT-@pD[YB#"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.10421</field> </block> </value> <statement name="DO0"> <block type="comment" id="un41CmgNYK(Y]/a|36h]"> <field name="COMMENT">Variablen beschreiben</field> <next> <block type="variables_set" id="EqaM{MYS7M6`-h;!zF93"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">max_WR_Leistung</field> <value name="VALUE"> <block type="math_number" id="^w]xAxYJ7wN]m6;vk(fV"> <field name="NUM">600</field> </block> </value> <next> <block type="variables_set" id="wR,+k_F;sMBf]aAYh+~t"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">saldierte_Leistung</field> <value name="VALUE"> <block type="get_value" id="RX$n4zq((b9U%h@.fnK,"> <field name="ATTR">val</field> <field name="OID">hm-rega.0.10421</field> </block> </value> <next> <block type="variables_set" id="~RRNE/ol!3MoTz;#)`PK"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> <value name="VALUE"> <block type="get_value" id="5CvJRCtL/p)gjkP2,A%K"> <field name="ATTR">val</field> <field name="OID">opendtu.0.114182913679.ac.phase_1.power</field> </block> </value> <next> <block type="variables_set" id="mZ+[ru,M.bbbDx$!%cbd"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> <value name="VALUE"> <block type="math_arithmetic" id="rv08p$|]!!eg`$;G4?[t"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="n}1O70OfJnrAub1M8c[r"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="3y=~@f2Qw!_YiJJ7yyxq"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="qLf/8W@9:(9C9tZ0)%zs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="0N8%)B@Js@QKG(.|9C;/"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">saldierte_Leistung</field> </block> </value> <value name="B"> <shadow type="math_number" id="N@J09x*NDsor:$]CWIb)"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="k8CjoP?zy$q5sYiz|fp`"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="RrKwrA08I}5~xOXJTY=l"> <field name="NUM">0</field> </shadow> </value> </block> </value> <next> <block type="comment" id="%`DgcG;amO_v`JekW7X#"> <field name="COMMENT">maximal WR Leistung einstellen</field> <next> <block type="controls_if" id="X.V3jJA5CZkZQUc%Yn{;"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="TKLqCZMY~Wns-BS@K,K2"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="?B6HLx3_C%j{i`W3_h~4"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> </block> </value> <value name="B"> <block type="variables_get" id="=j*pkdNV[O*7=,LmG^hL"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">max_WR_Leistung</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="T{[2|VMAG8kqI|/hwnX."> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> <value name="VALUE"> <block type="variables_get" id="YULaab+c`U9LO`fH91iU"> <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">max_WR_Leistung</field> </block> </value> <next> <block type="comment" id="EK7aa~/95cKP_*9jtj~u"> <field name="COMMENT">Vermeidung W Änderungen > 10W wegen Schwingen</field> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="gVY;LPML8z$4uv`|Pif0"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="(@i,:QFP%Ui#$Qc#}9zK"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="qS;D4lv4a]J5@{4bq}}["> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="I_UEM;1#-apn7r1ubP.Q"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="E`wS@czP,1f}|UDsLxWy"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> </block> </value> <value name="B"> <shadow type="math_number" id="vc]UO5xK#u/;a[$nc{7L"> <field name="NUM">1</field> </shadow> <block type="math_number" id="=1.lbX$$-%3|HK%5O1s6"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="2hh%7nQbUqWU/c/oD;1]"> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> <value name="VALUE"> <block type="math_arithmetic" id="B0B7N@oj(qhgq.[CfLrm"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="I_UEM;1#-apn7r1ubP.Q"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="~U[j;IW!IuC97gq%wTiT"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> </block> </value> <value name="B"> <shadow type="math_number" id="vc]UO5xK#u/;a[$nc{7L"> <field name="NUM">1</field> </shadow> <block type="math_number" id="npdn`ZMsF.UU%sumAg]f"> <field name="NUM">10</field> </block> </value> </block> </value> <next> <block type="comment" id="+52id[cI4NLN3rH@}5+9"> <field name="COMMENT">Vermeidung W Änderungen < 10W wegen Schwingen</field> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="cp:Gbx*F@Z)|d?I_*NM["> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="!m{sPTYgujd)08}F(iiw"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="@tgzHg%Ae%v`SEE4*4Vh"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="I_UEM;1#-apn7r1ubP.Q"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="D:an~$hFrNvX$+lLY*)."> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> </block> </value> <value name="B"> <shadow type="math_number" id="vc]UO5xK#u/;a[$nc{7L"> <field name="NUM">1</field> </shadow> <block type="math_number" id="c;wHpOxmnU[,woPIEeV^"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="variables_set" id="0K$GCJ,wp=x$|NNUk}tJ"> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> <value name="VALUE"> <block type="math_arithmetic" id="J^O#Rg+68T:Xnfp?_IAb"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="I_UEM;1#-apn7r1ubP.Q"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="E@NrHLM:p${9Orq}X6^w"> <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">IST-Wert_WR</field> </block> </value> <value name="B"> <shadow type="math_number" id="vc]UO5xK#u/;a[$nc{7L"> <field name="NUM">1</field> </shadow> <block type="math_number" id="~LDPUO1B|3*vKw~E+7Ji"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </statement> <value name="IF3"> <block type="logic_operation" id="P_uomd33Pm,$sKLHaK?8"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="%9^pqGFOAdF_Q4+I_kk|"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="3FJ;ccWjMMWY975Kj@5s"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">saldierte_Leistung</field> </block> </value> <value name="B"> <block type="math_number" id="3[DVAMar{wt_rK:[kRtU"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="H(i+-mX%!VeQT-k-dSW~"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="If*V!EDhw)-mx.R1T4n|"> <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">saldierte_Leistung</field> </block> </value> <value name="B"> <block type="math_number" id="Ba7:PVdMPz2$p~*KFDnQ"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="f1T,}m=[3vLl{OBvCavV"> <field name="COMMENT">benötigte Leistung einstellen</field> <next> <block type="variables_set" id="N2`__2dpmt+NXIcxENW/"> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> <value name="VALUE"> <block type="variables_get" id=";3S?@Jd,;,GMMI=X8X,0"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="5V:8{H(Wby#lc(I7TXo3"> <field name="COMMENT">Vermeidung das SOLL-Wert < 10W wird</field> <next> <block type="controls_if" id="z~i9;MPg9rNBrD:.ZcHx"> <value name="IF0"> <block type="logic_compare" id="#wA@uq;vFm}184]3,XTf"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="b~F;nG1/8mo.0J8Qo;]3"> <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">SOLL-Wert_WR</field> </block> </value> <value name="B"> <block type="math_number" id="1a.@~,.{Y9?msC|}i!Eh"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="y-1KyiEpr+hF9[GjI6yR"> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> <value name="VALUE"> <block type="math_number" id="ZCQw^kFMn*J`ypL@Xt.A"> <field name="NUM">10</field> </block> </value> </block> </statement> <next> <block type="control" id="%cOvD+Otu7dc3(7+Pt%?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">opendtu.0.114182913679.power_control.limit_nonpersistent_relative</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="qp8W?7#X`RyZcY2C7b7k"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="OJ-sBUj]4[O=:~#bD`+/"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="c;t^q^e_m6@Xsn@8(u`r"> <field name="VAR" id="av^_6@}eU-gIk%dJ,!,}">Stellwert_WR</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
evtl, habe ich falsch die Werte eingetragen....
Mein Hichi IR Zähler saldiert auch, Ich habe aber drei HM-WR die Leistung abgeben, wovon nur einer geregelt werden soll! Da bei mir parallel drei Hoymiles arbeiten, muss ich bei "saldierte_Leistung" den Wert aller drei Hoymiles auswählen? Oder was genau wird dort eingetragen? -
@friedhofsblond sagte in Test Adapter OpenDTU:
Ich frage mich immer wie lange solche Solarakkus halten - angeblich ja: 5.000-10.000 Ladezyklen.
Wenn gerade jetzt in der Übergangszeit mal Sonne, Wolken usw. sich zügig ablösen ist ja der Akku ständig am be/entladen. - Da ist der bald hin.Damit sind komplette Zyklen gemeint.
-
@codierknecht
Da sind schon Vollzyklen gemeint, wie ich das aus den Akkubeschreibungen rauslese. Aber wenn im Sekundentakt geladen und entladen wird (Herdplatte), dann komme ich sehr schnell auf einen Vollzyklus. Ich möchte das ungern testen. -
@knopers1
Ich habe dein Script angesehen.
Die 10Watt Änderung ist bereits im Script enthalten (Vermeidung großer Sprungantworten bei Sollwertänderungen).
Zur 2. Frage Tei1
Da du saldiert auf 0W kommen willst, brauchst du den 16.7.0 Wert aus dem IR Kopf. Egal was du sonst noch machst, ist das ja der Wert den du erreichen möchtest. Also möglichst genau 0W.
Hier:
muss das Kriterium rein, dass das die Nulleinspeisung einschaltet. Da ich nur nachts Nulleinspeisung betreibe, ist es bei mir die Steckdose, die am Ausgang des WR hängt.
Da du 24h Nulleinspeisung machen willst, wäre diese Abfrage unnötig. Du könntest z.B. einen neuen Datenpunkt erstellen vom Typ Zahl und auf "1" abfragen. Also wenn "1", dann arbeite das Script ab. Bei "0" mache nichts. Dann brauchst du nichts am Script ändern und könntest in der Objektansicht durch setzen auf "0" das Script anhalten. Oder du verwendest eben ein andere Bedingung. Jedenfalls brauchst du eine Bedingung, die immer erfüllt ist.Zur 2. Frage Teil2
Hier:
muss der saldierte Wert abgefragt werden, auf den geregelt werden soll. Das ist der 16.7.0 aus dem ausgelesenen IR Kopf.Ich bekomme den Wert über MQTT in den ioBroker und habe ihn dann gewandelt in eine Variable.
Falls dir das hilft, anbei ein Screen meines Scriptes wie das zumindest bei mir geht:
Da ich selbst noch nicht viel Erfahrung bei der Blockly Projektierung habe, geht das vielleicht auch anders besser/kürzer/schneller?
Weiterhin viel Erfolg.
-
@schoeppi_1 dein setup klingt spannend. Was genau setzt du denn als Hardware ein? (Batterie und Ladegerät, Fotos wären auch toll…)
-
@chris299
Moin,
prinzipiell ist es so:
PV auf Garagendach speist ins Hausnetz. Batterie 24V/100A steht im Keller, damit sie im Warmen steht.
Da der Weg von der Garage in den Keller sehr lang ist, habe ich mich dazu entschlossen, ein Ladegerät 24V/16A und keinen MPPT einzusetzen. Wissentlich, dass die Verluste größer sind aufgrund der DC/AC Wandlung, aber dafür ohne "Erdarbeiten für dicke Gleichspannungskabel und auch ohne großen Aufwand zu verwirklichen.
Aus der Batterie entnehme ich max. 2kW in der Nacht (um die Batterie zu schonen) . Das reicht für den Grundbedarf in den Sommermonaten über Nacht. Da meine PV bei aktuellem Wetter und Sonnenstand die Batterie seit ca. 2 Wochen nicht mehr voll bekommt, macht eine größere Batterie (derzeit) auch keinen Sinn.
Sieht also so aus:
Laden: WLan Steckdose_Laden ->Ladegerät -> 30A Sicherung -> Batterie
Entladen: Batterie -> 30A Sicherung -> Battery Protect (gegen Tiefenentladung) -> HM WR -> WLan Steckdose_Entladengrobe Funktion: (alles im IoBroker verschaltet)
Laden:
Wenn nicht Entladen wird, schaltet das Ladegerät zu, wenn die PV >550W erzeugt. Wenn die Leistung unter 450W sinkt, wieder aus. Bei schöner Sonne, ist die Batterie dann in ca. 4-5 Stunden geladen. (~400Wx5Std = 2kW)
Entladen:
Wenn nicht geladen wird und es ist nach 19Uhr, schaltet die Steckdose_Entladen ein und es wird eingespeist. Wie geschrieben jetzt mit Nulleinspeisung, um möglichst effizient die erzeugte Batterieenergie zu verwenden.Ich habe hier absichtlich keine Fabrikate genannt oder Fotos eingestellt, da ich nicht weiß ob das erlaubt ist.
-
@schoeppi_1 so ein setup hatte ich mir für mein Balkonkraftwerk auch überlegt, aber ich frage mich da folgendes:
Lohnt sich das für 1-2kWh Überschuss im Sommer überhaupt?
Und mit welchen Preisen für Komponenten muss ich da eigentlich rechnen?
Daher auch meine Frage nach den konkreten Geräten. (Warum sollte eine Nennung hier nicht erlaubt sein?)
Und kann man das wirklich mit einem normalen Ladegerät machen? Diese prüfen ja immer erstmal die Batterie und legen dann erst los. Wenn man aber die Ladung ständig wegen Wolken oder so unterbricht, dann kann das kaum gut sein für die Batterie.... -
@chris299 ich habe eine ähnlich große Anlage, 1,5 KWP. Anlage dient ausschließlich der Grundversorgung des Hauses. Einspeisen tue ich derzeit nichts. Das bedeutet unser PV Sturm wird zu 100 % selbst verbraucht. So habe ich die beste Amortisation meiner Investition. Ich werde im nächsten Jahr noch mal das selbe hinzu bauen. ich kann den Grundverbrauch noch nicht messen, der wird aber höher sein. Dann sollte ein wenig Überschuss entstehen. Aber für eine Batterienutzung reicht das meines Erachtens nicht. Dafür sind Batterien viel zu teuer und die Wirtschaftlichkeit ist nicht gegeben. Zu den Produkten: meines Erachtens kannst du nehmen, was du willst. Die Qualität ist meist sehr gleichbleibend. Die Dinger kommen eh oft aus der gleichen Fabrikationslinie und haben nur andere Labels. Das gilt auch für die Micro-Inverter.
-
@chris299
Ich denke diese Frage muss jeder für sich beantworten, da der Anreiz unterschiedlich ist.
3 Beispiele...
Gewinnrechnung:
Invest ca. 1100€ (Batt. WR, Sicherung, Leitungen, Steckdose, Ladegerät,..) -> 180Tage x 30Cent x 2kW = 108€ im Jahr -> Amortisationszeit 10 Jahre wenn die Glaskugel stimmt und nichts kaputt geht. -> unter dem Gesichtspunkt wird es vermutlich nichts bringen
Spaß an der Sache:
Das gilt primär für mich. Ich wollte einfach wissen, ob ich es hinbekomme und kann. Man fängt klein an (PV) und dann kommen die Ideen. So bin ich zum IoBroker gekommen und verstehe es als Hobby, bei gleichzeitigem sinnvollen Effekt.
Einspeisung vermeiden:
Es kann Sinn machen, die Einspeisung nicht zu groß werden zulassen.Was ich geschrieben habe, war nur das prinzipielle Konzept. Wenn das Ladegerät aus ist, schalte ich es erst 2-3 Minuten verzögert ein wenn die Leistung über die PV vorhanden ist, um zu vermeiden, dass die Wolke am Himmel größer ist und es keinen Sinn macht einzuschalten.
Wenn das Ladegerät ein ist, schaltete es auch nicht gleich wieder ab wenn die Wolke am Himmel erscheint. Ich meine aktuell eine Ausschaltverzögerung von 7 Minuten drin zu haben wenn die untere Schwelle unterschritten wurde. Geht die Leistung zwischenzeitlich wieder hoch, bleibt das Ladegerät natürlich an. An die Werte und Bedingungen habe ich mich empirisch herangetastet.Es ist nichts anderes, wie wenn du an deinem Auto ein Ladegerät anschließt und lädst, nur eben in Abhängigkeit der erzeugten Energie.
-
@schoeppi_1 sagte in Test Adapter OpenDTU:
bei gleichzeitigem sinnvollen Effekt.
Einspeisung vermeiden:
Es kann Sinn machen, die Einspeisung nicht zu groß werden zulassen.Ansichtssache.
Aktuell geht man von etwa 1 Mio. BKW in DE aus, auch wenn die Zahl der offiziell angemeldeten deutlich geringer ist.
Lass es in den kommenden Monaten/Jahren mal 10 Mio. werden.
Wenn jedes davon nur 200 W Überschuss einspeist, sind das 2 Gigawatt. Also 2 kleine AKW. Da braucht man dann als Oppositionspolitiker nicht mehr über die Abschaltung der letzten 3 AKW Anfang des Jahres zu jammern.Klar kriegt man dafür in der Regel (wegen unterlassenem Antrag beim Energieversorger) keine Vergütung.
Aber besser als z.B. komplette Landschaften für Braunkohle umzupflügen oder AKW ohne Endlager zu betreiben ist es allemal. -
@codierknecht
Ich habe nicht damit gemeint, dass man nicht vergütete Energie nicht einspeisen sollte, sondern die Energie aus der Batterie nicht unnötig ins Netz zu speisen, die man zuvor aus der PV mühsam geerntet hat. Daher ist die Regelung von Vorteil gegenüber der Konstanteinspeisung.Wenn es die 600(800)W Grenze nicht gäbe, oder man zumindest einen Elektriker finden würde, der auch kleine Anlagen abnimmt....
Wenn es keinen Huddel mit dem Netzbetreiber geben würde, der sich wundert, dass bei einem BKW die Einspeisung am Jahresende so groß ist, das es mit 600W nicht stimmen kann ....
ja wenn das nicht wäre... stimme ich Dir zu 100% zu -
Bitte macht einen eigenen Thread für die Sachen auf die nicht den Adapter betreffen.
-
@idlebit sorry, dass ich den Thread "missbraucht" habe. evtl. kann ein Moderator wie @Homoran die Beiträge in einen eigenen Thread verfrachten....
Aber nun habe ich tatsächlich ein Thema zum Adapter:
Wie ich in den letzten Tagen feststellen musste, ist der "Tagesertrag" meines HMS nicht wirklich der Tagesertrag sondern der Ertrag seit letztem Reset. Leider kommen bei dunklerem Herbstwetter wie jetzt solche Resets mehrmals am Tag vor...
Dazu gibt es auch ein Issue hier: https://github.com/tbnobody/OpenDTU/issues/1397Evtl würde es sinn machen den DP umzubenennen und/oder eine Logik für die wirkliche Tagessumme zu implementieren.
Nun wollte ich das mittels Blockly "umrunden" aber mir fehlt da etwas die Tiefe, wie man das angehen könnte.
Das Problem ist dabei ja, das man die verschiedenen Reset-summen pro Tag summieren muss, man aber nicht weiss, ob an dem betreffenden Tag noch ein Reset kommt oder erst am nächsten Morgen.
Ich schreibe mir die Tagessumme dann auch in einen eigenen DP einmal am Tag weg, damit ich jeweils nur ein einen Wert pro Tag in der History für mein echart Balken-diagramm bekomme.
Kann man so eine temporäre Tagessumme im Script selbst halten oder braucht man dafür noch einen DP? -
@chris299
also ich kann Dir nur sagen, was ich gemacht habe. Ich verwende die OpenDTU Energiewerte gar nicht aus der genannten Problematik heraus.
Ich habe ja WLAN Steckdosen (z.B. Shelly, Sonoff,... ) zur Schaltung der Nachteinspeisung und fürs Laden verwendet. Das ist ein sicherer Weg die Energie zu messen.
Kurz vor Start der Nachteinspeisung schreibe ich mittels Blockly Trigger "Zeitplan" den Energiewert der Steckdose in einen DP "Zählerstand_Nacht_Entladen". Dann subtrahiere ich den Energiewert der Steckdose vom DP "Zählerstand_Nacht_Entladen" und erhalte die Differenz. Also dass, was ich aus der Batterie wirklich bekomme.
Genau so mache ich es auch umgekehrt, wenn ich die Batterie über den Tag lade. -
@schoeppi_1 danke für den Hinweis, aber ich hätte da gern die Tageswerte der einzelnen Panel. Das bekommt man leider nur aus der OpenDTU...
-
Moin,
sorry ich schon wieder ;).
Soweit läuft alles schön bei mir.
Habe aber morgends wenn die WR noch keine Leistung bringen diese zwei Einträge (je WR) im Logfile:opendtu.0 2023-10-28 07:22:11.365 warn State value to set for "opendtu.0.1121838###0.power_control.current_limit_absolute" has value "-1" less than min "0" opendtu.0 2023-10-28 07:22:11.207 warn State value to set for "opendtu.0.1141833####4.power_control.current_limit_absolute" has value "-1" less than min "0"
(ich starte die DTU morgends 30min vor Sonnenausgang per Smarthomesteckdose, gegen 8:00 sind dann die beiden WR gestartet)
Ich denke das ist ein Hinweis, das die DTU an ist aber noch keine Spannung von den WRs geliefert wird --- oder?
Schönes WE
-
@friedhofsblond sagte in Test Adapter OpenDTU:
(ich starte die DTU morgends 30min vor Sonnenausgang per Smarthomesteckdose, gegen 8:00 sind dann die beiden WR gestartet)
Die Dinger laufen besser durchgehend.