Navigation

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

    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] shedule starten und stoppen

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

      hallo, habe ein script geschustert, welches bei verschiedenen Triggern einen shedule starten und stoppen soll. mit dem stoppen klappt es nicht zuverlässig.

      kann da aber keinen Fehler erkennen. Kann mal jemand drüber schauen?

      var logging = true;
      var timer = null;
      
      const id1 = 'javascript.0.Rolladen.ZeitfensterMorgen';
      const id2 = 'javascript.0.Rolladen.ZeitfensterAbend';
      const id3 = 'javascript.0.Rolladen.ZeitfensterMorgen_OG';
      const id4 = 'javascript.0.Rolladen.ZeitfensterAbend_OG';
      
      function Trigger() {
      setStateDelayed(id5, true, 2*1000);
      setStateDelayed(id6, true, 4*1000);
      }
      
      function ScheduleStart() { 
      
      var Meg = getState(id1).val;
      var Aeg = getState(id2).val;
      var Mog = getState(id3).val;
      var Aog = getState(id4).val;
      if(Meg === true || Aeg ===true || Mog === true || Aog === true){
      timer = schedule("*/3 * * * *", Trigger);
         if (logging) log('Schedule Rolladen gesetzt');
          }else{
              if(Meg === false && Aeg === false && Mog === false && Aog === false){
              clearSchedule(timer); 
              setStateDelayed(id5, false, 2*1000);
              setStateDelayed(id6, false, 4*1000);
      
              if (logging) log('Schedule Rolladen gestoppt');
                  }
              }
          }
      
      ScheduleStart(); // Skriptstart
      
      on(id1, function(dp) {
         ScheduleStart();
      });      
      on(id2, function(dp) {
         ScheduleStart();
      });    
      
      on(id3, function(dp) {
         ScheduleStart();
      });      
      on(id4, function(dp) {
         ScheduleStart();
      });    
      
      
      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        function ScheduleStart() { 
            if(timer) clearSchedule(timer); 
            var Meg = getState(id1).val;
            var Aeg = getState(id2).val;
            var Mog = getState(id3).val;
            var Aog = getState(id4).val;
            if(Meg || Aeg  || Mog  || Aog) {
                timer = schedule("*/3 * * * *", Trigger);
                if (logging) log('Schedule Rolladen gesetzt');
            } else {
                setStateDelayed(id5, false, 2*1000);
                setStateDelayed(id6, false, 4*1000);
                if (logging) log('Schedule Rolladen gestoppt');
            }
        }
        
        
        1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart last edited by

          Hallo Paul,

          vielen Dank für die Korrektur…Werde ich gleich heute abend ausprobieren...

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

            Habs korrigiert… Im ersten Lauf hat es gut geklappt... Denke das wars auch... Gute Idee den clear schedule nach oben zu nehmen um ihn sofort auszulösen...

            Die Aufzählung nach der Else war natürlich auch unnötig...

            Danke nochmal...

            Gesendet von meinem CLT-L09 mit Tapatalk

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

            Support us

            ioBroker
            Community Adapters
            Donate

            531
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            2
            4
            675
            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