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

                            489
                            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