Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. setStateDelayed - Fragen zur Funktion

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    223

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    580

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

setStateDelayed - Fragen zur Funktion

Geplant Angeheftet Gesperrt Verschoben JavaScript
16 Beiträge 3 Kommentatoren 535 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @laser sagte: Ausgang für eine Zeit setzen und dann wieder zurücksetzen.

    Dein setStateDelayed() schaltet nur "power_on" um 2 s verzögert ein.

    L Offline
    L Offline
    Laser
    schrieb am zuletzt editiert von Laser
    #5

    @paul53 Ja, das merke ich. Und wie schalte ich wieder aus? Hatte gehofft, das passiert mit dem "false"

    paul53P 1 Antwort Letzte Antwort
    0
    • L Laser

      @paul53 Ja, das merke ich. Und wie schalte ich wieder aus? Hatte gehofft, das passiert mit dem "false"

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #6

      @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.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      L 1 Antwort Letzte Antwort
      0
      • paul53P 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 Offline
        L Offline
        Laser
        schrieb am zuletzt editiert von
        #7

        @paul53
        power_on

        paul53P 1 Antwort Letzte Antwort
        0
        • L Laser

          @paul53
          power_on

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #8

          @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")
              }); 
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          L 1 Antwort Letzte Antwort
          0
          • paul53P 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 Offline
            L Offline
            Laser
            schrieb am zuletzt editiert von Laser
            #9

            @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 Antwort Letzte Antwort
            0
            • L 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 Offline
              L Offline
              Laser
              schrieb am zuletzt editiert von Laser
              #10

              @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
              
              paul53P 1 Antwort Letzte Antwort
              0
              • L 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
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #11

                @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.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                L 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @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 Offline
                  L Offline
                  Laser
                  schrieb am zuletzt editiert von Laser
                  #12

                  @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
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • L 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
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #13

                    @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
                    

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    L 1 Antwort Letzte Antwort
                    1
                    • paul53P 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 Offline
                      L Offline
                      Laser
                      schrieb am zuletzt editiert von Laser
                      #14

                      @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 Antwort Letzte Antwort
                      0
                      • L 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 Offline
                        L Offline
                        Laser
                        schrieb am zuletzt editiert von Laser
                        #15

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

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • L Laser

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

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #16

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

                          Nein, setTimeout() wird asynchron ausgeführt.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          1
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          491

                          Online

                          32.5k

                          Benutzer

                          81.9k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe