Hallo!
Ich beschäftige mich gerade mit den Timeouts und den Intervall-Funktionen und habe gestern mit Hilfe von @paul53 auch schon eine erste Logik erstellt.
Wo mache ich hier aber den Denkfehler, dass die Intervalle kälter/wärmer zwar deaktiviert weren, wenn die Limits erreicht sind aber dann trotzdem weiterlaufen?

Hier auch noch der Export
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</variable>
<variable type="interval" id="Intervall_kaelter">Intervall_kaelter</variable>
<variable type="interval" id="Intervall_waermer">Intervall_waermer</variable>
</variables>
<block type="on_ext" id="}+;*l[!Z|r06sM/=bPYp" x="-387" y="-2588">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="Rz/a4W=#rIMKWt.S9C.v">
<field name="oid">shelly.0.SHHT-1#B88AEE#1.tmp.temperatureC</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="_XoZn[7q|1L+/sVOde9)">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="lU-wa]~?P}.{n@@;egI0">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="2cz23j3pVY4]0$,3(zVo">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="*:^L$2,Z#dardpSq@~n@">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHPLG-S#1638EE#1.Relay0.Switch</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="%!3Y|5|MIsXMv:zE;@2k">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="H2i?{)rBGzNQjYd~{{9M">
<field name="OP">GT</field>
<value name="A">
<block type="convert_tonumber" id="k|(YotaWT]0#6l-5#|_r">
<value name="VALUE">
<block type="get_value" id="%j[::W3;L+GglXhW[DHP">
<field name="ATTR">val</field>
<field name="OID">shelly.0.SHPLG-S#1638EE#1.Relay0.Power</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_number" id="QlsPB[g(X8oLQD0/;f5W">
<field name="NUM">15</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="Qf5MKSmT5DBmtN+82;)C">
<field name="VAR" id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</field>
<value name="VALUE">
<block type="math_number" id="J;G(zWizZaWm}H*b!yz`">
<field name="NUM">22</field>
</block>
</value>
<next>
<block type="debug" id="*b{,1Tx1Ywu;c]0Al4KL">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="i~LqIvHsx:^`fi_*5Tzs">
<field name="TEXT">Heizung ist an!</field>
</shadow>
</value>
<next>
<block type="controls_if" id="4E8F]{zAs,kat=s2E:$R">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="?NTfB%GksbJH3LlyPcni">
<field name="OP">GT</field>
<value name="A">
<block type="convert_tonumber" id="/2CPAt6nRj!rbI|iovP`">
<value name="VALUE">
<block type="on_source" id="YQIM:/3MS{+po0fHLk2^">
<field name="ATTR">state.val</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_arithmetic" id="CY5i,wjmZg0Pk,OV|kT+">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="w(Yo?!oN]87S%Z@OvTNK">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id=";w@B4b)t#p9NE7Vs?nvR">
<field name="VAR" id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="Ws@Zd8tB!!SrAa,apV)L">
<field name="NUM">2</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_clearinterval" id="OE6Hp+WK+DYZ~~bSL?6[">
<field name="NAME">Intervall_waermer</field>
<next>
<block type="debug" id="Bt@M;/H9|`+E3]Dawf95">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="8,$(!f.WjmGoU7hEzOdA">
<field name="TEXT">schalte waermer - deaktiviert</field>
</shadow>
</value>
<next>
<block type="timeouts_setinterval" id="f!obR;!~-HKoKm98=WP[">
<field name="NAME">Intervall_kaelter</field>
<field name="INTERVAL">60</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="control" id="GDz2le/EDI9%sAldXe=V">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">sonoff.0.Sonoff4CH_Pro_Client1 .POWER3</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="XyJ/]d5m]drNh.M-uY]x">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="I/SLoH3Zc6o!fPS]0Nw;">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">sonoff.0.Sonoff4CH_Pro_Client1 .POWER3</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">500</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="dJL%B$~:ElRuZhXR}QO=">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id=")9_!,%[thf(+Fmdo6DTm">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="pT;;Uol/e67Y@699yCX3">
<field name="TEXT">schalte kaelter</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="GFlyWC#^Wiw}.-iGbtN0">
<field name="OP">GT</field>
<value name="A">
<block type="convert_tonumber" id="25)xvH}C*;H!Hqc8bT6h">
<value name="VALUE">
<block type="on_source" id="_dq%%)9z:1!ED{z2%{;J">
<field name="ATTR">oldState.val</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_arithmetic" id="]O5Hyji$U9NWj%BmIvwg">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="@=wuo;6P??V~JA]9$p])">
<field name="VAR" id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="DWLvf~,cbf-C~WT-31Xm">
<field name="NUM">2</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="timeouts_clearinterval" id="-`;y*ODDvClxsAOUdqGj">
<field name="NAME">Intervall_kaelter</field>
<next>
<block type="debug" id="|Wes}tdL!T6i7TqVUzAg">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="pIzV/`bA~BD5RC5YP};B">
<field name="TEXT">schalte kaelter - deaktiviert</field>
</shadow>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="controls_if" id="N7H::r2!l3*j*yy$3Eb+">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="ed,y8tqXomuRZe@cekL2">
<field name="OP">LT</field>
<value name="A">
<block type="convert_tonumber" id="XHuX)!?^Z^`(dWj1p9Xw">
<value name="VALUE">
<block type="on_source" id="ONwAqR!h-RG#P-)W_;U,">
<field name="ATTR">state.val</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="]~KsL:(1%9D(CK@X5RUW">
<field name="VAR" id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_clearinterval" id="#nvvT[URGIW6Ak^X?o{V">
<field name="NAME">Intervall_kaelter</field>
<next>
<block type="debug" id="tAHgyV[8BxpfFSoOt%i?">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="$(Qk$t?/m$F,!qbCj)=G">
<field name="TEXT">schalte kaelter - deaktiviert</field>
</shadow>
</value>
<next>
<block type="timeouts_setinterval" id="/t*n9iz|?+`Ntst$56X-">
<field name="NAME">Intervall_waermer</field>
<field name="INTERVAL">60</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="control" id="/J#kb!]_U,ISlFYt_Cd7">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">sonoff.0.Sonoff4CH_Pro_Client1 .POWER2</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="`;r1Yx}.aBWc6MI:X~#p">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="BbC}!!_PSt4-{Cy)aW]j">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">sonoff.0.Sonoff4CH_Pro_Client1 .POWER2</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">500</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Rb6?#x~jk%{QR_iG)byn">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="`fQeONQC#h*4m_a~Ix^`">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="Z*ZyWTX:sY0gM4(BQ!AA">
<field name="TEXT">schalte waermer</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="_Oi~19+H1X,n|9R3Wxzc">
<field name="OP">LT</field>
<value name="A">
<block type="convert_tonumber" id="h+AbeOIHSULP)zK_Ha|e">
<value name="VALUE">
<block type="on_source" id=".$76L.V@Pt.+L=z050{E">
<field name="ATTR">oldState.val</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="YbX0RG,R90d4ymHO:cMX">
<field name="VAR" id="$bI:Qyw!.FUcwH}4I-bu">Temperaturschwelle</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="timeouts_clearinterval" id="0Tj!d01pE[xOCRI8QCFo">
<field name="NAME">Intervall_kaelter</field>
<next>
<block type="debug" id="u8YpbzfHYTxqH1h5DKlY">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="=jNqQoK4(1.bAjAE$/#[">
<field name="TEXT">schalte waermer - deaktiviert</field>
</shadow>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="debug" id="::dD/h{5pCQ[*kR)+0UT">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="G)ZJLe`uLVd(Ita$(1t?">
<field name="TEXT">Heizung ist aus!</field>
</shadow>
</value>
</block>
</statement>
</block>
</statement>
</block>
</xml>