Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. gelöst - setTimeout Function aufrufen mit Wert

    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

    gelöst - setTimeout Function aufrufen mit Wert

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

      Hallo zusammen,

      ich habe ein Script in dem ich folgenden Code einsetze:

      delay[j] = setTimeout(startHochbeet(j), verzoegerungen[j]);
      

      Leider bekomme ich dann folgende Fehlermeldung:

      javascript.2	2020-05-07 16:19:00.454	error	(1047) script.js.Bewaesserung.Steuerung: Invalid callback for setTimeout! - undefined
      

      Wenn ich den Parameter j bei StartHochbeet nicht habe klappt es.
      Was mach ich hier falsch ?

      Gruß

      Michael

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

        @mctom
        Versuche es mal so:

        delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]);
        
        1 Reply Last reply Reply Quote 0
        • M
          mctom last edited by

          @paul53 sagte in setTimeout Function aufrufen mit Wert:

          delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]);

          danke für deine Rückmeldung. das klappt schon mal 😉
          jetzt habe ich aber ein 2. problem.

          habe jetzt folgenden code:

          anzahlVentile = 7
          
          for (j=0; j<=(anzahlVentile-1); j++) {
                      if(logging) log(idVentilNamen[j]);
                    startHochbeet(j);
                      delay[j] = setTimeout(function() {startHochbeet(j);}, verzoegerungen[j]);
            }    
          

          das erste startHochbeet wird jeweils mit Parameter 0,1,2,3,4 aufgerufen
          das zweite startHochbeet wird nur mit dem Parameter 7 aufgerufen.

          ich glaube es ist zu spät heute 🙂

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

            @mctom
            Wie sieht die Deklaration der beiden Arrays delay und verzoegerungen aus ?

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

              So ich habe es doch noch herausgefunden.
              Es gibt jetzt noch eine weitere Funktion:

              for (i=0; i<=(anzahlVentile-1); i++) {
                   if(getState(idAuswahl[i]).val) {
                      setState(idCounter[i],getState(idZeiten[i]).val);
                      SetTimeout(i);
                      }
                  }    
              }
              
              function SetTimeout(wert) {
                  delay[wert] = setTimeout(function() {startVentil(wert);}, verzoegerungen[wert]*5000);
              }
              

              @paul53: danke für deine Hilfe

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

              Support us

              ioBroker
              Community Adapters
              Donate

              885
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              2
              5
              1010
              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