NEWS
Datenpunkte filtern (rolling average)
-
@paul53
Danke für die Info. Wie würdest du es dann machen? -
@passuff sagte: Wie würdest du es dann machen?
Wie viele Geräte mit welcher Leistungsaufnahme sollen abhängig vom Überschuss geschaltet werden?
Beispiel mit 7 Stufen -
@paul53
Aktuell nur eine Wärmepumpe mit 600 Watt. -
@passuff sagte: nur eine Wärmepumpe mit 600 Watt.
Beispiel mit Bezug positiv und Einspeisung negativ (Shelly):
Gerade für den Kompressor einer Wärmepumpe benötigt man ausreichend große Schaltabstände.
-
@paul53 ich denke da bin ich nah dran:
"Actual Power" ist die Leistung der Wallbox. Da diese eine eigene Überschussrechnung macht, addiere ich die Leistung auf die Leistung am Smartmeter "Power", damit die Wärmepumpe Vorrang vor der Wallbox hat.
-
@passuff sagte: da bin ich nah dran:
Unterschied: Bei deiner Lösung mit Timeout wird verzögert geschaltet, wenn der Grenzwert einmal über- bzw. unterschritten wurde. Bei meiner Version wird nur geschaltet, wenn der Grenzwert während der gesamten Verzögerungszeit über- bzw. unterschritten blieb. Dafür sorgen die "stop timeout".
@passuff sagte in Datenpunkte filtern (rolling average):
Da diese eine eigene Überschussrechnung macht
Die müsste man kennen, um deine Lösung zu verifizieren.
-
@paul53
Da war ich zu vorschnell. Sorry. Hast natürlich recht. -
@passuff sagte: damit die Wärmepumpe Vorrang vor der Wallbox hat.
Wenn die WP beim Einschalten Vorrang vor der WB haben soll: Wie kann dann die Leistungsaufnahme der WB als Einschaltkriterium dienen? Als Ausschaltkriterium durchaus, da die Leistungsaufnahme der WB stark sinkt, wenn die Autobatterie voll geladen ist.
Ich würde es so versuchen:"Switch" = Wärmepumpe.
"Laden ein" = Freigabe Wallbox -
@paul53 sagte in Datenpunkte filtern (rolling average):
Wenn die WP beim Einschalten Vorrang vor der WB haben soll: Wie kann dann die Leistungsaufnahme der WB als Einschaltkriterium dienen?
Einspeisung + Leistung wallbox > Einschaltschwelle
-
@passuff sagte: Einspeisung + Leistung wallbox > Einschaltschwelle
Genau das verstehe ich nicht, wenn die WP Vorrang haben soll: Dann ist beim Einschalten der WP die Leistungsaufnahme der WB 0 oder sehr klein.
-
@paul53 sagte in Datenpunkte filtern (rolling average):
Dann ist beim Einschalten der WP die Leistungsaufnahme der WB 0 oder sehr klein.
Diesen Satz verstehe ich nicht.
-
@passuff
Vorrang der WP verstehe ich so, dass erst die WP eingeschaltet wird und wenn dann noch genügend Überschuss vorhanden ist, auch die WB freigegeben wird. -
@paul53
Das Thema Wallbox Prio muss ich kurz zurückstellen.
Mit dem oben gezeigten Skript habe ich folgende Reaktion, die ich nicht nachvollziehen kann:In Magenta ist der Status der Wärmepumpe zu sehen. Nachdem die Einspeisung gemessen am Smartmeter unter 100 Watt sinkt, schaltet sich die Wärmepumpe wie gewollt aus. Jedoch schaltet sie nach exakt 5 minuten wieder ein um dann 2 Minuten zu laufen - das wiederholt sich dann. Die Zeiten entsprechen den Timeouts....
-
@passuff sagte: Jedoch schaltet sie nach exakt 5 minuten wieder ein um dann 2 Minuten zu laufen - das wiederholt sich dann. Die Zeiten entsprechen den Timeouts....
Welches Skript? In diesem Skript sind die Vergleiche für "stop timeout" falsch herum. Geschaltet wird im sonst-Zweig.
@passuff sagte in Datenpunkte filtern (rolling average):
Thema Wallbox Prio
Was denn nun? Soll die Wallbox priorisiert werden oder die Wärmepumpe?
@passuff sagte in Datenpunkte filtern (rolling average):
damit die Wärmepumpe Vorrang vor der Wallbox hat.
-
@paul53 sagte in Datenpunkte filtern (rolling average):
In diesem Skript sind die Vergleiche für "stop timeout" falsch herum. Geschaltet wird im sonst-Zweig.
Sorry, auch nach mehrmaligem Überfliegen sehe ich keinen Unterschied - kannst du mir markieren was du meinst?
-
@passuff sagte: was du meinst?
Offenbar ist die Leistung bei Überschuss negativ. Dann bedeutet der folgende Vergleich,
dass bei einem Betrag des Überschusses von < 100 der Timer gestoppt wird und bei einem Betrag von > 100 ausgeschaltet wird.
Damit das Verständnis für die Vergleiche einfacher ist, habe ich in den gezeigten Beispielen das Vorzeichen gedreht.
Im sonst-Zweig (Überschuss > 800 W) wird verzögert eingeschaltet.Den Vergleich unten verstehe ich nicht, denn oben hast du geschrieben
@passuff sagte in Datenpunkte filtern (rolling average):"Actual Power" ist die Leistung der Wallbox.
Den Vergleich oben kann ich schon gar nicht nachvollziehen, denn die Leistungsaufnahme der Wallbox wirkt auf die Einspeiseleistung zurück.
-
@passuff sagte: Wallbox Prio
Wenn die Wallbox Priorität haben soll, würde ich es so versuchen:
oder so:
-
@paul53
Vielen Dank für deine Hilfe.
Die Priorisierung von Speicher und Wallbox geschieht im Wechselrichter. Ich habe bislang lediglich Wege gesucht, den PV Überschuss ohne Wallboxleistung (und Speicherleistung) als Vergleich zu nutzen. So wie ich die Wallboxleistung im obigen Screenshot addiert habe, macht es aber rückblickend wenig Sinn, da man eventuell den teilweisen Netzbezug ausblendet.
Aktuell nutze ich vereinfacht zum Vergleich die aktuelle PV Leistung, und schalte wenn diese größer 2000Watt ist. Dann sollte auch mein Std Verbrauch gedeckt sein und ich "overrule" automatisch Wallbox und Speicher. -
@paul53
Ich habe mein Blockly etwas erweitert und nun funktioniert es nicht mehr. Ich kann das aber nicht nachvollziehen. Ich möchte abhängig von PV Leistung und Wassertemperatur Pumpe und Heizung schalten:PV Leistung > 2500Watt UND Messzellentemperatur <28°C -> Pumpe + Wärmepumpe einschalten
PV Leistung < 1500Watt UND Messzellentemperatur >30°C -> Pumpe + Wärmepumpe ausschaltenHier meine aktuelle Logik:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="a`q77kGEjxSiayF)yDWx">WärmePrio</variable> <variable type="timeout" id="timeout7">timeout7</variable> <variable id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</variable> <variable type="timeout" id="timeout6">timeout6</variable> <variable id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</variable> <variable type="timeout" id="timeout">timeout</variable> <variable id="YT-6Z56$wgpq%dQdH:/M">SchalterWärmepumpe</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable id="2mt4A3,a^/s38ua4Cg-f">SchalterPumpe</variable> <variable id=")Urfi2NQtRhvtp.-sH5!">TemperaturMesszelle</variable> <variable type="timeout" id="delayOn">delayOn</variable> <variable type="timeout" id="delayOff">delayOff</variable> </variables> <block type="on_ext" id="lc1i/4Bcw6TaRVa?:Qid" collapsed="true" x="122" y="-1727"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="B{=tV91IsWn!.6q^*Hwu"> <field name="oid">0_userdata.0.Pool.Wärmepumpe_12h</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="~]9[9zB6B,.Si|f?ip4l"> <field name="oid">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="R__!+pdgttGS8S~[lq-%"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="jF!Ud1_1;Yhvm[Xy4W]E"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="V|V+[XX14)^/fIHa_|4/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Pool.Wärmepumpe_12h</field> </block> </value> <value name="B"> <block type="logic_negate" id="QYxHBdbwE*08R3f=2UaK"> <value name="BOOL"> <block type="get_value" id="qrf/%G(!`sn-[?k3MPu#"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="DOJk{zeg5;G`P],1L*~F"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="jZ7`YiAGkkA`eCNq?8RG"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="vC|K=,3;sgMO:bepwK/?"> <field name="VAR" id="a`q77kGEjxSiayF)yDWx">WärmePrio</field> <value name="VALUE"> <block type="logic_boolean" id="Jh-ua_x2lc7z]C;X2SH~"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="4m`k:iY)fN+%O-24i1t}"> <field name="NAME">timeout7</field> <field name="DELAY">240</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="BhRIG:(FhQcv3YF}(9BK"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]+ryZuw9^ak1gKKt5qNK"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id=";_`VQ{Dqn7:S~66iVV|%"> <field name="VAR" id="a`q77kGEjxSiayF)yDWx">WärmePrio</field> <value name="VALUE"> <block type="logic_boolean" id="#q:Ql@+4L-1amuDg[dVY"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="_@cKanmwFs6[5Qv)N97:"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="}6U3z8K=oabZLmab*[cN"> <field name="VAR" id="a`q77kGEjxSiayF)yDWx">WärmePrio</field> </block> </value> <value name="B"> <block type="logic_operation" id="+`KWhwx|2$^!gn!e6C-K"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="`m)9Y[+k)w,(u,uIesJE"> <value name="BOOL"> <block type="get_value" id="0VCD}3a8tY8jEs7qi8zR"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Pool.Wärmepumpe_12h</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="NuwnsznH{5TK?q`+WE!D"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="i{4qjnRPmRV{X)t,vtgt"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="N]RO0XpBE.{y5jq@Mu]8"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="x{P-VKuLJOrAF,!BD5MC"> <field name="VAR" id="a`q77kGEjxSiayF)yDWx">WärmePrio</field> <value name="VALUE"> <block type="logic_boolean" id="#QWR}#W65(fxy%0Y6*=0"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="1t%9,hhw^Odh]}9mSkF," collapsed="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="crTlcD$7[2)!kkSuN}%6"> <field name="oid">0_userdata.0.Pool.Pumpe_4h</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="L!!le/r?C~NK3L4]0alr"> <field name="oid">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="mTg~2K3S%}?m~!K`0l#`"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="[+KkSM:if:/1(XISGoGO"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="Ek(dSNZ9{~VpscDt!RI%"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Pool.Pumpe_4h</field> </block> </value> <value name="B"> <block type="logic_negate" id="D?pC.~n?7g@Q@;a~:EG4"> <value name="BOOL"> <block type="get_value" id=")T!O]!9o6$/1.{a$9dMf"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="iH6p#Ibez4mWjj9nNN_."> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="tI1b5dp6Kdvk?7;CVUXT"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="Bu0tjw(-%7d7O@%XP()8"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> <value name="VALUE"> <block type="logic_boolean" id=":EAQ9y82%iO^a:qVZ(3n"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="q?KadoY=m949zcPMh4;="> <field name="NAME">timeout6</field> <field name="DELAY">240</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="?u.2I$a#kme[Z;H,iUaL"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Pool.Pumpe_4h</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="d[tJZN9@|h7A/KpZ.kN2"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="1T`eM,g/i!fby-Yi]C_}"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="JBv*i{tvJy9M/-1v#RE!"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="9,6,OzmLu`JPq8ZagJ3!"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> <value name="VALUE"> <block type="logic_boolean" id="/}!fiEI|,,@%$Ok=gilp"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="`Q=?/|p57p!1/x+j+epC"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="EJ`pP5;|E4N?O1RDn1(U"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> </block> </value> <value name="B"> <block type="logic_operation" id="NOGL44C6H~u((U;(]/}d"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id=",6w,Kn~=l#`5xKtsZ;Mo"> <value name="BOOL"> <block type="get_value" id="Mif-I6v#tPxpae=wdF+7"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Pool.Pumpe_4h</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="cI6VcO^zc!My3g0[0Y,e"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="YDR01hmGZXSNpl,-Y0pe"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*(HdT$B9[G3hs1v*!xo1"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="sp%g[D(BAgO6{A11Xkdz"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> <value name="VALUE"> <block type="logic_boolean" id="T^-=p/n^?6Uck1c!!gl9"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="schedule" id="BQzC(IK*tolxQc;Xba?O" collapsed="true"> <field name="SCHEDULE">{"time":{"exactTime":true,"start":"10:00"},"period":{"days":1}}</field> <statement name="STATEMENT"> <block type="control" id="N8MoVl.l~@D4UA^7P}H*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="iuTOR}+K1m3*}ova.Tpy"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="48s^J4+tCNl|:2i5T(h2"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> <value name="VALUE"> <block type="logic_boolean" id="Q7EXHZy;4932X=K^w^n9"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="schedule" id="/s#30Nbi~}@D~x0,Ysn#" collapsed="true"> <field name="SCHEDULE">{"time":{"exactTime":true,"start":"18:00"},"period":{"days":1}}</field> <statement name="STATEMENT"> <block type="control" id="]rk_*U[].PJ-DN3s$don"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="K=j!mJ|D-Uzu2qHJ/?NT"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="}LOs3$dPP|qGy?PL{:pU"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> <value name="VALUE"> <block type="logic_boolean" id="=iqkP$B)(?vT-OZd2TKm"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id="5p4KkANwV]]aFvS~-n*=" collapsed="true" disabled="true"> <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="p2EWA*W-?.2wJh{g|(=1"> <field name="oid">fronius.0.meter.0.PowerReal_P_Sum</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="UPz@~Ba%*fwfKd%Y-{RQ"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> <value name="VALUE"> <block type="math_single" id="TTn|Zp3LM(7?Hnj+;.}@"> <field name="OP">NEG</field> <value name="NUM"> <shadow type="math_number" id="QRt};)S*W,p%cpyu0pN/"> <field name="NUM">9</field> </shadow> <block type="on_source" id="k5rb0jRC@1!c)h=n-STu"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="controls_if" id="g0%3!^w_r!/$Xik%b*;d"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="#fe*SZYEun:Ff9Q;/0uY"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="lGG3he=ySVs;b~hS|f[W"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> </block> </value> <value name="B"> <block type="math_number" id="safMuD_*#{F]/cByCgu5"> <field name="NUM">800</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="u]$Gaa.8IR6t~~?dlFuR"> <field name="NAME">timeout</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="8y=)FZ%|O0iJvc})sj|-"> <value name="BOOL"> <block type="timeouts_gettimeout" id="U93m$tD+5p2cUUldvO.J"> <field name="NAME">timeout</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="tQVp0X-dy@$w^Ch?/d5E"> <field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="]u[J^Iz)b__+t|TK7K6l"> <value name="IF0"> <block type="logic_negate" id="]6s!gdRjd7{exE6{#j+$"> <value name="BOOL"> <block type="get_value" id="rb1VVy$P`BhhJ73TJ=6D"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="A$@)~1l4FVwPrJ8w*,S-"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="OkCnK#;V[6Vl/3H4z^,F"> <field name="TEXT">Pumpe+Heizung Pool an!</field> </shadow> </value> <next> <block type="telegram" id=".~n5,dVO+z|Kl$d`%.zX"> <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="vrP}8]KpS,mUYQfh2@81"> <field name="TEXT">Pumpe+Heizung Pool an!</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="control" id="K66yS!y+d@ql8R?z;*oM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w0C3O9M5sZJr.:LcsGOi"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_if" id="z|MAAj7d}Ur-HLNe~Kax"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="2RFZ;ron-)XZtm5mj7yV"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="B$.aFSqEZ0.jV`P)tm[-"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> </block> </value> <value name="B"> <block type="math_number" id="lGZS,QWU}po7J4z|UNI("> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="Pc.EX0P#CqU]zvCN35jI"> <field name="NAME">timeout2</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="4Wm`UX4Utp/_X+E$nXLQ"> <value name="BOOL"> <block type="timeouts_gettimeout" id="G8M5xs,54JHy}o-V,mF8"> <field name="NAME">timeout2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="LUFUi5wWr^T*)$Sp%Kja"> <field name="NAME">timeout2</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="OCx!@:.EQ^2N~*)JxBLp"> <value name="IF0"> <block type="get_value" id="(..^AuVLgs-T?$VpS*mR"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </block> </value> <statement name="DO0"> <block type="control" id="6GHqKU=Z%C^.u1ab!A0@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="8f3c]NZ+)j%.[PO](Nq1"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="P{yxG^V{|N``hL9fu/@2"> <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="B)UVmwpa+]V)mfECPY83"> <field name="TEXT">Pumpe+Heizung Pool aus!</field> </shadow> </value> <next> <block type="debug" id="ds}0dW~Dy9%#66VTgu*J"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="PJVM@l@ax%C)uD#]-*fW"> <field name="TEXT">Pumpe+Heizung Pool aus!</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="`8+E15.-I_;_*ek?E}oq"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="is0*+QO#d+8|Vz.fMriP"> <field name="oid">fronius.0.site.P_PV</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="iWjpj/`Kec0S27AgB~I9"> <field name="oid">tuya.0.bf7200ddef31e2095bgr46.8</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="^mG,@Nam{!ahZfLNsDE@"> <field name="oid">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="0jmTcr4}/(p1QcNJ!6}D"> <field name="oid">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="lkDwX%Up95]2A+aXn=1v"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> <value name="VALUE"> <block type="get_value" id="$R%sle_$m1f!v1G;##99"> <field name="ATTR">val</field> <field name="OID">fronius.0.site.P_PV</field> </block> </value> <next> <block type="variables_set" id="sx%aOUt-76J)0_H5r%:8"> <field name="VAR" id="YT-6Z56$wgpq%dQdH:/M">SchalterWärmepumpe</field> <value name="VALUE"> <block type="get_value" id="O=GN8y!C2pUpiE8W~^I8"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> </block> </value> <next> <block type="variables_set" id="$pON6E5aZ%0u1sLNu[~^"> <field name="VAR" id="2mt4A3,a^/s38ua4Cg-f">SchalterPumpe</field> <value name="VALUE"> <block type="get_value" id="U:EB:Cn%O?mjiYvsNxE^"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> </block> </value> <next> <block type="variables_set" id="2;1$~e8!rZ6J-SXyFKd5"> <field name="VAR" id=")Urfi2NQtRhvtp.-sH5!">TemperaturMesszelle</field> <value name="VALUE"> <block type="get_value" id="m.ZOu59@RzMCBDbk?^R("> <field name="ATTR">val</field> <field name="OID">tuya.0.bf7200ddef31e2095bgr46.8</field> </block> </value> <next> <block type="controls_if" id="YO%^jo-T%ZNMWR)WUq0%"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_multi_and" id="?d2}cF8L2c={b%^Np@6x"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="48-b!SAes2pFCvt6@lCD"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="=c7*hE,%!$:Jkf/chU~D"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> </block> </value> <value name="B"> <block type="math_number" id="-M!6-Af%/a.VtaIG!]PI"> <field name="NUM">2500</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="ZymG1x9|55cH}_2rU2Ti"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="Y_-2SLsRD^80W$t`MiPB"> <field name="VAR" id=")Urfi2NQtRhvtp.-sH5!">TemperaturMesszelle</field> </block> </value> <value name="B"> <block type="math_number" id="j(E-_;0_pdt?)e-lLEep"> <field name="NUM">28</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="I=Jc-:}zDyj7c{Nr$u=("> <field name="NAME">delayOn</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="6#kDG[3OcG~pkGrFID+Y"> <value name="BOOL"> <block type="timeouts_gettimeout" id="f,=~c@JZEa.AQe5*b$X!"> <field name="NAME">delayOn</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="2!7$hUb@3fc#+[%A?*5f"> <field name="NAME">delayOn</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id=".z6IU0!ur^ZMQEsl@Ly+"> <value name="IF0"> <block type="logic_negate" id="KG.Md2co@9sW5g1c0H,|"> <value name="BOOL"> <block type="logic_multi_and" id="D1c75$9Q:=sTa/t,$w!T"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="variables_get" id="Xwl}(UZRRMZ,Y1~c(E3$"> <field name="VAR" id="2mt4A3,a^/s38ua4Cg-f">SchalterPumpe</field> </block> </value> <value name="AND1"> <block type="variables_get" id=".L.d9/C,x)o#%b2qNGo9"> <field name="VAR" id="YT-6Z56$wgpq%dQdH:/M">SchalterWärmepumpe</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="x5X^}7lqVj:_coU?ifB4"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="7Mm!nvQfBm+./JnkcG+="> <field name="TEXT">Pumpe+Heizung Pool an!</field> </shadow> </value> <next> <block type="telegram" id="*^H@BTpVzlRY=Y9kRo?`" collapsed="true"> <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="*,jJPIApD:]5/QY~YnCa"> <field name="TEXT">Pumpe+Heizung Pool an!</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="control" id=")vp|=w8%XO,dDlKm,yYC"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="NGZ{qG}zDB7o,6=HMzKu"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="]EQh$m/n[GqIO2Q?`KpY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="WR@]_q@a?.O{f`Qg9%ys"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_if" id="{FNY`/(k,QZ,$ZBQox)%"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_multi_or" id="z1]u}E42I/Q7h5U6+Fv="> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="OR0"> <block type="logic_compare" id="9R+U/dv*VJQrfQqy[Rmu"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="w%xDi*,O3OJX9dm#{|Fq"> <field name="VAR" id="z@z3xT3qU}fVdr|=Yv{Q">PV Power</field> </block> </value> <value name="B"> <block type="math_number" id="Qg.usZF2;i%M_L`*)ke4"> <field name="NUM">1500</field> </block> </value> </block> </value> <value name="OR1"> <block type="logic_compare" id="39Z2^D$D;*{BG:5LoLzk"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="xOzj4cc%PE$e|xcOLVoL"> <field name="ATTR">val</field> <field name="OID">tuya.0.bf7200ddef31e2095bgr46.8</field> </block> </value> <value name="B"> <block type="math_number" id="?I|:G_CfFHYP2)._yH%M"> <field name="NUM">30</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="ehp7h7Se;ebPzR[=`V:."> <field name="NAME">delayOff</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="IXc_j8?(xz5V;Eg(Y2*_"> <value name="BOOL"> <block type="timeouts_gettimeout" id="}GA3tq2sYYrrPDRW:+k="> <field name="NAME">delayOff</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id=":yDuj*AX=w%Q9JeBjw;^"> <field name="NAME">delayOff</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="vkWFm]D2NT4#+~$y4q+@"> <value name="IF0"> <block type="logic_multi_or" id="Ft`taeeHq]|CJy]YX,yE"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="OR0"> <block type="variables_get" id="u)Jy3;PEih$G4WLdSN(L"> <field name="VAR" id="2mt4A3,a^/s38ua4Cg-f">SchalterPumpe</field> </block> </value> <value name="OR1"> <block type="variables_get" id="}[C_7ZrbNqpw20RM,dGs"> <field name="VAR" id="YT-6Z56$wgpq%dQdH:/M">SchalterWärmepumpe</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="^V)i%}O5zFMo]4mcipls"> <value name="IF0"> <block type="logic_negate" id="R^28}~[2f{xPj!Or:1W)"> <value name="BOOL"> <block type="variables_get" id="tB*@CO}}]#1lZvHu_Xg/"> <field name="VAR" id="a`q77kGEjxSiayF)yDWx">WärmePrio</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="VduN~+~]F;b@b/PuP5lD"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#FDD9DB#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^0^t,gU]A#3KcJ#,;xTl"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="!~kz-M]H~TGA?cWZA@Tn" collapsed="true"> <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=";a?dWGl@`57xiYc1~O?A"> <field name="TEXT">Pumpe Pool aus!</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="%Q~TZ~m.;ELEide2^;Tm"> <value name="IF0"> <block type="logic_negate" id="$]!Vj,:84^5{7h!b.B$t"> <value name="BOOL"> <block type="variables_get" id="cHU4+#XoX~]Ld7,r;VP6"> <field name="VAR" id="9}Rqm{/DOtT}cPU{yu19">PumpePrio</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="T8K;JcoiV|34!.V[74=W"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#9A3649#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Szp(,d/WWlgAor{TLiC$"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id=",lvMC8Lait]1C=N$pE`{" collapsed="true"> <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=")$wE?86w0jy#G~:YE]d6"> <field name="TEXT">Heizung Pool aus!</field> </shadow> </value> <next> <block type="debug" id="ma+tEr2JawkjDUiL%B$6"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="o!SWg;^CKJcHLhlEg3e~"> <field name="TEXT">Pumpe+Heizung Pool aus!</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-