NEWS
Regelung eines Hoymiles Solarinverters (Nulleinspeisung)
-
@t-maas
OK, du must natürlich noch einiges anpassen nach dem Import, wie die Seriennummer des Wechselrichter usw. Außerdem einen eigenen Datenpunkt für den Vergleichswert anlegen. Und du benötigst natürlich das MQTT-Topic. Momentan regelt es alle 20 Sekunden. Das Limit für den Vergleichswert oben liegt bei 5% über und für den unteren bei 10% unter dem des zuletzt gespeicherten Wertes. Hier ist noch ein Feintuning möglich.<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="!P+uzJ#%y!_wHsKqo2~M" x="-812" y="-562"> <field name="SCHEDULE">0,20,40 * * * * *</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">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">sonoff.0.DVES_0649F9.ENERGY_Power</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">mqtt.0.solar.Seriennummer-Wechselrichter.0.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="control" id="z87W,.vtwA$UGqi.I!=^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.solar.Seriennummer-Wechselrichter.cmd.limit_nonpersistent_relative</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="tl[!e[[e4iwK1(?b$77o"> <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> </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>
-
@kymchy Hallo versuche gerade es umzusetzen .
habe mir jetzt 2 Datenpunkte (number) angelegt
- Punkt 1 habe ich die Seriennummer rein geschrieben
- Punkt 2 habe nichts das ist ja das für den Vergleichswert
was muss dazu noch alles geändert werden ?
-
@lucky51179
Nein, für die Seriennummer brauchst du keinen eigenen Datenpunkt. Du benötigst ein MQTT Topic. Hast du denn den MQTT Adapter installiert und siehst die Datenpunkte für deinen Wechselrichter? -
@kymchy Ja diese sehe ich.
habe hier aber keinen Punkt gesehen mit wo die Seriennummer drinnen steht sondern nur einen Ordner. -
@lucky51179
die Seriennummer steht auch in keinem Punkt, sondern ist ja auch selber ein Ordner, wie in deinem Screenshot zu sehen ist. Und in diesem Ordner benötigst du einen weiteren mit dem Namen cmd und darin den Punkt limit_nonpersistant_relative
den kannst du aber nicht einfach so anlegen, sondern musst ihn publishen, weil es ein MQTT Topic ist. -
@kymchy wenn oich das richtig verstehe muss ich einen Ordner "cmd" anlegen und dazu den Punkt der dann die Leistung auf meinen Hoymiles einstellt .
Gibt es eine Quelle wie das anlegen funktioniert ?
Wie bekomme ich nun meine Seriennummer in das Script ?
-
1161 ........... ist die Seriennummer
-
@lucky51179
Zunächst gehe mal davon aus, dass du mein Skript als Blockly importiert hast...Du suchst im Netz nach MQTT Explorer und installierst ihn. Dann verbindest du dich in diesem Programm mit deinem ioBroker(IP und Port, meist 1883).
Du trägst dein Topic ein wie im folgenden Screenshot: Deine Seriennummer musst du da wo Seriennr steht eintragen.Auf Publish klicken.
Dann verweist du im Blockly in dem Block "aktualisiere" auf diesen Punkt im ioBroker.
Die Seriennummer wird nirgendwo im Skript extra eingetragen. -
-
@kymchy Top Danke, das Script läuft und regelt aktuell speist er nur 100 Watt ins Netz könnte ich dieses auch noch einstellen das es weniger wird ?
Fehler gefunden hat das mxSolarPower nicht angegeben somit hatte er von einen Falschen wert gerechnet
-
@lucky51179 das ist zuviel, da stimmt irgendwas noch nicht, vielleicht bei der Variablenzuordnung oder so. Hast du die richtige Wechselrichterleistung unter maxSolarPower eingetragen?
-
@kymchy Ja das stimmt das habe ich gemacht, jetzt schaut es gut, werde es mal testen
-
Also erstmal danke für dein Blockly. Leider hab ich da noch einen Denkfehler glaub ich. Zum Auslesen der Zählers habe ich den Pulse von Tibber. Ich habe zwei Datenpnkte:Bezug und Einspeisung. Bei Bezug sehe ich was ich grad Verbrauche, speise ich mehr ein geht der Datenpunkte nur auf 0. Bei Einspeisung habe ich negative Werte wenn ich aber mehr Beziehe wird er positiv und ist gleich dem Datenpunkte Bezug. Ich komme einfach nicht auf die Lösung??
-
@andy-anders
Um den benötigten Wert (neededPower) zu ermittel müsstest du dann folgendes tun:wenn Einspeisung negativ dann
neededPower = momentane Leistung PV + (Einspeisung als negativer Wert)
sonst
neededPower= Bezug+Leistung PVist dieselbe Problematik wie beim Poweropti.
-
@kymchy also müsste ich noch nen " falls Block" einbauen? Sorry bin da noch nicht so gut drin.
-
@andy-anders genau, einen falls-sonst Block.
-
@lucky51179 So habe das Blockly nun 2 Tage laufen lassen.
es tut was es soll und es stellt die Werte ein was Aktuell bezogen werden.
leider ist es so das ich meine module Ost/West habe es geht im Wechselrichter was er bringen müsste kann er aber nicht da 2 Module schon im schatten sind.
Es müsste die doch Nachregeln oder nicht ?
-
@lucky51179 Nochmal: das Skript stellt den Wechselrichter so ein, dass möglichst nichts oder wenig ins öffentliche Netz eingespeist wird. Ein Limit wird auch gesetzt, wenn die Sonne nicht scheint und das Limit somit gar nicht erreicht werden kann Das ist aber unerheblich. Ich wüsste also nicht, was da bei dir jetzt nachgeregelt werden sollte.
-
@lucky51179 sagte: module Ost/West habe es geht im Wechselrichter was er bringen müsste
Die optimale Nutzung der PV-Module ist eine Funktion des WR und kann von außen nicht beeinflusst werden.
-
@Kymchy
Ich möchte meinen Wechselrichter ausschalten. Bekomme das aber einfach nicht hin.
Im MQTT Explorer trage ich folgendes ein:solar/112183818346/cmd/power/2 0 Auch so geht's nicht: solar/cmd/power/2 0
Im IOBroker erscheint dann auch der Datenpunkt /cmd/power/2_0 mit der Möglichkeit 1 oder 0 einzutragen.
Es bewirkt aber nichts. So richtig blicke ich mit der Syntax nicht durch.