NEWS
[gelöst]Heizstabsteuerung mit PV mit Speicher
-
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="#ZO}puq!byH)d[RA8.u~">stufe</variable> <variable id="SXNPrFdTCWx5V%N:sTKY">temp</variable> <variable id="k{nMf[SMX?gF-mm8]|=G">mode</variable> <variable id="S`Q7El*S8|6o7zjVveF`">ueberschuss</variable> <variable type="timeout" id="delayOn">delayOn</variable> <variable type="timeout" id="delayOff">delayOff</variable> </variables> <block type="variables_set" id="V88W|+Iln7v+rgj)=Zch" x="-87" y="37"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> <value name="VALUE"> <block type="math_arithmetic" id="UPGMM~b*V$d-a*#;tS[D" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="~wy?L?:xH(Ni)}x,PFCD"> <field name="NUM">1</field> </shadow> <block type="logic_ternary" id="*J#=-SvRj,t10JsQT^g)" inline="true"> <value name="IF"> <block type="get_value" id="Di]!Es+iNie7c[+9)*;x"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellyplus1pm#d4d4da094ad0#1.Relay0.Switch</field> </block> </value> <value name="THEN"> <block type="math_number" id="e=$;Dm*Kdv-Y8so-i~0#"> <field name="NUM">1</field> </block> </value> <value name="ELSE"> <block type="math_number" id="`O}G]nrYU1J(u^B(cJ4D"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="};}!|b@GbaTL{Y_1M4mO"> <field name="NUM">1</field> </shadow> <block type="logic_ternary" id=";LD9IL!$vH=aILt*01D]" inline="true"> <value name="IF"> <block type="get_value" id="UP`ZrOpZ0?YW7(BPAKu="> <field name="ATTR">val</field> <field name="OID">shelly.0.shellyplus1pm#a0a3b34d7024#1.Relay0.Switch</field> </block> </value> <value name="THEN"> <block type="math_number" id="_#[$Y6bW6I=KD6W@i8-H"> <field name="NUM">2</field> </block> </value> <value name="ELSE"> <block type="math_number" id="a`){P].I3sR02/vH?$|t"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="7R`M9}=u-yZAG[5j@K)$"> <field name="VAR" id="SXNPrFdTCWx5V%N:sTKY">temp</field> <value name="VALUE"> <block type="logic_compare" id="6[ohhz;+P4G2[.od]ImC"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="4Pb~v{Xo!`=Cczx2o0)l"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Warmwassertemperatur</field> </block> </value> <value name="B"> <block type="math_number" id="m_`#qRy{mdN;8Wkutd}Z"> <field name="NUM">70</field> </block> </value> </block> </value> <next> <block type="on" id="LXkRS$m9ymaz|AU}(3D-"> <field name="OID">0_userdata.0.Warmwassertemperatur</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="/*xJA|RfsBE6jL/y4RMv"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="abt~D((tU./KQf)r!P5_"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="jxvpxN@GG/Fr3.@{p*Qg"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="KTT4cWRD*14oOM_eHEM-"> <field name="NUM">40</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="B@|!KIBBsgKl%wMaLLMA"> <field name="VAR" id="SXNPrFdTCWx5V%N:sTKY">temp</field> <value name="VALUE"> <block type="logic_boolean" id="~FL/KuNy;B%E^dbEM2~)"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="0W8i1Y/4aj=@g}9EL)5f"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="Wk:dm:!%FN!b-M}J8DT~"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="#L~Z[Ph@qd5Au:Y/Rxx/"> <field name="NUM">55</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="r+q`|M)Cmk#0{Z*?(tGl"> <field name="VAR" id="SXNPrFdTCWx5V%N:sTKY">temp</field> <value name="VALUE"> <block type="logic_boolean" id="yU:Uu{8YwH%(u[JY_z|5"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="-#-ZoUoJJzOWm:bymT4$"> <field name="NAME">delayOn</field> <next> <block type="controls_if" id="/hND@SJrrY?d.QSbT5g."> <value name="IF0"> <block type="variables_get" id="uu`Y?^o}1M0kt)2+}PL/"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="8V4C*+}E*6rfG:n8v%9j"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> <value name="VALUE"> <block type="math_number" id="c49%ZEXt|0rJ)c3%]Bg7"> <field name="NUM">0</field> </block> </value> <next> <block type="procedures_callnoreturn" id="B/^8#Eh:a=a,b;reJ%$U"> <mutation name="Heizstab"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="^=k13pGi`kMjtE||vY.J"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="n:wY~I3GQO$7,0:+.oY="> <field name="oid">evcc.0.status.gridPower</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="eS.8I`Cbj?X+,h#Ii[CO"> <field name="VAR" id="k{nMf[SMX?gF-mm8]|=G">mode</field> <value name="VALUE"> <block type="get_value" id="{R{!vXhV35!~PTT}Y^p%"> <field name="ATTR">val</field> <field name="OID">evcc.0.loadpoint.1.status.mode</field> </block> </value> <next> <block type="controls_if" id="hmYi@K1![q7IP+`oD|(i"> <value name="IF0"> <block type="variables_get" id="MZl)|}gNS^ERpHs!P3{^"> <field name="VAR" id="SXNPrFdTCWx5V%N:sTKY">temp</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="U0g[6)DF7XBr6PjSBC1%"> <field name="VAR" id="S`Q7El*S8|6o7zjVveF`">ueberschuss</field> <value name="VALUE"> <block type="math_arithmetic" id="fF$hk1tVi-R05oeMt;V%"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="ixiYq]/$A+RSmijBZE[,"> <field name="NUM">0</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="Cs,pKE7(!7+1jmwBW.2/"> <field name="NUM">1</field> </shadow> <block type="on_source" id="f=2?mi+jttya*Yya7dG."> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="comment" id="9X:XKXRgH!xZ!=zZbThm"> <field name="COMMENT">3 mal 750 W</field> <next> <block type="controls_if" id="?{[99~rn+X@-!776Gil$"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="d%IZlzT50i(a7nefKk6]"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="lg4*^=8|`oo@q1o#)S/S"> <field name="VAR" id="S`Q7El*S8|6o7zjVveF`">ueberschuss</field> </block> </value> <value name="B"> <block type="math_number" id="vP_iZf?M;`@RCY1gD^i:"> <field name="NUM">1000</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="|#WysqWLOkMz:?pQ*-CZ"> <field name="NAME">delayOn</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="dch2(fx(/ykyn#X-R`9x"> <value name="BOOL"> <block type="timeouts_gettimeout" id="xJVx:Mi5[U_(t*bw(Yq$"> <field name="NAME">delayOn</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="=EI:`22NaF],y?uV^b1B"> <field name="NAME">delayOn</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="L^8:G3aDU.xP#v0K7^n["> <value name="IF0"> <block type="logic_compare" id="rRm-_cjXetCm)~hcAE~}"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="k?Bzt4RS=S!C{E%~JKR%"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="?UTjTS/9I`U;T!+,CaMi"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="j%wz0Z;.Z9l}/YcJ|u@O"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> <value name="DELTA"> <shadow type="math_number" id="*QTjL.s^?cd[t)LK(x*L"> <field name="NUM">1</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="toS^1+[sVXvM12+04n~j"> <mutation name="Heizstab"></mutation> <next> <block type="timeouts_cleartimeout" id="WJ?t^mxt0H|jM5A2zX=v"> <field name="NAME">delayOn</field> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="controls_if" id="U^YFuAk{|bn.*b{Ep;B="> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="GddE`U/xj*}WZ:OC-j_5"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="Ji]v?2~|pv5`v!eeLtH`"> <field name="VAR" id="S`Q7El*S8|6o7zjVveF`">ueberschuss</field> </block> </value> <value name="B"> <block type="math_number" id=":{IrB{m-gbX@X2|pVyXZ"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="_N.QOqsujv5EzF,e1:^`"> <field name="NAME">delayOff</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="0(6[M7amQ.RY*S4wPkX3"> <value name="BOOL"> <block type="timeouts_gettimeout" id="pTQJfLPne.dmqq!4K#Q."> <field name="NAME">delayOff</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="b(4T]c7c@_xcR0^(IJQ#"> <field name="NAME">delayOff</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="N`KrOVa}E?2GEgP!,hnz"> <value name="IF0"> <block type="logic_compare" id="!!K9CK;|;n]ddqB#Sv9x"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="(BxBl^T0kZqo1s{{@q2;"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="aJaeQbM-4{Urt]DVf9Q."> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="Sq6c}B`kReZUISESR)FH"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> <value name="DELTA"> <shadow type="math_number" id="!F{}xNQ_117l8Vz1)Bw-"> <field name="NUM">-1</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="$}C4r;1}f|vwd?j_@rJ*"> <mutation name="Heizstab"></mutation> </block> </next> </block> </statement> <next> <block type="timeouts_cleartimeout" id="`D+24l9JDFvo/:O-kz6]"> <field name="NAME">delayOff</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_if" id="C.Q,;pb(q@xOpG/(t]/h"> <value name="IF0"> <block type="logic_multi_and" id="2GfeB4yC2kzQT#8ReZ}="> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="U8WSk0}eP|gz:_.8;6n-"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="oO(C6Q[/P,)5tJ1A6zn{"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="cO:.k%]nbyqdZZKwR:p1"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="]!,y-!oG5N#LXvZNyy8/"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="wwHeMiuZ`bFf[KL7,Cte"> <field name="VAR" id="k{nMf[SMX?gF-mm8]|=G">mode</field> </block> </value> <value name="B"> <block type="text" id="=.QVc$;/f^Kv6Y{u@QTF"> <field name="TEXT">pv</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^s0@1#IZw/Jcv!hTb%Uz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">evcc.0.loadpoint.1.control.off</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=".gM(n78-Gvt7U(D7mB,%"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="@6yDcOCFSz44R_a#Xe+H"> <value name="IF0"> <block type="logic_multi_and" id=";kLlWo4Z^KkbyE{9]G_f"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="logic_compare" id="!Vuk__O@p;-zFN$AS_.@"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="W4}91]k0.ZkPVRWjM7N1"> <field name="VAR" id="S`Q7El*S8|6o7zjVveF`">ueberschuss</field> </block> </value> <value name="B"> <block type="math_number" id="BrAU7P|Y`C`QT}o]S:PP"> <field name="NUM">1400</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="z522o`OY#!eqiKC1j@Ka"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="9LUmxN=bd,~;kRla7c;@"> <field name="VAR" id="k{nMf[SMX?gF-mm8]|=G">mode</field> </block> </value> <value name="B"> <block type="text" id="dy^QGNHQbY/Pn.0cW~)N"> <field name="TEXT">off</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_operation" id="SlR}uwy|,^$g5U~MDZl]"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="zf6iV]]vm#lHfATR9[9+"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="-J{q##33fYxWc6yfWd6N"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="go.d99LEa_QI6qjodvI)"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="2LBj0zx0][PVJA`+Qrjo"> <value name="BOOL"> <block type="variables_get" id="JN-*;$0!:X~p0j5d.Q*H"> <field name="VAR" id="SXNPrFdTCWx5V%N:sTKY">temp</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=",L!7S7M.4W~]iB%(Z7|X"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">evcc.0.loadpoint.1.control.pv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5Ee$xi7FS%+{f|7I?4hm"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="Q6,+1QdD4Bq`#0DA-`[=" x="412" y="213"> <field name="NAME">Heizstab</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="D|D*gG#w!Gp~S%8AJBml"> <field name="COMMENT">750W</field> <next> <block type="control" id="qYesRpdij9z`93JQ2~w%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.shellyplus1pm#d4d4da094ad0#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number_property" id="2[3jGAZF1c!_#4rLN^lK"> <mutation divisor_input="false"></mutation> <field name="PROPERTY">ODD</field> <value name="NUMBER_TO_CHECK"> <shadow type="math_number" id="^mbt0I.5NcdGL)U11cys"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="8/kAAEJZB_bXT3h*p`y9"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> </block> </value> <next> <block type="comment" id="YWT-oYB^7=C$h7u@xxGd"> <field name="COMMENT">1,5KW</field> <next> <block type="control" id="S(zYFzv^}$AcCYB-`Q`e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.shellyplus1pm#a0a3b34d7024#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_compare" id="2L^iKhb3yF2tiPb$(%l$"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="/QAECrxs6x0t8U~:B%E*"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="PH|,U:I~$fQ*Ja^o2^h0"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="comment" id="bRqM.SjN1ACF=s1zPjsq"> <field name="COMMENT">Pumpe</field> <next> <block type="control" id="XJyIfW1Z}!M6ZNX{8tM0"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.shellyplus1pm#d4d4da7cdbf0#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_compare" id="?rr;,2B*AE76yep!==Fg"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="56:a(I;HZP{%8o|ilyT4"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="Ko^37ApDTALq,A?g^DD|"> <field name="NUM">0</field> </block> </value> </block> </value> <next> <block type="telegram" id="z/3Pq0u?zYU2o$t#/UAa"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="UNDeozYk*CL[92C}[Au="> <field name="TEXT"></field> </shadow> <block type="text_join" id="f^:ycs#*P(R:|84zvCT^"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="8RKF;A8nAvV3XoGI4*Z{"> <field name="TEXT">Heizstab 750 W</field> </block> </value> <value name="ADD1"> <block type="logic_ternary" id="~~tVV~oA1rDOnkItJbuy" inline="true"> <value name="IF"> <block type="math_number_property" id="C@4rz^-}.Zt)woz7L^}."> <mutation divisor_input="false"></mutation> <field name="PROPERTY">ODD</field> <value name="NUMBER_TO_CHECK"> <shadow type="math_number" id="``l$[`aL`MZCpSm,QK{!"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="fM|xH{svM|{GTl9WzSZ1"> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="w=yh:evG@jBi#%vv4VW("> <field name="TEXT"> Ein</field> </block> </value> <value name="ELSE"> <block type="text" id="Eu3]O!V@4{7arYrY^DHn"> <field name="TEXT"> Aus</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text_newline" id=":Cr#6muo9{1}yvD_n=l%"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="=Pp3lLJI/a29j2y^K!nv"> <field name="TEXT">Heizstab 1,5 kW</field> </block> </value> <value name="ADD4"> <block type="logic_ternary" id="/$$,E$8Y*Ych?=fna1ve" inline="true"> <value name="IF"> <block type="logic_compare" id="hk6,1HRWvh8pKE,h!)Zc"> <field name="OP">GTE</field> <value name="A"> <block type="variables_get" id="C:T6fXDC/v~SKcpqCS0("> <field name="VAR" id="#ZO}puq!byH)d[RA8.u~">stufe</field> </block> </value> <value name="B"> <block type="math_number" id="AeRKfQfc+7c@VUQulbX~"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="IF(:Z,A-U1(rKR[qQxxV"> <field name="TEXT"> Ein</field> </block> </value> <value name="ELSE"> <block type="text" id="iU1+m14WQ3PZuIfD@yvs"> <field name="TEXT"> Aus</field> </block> </value> </block> </value> <value name="ADD5"> <block type="text_newline" id="lx,-qNPp9m[f.mZi-8ni"> <field name="Type">\n</field> </block> </value> <value name="ADD6"> <block type="text" id="G[/XZG_ufoL{w[K#%5lm"> <field name="TEXT">Warmwassertemperatur </field> </block> </value> <value name="ADD7"> <block type="get_value" id="9D7sd%|ddI*q:_s[o=B/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Warmwassertemperatur</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@jwedenig sagte: ob diese Anforderung eventuell in dein für mich geschriebenes Blockly integrierbar wäre oder es besser ist, separat zu behandeln
Es ist besser, die zusätzlich Anforderung in das vorhandene Skript zu integrieren, da sonst die gegenseitige Beeinflussung kaum zu überschauen ist.
Ich habe das ursprüngliche Skript um die Variable
msg
ergänzt und die drei Trigger rechts unten realisieren die zusätzliche Anforderung. -
@paul53
vielen Dank, ich werde es mal nachbasteln und testen! -
bin schon sehr gespannt! Danke wieder einmal, hoffe, ich habe alles richtig!
-
@jwedenig sagte: hoffe, ich habe alles richtig!
Sieht gut aus.
Damit nach einem Skriptstart mitten am Tag die Variablemsg
nicht undefined bleibt, setze sie besser auch beim Runterschalten der Stufe.
Da seit JS-Version 7.0.5 Blockly bei Ablauf der Verzögerung die Timer-Variable automatisch auf null setzt, können die "stop delay" innerhalb der Timeout-Blöcke entfallen. -
-
@jwedenig sagte: So?
Ja.
-
Heute Nacht haben die Parameter Temp und Batt scheinbar gepasst und um 4 Uhr haben sich alle Heizstäbe eingeschalten.
Ich bekam auch die Meldung: Erwärmung mit Batterie gestartet.
Nach ca 7 Minuten kam aber dann die Meldung:Erwärmung per PV
Heizstab 750 W aus
Heizstab 1,5kw EinNach weiteren 10 Minuten kam:
Erwärmung per PV
Heizstab 750 W Ein
Heizstab 1,5kw AusNach weitern 10 Minuten kam:
Erwärmung per PV
Heizstab 750 W Aus
Heizstab 1,5kw AusWar hier also die Batterie unter der Schwelle und somit wird die Routine abgespielt so wie wenn es keinen Überschuss mehr gibt?
Wenn es so ist, dann muss ich die Batt Schwelle ein wenig nach unten setzen, sonst bringt das nix
Danke vorweg für deine Antwort
-
@jwedenig sagte: Nach ca 7 Minuten kam aber dann die Meldung:
Es wird von Stufe 3 ausgehend runter geschaltet, da kein PV-Überschuss vorhanden ist. Das verhindert man mit einer weiteren Sperre.
-
@paul53
werds probieren, danke! -
-
@jwedenig sagte: habe ich die Sperre falsch gesetzt?
Die Sperre sollte so funktionieren. Der zu vergleichende Text ist identisch zu
msg
beim Starten? -
-
-
@paul53
ok, mach ich -
-
@jwedenig sagte : Mein Heizstab hat sich heut bei 59 Grad eingeschaltet.
Bei Neustart des Skripts?
@jwedenig sagte in [gelöst]Heizstabsteuerung mit PV mit Speicher:
Wozu dient die Angabe mit <65 Grad nochmal?
Der Wert ist zu hoch. Ändere ihn auf z.B. 55.
Bei Skriptstart muss die Variable temp gesetzt werden, wenn sich die Temperatur innerhalb der Hysterese (49 bis 62 °C) befindet. Sie bleibt sonst undefined.
Alternative, die den Wert vor Skriptneustart bei PV-Überschuss beibehält: -
alles klar, danke dir
-
Einmal bin ich leider noch lästig:
Heute hat sich der Heizstab bei 57,8 Grad eingeschalten, er sollte habe sich erst unter 45 Grad einschalten
Wo ist mein Fehler?
Danke dir wieder einmalhabe im Log auch Warnungen dazu:
-
@jwedenig sagte: Heute hat sich der Heizstab bei 57,8 Grad eingeschalten, er sollte habe sich erst unter 45 Grad einschalten
Wo ist mein Fehler?Kann keinen Fehler entdecken, der zu diesem Verhalten führt.
@jwedenig sagte in [gelöst]Heizstabsteuerung mit PV mit Speicher:
im Log auch Warnungen dazu:
Die Warnung betrifft den DP "mqtt.0.evcc.loadpoints.1.mode.set", der offenbar Zahlen erwartet, aber mit Strings geschrieben wird. Zeige bitte die OBJEKTDATEN dieses DP in Code tags.