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

      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

                                483
                                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