Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Javascript Delay

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Javascript Delay

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

      Hallo zusammen,

      ich habe ein Script laufen das mir mittels Telegram Bot Nachrichten schickt wann ich lüften sollte. (Habe Sensoren in allen Räumen)

      Da ich mittlerweile jedoch auch noch Magnetschalter angebracht habe würde ich gerne 10min nach öffnen eines Fensters eine weitere Benachrichtigung bekommen die mich an das schließen erinnert.

      Meine bisherige Idee

      setInterval(function() { // Startet die Funktion in einem festgelegten Intervall. Intervall wird am Ende festgelegt.
      var balkon_k = getState("rpi2.0.gpio.5.state"/*GPIO 5*/).val;
      var fenster_k = getState("rpi2.0.gpio.12.state"/*GPIO 12*/).val;
      
      if ( ( balkon_k === true || fenster_k === true ) )
      {
      
      setTimeout(function() {
      
      var balkon_k = getState("rpi2.0.gpio.5.state"/*GPIO 5*/).val;
      var fenster_k = getState("rpi2.0.gpio.12.state"/*GPIO 12*/).val;
      
          if ( ( balkon_k === true || fenster_k === true ) )
      {
      
          sendTo('telegram.0', {
      
      // Nachricht inkl. Werte für Temperatur und Luftfeuchtigkeit.
      
          text: 'Küche nicht mehr lüften!'
      
                 });
      
      } else {
         log('Fenster/Balkon schon geschlossen ');
      }
      
      }, 10000*60);
      
      } else {
         log('Fenster/Balkon geschlossen');
      }
      
      }, 15000) // Hier wird die Intervalldauer in ms festgelegt wann da Programm erneut starten soll.
      
      ;
      
      

      Der Code sorgt bisher jedoch dafür das zwar wenn das Fenster geöffnet ist, einmal 10min gewartet wird. Dann jedoch alle 15 Sekunden die Nachricht kommt das nicht mehr gelüftet werden soll.

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

        Du startest das Script:

        Intervall beginnt..

        00:00:15 wird geprüft und ein setTimeout angelegt welcher 10 Minuten wartet.. Der erste setTimeout wird also um 00:10:15 ausgelöst.

        00:00:30 wird wieder geprüft und wieder ein setTimeout angelegt welcher 10 Minuten wartet.. Der zweite setTimeout wird also um 00:10:30 ausgelöst..

        00:00:45 wird wieder geprüft und wieder ein setTimeout angelegt - welcher um 00:10:45 ausgelöst wird…

        Und so gehts die ganze Zeit weiter..

        Gruß

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

        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        688
        Online

        32.0k
        Users

        80.5k
        Topics

        1.3m
        Posts

        2
        2
        476
        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