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

                                  480
                                  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