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.
    • paul53
      paul53 @Laser last edited by paul53

      @laser sagte: wie schalte ich wieder aus?

      Was soll wann wieder ausgeschaltet werden? GPIO22 oder "power_on"?

      @laser sagte in setStateDelayed - Fragen zur Funktion:

      Hatte gehofft, das passiert mit dem "false"

      Das false hinter der Verzögerungszeit bedeutet, dass der Timer bei erneutem Aufruf nicht gestoppt wird.

      L 1 Reply Last reply Reply Quote 0
      • 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

                          694
                          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