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.
    • surfer09
      surfer09 last edited by surfer09

      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 😉

      Asgothian BBTown 2 Replies Last reply Reply Quote 0
      • 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

                            952
                            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