NEWS
[gelöst] shedule starten und stoppen
-
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(); }); -
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'); } } -
Hallo Paul,
vielen Dank für die Korrektur…Werde ich gleich heute abend ausprobieren...
-
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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden