Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Scheduled Loop with setIntervall (gelöst)

    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

    Scheduled Loop with setIntervall (gelöst)

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

      Hi zusammen,
      ich stecke mal wieder bei einem Script fest und würde mich rieseig über Unterstützung freuen.
      Ich versuche mithilfe eines Fenster Kontaktes an einer Pillendose eine Erinnerung via Display und Alexa zu bestimmten Zeitpunkten zu etablieren.
      folgendes Script habe ich zusammen gehämmert:

      schedule({hour: 8}, function () {
          setState('Data.WZ.IP.MainView', '2');
          //Sprechen('<speak><voice name="Vicki">Guten Morgen Ingrid, denkst du bitte an deine Pillen?</voice></speak>')
          var i = 0;
          var timer = setInterval(function() {
              i++;
              if(getState("deconz.0.Sensors.20.open").val) {
                  clearInterval(timer);
                  log('beendet');
                  setState('Data.WZ.IP.MainView', '0');
                  //Sprechen('<speak><voice name="Vicki">Dankeschön, du bist die Beste. Ich wünsche Dir einen schönen Tag</voice></speak>')     
              } else {
                  log(getState("deconz.0.Sensors.20.open").val + " " + i);
                  if (i == 60){
                      //Sprechen('<speak><voice name="Vicki">Guten Morgen, denkst du bitte an deine Pillen?</voice></speak>')               
                      i = 0
                  }
              }
          }, 1000);
      });
      
      schedule({hour: 18}, function () {    
          setState('Data.WZ.IP.MainView', '2');
          //Sprechen('<speak><voice name="Vicki">Guten Abend, denkst du bitte an deine Pillen?</voice></speak>')
          var i = 0;
          var timer = setInterval(function() {
              i++;
              if(getState("deconz.0.Sensors.20.open").val) {
                  clearInterval(timer);
                  log('beendet');
                  setState('Data.WZ.IP.MainView', '0');
                  //Sprechen('<speak><voice name="Vicki">Dankeschön, du bist die Beste. Ich wünsche Dir später eine wunderschöne Nacht.</voice></speak>')     
              } else {
                  log(getState("deconz.0.Sensors.20.open").val + " " + i);
                  if (i == 60){
                      //Sprechen('<speak><voice name="Vicki">Guten Abend, denkst du bitte an deine Pillen?</voice></speak>')               
                      i = 0
                  }
              }
          }, 1000);
      });
      
      function Sprechen(Text)
      {
          setState('alexa2.0.Echo-Devices.Commands.speak', Text );
      }
      
      

      Der loop scheint aber trotz clearInterval immerwieder zu laufen.
      Irgendwie habe ich das Gefühl das ich das falsch an gehe.

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @ultr4low last edited by

        @ultr4low Das liegt an der Syntax deines schedules. Ohne eine Angabe der Minuten (z.B. "0") führt er den schedule dann um 8 bzw. 18 Uhr jede Minute aus 😉

        Du hast * 8 * * * (jede Minute um 8 Uhr), willst aber wahrscheinlich 0 8 * * * (genau einmalig um 8:00 Uhr)

        U 1 Reply Last reply Reply Quote 1
        • U
          ultr4low @SBorg last edited by

          @sborg
          boah.. vielen dank für die schnelle Hilfe.
          wieder etwas gelernt.

          Vielen vielen Dank!

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

          Support us

          ioBroker
          Community Adapters
          Donate

          642
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          102
          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