Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Lüftungssteuerung/ Raumkühlung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Lüftungssteuerung/ Raumkühlung

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      erazor86 last edited by erazor86

      Hallo zusammen,

      meine Lüftungsanlage besitzt zwei Potentialfreie Kontakte, an die ich einen Shelly geklemmt habe um die Anlage bei bestimmten Szenen automatisiert steuern zu können.

      Folgendes ist geplant:

      1. Wenn ein Lichtschalter in Badezimmer 1 oder Badezimmer 2 eingeschaltet wird, soll die Lüftungsanlage gestartet werden. Sobald die Lichtschalter ausgeschaltet sind, soll die Lüftung noch eine Nachlaufzeit von 5min haben. Bei gleichzeitiger Nutzung der beiden Badezimmer, dürfen diese die Schaltung nicht gegeneinander beeinflussen und die Lüftung nicht vorzeitig abschalten.

      2. Es soll eine Grundlüftung unabhängig der Lichtschalter in den Badezimmer in zwei Zeitspannen am Tag stattfinden.

      3. Mit der Messung der Außentemperatur und der Raumtemperatur möchte ich eine Art Raumkühlung in den Sommertagen erzeugen, in dem bei einer Temperaturüberschreitung von 20°C Raumtemp ein Abgleich mit der Außentemperatur stattfindet. Ist die Außentemperatur 2K unter der Raumtemperatur, soll die Lüftung gestartet werden. Beide Temperaturen müssen überwacht werden. Steigt die Außentemperatur über der Temperatur im Raum, muss die Lüftung abschalten.


      Der Einfachheit habe ich mich erstmal an die ersten beiden Punkte gewagt. Eine einfache Zeitsteuerung habe ich ans laufen bekommen. Allerdings bei der Integration der Lichtschalter komme ich nach einigen Versuchen nicht wirklich weiter. Die Steuerung funktioniert nicht stabil und spinnt manchmal. Leider bekomme ich es mit meinen bisherigen Programmierkenntnissen nicht vernünftig ans laufen.

      Ich hoffe ihr könnt meinen Fehler finden und mich etwas unterstützen.

      Anbei mein aktuelles Blockly für Punkt 1+2:
      Unbenannt.JPG

      <block xmlns="http://www.w3.org/1999/xhtml" type="schedule" id="jXRMkqs6h=:NAz)Ve)F$" x="-1537" y="-4588">
        <field name="SCHEDULE">*/10 * * * * *</field>
        <statement name="STATEMENT">
          <block type="controls_if" id="#L%6c2{,(S8B-`(6Z0P6">
            <mutation elseif="1"></mutation>
            <value name="IF0">
              <block type="logic_operation" id="FL7U4@I2npn-?}3q,im_" inline="false">
                <field name="OP">AND</field>
                <value name="A">
                  <block type="logic_compare" id="5]TK7X9,p^1)x?rsXF+f">
                    <field name="OP">NEQ</field>
                    <value name="A">
                      <block type="get_value" id="y#*zekaYEjh]fSxXH7x@">
                        <field name="ATTR">val</field>
                        <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="AU%wG(Q_vsbtzGUsuh7y">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_operation" id="SO6.)L6b.XH|e-vJN0pN" inline="false">
                    <field name="OP">OR</field>
                    <value name="A">
                      <block type="logic_operation" id="?L;u.E$WsvH2DEf1j|ZE" inline="false">
                        <field name="OP">OR</field>
                        <value name="A">
                          <block type="time_compare" id="/D9BQvsz93s=?kw]aX!W">
                            <mutation end_time="true"></mutation>
                            <field name="OPTION">between</field>
                            <field name="START_TIME">00:00</field>
                            <field name="END_TIME">01:00</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="time_compare" id="_k3H2c|^DyN|LuRnoLpq">
                            <mutation end_time="true"></mutation>
                            <field name="OPTION">between</field>
                            <field name="START_TIME">04:00</field>
                            <field name="END_TIME">07:00</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_operation" id="EzGwuc@reM$HN}eN:Eh)" inline="false">
                        <field name="OP">OR</field>
                        <value name="A">
                          <block type="logic_compare" id="6L8dKnv9l=`[rI#S{0^g">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="jRRD83yunWQ(zW;NZ#`T">
                                <field name="ATTR">val</field>
                                <field name="OID">shelly.0.SHSW-1#C41D9D#1.Relay0.Switch</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="[wv45F_#Yg!VI@-}W3(n">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_compare" id="mpVZ#%ESWsVtO6cwTkA5">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="Fl:M3PDW@+1bZN*%{x-m">
                                <field name="ATTR">val</field>
                                <field name="OID">shelly.0.SHSW-1#C4FB4A#1.Relay0.Switch</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="-wYc44N8dDwUxj/AR6zO">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="control" id="9yo}CI?p;m2Gz*s+f3=?">
                <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="logic_boolean" id="5Vr|F$|3G{7{ABk=)Cl7">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </statement>
            <value name="IF1">
              <block type="logic_operation" id="%-Wvbp9?qb@hec](KK,v" inline="false">
                <field name="OP">AND</field>
                <value name="A">
                  <block type="logic_compare" id="4u^{d{}j+E~$dU4T}I!S">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="?ER`QzXEM`70yyjpQ)*I">
                        <field name="ATTR">val</field>
                        <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="-#XD(Z)U{b83~oyMPKqS">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_operation" id="}v=qXj+2qNqWA:D6(P1X" inline="false">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="logic_operation" id="WC0`S03}6Ov%msgX/C@$" inline="false">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="time_compare" id="HD]K:WB,AMp%02UTSD.|">
                            <mutation end_time="true"></mutation>
                            <field name="OPTION">not between</field>
                            <field name="START_TIME">00:00</field>
                            <field name="END_TIME">01:00</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="time_compare" id="q:rZnHAe27k@#t2Dli`:">
                            <mutation end_time="true"></mutation>
                            <field name="OPTION">not between</field>
                            <field name="START_TIME">04:00</field>
                            <field name="END_TIME">07:00</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_operation" id="t6byJs1*QDf?7,Lnsr_$" inline="false">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="logic_compare" id="Y9-qgf?S]-C0sAyu_N6t">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="+aryZ5FDqjz~oU|u}5HR">
                                <field name="ATTR">val</field>
                                <field name="OID">shelly.0.SHSW-1#C41D9D#1.Relay0.Switch</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="j/%2-#LuHwiU1D]7jDW3">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_compare" id="@f!rjuVX:_dKY)10u-]^">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id=";V?E[Sz-YD-t:f|L*2sX">
                                <field name="ATTR">val</field>
                                <field name="OID">shelly.0.SHSW-1#C4FB4A#1.Relay0.Switch</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="[oRKeke,:xaTdCt$%;Px">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO1">
              <block type="control" id="Hiz3P3a4=BrxN5aF?ox9">
                <mutation delay_input="true"></mutation>
                <field name="OID">shelly.0.SHSW-1#12CA6E#1.Relay0.Switch</field>
                <field name="WITH_DELAY">TRUE</field>
                <field name="DELAY_MS">5</field>
                <field name="UNIT">min</field>
                <field name="CLEAR_RUNNING">TRUE</field>
                <value name="VALUE">
                  <block type="logic_boolean" id=";|hFY0;_X^5uhx@y+s4,">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
              </block>
            </statement>
          </block>
        </statement>
      </block>
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @erazor86 last edited by paul53

        @erazor86 sagte:

        Eine einfache Zeitsteuerung habe ich ans laufen bekommen.

        Polling mit 10 s Intervall erscheint erst einmal einfach, aber ist in einer Ereignis-geteuerten Sprache wie Javascript nicht optimal. Vorschlag:

        Blockly_temp.JPG

        Ich hoffe, dass das Programm durch die Wahl der Variablen-Bezeichner verständlich ist.

        1 Reply Last reply Reply Quote 0
        • E
          erazor86 last edited by erazor86

          Danke für deine Mühe.

          Bevor ich auf dein blockly eingehe, möchte ich erst nochmal erwähnen, dass ich während der Erstellung des Beitrags parallel noch weiter an meinem blockly gearbeitet habe und der Stand von oben nachher schon relativ gut funktionierte. Allerdings habe ich jetzt noch den Haken bei "löschen falls schon läuft" entfernt, wodurch es noch besser läuft. Was bewirkt dieser Haken eigentlich? Habe immer gedacht, der setzt den Timeout zurück wenn ein neuer angesetzt wurde, aber das tut es scheinbar nicht.... Einziges Problem was ich bisher noch habe ist:

          • Wenn Bad1 die Lüftung anschaltet und der Timeout nach dem ausschalten läuft

          • Während der Timeout von bad 1 läuft, im Bad 2 der Schalter betätigt wird, die Lüftung nach dem ersten Timeout ausschaltet, obwohl in Bad 2 noch der Schalter eingeschaltet ist.

          Nun zu deinem Vorschlag:
          Interessante Herangehensweise, mit den Funktionen habe ich so noch nie gearbeitet. Der Verzicht auf den 10 sek Intervall wäre mir auch lieber gewesen, doch irgendwie hab ich das nie mit der Grundlüftung zwischen den Zeiten realisiert bekommen.
          Den Ablauf deines blocklys verstehe ich allerdings noch nicht ganz, ich habe die Unklarheiten mal in gelb kommentiert:
          Präsentation1.jpg

          Ich hab deinen Vorschlag vorhin auch mal getestet und dabei folgendes festgestellt:

          • Lichtschalter 1+2 mit Timeout funktioniert, jedoch habe ich hier das gleiche Timeoutproblem wie mit meinem blockly...

          • Die Grundlüftung zu den Zeiten wird irgendwie nicht gestartet? Diese läuft aber auch nur in Abhängigkeit irgendwelcher Änderungen der Schalter bzw. Temp-Sensoren oder verstehe ich das falsch?

          • Den Block mit dem Zeitplan habe ich erstmal weg gelassen, da ich die Temp- Sensoren noch nicht verbaut habe.

          anbei den Code, den ich von dir übernommen habe:

          <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="ll[%4tP{TqAocSN#Fk*;">Schalter Bad</variable>
              <variable type="undefined" id="timeout2">timeout2</variable>
              <variable type="" id="y){h[{-4c8ktWE~`t*:b">Schalter WC</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="]iD9vOGjq%GI]~DIZkJ2">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <statement name="DO0">
                        <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>
                              <next>
                                <block type="timeouts_cleartimeout" id=",k*[oKWBUf3OR[~QLeKF">
                                  <field name="NAME">timeout2</field>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <statement name="ELSE">
                        <block type="timeouts_settimeout" id="`Y`|{_:)9(x_hI0CMeGi">
                          <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">15:30</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="GisxnNs$x,+=XR1C2@Xg">
                              <field name="VAR" id="ll[%4tP{TqAocSN#Fk*;" variabletype="">Schalter Bad</field>
                            </block>
                          </value>
                          <value name="B">
                            <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>
                        </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="field_oid" id="~a_K4A`o9Z0Dw9fA!R/K">
                              <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>
          </xml>
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @erazor86 last edited by paul53

            @erazor86 sagte:

            Den Block mit dem Zeitplan habe ich erstmal weg gelassen

            Dann kann die Grundlüftung nicht funktionieren, denn die ist davon abhängig, dass die Funktion jede Minute (Zeitplan) aufgerufen wird. Ergänze bitte:

            Blockly_temp.JPG

            Zu den falls-Fragen:
            falls Irgendwas prüft, ob Irgendwas wahr oder falsch ist. Wenn Irgendwas wahr ist, wird der mache-Zweig ausgeführt, andernfalls der sonst-Zweig. Irgendwas kann das Resultat eines Vergleichs sein, aber auch jeder andere boolsche Wert.

            @erazor86 sagte:

            jedoch habe ich hier das gleiche Timeoutproblem wie mit meinem blockly...

            Das kann nicht sein, denn die Oder-Verknüpfung in der Funktion verhindert das Ausschalten, wenn das erste Timeout abgelaufen ist, aber das zweite Timeout noch nicht.

            1 Reply Last reply Reply Quote 0
            • E
              erazor86 last edited by erazor86

              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" 🙆
              Unbenannt2.JPG

              <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>
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @erazor86 last edited by

                @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.

                E 1 Reply Last reply Reply Quote 0
                • E
                  erazor86 @paul53 last edited by erazor86

                  @paul53

                  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??
                  fehler.JPG

                  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 👍 👍

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer @erazor86 last edited by ticaki

                    @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:

                    1. Unterschiedliche Accounts bei Email, telegram, Alexa usw. usf.
                    2. Unterschiedliche Regionen bei Wetterdiensten
                    3. Vernetzung von mehreren Gebäuden über VPN mit Multihost
                    4. Testen 🙂
                      usw.
                    1 Reply Last reply Reply Quote 0
                    • E
                      erazor86 last edited by erazor86

                      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:
                      funktioniert.JPG

                      Hier funktioniert die Grundlüftung zu den Zeiten nicht:
                      funktioniert_nicht.JPG

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @erazor86 last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • E
                          erazor86 last edited by

                          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>
                          
                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @erazor86 last edited by paul53

                            @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)) {
                            
                            1 Reply Last reply Reply Quote 0
                            • E
                              erazor86 last edited by

                              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!

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @erazor86 last edited by paul53

                                @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 ?

                                Blockly_temp.JPG

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                756
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                3
                                14
                                599
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo