NEWS
Lüftungssteuerung/ Raumkühlung
-
Danke für die Infos....
Ich habe es jetzt wie von dir beschrieben angepasst. Komischweise reagiert die Lüftung nicht bei Änderungen von "Schalter WC"
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout1">timeout1</variable> <variable type="" id="-T9#d/Yh6U;{M{f]DniR">Lueftung ein</variable> <variable type="" id="y){h[{-4c8ktWE~`t*:b">Schalter WC</variable> <variable type="undefined" id="timeout2">timeout2</variable> <variable type="" id="ll[%4tP{TqAocSN#Fk*;">Schalter Bad</variable> </variables> <block type="on_ext" id="+k%pF,=%Z9c%=#eFJ6@8" x="-1312" y="-512"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="O5Lo}GGvN}}2l9U2a3-7"> <field name="oid">shelly.1.SHSW-1#C41D9D#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="$=6eX%d},];ZQ!G)lD)3"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id=")blSy,7emak;*TR`i3(z"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="TH,]4ws(3H%t54vGbLbZ"> <field name="NAME">timeout1</field> <next> <block type="variables_set" id="Z)73}Vl!lxfRY?q*@bkF"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="w]hvTd@yi0[Yf;uZFf=?"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="*r=R$XUXKE:vu7cKGz@~"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="M?6hP.DK~w$Q^8hlTgSq"> <field name="NAME">timeout1</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="hPtMauvSm9R?hQ7VkLZe"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="_3K4Hc5`t^`yGaVs=j!*"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="Z*hZ8ntz$oE@(XiZ%Zx]"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="on_ext" id="}hi9w:?BlVjWdW%F$KhO"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="FEG3gasnAT$IoQA-oji_"> <field name="oid">shelly.0.SHSW-1#C4FB4A#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="V?BS?Z?^[y3J:fiPtx=`"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="n`5cB:j^l=#.LB)(jg4g"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id=",k*[oKWBUf3OR[~QLeKF"> <field name="NAME">timeout2</field> <next> <block type="variables_set" id=",,T$clm4g!ixjuZPbGi-"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="b9G7IIp7xL,)*?/r~MZq"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="1,^J.Yf`Q[.EdVguqyGf"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="BHaZ1+rl5d=+$@$#(#eu"> <field name="NAME">timeout2</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="YW_E}A#uFD8]sO:zHyGR"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="9$4z)Ig0x^l6FaD5LMKL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="JN%iP8OTLhoRFXHFN`5/"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id=".Kaw7OsOYlt.vGZmxCX=" x="-712" y="-538"> <field name="NAME">Lueftung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="Zm?U~sok-MOQoA?x+3DO"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="paeRegepo#AWP;9X,AnB" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="c9/4N(^X6xUL~WSRAWbP" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="time_compare" id="*|^pBKuH;^yE;FLX-A~X"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">22:00</field> <field name="END_TIME">01:00</field> </block> </value> <value name="B"> <block type="time_compare" id="9pQI:?/t{DqT;dzd~/?r"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">04:00</field> <field name="END_TIME">08:00</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="/3Njok1H0A)gm*jcv(zT" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id=")cG,Lnu((@ii6-e`P*yt"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> </block> </value> <value name="B"> <block type="variables_get" id="GisxnNs$x,+=XR1C2@Xg"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="UC1/uT)/,[!nh3lBc9jx"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="6-dTykGCt4riYS;-0WU1"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="E+HXRavQJqb|xdnj5*|I"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="%F#2XVCXscbE)mb$iw8_"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="?X#SDwsiM!EJ==(gof|*"> <value name="IF0"> <block type="logic_compare" id="+W$bowR;Fnn.mr%?m}!."> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="d{SjejI3Jc.jS$xH,!py"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="variables_get" id="QQt-F]0H$SX-e-(1H$]k"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="]qYeOi_q*_)kJVsfOI~|"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="*Nv!rX54$Px9aKq7Smv}"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> <block type="schedule" id="M|Vtl:g1vQnXqnI=rhd`" x="-713" y="-187"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="k|xP7WfOAtTvaW8jfX*m"> <mutation name="Lueftung"></mutation> </block> </statement> </block> </xml>
-
@erazor86 sagte:
Komischweise reagiert die Lüftung nicht bei Änderungen von "Schalter WC"
Dann bau mal einen Debug-Block in den Trigger vom "Schalter WC" ein. Es muss eine Ursache haben.
-
Danke! Fehler gefunden... ich hatte mal aus versehen eine zweite shelly Instanz installiert und danach wieder deinstalliert... jedoch tauchen die Objekte noch in der Auflistung auf, sind aber nicht mehr aktiv.... somit war ein Schalter ausgewählt, welchen es quasi gar nicht gibt....
Was hat das eigentlich für einen Sinn, dass man eine Instanz nochmal installieren kann??
Edit:
Habe den Code jetzt nochmal getestet und der zweite Schalter reagiert... Allerdings Schaltet die Lüftung nach 5min aus, auch wenn der Schalter noch an ist... es war ja eigentlich so gedacht, dass es noch eine Nachlaufzeit von 5min gibt, nachdem der Schalter aus ist... Bsp. Ich dusche 20 min und verlasse dann den Raum, die Lüftung zieht noch x min weiter...Scheint zu funktionieren
-
@erazor86 sagte in Lüftungssteuerung/ Raumkühlung:
Was hat das eigentlich für einen Sinn, dass man eine Instanz nochmal installieren kann??
Mehrere Instanzen - Möglichkeiten:
- Unterschiedliche Accounts bei Email, telegram, Alexa usw. usf.
- Unterschiedliche Regionen bei Wetterdiensten
- Vernetzung von mehreren Gebäuden über VPN mit Multihost
- Testen
usw.
-
Ich habe jetzt auch die Temperatursensoren installiert und in Betrieb genommen. Zusätzlich habe ich noch eine weitere Abfrage installiert, die erkennt ob gerade für die Warmwassererzeugung gelüftet wird.
Die zusätzliche Und-Abfrage hatte ich bereits bei der Lüftung ohne Temperatursensoren erfolgreich am laufen.
Ich habe das Skript jetzt mit Temperatursensoren am laufen. Ich habe jedoch zwei Versionen. Eine bei der funktioniert alles und bei der zweiten funktioniert die zeitliche Grundlüftung irgendwie nicht. Ich verstehe aber nicht warum? Der Unterschied liegt lediglich in einer anderen Verschachtelung der Oder-Blöcke.Dieses funktioniert:
Hier funktioniert die Grundlüftung zu den Zeiten nicht:
-
@erazor86 sagte:
Hier funktioniert die Grundlüftung zu den Zeiten nicht:
Das ist nicht nachvollziehbar. Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
Funktioniert:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="=Cu-N/(+[fOov!*{1X@x">Innentemp</variable> <variable type="undefined" id="timeout1">timeout1</variable> <variable type="" id="-T9#d/Yh6U;{M{f]DniR">Lueftung ein</variable> <variable type="" id="OXnt;ZJmTwRv9.;*hM;6">Außentemp</variable> <variable type="" id="y){h[{-4c8ktWE~`t*:b">Schalter WC</variable> <variable type="undefined" id="timeout2">timeout2</variable> <variable type="" id="ll[%4tP{TqAocSN#Fk*;">Schalter Bad</variable> <variable type="" id="KV/H1-c|)w1;egnhdsVk">kuehlen</variable> </variables> <block type="on_ext" id="+k%pF,=%Z9c%=#eFJ6@8" x="-1312" y="-512"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="O5Lo}GGvN}}2l9U2a3-7"> <field name="oid">shelly.0.SHSW-1#C41D9D#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="$=6eX%d},];ZQ!G)lD)3"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id=")blSy,7emak;*TR`i3(z"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="TH,]4ws(3H%t54vGbLbZ"> <field name="NAME">timeout1</field> <next> <block type="variables_set" id="Z)73}Vl!lxfRY?q*@bkF"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="w]hvTd@yi0[Yf;uZFf=?"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="*r=R$XUXKE:vu7cKGz@~"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="M?6hP.DK~w$Q^8hlTgSq"> <field name="NAME">timeout1</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="hPtMauvSm9R?hQ7VkLZe"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="_3K4Hc5`t^`yGaVs=j!*"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="Z*hZ8ntz$oE@(XiZ%Zx]"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="on_ext" id="}hi9w:?BlVjWdW%F$KhO"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="FEG3gasnAT$IoQA-oji_"> <field name="oid">shelly.0.SHSW-1#C4FB4A#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="V?BS?Z?^[y3J:fiPtx=`"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="n`5cB:j^l=#.LB)(jg4g"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id=",k*[oKWBUf3OR[~QLeKF"> <field name="NAME">timeout2</field> <next> <block type="variables_set" id=",,T$clm4g!ixjuZPbGi-"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="b9G7IIp7xL,)*?/r~MZq"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="1,^J.Yf`Q[.EdVguqyGf"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="BHaZ1+rl5d=+$@$#(#eu"> <field name="NAME">timeout2</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="YW_E}A#uFD8]sO:zHyGR"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="9$4z)Ig0x^l6FaD5LMKL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="JN%iP8OTLhoRFXHFN`5/"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id=".Kaw7OsOYlt.vGZmxCX=" x="-712" y="-538"> <field name="NAME">Lueftung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="Zm?U~sok-MOQoA?x+3DO"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id=")5*%eQw~X/)iSWqh@}2m" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="a8fGp{mi5QHpFX[)eT[~"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="dGF0@3+S-VB%~6nP[~lm"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#76B4A1#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="8nXe3^3k/b,+1qr!oe95"> <field name="NUM">120</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="rr-%=*`x~RVoK4]UWf1k" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="paeRegepo#AWP;9X,AnB" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="c9/4N(^X6xUL~WSRAWbP" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="time_compare" id="*|^pBKuH;^yE;FLX-A~X"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">21:00</field> <field name="END_TIME">01:00</field> </block> </value> <value name="B"> <block type="time_compare" id="9pQI:?/t{DqT;dzd~/?r"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">05:30</field> <field name="END_TIME">09:30</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="/3Njok1H0A)gm*jcv(zT" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id=")cG,Lnu((@ii6-e`P*yt"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> </block> </value> <value name="B"> <block type="variables_get" id="GisxnNs$x,+=XR1C2@Xg"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="||zxB3aSE!8R?9ZSnkE_"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="UC1/uT)/,[!nh3lBc9jx"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="6-dTykGCt4riYS;-0WU1"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="E+HXRavQJqb|xdnj5*|I"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="%F#2XVCXscbE)mb$iw8_"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="?X#SDwsiM!EJ==(gof|*"> <value name="IF0"> <block type="logic_compare" id="+W$bowR;Fnn.mr%?m}!."> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="d{SjejI3Jc.jS$xH,!py"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="variables_get" id="QQt-F]0H$SX-e-(1H$]k"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="]qYeOi_q*_)kJVsfOI~|"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="*Nv!rX54$Px9aKq7Smv}"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> <block type="schedule" id="M|Vtl:g1vQnXqnI=rhd`" x="-713" y="-162"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="*_c1Qle_cuS5(VKTDsW)"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> <value name="VALUE"> <block type="get_value" id="a:vTR^xJSQYCZq6k:c}O"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#76BF91#1.ext.temperatureC1</field> </block> </value> <next> <block type="variables_set" id="(q)a-w!exjQ?*;TKo15W"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> <value name="VALUE"> <block type="get_value" id="6DTOcp5A1yeW}UfqbsCg"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-1#C4E88E#1.ext.temperatureC1</field> </block> </value> <next> <block type="controls_if" id="%rg}7ZPLqR{RS_mMB0d5"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="W6m!,mXM)qqJVk@-=;Sz"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="diKGWi0Lps_aKx*k5}iC"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <block type="math_number" id="~/tv{GjwA($nPrhT~hne"> <field name="NUM">20.7</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="PwjV4$:{Cib?Bn^Ch0UE"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="q_pIW16NAj`}!-#%2Lc^"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="=ZJTX9RFTb}n?)z3YSp@"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="7{mXmJE#!|TxHibAnHMU"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="1#~k@Zqs]H(TXjF-CW$d"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <shadow type="math_number" id="idt*l`JL8GUFafr%N/0t"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="8H77mHlQja+jEbdR?cpk"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="_9D1g(JFn4+i$2EIW%V%"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{lPD{59Q,PCy#ogof8`/"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="OIgfCa/YrB/5T@-nx5Z."> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v|u#:i{;Hc=ynGdwH}ME"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="#yJb|W@q+7hDfTtzQW;t"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <block type="variables_get" id="YH;#buPT*1__G#,PDxad"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="N[etlxM:^WAt`~$$m*]E"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="Wey5y*lk?|(nu6Z0RW#T"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="29IB;RH{:9]6y12mppJl"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="oE-5mG6=9H5Vy.$,}0jv"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="k|xP7WfOAtTvaW8jfX*m"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Zeitliche Grundlüftung geht nicht:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="=Cu-N/(+[fOov!*{1X@x">Innentemp</variable> <variable type="" id="-T9#d/Yh6U;{M{f]DniR">Lueftung ein</variable> <variable type="undefined" id="timeout1">timeout1</variable> <variable type="" id="OXnt;ZJmTwRv9.;*hM;6">Außentemp</variable> <variable type="" id="y){h[{-4c8ktWE~`t*:b">Schalter WC</variable> <variable type="undefined" id="timeout2">timeout2</variable> <variable type="" id="ll[%4tP{TqAocSN#Fk*;">Schalter Bad</variable> <variable type="" id="KV/H1-c|)w1;egnhdsVk">kuehlen</variable> </variables> <block type="procedures_defnoreturn" id="hO0I3^cm/F0zYbSre;U{" x="-737" y="-562"> <field name="NAME">Lueftung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[,cSzStucFVmU~-hmz7B"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="7*oPP`$KePnoN:5umZD2" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="a8fGp{mi5QHpFX[)eT[~"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="dGF0@3+S-VB%~6nP[~lm"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#76B4A1#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="8nXe3^3k/b,+1qr!oe95"> <field name="NUM">120</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="iW:Mii];zFUkBmw7#b$c" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="-Z~tF6WnSe3.Os@J~DsJ" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="time_compare" id="W#o4d:RW~oHQ]6k,7,kq"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">21:00</field> <field name="END_TIME">01:00</field> </block> </value> <value name="B"> <block type="time_compare" id="O7+r:7,C+Y)%8(c?H!~@"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">05:30</field> <field name="END_TIME">09:30</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="20OCn+]V=hr7o4$099?~" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="x,{q21D9-|lwn^}].D5W" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="oG`I`7rjIAfHB-CmEcud"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> </block> </value> <value name="B"> <block type="variables_get" id="U3g!4h!=i[_:lMvv_uez"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="DN{D?AE6HkxRQ2,aa!bP"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="xGIm@RSn1a8e$SJN+2#0"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="^J)?[fmzBHW;,|8;]QEU"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="@hJ%gX17zS-C6nMX$H,e"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> <value name="VALUE"> <block type="logic_boolean" id="+n.pY6.-c[ilM##G~22/"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="QiE*VlhcBE$jJ8?alSG2"> <value name="IF0"> <block type="logic_compare" id="y@`C~jnV%yL!IB#3D,^l"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="d{SjejI3Jc.jS$xH,!py"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="variables_get" id="!YdTSANG9uz;.+;PLOUf"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q]=bWm(YJI@p/{l8*h_y"> <mutation delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="3T=d0tzfgjr*+|9aneWQ"> <field name="VAR" id="-T9#d/Yh6U;{M{f]DniR" variabletype="">Lueftung ein</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> <block type="on_ext" id="+k%pF,=%Z9c%=#eFJ6@8" x="-1312" y="-512"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="O5Lo}GGvN}}2l9U2a3-7"> <field name="oid">shelly.0.SHSW-1#C41D9D#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="$=6eX%d},];ZQ!G)lD)3"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id=")blSy,7emak;*TR`i3(z"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="TH,]4ws(3H%t54vGbLbZ"> <field name="NAME">timeout1</field> <next> <block type="variables_set" id="Z)73}Vl!lxfRY?q*@bkF"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="w]hvTd@yi0[Yf;uZFf=?"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="6rOvy)3[vzt_nHIQiU,2"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="M?6hP.DK~w$Q^8hlTgSq"> <field name="NAME">timeout1</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="hPtMauvSm9R?hQ7VkLZe"> <field name="VAR" id="y){h[{-4c8ktWE~`t*:b" variabletype="">Schalter WC</field> <value name="VALUE"> <block type="logic_boolean" id="_3K4Hc5`t^`yGaVs=j!*"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="JQ`vd0(~y3q#e.jQYKE+"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="on_ext" id="}hi9w:?BlVjWdW%F$KhO"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="FEG3gasnAT$IoQA-oji_"> <field name="oid">shelly.0.SHSW-1#C4FB4A#1.Relay0.Switch</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="V?BS?Z?^[y3J:fiPtx=`"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="n`5cB:j^l=#.LB)(jg4g"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id=",k*[oKWBUf3OR[~QLeKF"> <field name="NAME">timeout2</field> <next> <block type="variables_set" id=",,T$clm4g!ixjuZPbGi-"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="b9G7IIp7xL,)*?/r~MZq"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="vqV+3XG_moe_^fURi5^z"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="BHaZ1+rl5d=+$@$#(#eu"> <field name="NAME">timeout2</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="YW_E}A#uFD8]sO:zHyGR"> <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field> <value name="VALUE"> <block type="logic_boolean" id="9$4z)Ig0x^l6FaD5LMKL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="1CH[1Z6o#pH8k6;T?tO:"> <mutation name="Lueftung"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="schedule" id="M|Vtl:g1vQnXqnI=rhd`" x="-738" y="-163"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="*_c1Qle_cuS5(VKTDsW)"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> <value name="VALUE"> <block type="get_value" id="a:vTR^xJSQYCZq6k:c}O"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#76BF91#1.ext.temperatureC1</field> </block> </value> <next> <block type="variables_set" id="(q)a-w!exjQ?*;TKo15W"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> <value name="VALUE"> <block type="get_value" id="6DTOcp5A1yeW}UfqbsCg"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-1#C4E88E#1.ext.temperatureC1</field> </block> </value> <next> <block type="controls_if" id="%rg}7ZPLqR{RS_mMB0d5"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="W6m!,mXM)qqJVk@-=;Sz"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="diKGWi0Lps_aKx*k5}iC"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <block type="math_number" id="~/tv{GjwA($nPrhT~hne"> <field name="NUM">20.7</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="PwjV4$:{Cib?Bn^Ch0UE"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="q_pIW16NAj`}!-#%2Lc^"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="=ZJTX9RFTb}n?)z3YSp@"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="7{mXmJE#!|TxHibAnHMU"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="1#~k@Zqs]H(TXjF-CW$d"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <shadow type="math_number" id="idt*l`JL8GUFafr%N/0t"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="8H77mHlQja+jEbdR?cpk"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="_9D1g(JFn4+i$2EIW%V%"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{lPD{59Q,PCy#ogof8`/"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="OIgfCa/YrB/5T@-nx5Z."> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v|u#:i{;Hc=ynGdwH}ME"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="#yJb|W@q+7hDfTtzQW;t"> <field name="VAR" id="=Cu-N/(+[fOov!*{1X@x" variabletype="">Innentemp</field> </block> </value> <value name="B"> <block type="variables_get" id="YH;#buPT*1__G#,PDxad"> <field name="VAR" id="OXnt;ZJmTwRv9.;*hM;6" variabletype="">Außentemp</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="N[etlxM:^WAt`~$$m*]E"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="Wey5y*lk?|(nu6Z0RW#T"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="29IB;RH{:9]6y12mppJl"> <field name="VAR" id="KV/H1-c|)w1;egnhdsVk" variabletype="">kuehlen</field> <value name="VALUE"> <block type="logic_boolean" id="oE-5mG6=9H5Vy.$,}0jv"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="N+n)-=l+%/!f_-J,/=B%"> <mutation name="Lueftung"></mutation> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@erazor86 sagte:
Zeitliche Grundlüftung geht nicht:
Bei mir funktioniert es: Habe Log-Ausgabe von Variable Lueftung_ein am Ende der Funktion ergänzt und erhielt als Ergebnis false; nach Änderung der Endzeit von 9:30 auf 11:30 war das Ergebnis true.
Die Abfrage ist völlig in Ordnung:if (getState("shelly.0.SHSW-PM#76B4A1#1.Relay0.Power").val < 120 && (compareTime("21:00", "01:00", "between") || compareTime("05:30", "11:30", "between") || Schalter_WC || Schalter_Bad || kuehlen)) {
-
jetzt habe ich es auch nochmal getestet und siehe da es geht?! wer weiß, was ich da zwischenzeitlich wieder falsch simuliert habe
könntest du aber bitte mal den code einfügen, indem du diese Testabfrage eingebaut hast? das habe ich noch nicht so ganz verstanden und könnte mir bei so manchen Analysen helfen... Danke!
-
@erazor86 sagte:
indem du diese Testabfrage eingebaut hast?
Das ist die Zeile 5 des Ergebnisses der Blockly-Übersetzung nach Javascript, zu sehen mit dem Button rechts oben blockly/JS. Oder meinst Du die Log-Ausgabe ?