NEWS
Wärmepumpensteuerung für dynamischen Stromtarif
-
@skol sagte: APG liefert ein paar nette Features
Auch eine nach Preisen sortierte Liste von Stunden. Man könnte sie so auswerten:
-
Danke für den ersten Ansatz.
Warum springt er mir nicht in den Wahr bereich bei der Abfrage?
z.b. Stunde = 23 und der Wert ist in der Liste unter den 8 billigsten Stunden?
Noch ein paar Fragen:
- Wie kann man abhängig vom Stundenpreis was machen?
Wenn der Strom negativ ist --> alles an was geht - Wenn der Strom auch in den teuren Stunden unter 10 Cent liegt, dann brauch ich nicht "sparen" durch eine Verbrauchsoptimierung.
- Wie kann man abhängig vom Stundenpreis was machen?
-
@skol sagte: Warum springt er mir nicht in den Wahr bereich bei der Abfrage?
Das passiert laut Liste "short" heute nur zwischen 0 und 7 Uhr (8 billigste Stunden heute).
[4,3,2,5,1,6,7,0,9,10,8,11,12,13,14,23,15,21,22,20,16,19,18,17]
-
Bei mir in Österreich schaut die Liste ein wenig anders aus.
Aber jetzt funktioniert es, keine Ahnung wieso. -
Interessant: jetzt hab ich auch die andere Liste.
[4,3,5,0,6,2,1,13,12,7,11,8,14,10,9,15,23,21,22,16,20,19,18,17]
Wie oft startest du den CRON Job von APG-Info? -
@skol sagte: Wie oft startest du den CRON Job von APG-Info?
So wie vorgegeben: 5 s nach 0:00, 13:00 und 15:00 Uhr. Deshalb werden um 0:00 Uhr die Werte von morgen genommen.
-
@skol sagte: Wie kann man abhängig vom Stundenpreis was machen?
Man kann den Preis aus Datenpunkten einlesen:
- unter "today". Dann muss man recht aufwändig die ID aus der aktuellen Stunde konstruieren, z.B. "02_to_03" aus der Stunde 2.
- unter "today_sorted". Über den Index in der sortierten Liste kann man den Preis aus einem Array-JSON ermitteln.
-
Danke! das ist eine Super Idee.
Könntest du mir mal dein ganzes Skript zum Import zu Verfügung stellen? Da sind vermutlich noch ein paar Goldstücke drinnen.
-
Das Blockly sieht gut aus. Für "Netzvorgabe" würde ich eine Variable verwenden und zum Schluss in den Datenpunkt schreiben.
Wird die VariableOffPeak
irgendwo verwendet und zurück gesetzt?EDIT: Es muss zur vollen Stunde getriggert werden, da sich die Liste nach ca. 0:00:30 Uhr nicht mehr ändert. Dass sie um 0:00:00 Uhr noch alt ist, wird dadurch berücksichtigt, dass zu diesem Zeitpunkt die Liste von morgen eingelesen wird, die der Liste von heute danach (ab ca. 0:00:30 Uhr) entspricht.
Wenn erst um 0:01 Uhr getriggert wird, muss in jedem Fall die Liste von heute eingelesen werde - in der Hoffnung, dass sie bereits aktualisiert wurde. -
Für alle die es interessiert - das komplette Blockly Script.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</variable> <variable id="$.ijy$M(?#p3+mCj!46[">ListSortedShort</variable> <variable id="NML2~Nw#WB6?jY9.a5ZI">MaxPrice</variable> <variable id="5%QL||{X_O:R=,]c,P~n">MinPrice</variable> <variable id="QU`)rxXu.-mP[4mf%Lne">i</variable> <variable id="eq6mJJ6^ou{5c0Hq5bV/">CurrentPrice</variable> <variable id="Cfxj8bn=[48.:vebkZGA">OffPeak</variable> </variables> <block type="comment" id="dBYlFB]~K.NQy%yR#;7r" x="-238" y="-12"> <field name="COMMENT">Steuere Netzvorgabe abhängig vom Strompreis</field> <next> <block type="control" id="^%irA!jkRYL=3@r^jJWd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <comment pinned="false" h="148" w="351">Netzvorgabe: 0... Standard (keine Regelung, kein WW) 1... Standard WW (keine Regelung, WW ein) 2... Erhöhung normal (WW aus) 3... Erhöhung normal (WW ein) 4... Erhöhung Max (mit WW Erhöhung) 5... Reduzierung (ohne WW) – SG 1 </comment> <value name="VALUE"> <block type="math_number" id="g#QsPEKJp639[2E,*2r/"> <field name="NUM">0</field> </block> </value> <next> <block type="schedule" id="f/td+AGC-sB8.9/%9Z@r"> <field name="SCHEDULE">10 0 * * * *</field> <statement name="STATEMENT"> <block type="comment" id="KMkVdSs5{L|2w4m3D.y*"> <field name="COMMENT">Prüfe Stündlich</field> <next> <block type="variables_set" id=".qdwHP3l$+R_csuP=8D9"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> <value name="VALUE"> <block type="time_get" id="0UzJkl$/?2nBW.5_oQ7R"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">h</field> </block> </value> <next> <block type="variables_set" id="KPX.Kh:(QgQ)}O?$LLR*"> <field name="VAR" id="$.ijy$M(?#p3+mCj!46[">ListSortedShort</field> <value name="VALUE"> <block type="convert_json2object" id="u$m;OUg.)l=~5z.$}-LD"> <value name="VALUE"> <block type="logic_ternary" id="/W3N:Cmqk=5S3T2kg|1d"> <value name="IF"> <block type="logic_compare" id="ChMPe({%BrA);vHX0^(H"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="-[5HR;W6WJcFY=+(U0`j"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> <value name="B"> <block type="math_number" id="nJp$4$U93M%12Lv.`y2,"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="get_value" id="~tjI7NxKK/oWcfuV@H)}"> <field name="ATTR">val</field> <field name="OID">apg-info.0.marketprice.today_sorted.short</field> </block> </value> <value name="ELSE"> <block type="get_value" id="F425uXhv7eK0(FKc;=_c"> <field name="ATTR">val</field> <field name="OID">apg-info.0.marketprice.tomorrow_sorted.short</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="XnqO1%a^o%/jwFzxcl2J"> <field name="VAR" id="NML2~Nw#WB6?jY9.a5ZI">MaxPrice</field> <value name="VALUE"> <block type="get_attr" id="J5P~GZZeT1B_?)(l|ebo"> <value name="PATH"> <shadow type="text" id="N(:R6{lE%AB@qn_67T3F"> <field name="TEXT">1</field> </shadow> </value> <value name="OBJECT"> <block type="logic_ternary" id="qFn(|;VsIC).gE5rILY]"> <value name="IF"> <block type="logic_compare" id="]X[FT_Q16/KZ`wfc#}D("> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="1C0$b}c.U[gX]SG~O^n@"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> <value name="B"> <block type="math_number" id=")F)@uli^s4o$wL#i;.k."> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="get_value_var" id="b,-i-!8{l/Bqk/u}J`wh"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text" id=":+Wj[)X=7==Odf]~ngi8"> <field name="TEXT">apg-info.0.marketprice.today_sorted.23</field> </block> </value> </block> </value> <value name="ELSE"> <block type="get_value_var" id=")$UsS:b*m}sS@OB,@~OE"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text" id="+dj#Sw^V+v|=,5](t,8L"> <field name="TEXT">apg-info.0.marketprice.tomorrow_sorted.23</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="{HRrNn-=,Wudll]dN|qS"> <field name="VAR" id="5%QL||{X_O:R=,]c,P~n">MinPrice</field> <value name="VALUE"> <block type="get_attr" id="7@r$?~kB_++u;PVT-fG`"> <value name="PATH"> <shadow type="text" id="Lx`LE@*rSt{vhNsK{%`S"> <field name="TEXT">1</field> </shadow> </value> <value name="OBJECT"> <block type="logic_ternary" id="A.1kHN5gx9,X.EunEf~^"> <value name="IF"> <block type="logic_compare" id="8es2dQCYWFCHgVWn2z+h"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="yocha@3SFDqFN8WM;_Vl"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> <value name="B"> <block type="math_number" id="zpz=dT=_TYI?WO,ZRZ_E"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="get_value_var" id="%2PzT|)zkl`.tN}JMkRx"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text" id="aCu`{gCP@gHP]F`)O7Rp"> <field name="TEXT">apg-info.0.marketprice.today_sorted.0</field> </block> </value> </block> </value> <value name="ELSE"> <block type="get_value_var" id="uPzhBVzB|ElY/Pcg(meM"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text" id="_|tAIlcUKt4,![r~e_3_"> <field name="TEXT">apg-info.0.marketprice.tomorrow_sorted.0</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="T_H(6r)j*Hqd9-kQ`;Xx"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="WY)c7J0ob24[PfgcF/u8"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="?$Qr]db;ya]UuljL}=~x"> <field name="TEXT">APG: Liste sortiert: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=":}C2aN5*sqQQjHFpT!Nt"> <field name="VAR" id="$.ijy$M(?#p3+mCj!46[">ListSortedShort</field> </block> </value> </block> </value> <next> <block type="debug" id="09C_!}=tM*iEJkvG6tmR"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Lqs90-bo4=,1hLa$)YjC"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="{n}$}a_p{uWY4d#uwmN}"> <field name="TEXT">APG: Liste sortiert tomorrow: </field> </block> </value> <value name="ADD1"> <block type="get_value" id="|!n)o6J8P=s1$Kc$x8b5"> <field name="ATTR">val</field> <field name="OID">apg-info.0.marketprice.tomorrow_sorted.short</field> </block> </value> </block> </value> <next> <block type="debug" id="?^_z:z)QY)%G:7sba@T."> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="7;uQ,c)p[1UB0_t#Gi3E"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="[Q[g^z4-X5DT1}){mWT~"> <field name="TEXT">APG: maximaler Tagespreis: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="el3h,C3A;f!vw9=D.wwU"> <field name="VAR" id="NML2~Nw#WB6?jY9.a5ZI">MaxPrice</field> </block> </value> </block> </value> <next> <block type="debug" id="ZU+#KE2mn,!}R=-~}Z@F"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="rE%q39_LLI`Jy^lt,o3k"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="eAM.*bNH8Bu.k!qg~ieq"> <field name="TEXT">APG: minimaler Tagespreis: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="|1C@hq@I)3x~c]$rd}XX"> <field name="VAR" id="5%QL||{X_O:R=,]c,P~n">MinPrice</field> </block> </value> </block> </value> <next> <block type="comment" id="Cxd_W!5l^hn|Z*t],$!^"> <field name="COMMENT">Prüfe die sortierte Liste</field> <next> <block type="controls_for" id="CaCv!}@Yh4=lG!(|#957"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> <value name="FROM"> <shadow type="math_number" id="%GY{o2mw_oIIf)@N=*Cy"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="kjlyj*@V$$SImzN,ZmeJ"> <field name="NUM">24</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="{U]p:zc6a:/EcmA_,zH}"> <field name="NUM">1</field> </shadow> </value> <statement name="DO"> <block type="comment" id="n_os8%Xd-](JeTeMs16q"> <field name="COMMENT">Suche den Index der aktuellen Stunde</field> <next> <block type="controls_if" id="5h8?oJRj@w#~p}!FsvVY"> <value name="IF0"> <block type="logic_compare" id="*X$pAQ`0x4mVzc0)XL|_"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=",Dj#p)4IC`+x1|$Z#!Bt"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> <value name="B"> <block type="lists_getIndex" id="FpU#ulRh+x_Uur5{4U/y"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="3sD|DbwVYWFYB((EgpR-"> <field name="VAR" id="$.ijy$M(?#p3+mCj!46[">ListSortedShort</field> </block> </value> <value name="AT"> <block type="variables_get" id="pfXP-SNG`xD4Fvzpa1F_"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="=MVzaBxri=(DD71[y:pu"> <field name="FLOW">BREAK</field> </block> </statement> </block> </next> </block> </statement> <next> <block type="debug" id="5e|5NZj(WSrid{s=]GAL"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Rx_U64Q8F|UOeuA4y,]l"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="`X_FuSR32WSRAL8qaMBW"> <field name="TEXT">APG: Element: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="M1%LRyy2:,Z7TIVMYIp1"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> </block> </value> <next> <block type="comment" id="cq;:w/t}BzUbDy).%9vk"> <field name="COMMENT">Lese aktuellen Preis aus</field> <next> <block type="variables_set" id="!#:DeBWCxB~$8v|)#{6i"> <field name="VAR" id="eq6mJJ6^ou{5c0Hq5bV/">CurrentPrice</field> <value name="VALUE"> <block type="get_attr" id="~%.{n3#1NFWCXGk*!y3`"> <value name="PATH"> <shadow type="text" id="tnNVdFzywOZVm1fOYZJy"> <field name="TEXT">1</field> </shadow> </value> <value name="OBJECT"> <block type="logic_ternary" id="ZChyz6;jB|9syFY2`u?7"> <value name="IF"> <block type="logic_compare" id="wjqM:BaoERJ8uvrHt|ie"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="A)?a%m92rha0?ha4`J(Q"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> <value name="B"> <block type="math_number" id="~|4FlBKu}`0sb#BVh{J1"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="THEN"> <block type="get_value_var" id="L9z~6kTF.@F3g9(wy)jE"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="dn{2Q]wh7vtG30V0C.lc"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id=".9w.Cv)U;Y40nlL%.b{W"> <field name="TEXT">apg-info.0.marketprice.today_sorted.</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id="fLX]i;U|?QJ*|soD41_n"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="ctcnyn$E~wzgOz,Q{3;f"> <field name="NUM">5</field> </shadow> <block type="variables_get" id="Ia*5USTyB%=O];VRg9N4"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> <value name="B"> <shadow type="math_number" id="*r#:g3%)qw-[)N8jL1_q"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <value name="ELSE"> <block type="get_value_var" id="})Oa67^YdUyb|66:dG.]"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="RL6}jSYsi!w6P[*rqlli"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id=".ukJa]Bpk]x873/hMkVD"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="XL32Q)z5JuK$q[$k6LPg"> <field name="TEXT">apg-info.0.marketprice.tomorrow_sorted.</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id="Z^;f7+RTmYWA(g9M}QK,"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="ctcnyn$E~wzgOz,Q{3;f"> <field name="NUM">5</field> </shadow> <block type="variables_get" id="_O_c.}Kf,0mO6mU+.{Li"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> <value name="B"> <shadow type="math_number" id="5]5^rrqz`4mnbe.0J+J{"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="lQ]iDNf`,Dy;+j-CvV%~"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="EjD9`6@t|_/9jH^f$dM^"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="mxTxi|d0?Zsuw4ltc@VP"> <field name="TEXT">APG: aktueller Preis: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="We86c[+:d8*SXF9%L%zr"> <field name="VAR" id="eq6mJJ6^ou{5c0Hq5bV/">CurrentPrice</field> </block> </value> </block> </value> <next> <block type="controls_if" id="*}%7cx0UNSeZ@I-kJ{$|"> <mutation elseif="3" else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="+(=W/Xm!MP44iUux_?F1"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="s5z_i%m206fw$%BA{9RW"> <field name="VAR" id="eq6mJJ6^ou{5c0Hq5bV/">CurrentPrice</field> </block> </value> <value name="B"> <block type="math_number" id="j%LU^w9L.SQF.ac5giy:"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="uL_Vo2ldA~DHzDaFC0x1"> <field name="COMMENT">Strompreis SUPERbillig = alles Einschalten</field> <next> <block type="debug" id="X@d{UA~pd7I#dJ6:ApBm"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="r^HlY4;c*GND{X/?Xg@A"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="k?}#Hyp$JO:aCuSmsQ^b"> <field name="TEXT">APG: Current Preis: NEGATIV Verbraucher Einschalten!!! - Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="L87CZ2wYgX{ntpJ(E.EZ"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> </block> </value> <next> <block type="control" id="YvMSHk:dd.ldSo%g[q/e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="|HN*O;Wlwps;?RR}00Cf"> <field name="NUM">4</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="{.`Y0r`$MU.%#yk_;%*V"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="D^XKCRAoj3yu.SV[Q33m"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> <value name="B"> <block type="math_number" id="8^zkcrD,(?:Uq|EW(t]w"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="s2=z9}Dlh{uo`K:3ijkE"> <field name="COMMENT">günstigste 3 Stunden - Warmwasserbetrieb</field> <next> <block type="debug" id="W9g!D?BBo`o}gqpok$p."> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="U[Dl{FJR(UE;G4+pg1Cr"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="kWfa[#PIM+F:SX*R~Z1T"> <field name="TEXT">APG: OffPeak + Warmwasser - Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="EEr{Q_|HRhs,,[rua[61"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> </block> </value> <next> <block type="control" id="iw+fJDGq^6HF~~V#p9eB"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="`K8[XX68+xI1IY*5W5NG"> <field name="NUM">3</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id=";u)urOxy`G|a%71./H?b"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="dslF:@MMzoEerk_{Z:6r"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> <value name="B"> <block type="math_number" id=":6{F+wxbT^l7VIdjh:%Y"> <field name="NUM">8</field> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id=",N6GO4998exNnULxj9oH"> <field name="COMMENT">Strompreis Offpeak - 8 günstigste Stunden</field> <next> <block type="variables_set" id="ZJ@ae%p?2s~@}TK@_:4Z"> <field name="VAR" id="Cfxj8bn=[48.:vebkZGA">OffPeak</field> <value name="VALUE"> <block type="logic_boolean" id="5K,{ow;3Qs2US1OC0_}U"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="Fom^Upc)*?GWvGp;2pWs"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="3U_OJuL1uT7NMs+LU]:_"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id=")g!JG@8AfO/~%RuLDb$T"> <field name="TEXT">APG: OffPeak - Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="u7lkPgj.mUD2hOztT2~="> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> </block> </value> <next> <block type="control" id="G7lF%({PdeYU8$HjLzoo"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="dn`[{$GbhQHAx7]=4@UY"> <field name="NUM">2</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_compare" id="3^=dy$0t.-O_EPFwn1un"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="xJQ=Si+rJr)rio(dOgbs"> <field name="VAR" id="QU`)rxXu.-mP[4mf%Lne">i</field> </block> </value> <value name="B"> <block type="math_number" id="BO1^8aC-WM#sytRBa/k?"> <field name="NUM">18</field> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="{pM;c6;:u0$DqE3czx8P"> <field name="COMMENT">Strompreis Shoulder - mittlere 10h</field> <next> <block type="debug" id="(ZQ5fz3o7T1ME*6sgG-t"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="!tKg`M1j|~|#T6F~P=fu"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="H8[FVoox54B/%V)B{/l:"> <field name="TEXT">APG: Shoulder - Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="$r[W_5d$,0zEF+u7ewxQ"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> </block> </value> <next> <block type="control" id="(k$[CoSX`+29v}e`N/#a"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="A+K+b1^zu0`6R8pYlHf7"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="comment" id="(C$,MswQG:kE$%n(^8zK"> <field name="COMMENT">Strompreis Preak: 6 teuerste Stunden</field> <next> <block type="debug" id="eGG2-P2i-%#MEKKCgmFO"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="qQcHfIv)`(=lF:A[Z7xw"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="??Ac8{3E6/=5?]@:~JQb"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="gAF6by,3skcS`)eQ0~v#"> <field name="TEXT">APG: Peak - Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="3HauEmu{9=1nKlrcrkW8"> <field name="VAR" id="xZ{$U%-tb..I1!P$fQ$h">CurrentHour</field> </block> </value> </block> </value> <next> <block type="control" id="YE]m{-axuxa+iL7-viKW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Strom.Netzvorgabe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="}FLKUT*+H=^axWqJr7C="> <field name="NUM">5</field> </block> </value> </block> </next> </block> </next> </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> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>