NEWS
Regelung eines Hoymiles Solarinverters (Nulleinspeisung)
-
-
@tigger66 Hallo! Das Script ist wirklich Super. Leider habe ich das gleiche Problem, dass die WR auf 0 regeln. Kannst du mir vielleicht mitteilen wie du die 5% eingebaut hast? Bin nicht so fit darin. Vielen Dank!!
-
@Konny22 und @Trudeludes
ich habe das Script von @Kymchy nur etwas ergänzt und frage zusätzlich den Wert von Solarlimit ab. Ist der Wert kleiner gleich 4, lasse ich den auf 5 setzen und verhindere damit dass der WR auf 0 geht und "hängt".
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="?~:J:;gqC%-pt?=zNsH:">Sunrise</variable> <variable id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</variable> <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=")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="variables_set" id="~v~t5u;a_q(#kb+E{(FH"> <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field> <value name="VALUE"> <block type="time_astro" id="Svgszky6QE2/10f8vck1"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> <next> <block type="variables_set" id="~/087{!i@]6[`rKxsw]j"> <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field> <value name="VALUE"> <block type="time_astro" id="BO/%++Qd.ktL4PfK.r3?"> <field name="TYPE">sunset</field> <field name="OFFSET">0</field> </block> </value> <next> <block type="controls_if" id="xaOp|xXgB@BB44iq}cJ."> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="|K,B[pWUT`!LyJsB6,pK"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="Y8n@Iqzd:%qZbp|#P_v^"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">>=</field> <value name="START_TIME"> <shadow type="text" id="]-0N3DkP*7?ghtYzXwX!"> <field name="TEXT">12:00</field> </shadow> <block type="variables_get" id="!,6PYgrHnSxh#Evn[Yie"> <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field> </block> </value> </block> </value> <value name="B"> <block type="time_compare_ex" id="qRYvI=rC7,D?`B=PV@^6"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION"><=</field> <value name="START_TIME"> <shadow type="text"> <field name="TEXT">12:00</field> </shadow> <block type="variables_get" id="LMy)6-$QN(f3d9klxV`O"> <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field> </block> </value> </block> </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">500</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">shelly.0.SHEM-3#E8DB84D68CFF#1.Total.InstantPower</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.112183217812.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.storedNeededPowerHM400.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"> <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"> <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"> <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"> <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"> <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"> <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"> <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"> <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"> <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.storedNeededPowerHM400.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.storedNeededPowerHM400.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.112183217812.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_HM400.Solarlimit_HM400</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> </next> </block> </next> </block> </statement> </block> </xml>
War leider länger nicht online. Sorry für die verspätete Antwort. Ich hoffe es hilft weiter.
-
@tigger66 Vielen Dank für das Script. Werde es mal testen. Habe es aber schon richtig in deinen Kommentaren gelesen, dass du es auf beiden WR betreibst?
Gruß -
@Konny22
ja Du hast richtig gelesen. Ich habe das Script zwei mal am laufen. Einmal für einen 400er und nochmal modifiziert für einen 1500er. Der 1500er soll erst reagieren wenn der 400er nicht mehr regeln kann. Oberes oder unteres Limit oder die angeforderte Energiemenge nicht liefern kann. Morgens oder Abends... -
@tigger66 funktioniert die Verstellung des HM nun über MQTT oder den Adapter OpenDTU und dessen Datenpunkte?
Ich sehe das hier mal so und mal so... In Deinem Beitrag über den Adapter. Welche Version ist das ? Es funktioniert bei mir einfach nicht mehr. Mit der Version 1.5.
Frage: sieht man bei Absetzen eine Stellbefehles etwas in der Debug-Konsole der DTU? -
Das "verstellen" funktioniert bei beiden. Hast du im open DTU Adapter auch die Zugangsadaten der openDTU eingetragen?
Bei mir war das die Lösung des Problems, Zugangsdaten rein und schon konnte ich die openDTU in der Leistung über die Objekte verstellen, bzw. begrenzen.Gruß Duffy
-
@duffy Danke für die Rückmeldung. Mit einer älteren Version klappte das über ein halbes Jahr problemlos. Jetzt nicht mehr. Bin gerade beim kompletten Neueinrichten. Das mit den Zugangsdaten werde ich mir genauer ansehen!
-
@Duffy
Jetzt scheint es zu klappen. Hoffentlich bleibt es so! Evtl. hatte ich doch einen Tippfehler beim Passwort drin? Kann man sich ja nicht anzeigen lassen. -
@laser ich verwende OpenDTU und die Datenpunkte die der Adapter anlegt um die WR anzusteuern.
-
@tigger66 Wie hast du das mit mit dem zweitem Script gelöst. könntest du es zur Verfügung stellen. Danke.
-
@flo71 ich hab das Script für den zweiten WR so angepasst, dass er erst regelt wenn der erste entweder am oberen oder unteren Limit angekommen ist, oder aber dass die geforderte Leistung höher ist als die, die gerade zur verfügung steht...
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="?~:J:;gqC%-pt?=zNsH:">Sunrise</variable> <variable id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</variable> <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=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</variable> </variables> <block type="schedule" id="!P+uzJ#%y!_wHsKqo2~M" x="-443" y="-618"> <field name="SCHEDULE">*/20 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="~v~t5u;a_q(#kb+E{(FH"> <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field> <value name="VALUE"> <block type="time_astro" id="Svgszky6QE2/10f8vck1"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> <next> <block type="variables_set" id="~/087{!i@]6[`rKxsw]j"> <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field> <value name="VALUE"> <block type="time_astro" id="BO/%++Qd.ktL4PfK.r3?"> <field name="TYPE">sunset</field> <field name="OFFSET">0</field> </block> </value> <next> <block type="controls_if" id="xaOp|xXgB@BB44iq}cJ."> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="|K,B[pWUT`!LyJsB6,pK"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="Y8n@Iqzd:%qZbp|#P_v^"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">>=</field> <value name="START_TIME"> <shadow type="text" id="]-0N3DkP*7?ghtYzXwX!"> <field name="TEXT">12:00</field> </shadow> <block type="variables_get" id="!,6PYgrHnSxh#Evn[Yie"> <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field> </block> </value> </block> </value> <value name="B"> <block type="time_compare_ex" id="qRYvI=rC7,D?`B=PV@^6"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION"><=</field> <value name="START_TIME"> <shadow type="text"> <field name="TEXT">12:00</field> </shadow> <block type="variables_get" id="LMy)6-$QN(f3d9klxV`O"> <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field> </block> </value> </block> </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">1500</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">shelly.0.SHEM-3#E8DB84D68CFF#1.Total.InstantPower</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.116180216966.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.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"> <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"> <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"> <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"> <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"> <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"> <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"> <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"> <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"> <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.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.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="]^/I[vJo!sr5LpkbcFB!"> <value name="IF0"> <block type="logic_compare" id="%50d#)U*~RScC:F-kp{g"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="KVYNgaA$~@zFf4U(-2G("> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> </block> </value> <value name="B"> <block type="math_number" id="!0pj`kNb_!ZOVov*^)[3"> <field name="NUM">4</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="/4+e9gEK~pdujzM|}ksi"> <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field> <value name="VALUE"> <block type="math_number" id="c+YG2dsZvm-}l6dXt[1Z"> <field name="NUM">5</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="ZH?n)}/A8xDqvLu;mM3m"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="vVy#@8N({zRaYhlMew]c"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="PIGb)h}(L;=:AD;5r=W$"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="Hn,:c1}lRncb$M*c37T["> <field name="ATTR">val</field> <field name="OID">0_userdata.0.PV-Anlage.Solarlimit_HM400.Solarlimit_HM400</field> </block> </value> <value name="B"> <block type="math_number" id="O/l%Uh0A@?HPfD;/4eRW"> <field name="NUM">5</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="x8],WeAvz)P5RbWxBqKU"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="D1Vr-[UHVwz,0UMcxf~t"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="*^o)uk]A48Tjk%pvj2pB"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.PV-Anlage.Solarlimit_HM400.Solarlimit_HM400</field> </block> </value> <value name="B"> <block type="math_number" id="az|/|Fl[JpJ{rB83ed[p"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="1f.~}_NZHFWHi$U;Bl[E"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="o%XYKF2zkxK+dE|3E%-_"> <field name="ATTR">val</field> <field name="OID">opendtu.0.112183217812.ac.phase_1.power</field> </block> </value> <value name="B"> <block type="get_value" id="uM~uo~N[nRQ?i9!fzRA!"> <field name="ATTR">val</field> <field name="OID">opendtu.0.112183217812.power_control.current_limit_absolute</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="W+gr)Q`C;VMjG:,mB)8r"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">opendtu.0.116180216966.power_control.limit_nonpersistent_relative</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="0O[l*@b$eWz(z6Nj5;8Z"> <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> </statement> <statement name="ELSE"> <block type="debug" id="Pv3KiYZaGuo2FdU}gjig"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="t2%tFy.G9l;?j^VyEMCa"> <field name="TEXT">keine Änderung</field> </shadow> </value> </block> </statement> </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> </next> </block> </next> </block> </statement> </block> </xml>
-
@lars72 ich bin mir nicht sicher ob du dein Problem jetzt gelöst hast, aber schaue dir mal die neue AhoyDTU V0.6.9 an. Wenn ich es jetzt richtig verstanden und gesehen habe werden die DP jetzt automatisch angelegt.
Jetzt gibt es a) bis zu 10 Inverter und b) einen ctrl Bereich in dem die DP vorhanden sind und Werte eingetragen werden können. Die Zahlen bleiben zwar "rot", werden aber in den entsprechenden Inverter und ch0 unter inverter/PV1/ch0/active PowerLimit eingetragen. So zumind. bei mir. Leider ist mir aber noch unklar ob es ein "persistence" (also schlecht für den Speicher), oder "non persistence" Wert ist. Schaut aber nach "no persistence" aus. -
Hi,
laut Beschreibung sind die Werte, wie du vermutet hast, non persistent. -
Hast du die 2 Wechselrichter über eine openDTU und einen openDTU Adapter laufen?
Sind deine 2 WR in Reihe geschaltet oder jeder WR einzeln an der „Steckdose“
Bei mir geht ein HM-300 in den HM-600 und von dort in die Steckdose.
Ich wollte ursprünglich nur den HM-600 vom Blockly regeln lassen und den HM-300 regeln lassen wie er lustig ist. Leider scheint das der WR des HM-600 nicht so lustig zu finden und stürzt ab.
Ich denke mal das es WR ist der abstürzt da ich über die openDTU den WR neu starten kann und es geht weiter (bis zum nächsten Absturz)Die Begrenzung das der WR nicht auf 0 Watt geht habe ich im Blockly drin.
Schalte ich den HM-300 ab funktioniert auch die Regelung des HM-600 (bisher).
Hat vielleicht jemand eine Idee warum das so ist oder sein könnte.
Vielleicht sogar @Kymchy als Entwickler des BlocklyViele Grüße
-
@duffy Meine beiden WR laufen über eine OpenDTU und natürlich über einen Adapter. Jeder WR speist seperat ein, jeder auf einem anderem Außenleiter. DIe sind nicht in "Reihe" geschaltet. Dass sich ein WR "aufhängt" kommt nur selten vor. Die Hardware des OpenDTU hängt bei mir an einer W-Lan Steckdose und wir einmal am Tag vor Sonnenaufgang neu gestartet. Läuft bisher ziemlich rund. "Auf Holz klopf"
-
Danke für die Rückmeldung.
Zeichnest du auch den Ertrag, den selber genutzten Strom und die Einspeisung mit auf, falls es überhaupt noch Einspeisung gibt. ?
Viel wirds ja nicht mehr seinGruss Duffy
-
@duffy Ein "BKW" ohne Auswertung? Ich bitte Dich.... Da ich mir gleich zu Anfang einen Shelly 3EM eingebaut habe und auch noch Daten von Powerfox bekomme kein Problem. Ich logge alles in einer Influx DB mit und überwache das Ganze mit Grafana. Meine aktuelle Eigenverbrauchsquote liegt bei 82,78%. Allerdings fließen da auch noch Werte mit ein, die vor der Nulleinspeisung aufgezeichnet wurden. Also ist noch mit einer Steigerung der des Eigenverbrauchs zu rechnen. Da die Geschichte so gut funktioniert, werde ich mein "BKW" im Herbst warscheinlich noch etwas ausbauen um den Winter besser zu überbrücken. Besser hat, als hätte...
-
Hm, für den Winter noch eine extra Paneel? Wird dann vermutlich eine längere Armortisation. Ok liefer ja auch wieder mehr im Sommer.
Meine Erfahrung mit dem BKW ist, wenn man Strom braucht hat man ihn nicht und wenn man ihn nicht braucht hat man ihn.
Fair wäre es halt wenn der Zähler rückwärts laufen dürfte. (Scheint ja in Holland zu gehen)
Aber schön ist die Spielerei trotzdem
Schönen Abend an alle.
Gruß Duffy
-
@duffy Hallo Ihr lieben im Forum, ich hab mir das durchgelesen und steigen nicht ganz durch.
Ich brauche da auch ggf mal etwas Hilfe. Ich heb einem HM-800 und einen 3,5 kwh speicher und würde gerne sofern es möglich ist den HM-800 über den ioBrocker (auf Raspberry Pi3 ) und MQTT Open DTU so steuern das nur das eingespeist wird, was verbraucht wird, bzw was der HM 800 her gibt. Ich bekomme den blockly Skrip dazu nicht richtig hin. Die MQTT verbindung steht schon, und der Digitale Stromzähler kann ich auch genau auslesen über den IR Lesekopf an der Seriellen Schnittstelle vom PI.Ich hoffe ich bin hier im Forum richtig
Gruß
FoxMcCloud