Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Licht für bestimmte Zeit einschalten, danach aus *gelöst*

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Licht für bestimmte Zeit einschalten, danach aus *gelöst*

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @surfer09 last edited by Asgothian

      @surfer09 sagte in Licht für bestimmte Zeit einschalten, danach aus:

      Hallo zusammen,

      ich möchte in Blockly eine Lampe für eine bestimmte Zeit ein- und nach Ablauf dieser Zeit dann wieder ausschalten. Wie wird so etwas gelöst? Mit einem Timeout?
      Das Ganze soll auch nur in einem bestimmten Zeitraum (jeden Tag zwischen 23:00 und 6:30 Uhr) passieren.
      Ich weiß nicht, ob das so korrekt ist?

      2021-08-04 08_08_56-Window.jpg

      Gruß surfer 😉

      Ist es nicht.

      Das Thema Trigger im Trigger oder Trigger im Zeitplan wurde hinreichend oft erklärt - es funktioniert nicht. Der "Falls" Baustein ist keine einfache "wenn / dann" Abfrage, sonder die Anweisung "Immer wenn, dann". Diese bleibt bestehen bis sie explizit aufgehoben wird. Das tust Du nicht.

      Du aktivierst einen Trigger innerhalb eines Zeitplans. Wie genau ist im Zeitplan nicht zu sehen - im schlimmsten Fall flutest Du den ioBroker mit einer grossen Zahl von Triggern die alle das gleiche tun.

      Korrekt wäre:

      • Trigger anpassen:
        -- Entweder triggern auf "wurde geändert" mit nachfolgender Prüfung ob der Wert wahr ist
        -- Oder triggern auf "ist grösser als vorher"
      • Im Trigger die aktuelle Zeit abfragen. Nur wenn die Zeit in deinem Wunschintervall ist, die Aktion durchführen.
      • bevor Du den Timeout startest diesen auch löschen

      A.

      1 Reply Last reply Reply Quote 0
      • BBTown
        BBTown @surfer09 last edited by

        @surfer09
        so etwas in der Art könnte bei dir passen

        e0dc1b42-5067-4841-8ef7-ec18a127b783-image.png

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable type="timeout" id="timeout">timeout</variable>
          </variables>
          <block type="on_ext" id="1%U2gZWUg(;+%%Gfq7m8" x="-12" y="-162">
            <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="J@CkHbT3B2{D%I:}2k#6">
                <field name="oid">0_userdata.0.test.BWM-2</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="controls_if" id="5|GH(4Q6~0Z=(Vpvz7Q6">
                <value name="IF0">
                  <block type="logic_operation" id="}UY9z]5Aei~`idvz6_uT" inline="false">
                    <field name="OP">AND</field>
                    <value name="A">
                      <block type="on_source" id="6L]3Ymc@dZiIlWJ!uY=h">
                        <field name="ATTR">id</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="time_compare_ex" id="^Ca[Wsp(LX;}r?behXFY">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                        <field name="USE_ACTUAL_TIME">TRUE</field>
                        <field name="OPTION">between</field>
                        <value name="START_TIME">
                          <shadow type="text" id="^+V1v-Ck^sL9:J]i5jWm">
                            <field name="TEXT">12:00</field>
                          </shadow>
                        </value>
                        <value name="END_TIME">
                          <shadow type="text" id="3)Kz,@T-`4)mn}3A[N.3">
                            <field name="TEXT">18:00</field>
                          </shadow>
                        </value>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="timeouts_cleartimeout" id="~@g;V[pprh,wX5rlc8rf">
                    <field name="NAME">timeout</field>
                    <next>
                      <block type="control" id="tHl7RQx2JsF%Vev$E/lM">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">0_userdata.0.test.Lampe</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id=";G%QdhH6`Y|ED$~UPEDi">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                        <next>
                          <block type="timeouts_settimeout" id="d81Oikn0nU}*=X[|tan]">
                            <field name="NAME">timeout</field>
                            <field name="DELAY">2</field>
                            <field name="UNIT">min</field>
                            <statement name="STATEMENT">
                              <block type="control" id="CQupwdw]kq-1+t=Ak~me">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.test.Lampe</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="{763oPFwce-w8tc==6G)">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @BBTown last edited by

          @bbtown

          Fast 🙂

          Der Block Screenshot 2021-08-04 at 08.52.50.png
          muss noch auf "Wert" umgestellt werden, sonst geht es nicht.

          A.

          surfer09 BBTown 2 Replies Last reply Reply Quote 0
          • surfer09
            surfer09 @Asgothian last edited by

            @asgothian So funktioniert es jetzt. Habe ich den Timeout hier richtig zurückgesetzt? Ich bin mir nicht sicher, ob der hier an der richtigen Stelle steht?

            2021-08-04 08_58_21-Window.jpg

            N BBTown 2 Replies Last reply Reply Quote 0
            • BBTown
              BBTown @Asgothian last edited by

              @asgothian sagte in Licht für bestimmte Zeit einschalten, danach aus:

              @bbtown

              Fast 🙂

              Der Block Screenshot 2021-08-04 at 08.52.50.png
              muss noch auf "Wert" umgestellt werden, sonst geht es nicht.

              A.

              erwischt 😎

              1 Reply Last reply Reply Quote 0
              • N
                Nordischerjung @surfer09 last edited by

                @surfer09

                Fast, du musst bei der Zeit "NICHT zwischen 6.30 und 23 Uhr" nehmen, da über MItternacht nicht funktioniert

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

                  @surfer09
                  48103e38-7ed8-4bce-97f0-45564233715f-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable type="timeout" id="timeout">timeout</variable>
                   </variables>
                   <block type="on_ext" id="1%U2gZWUg(;+%%Gfq7m8" x="113" y="-87">
                     <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="J@CkHbT3B2{D%I:}2k#6">
                         <field name="oid">0_userdata.0.test.BWM-2</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="5|GH(4Q6~0Z=(Vpvz7Q6">
                         <value name="IF0">
                           <block type="logic_operation" id="}UY9z]5Aei~`idvz6_uT" inline="false">
                             <field name="OP">AND</field>
                             <value name="A">
                               <block type="on_source" id="6L]3Ymc@dZiIlWJ!uY=h">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="time_compare_ex" id="^Ca[Wsp(LX;}r?behXFY">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                 <field name="USE_ACTUAL_TIME">TRUE</field>
                                 <field name="OPTION">not between</field>
                                 <value name="START_TIME">
                                   <shadow type="text" id="^+V1v-Ck^sL9:J]i5jWm">
                                     <field name="TEXT">06:31</field>
                                   </shadow>
                                 </value>
                                 <value name="END_TIME">
                                   <shadow type="text" id="3)Kz,@T-`4)mn}3A[N.3">
                                     <field name="TEXT">22:59</field>
                                   </shadow>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="timeouts_cleartimeout" id="~@g;V[pprh,wX5rlc8rf">
                             <field name="NAME">timeout</field>
                             <next>
                               <block type="control" id="tHl7RQx2JsF%Vev$E/lM">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.test.Lampe</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id=";G%QdhH6`Y|ED$~UPEDi">
                                     <field name="BOOL">TRUE</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="timeouts_settimeout" id="d81Oikn0nU}*=X[|tan]">
                                     <field name="NAME">timeout</field>
                                     <field name="DELAY">2</field>
                                     <field name="UNIT">min</field>
                                     <statement name="STATEMENT">
                                       <block type="control" id="CQupwdw]kq-1+t=Ak~me">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">0_userdata.0.test.Lampe</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="{763oPFwce-w8tc==6G)">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                  </xml>
                  

                  surfer09 1 Reply Last reply Reply Quote 0
                  • surfer09
                    surfer09 @BBTown last edited by

                    @bbtown Danke für den Hinweis, das war mir so auch noch nicht bekannt! 😉

                    BBTown 1 Reply Last reply Reply Quote 0
                    • BBTown
                      BBTown @surfer09 last edited by

                      @surfer09
                      Der Hinweis kam von @Nordischerjung 😉

                      1 Reply Last reply Reply Quote 0
                      • surfer09
                        surfer09 @Nordischerjung last edited by

                        @nordischerjung Danke für den Hinweis! 🙂

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

                          @nordischerjung sagte: "NICHT zwischen 6.30 und 23 Uhr" nehmen, da über MItternacht nicht funktioniert

                          Über Mitternacht funktioniert nur mit Astrozeiten nicht.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          494
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          blockly
                          5
                          12
                          264
                          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