Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Timer erst starten, wenn Gerät nicht mehr aktiv ist

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Timer erst starten, wenn Gerät nicht mehr aktiv ist

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

      Ich habe hier ein Blockly zur Erinnerung wenn das Fenster eine gewisse Zeit offen ist. Bad, Küche klappt ja. Bei meinen Laufband ist eine Erinnerung alle 10min nicht zweckmäßig, da ich bei offenen Fenster laufe (wenigsten ein wenig frische Luft 😉 ). Die Erinnerung für diesen Bereich sollte erst starten, wenn das LB ausgeschaltet ist. Da weiß ich nicht, wie ich dies verwirklichen soll.
      Kann man auch irgendwie bei Küche/Bad den Timer laufen lassen, wenn es z.B. unter 10 Grad Außentemperatur ist?

      Meine Gedanken war in den "falls" Baustein und dort den "und" Baustein zu nehmen, aber das will er nicht.

      Screenshot_2020-11-03 javascript - ioBroker.png

      Danke für eine Hilfe.

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

        @Slowman sagte:

        starten, wenn das LB ausgeschaltet ist.

        Dann muss auf das Laufband getriggert werden.

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

          @paul53

          Es soll aber auch erkennen, wenn das Laufband nicht an ist. Das der Timer los läuft.

          Also falls Object --> Laufband -> ist wahr und den Rest so lassen?

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

            @Slowman sagte:

            auch erkennen, wenn das Laufband nicht an ist.

            Vorschlag:

            Blockly_temp.JPG

            Slowman 1 Reply Last reply Reply Quote 1
            • Slowman
              Slowman @paul53 last edited by

              @paul53

              So wäre ich nie drauf gekommen, habe das Laufband immer in die Falls mit rein gepackt. Danke Dir!
              Mit der Temperatur sieht es dann genauso aus, also das Fenster, LB und Temperatur oben stehen und bei falls die Temperatur mit rein und den Baustein kleiner als

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

                @Slowman sagte:

                Mit der Temperatur sieht es dann genauso aus

                Mit der Temperatur würde ich es so machen:

                Blockly_temp.JPG

                Slowman 1 Reply Last reply Reply Quote 1
                • Slowman
                  Slowman @paul53 last edited by

                  @paul53

                  Danke für deine Antwort. Glaube habe mich ein wenig ungenau ausgedrückt. Das mit der Temperatur soll mit beim Laufband mit rein. Hintergrund, wenn Sommer und 20 Grad draußen sind, brauche ich keine Erinnerung von jedem Fenster, das es offen ist. Temperatur aber unter 20 Grad. Soll er mich erinnern, das der Keller/Bad usw. usf nicht auskühlt.

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

                    @Slowman sagte:

                    wenn Sommer und 20 Grad draußen sind, brauche ich keine Erinnerung von jedem Fenster

                    Dann mache eine falls-Klammer um die restlichen Prüfungen:

                    falls AT < 20
                    mache ...
                    
                    Slowman 1 Reply Last reply Reply Quote 1
                    • Slowman
                      Slowman @paul53 last edited by Slowman

                      @paul53

                      Hat nicht so funktioniert, der Tipp von oben. Habe jetzt es soweit, das es funktioniert. Es klappt (Fenster offen), wenn Laufband aus ist kommt eine Meldung , wenn LB an ist kommt keine Meldung. Aber, wenn LB an ist/ Fenster offen und das LB wird ausgeschaltet kommt keine Meldung, das das Fenster offen ist 🙄

                      Wo jetzt noch eine Routine rein muss..... Wenn ich bei Falls Objekt den Switch vom LB mit reinnehme, bedankt sich Alexa bei jeder Änderung.

                      Screenshot_2020-11-03 javascript - ioBroker(1).png

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

                        @Slowman sagte:

                        Wenn ich bei Falls Objekt den Switch vom LB mit reinnehme, bedankt sich Alexa bei jeder Änderung.

                        Der Trigger wird benötigt, um auf Änderung des LB zu reagieren. Versuche es mal so im unteren Teil:

                        Blockly_temp.JPG

                        Hinweis: Erst eine dummy-Variable erstellen, diese in das Editor-Fenster ziehen, anschließend in die Javascript-Ansicht und wieder zurück wechseln und dann anstelle der dummy-Variable die Variable Intervall selektiere.

                        Slowman 1 Reply Last reply Reply Quote 1
                        • Slowman
                          Slowman @paul53 last edited by

                          @paul53

                          Macht er nicht. So sieht der Script bei mir aus. Teste morgen weiter.

                          Screenshot_2020-11-03 javascript - ioBroker(2).png

                          var Intervall;
                          
                          
                          on({id: 'deconz.0.Sensors.35.open', change: "ne"}, function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if (getState("deconz.0.Sensors.35.open").val != 0 && getState("zwave2.0.Node_019.Binary_Switch.currentValue").val == false) {
                              Intervall = setInterval(function () {
                                setState("alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak"/*speak*/, '30;Das Fenster am Laufband ist seit 10 Minuten offen');
                              }, 60000);
                            } else if (Intervall) {
                              (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                              if (!getState("deconz.0.Sensors.35.open").val) {
                                setState("alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak"/*speak*/, '30;Danke, das Du das Fenster geschlossen hast.');
                              }
                            }
                          });
                          
                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Slowman last edited by

                            @Slowman
                            Du musst das LB als Trigger hinzufügen.

                            Slowman 1 Reply Last reply Reply Quote 1
                            • Slowman
                              Slowman @paul53 last edited by

                              @paul53

                              Danke funktioniert jetzt.

                              Wenn ich das mit der Außentemperatur umsetzen möchte, kommt die Außentemperatur auch in den Trigger mit rein?

                              Slowman paul53 2 Replies Last reply Reply Quote 0
                              • Slowman
                                Slowman @Slowman last edited by

                                Hmmm.... habe den Script jetzt für ein anderes Fenster angepasst und Alexa labbert mich unregelmässig mit "Danke das du das Fenster geschlossen hast" zu. Was bei dem Script mit dem LB nicht passiert.

                                Screenshot_2020-11-04 javascript - ioBroker.png

                                Den Außenfühler aus dem Trigger nehmen?

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

                                  @Slowman sagte:

                                  Wenn ich das mit der Außentemperatur umsetzen möchte, kommt die Außentemperatur auch in den Trigger mit rein?

                                  Nein.

                                  Slowman 1 Reply Last reply Reply Quote 1
                                  • Slowman
                                    Slowman @paul53 last edited by Slowman

                                    Danke für die Hilfe paul53 👍

                                    Hier der fertige Blockly, vielleicht kann ja Jemand diesen gebrauchen.

                                    Screenshot_2020-11-04 javascript - ioBroker.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <variables>
                                        <variable type="interval" id="Intervall">Intervall</variable>
                                      </variables>
                                      <block type="on_ext" id="F!vi?BKRsLZog%?FBH:g" x="145" y="-541">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                        <field name="CONDITION">ne</field>
                                        <field name="ACK_CONDITION"></field>
                                        <value name="OID0">
                                          <shadow type="field_oid" id="wVxaT/vXrZp%oq.$ztTZ">
                                            <field name="oid">deconz.0.Sensors.36.open</field>
                                          </shadow>
                                        </value>
                                        <statement name="STATEMENT">
                                          <block type="controls_if" id="XW_hOHdKCcq}gh.l`+$j">
                                            <value name="IF0">
                                              <block type="logic_compare" id="}xOLFNov3G6s*}2,Z2UM">
                                                <field name="OP">LTE</field>
                                                <value name="A">
                                                  <block type="get_value" id="6e}P^ZNT_Jy6-ja?r]U{">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">deconz.0.Sensors.33.temperature</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="math_number" id=",G{QbJ|6c5{,Iq^!$Li3">
                                                    <field name="NUM">15</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="controls_if" id="X3z1#^5Fw/yt.JJH%mgG">
                                                <mutation else="1"></mutation>
                                                <value name="IF0">
                                                  <block type="logic_compare" id="kz6a*@]rTi@)ZP{,]#*:">
                                                    <field name="OP">NEQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="XEaJQQQ*$nX}=}pk-D/r">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">deconz.0.Sensors.36.open</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="math_number" id="Yrl[!=%9ZHJUAD;25Obz">
                                                        <field name="NUM">0</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="timeouts_setinterval" id="u#rS73GY/m7T~.#Bh9QU">
                                                    <field name="NAME">Intervall</field>
                                                    <field name="INTERVAL">10</field>
                                                    <field name="UNIT">min</field>
                                                    <statement name="STATEMENT">
                                                      <block type="control" id="=*B,vjZW*hnjeJ!PgxP@">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="text" id="s(HE-yMfiJs%,njRSwwp">
                                                            <field name="TEXT">20;Das Fenster im Gäste WC ist seit 10 Minuten offen</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </statement>
                                                <statement name="ELSE">
                                                  <block type="timeouts_clearinterval" id="e^!S+IEUkz74-KWuLP)]">
                                                    <field name="NAME">Intervall</field>
                                                    <next>
                                                      <block type="control" id="|X=~p7*8$lmTqfr`DR.L">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="text" id="r41/^`!#QQ8#L)reQ5BH">
                                                            <field name="TEXT">20;Danke, das Du das Fenster im Gäste WC geschlossen hast.</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    484
                                    Online

                                    32.0k
                                    Users

                                    80.4k
                                    Topics

                                    1.3m
                                    Posts

                                    2
                                    16
                                    619
                                    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