Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. setStateDelayed - Fragen zur Funktion

    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

    setStateDelayed - Fragen zur Funktion

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Laser @paul53 last edited by

      @paul53
      power_on

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

        @laser
        Wenn "power_on" verzögert ausgeschaltet werden soll, muss false (anstelle von true) vor der Verzögerungszeit verwendet werden.

            setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/, false, 2000, false, function() {
                console.log("aus")
            }); 
        
        L 1 Reply Last reply Reply Quote 0
        • L
          Laser @paul53 last edited by Laser

          @paul53 versuche es jetzt so:

          function einschalten() {
              setState('rpi2.0.gpio.22.state'/**/,true);  //  true ist einschalten Relais
              setState('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,true); 
              setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,6000); 
          };  // Ende einschalten
          

          EDIT: das ging so schnell, daß ich es in "Objekte" nicht gesehen habe. Bin jetzt auf 6000 gegangen.

          L 1 Reply Last reply Reply Quote 0
          • L
            Laser @Laser last edited by Laser

            @paul53 zweimal "delayed" geht wohl nicht? Nach Einschalten über Relais muß der Inverter erst hochlaufen...
            und: gibt es einen Höchstwert für Delay?

            function einschalten() {
              //  setState('rpi2.0.gpio.22.state'/**/,true);  //  true ist einschalten Relais
                setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); 
                setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); 
            };  // Ende einschalten
            
            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Laser last edited by

              @laser sagte: zweimal "delayed" geht wohl nicht?

              Sollte funktionieren. Ich würde allerdings setTimeout() bevorzugen.

              @laser sagte in setStateDelayed - Fragen zur Funktion:

              gibt es einen Höchstwert für Delay?

              Ja, der ist aber sehr hoch.

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

                @paul53 das setzen funktioniert nicht. Erst wenn ich das zweite "setstateDelayed" auskommentiere, wird gesetzt nach Ablauf der Zeit. "setTimeout" muß ich mir ansehen.

                
                function einschalten() {
                  //  setState('rpi2.0.gpio.22.state'/**/,true);  //  true ist einschalten Relais
                    setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); 
                 // setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); 
                };  // Ende einschalten
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Laser last edited by paul53

                  @laser sagte: "setTimeout" muß ich mir ansehen.

                  function einschalten() {
                      setState('rpi2.0.gpio.22.state'/**/,true);  //  true ist einschalten Relais
                      setTimeout(function() {
                          setState('opendtu.1.114184537824.power_control.power_on'/**/, true); 
                          setStateDelayed('opendtu.1.114184537824.power_control.power_on', false, 3000); // 3 s Impuls
                      }, 5000); // 5 s Hochlauf
                  }; // Ende einschalten
                  
                  L 1 Reply Last reply Reply Quote 1
                  • L
                    Laser @paul53 last edited by Laser

                    @paul53 Danke, das Absetzen der Impulse klappt so. Muß nur noch die Zeiten für den Inverter- Hochlauf hinbekommen, damit die Impulse auch wirken.
                    EDIT: Klappt auch mit dem Hochlauf abwarten... ,40000

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      Laser @Laser last edited by Laser

                      @paul53
                      irgendwelche Nebenwirkungen hat das aber nicht (Unterbrechen von JS- Abarbeitung für die timeout-Zeit?)

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

                        @laser sagte: Unterbrechen von JS- Abarbeitung für die timeout-Zeit?

                        Nein, setTimeout() wird asynchron ausgeführt.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        859
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        3
                        16
                        296
                        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