Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]setTimeout geht nicht

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]setTimeout geht nicht

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

      Hi zusammen,

      bei mir gibt es keine Verzögerung mittels setTimeout. Ich rufe diese innerhalb von if Schleifen auf:

      on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
      
          if  ((obj.newState.val).search("Test1") >= 0 ) {     
              sendImage();
              setTimeout(sendImage(), 50000);
              setTimeout(sendImage(), 100000);
              setTimeout(sendImage(), 150000);
               }
              ... 
      
      

      Kann das nicht gehen? Oder wie bekomme ich das hin? Im Prinzip basiert es auf Bluefoxs Telegram Beschreibung.

      Unterschied ist hier nur, dass ich noch eine IF Ebene Tiefer bin. Das kann doch aber nicht das Problem sein, oder?

      Danke,

      Fitti

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

        Versuche es mal so:

        on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
        
            if  ((obj.newState.val).search("Test1") >= 0 ) {     
                sendImage();
                setTimeout(sendImage, 50000);
                setTimeout(sendImage, 100000);
                setTimeout(sendImage, 150000);
                 }
                ... 
        
        

        Anmerkung: sendImage() ist ein Funktionsaufruf, sendImage eine Referenz auf eine Callback-Funktion.

        1 Reply Last reply Reply Quote 0
        • F
          Fitti last edited by

          keine Ahnung, warum hier die Klammern weg sind :shock:

          Das habe ich falsch eingefügt. Habs' gleich überprüft.

          Im Script ist es in der Tat sogar so, dass ich das letzte Oktett der Kamera-IP übergebe:

          on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
          
              if  ((obj.newState.val).search("Test1") >= 0 ) {     
                  sendImage(128);
                  setTimeout(sendImage(128), 50000);
                  setTimeout(sendImage(128), 100000);
                  setTimeout(sendImage(128), 150000);
                   }
                  ... 
          

          Habe es auch ohne Werte versucht. Aber das rauscht alles durch.

          In einer weiteren Funktion in diesem Script habe ich auch ein setTimeout mit 20 Sekunden (20000) - auch das startet sofort. 😞

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @Fitti:

            keine Ahnung, warum hier die Klammern weg sind :shock:

            Das habe ich falsch eingefügt. Habs' gleich überprüft.

            Im Script ist es in der Tat sogar so, dass ich das letzte Oktett der Kamera-IP übergebe:

            on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
            
                if  ((obj.newState.val).search("Test1") >= 0 ) {     
                    sendImage(128);
                    setTimeout(sendImage(128), 50000);
                    setTimeout(sendImage(128), 100000);
                    setTimeout(sendImage(128), 150000);
                     }
                    ... 
            

            Habe es auch ohne Werte versucht. Aber das rauscht alles durch.

            In einer weiteren Funktion in diesem Script habe ich auch ein setTimeout mit 20 Sekunden (20000) - auch das startet sofort. 😞 `

            on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
            
                if  ((obj.newState.val).search("Test1") >= 0 ) {     
                    sendImage(128);
                    setTimeout(function () {sendImage(128);}, 50000);
                    setTimeout(function () {sendImage(128);}, 100000);
                    setTimeout(function () {sendImage(128);}, 150000);
                     }
                    ...
            
            1 Reply Last reply Reply Quote 0
            • F
              Fitti last edited by

              Geht! Danke. Vielleicht hier https://github.com/ioBroker/ioBroker.te … /README.md noch anpassen?

              Kannst Du mir die Syntax erklären? Warum noch einmal eine function() um eine Funktion aufzurufen?

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                @Fitti:

                Geht! Danke. Vielleicht hier https://github.com/ioBroker/ioBroker.te … /README.md noch anpassen?

                Kannst Du mir die Syntax erklären? Warum noch einmal eine function() um eine Funktion aufzurufen? `
                Da ist es richtig.

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

                  @Fitti:

                  Warum noch einmal eine function() um eine Funktion aufzurufen? `
                  Es handelt sich um ein Callback, der als https://wiki.selfhtml.org/wiki/JavaScript/Window/setTimeout übergeben werden kann.

                  1 Reply Last reply Reply Quote 0
                  • F
                    Fitti last edited by

                    Danke. Da wäre ich nie drauf gekommen.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    1.0k
                    Online

                    31.7k
                    Users

                    79.7k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    3530
                    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