Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Licht ausschalten nach X Sekunden (Dynamisch)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Licht ausschalten nach X Sekunden (Dynamisch)

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      matzewob last edited by

      Hallo zusammen,

      ich hab aktuell keine Idee wie ich das umsetzen kann.

      Ich habe ein Objekt mit einem Wert, dieser Wert ist halt dynamisch und kann irgendwas zwischen 1 und 5000 sein.
      Er soll einfach das Licht einschalten und dann nach dem Wert ausschalten.
      Ich hatte überlegt das mit einem Timeout zu machen, aber dort kann ich den Wert vom Objekt ja nicht auswählen.

      Wie bekommt man das vorhaben am elegantesten gelöst? Habt ihr da eine Idee?

      vielen Dank schonmal für eure Hilfe

      Grüße

      Matze

      Bildschirmfoto 2021-06-18 um 22.44.29.png

      BBTown 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        @matzewob sagte in Licht ausschalten nach X Sekunden (Dynamisch):

        aber dort kann ich den Wert vom Objekt ja nicht auswählen.

        doch!
        setze eine Variable auf den Wert (in Millisekunden) und trage den Variablennamen statt dercZahl im timeout ein

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

          @matzewob
          das könnte Rainer gemeint haben

          656a1355-790d-436f-8a58-30da008dde16-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable type="timeout" id="timeout">timeout</variable>
           </variables>
           <block type="on_ext" id="GHT6b(:zvXqCO7c35)%R" x="-438" y="-211">
             <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="~ZXuz[*R}b2bR`u7/UGe">
                 <field name="oid">0_userdata.0.test.BWM-1</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="n})E/YxN,x~1*7KvLhl4">
                 <value name="IF0">
                   <block type="logic_compare" id="Dd7IL2{Ijm(+NEHhW^O:">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="on_source" id="uKQIrt9Az3)*4jtz}vyY">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="Mc,{#zV!i_muphR8h-FL">
                         <field name="NUM">0</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="control" id="k895KoRhjsIQRScJEk_8">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                     <field name="OID">0_userdata.0.test.Schalter</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="3HWaa}LqodsR;zS^LOI9">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                     <next>
                       <block type="timeouts_settimeout" id="ob6+/rPTM#ztPN=hfA)v">
                         <field name="NAME">timeout</field>
                         <field name="DELAY">Wert</field>
                         <field name="UNIT">ms</field>
                         <statement name="STATEMENT">
                           <block type="control" id="2KWk(sxJR#5SQ#*`u1Yj">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.test.Schalter</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="X4Q}vKH;5T}hWUHb1x8c">
                                 <field name="BOOL">FALSE</field>
                               </block>
                             </value>
                             <next>
                               <block type="control" id="^~hPcNHkR?GMPN3xxQF!">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.test.BWM-1</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_number" id="S/ND|SyG,H7{$G.(kGRp">
                                     <field name="NUM">0</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
          </xml>
          
          

          1 Reply Last reply Reply Quote 0
          • M
            matzewob last edited by

            Hallo und vielen lieben Dank für die Idee und Tipps,

            allerdings verstehe ich grad nicht wie ich die Variable dort dann angebe.

            Könnt ihr mir da bitte nochmal helfen? 🙂

            ![0_1624083090646_Bildschirmfoto 2021-06-19 um 08.11.22.png](Uploading 100%)

            Homoran 1 Reply Last reply Reply Quote 0
            • M
              matzewob last edited by

              Hubs, irgendwas hat mir dem Bild nicht geklappt Bildschirmfoto 2021-06-19 um 08.11.22.png

              B dslraser 2 Replies Last reply Reply Quote 0
              • B
                backfisch88 @matzewob last edited by backfisch88

                @matzewob
                ich glaube, dass das da gar nicht Variabel geht... (hatte das auch schon mal probiert mit dem gleichen System ist aber schon etwas her)

                Habe es Einfach so gelöst:
                so wie du ABER
                timeout 1 Sekunde
                Variable auf die Zeit also zb 60 Sekunden
                und dann zählt ne Variable runter... wenn 0 -> switch falsch!

                Unbenannt.png

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @matzewob last edited by

                  @matzewob sagte in Licht ausschalten nach X Sekunden (Dynamisch):

                  allerdings verstehe ich grad nicht wie ich die Variable dort dann angebe.

                  genau so!
                  allerdings nur mit Millisekunden

                  1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @matzewob last edited by dslraser

                    @matzewob
                    in Deinem Beispiel ist der Wert Haus-Links "größer gleich 1", Wenn dieser Wert "größer gleich" 1 in Sekunden ist, dann musst Du diese Sekunden noch in Millisekunden umrechnen bzw. mit 1.000 multiplizieren und Dein timeout, so wie es @Homoran geschrieben hat auf Millisekunden umstellen. (timeout als Variable funktioniert nur in Millisekunden)
                    Stoppen solltest Du das timeout auch, da sonst bei jeder Änderung von Haus-Links größer gleich 1 ein neues timeout gestartet wird.
                    Vielleicht auch besser zwei Vergleiche einbeziehen:
                    Wenn Wert von Objekt ID größer gleich 1 und vorheriger Wert von Objekt ID kleiner 1.......

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    813
                    Online

                    32.0k
                    Users

                    80.5k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    328
                    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