NEWS
Schedule Fragen
-
Moin liebes Forum
ich habe ein Phänomen, welches ich mit nicht erklären kann. Meine Rollosteuerung soll Rollos um 6:45 an Werktagen hochfahren.
Hierfür relevante Codeblöcke:
Die Funktion setSchedule setzt zunächst bestehende Schedules zurück und setzt dann die vier relevanten rauf/Runterfahrzeiten (Morgens Rauf, Abends Runter)*(in der Woche, am Wochenende)
In meinen Logs finde ich allerdings folgenden Eintrag, den ich mir nicht erklären kann:
der debug-logeintrag "sched2" kommt zwei mal vor - im Abstand von genau einer Minute - Wieso ist das so? Ich möchte das nicht!
-
@kitzelblitze code bitte nicht als screenshots sondern als Text in Code-tags.
Dann kann man da auch zitieren.@kitzelblitze sagte in Schedule Fragen:
Ich möchte das nicht!
dann kommentier es aus
-
@homoran Mit dem Auskommentieren ist es nicht getan - die Rollos werden ein zweites Mal angesteuert und Alexa feiert sich nach dem Rollorauf / Runterfahren gleich zwei mal -
function setschedule(val) { if (sched1){clearSchedule(sched1);sched1=null;} if (sched2){clearSchedule(sched2);sched2=null;} if (sched3){clearSchedule(sched3);sched3=null;} if (sched4){clearSchedule(sched4);sched4=null;} console.log("setting schedules for rolloautomatik..."+val); if (val) { var wtrunter = '"20:00"'; var wtrauf = '"06:45"'; var werunter = '"21:00"'; var werauf = '"08:45"'; if (getState("0_userdata.0.SummerMode").val) { wtrunter = '"22:00"'; wtrauf = '"06:45"'; werunter = '"23:00"'; werauf = '"08:45"'; } /* 0 sonntag 1 montag 2 dienstag 3 mittwoch 4 donnerstag 5 freitag 6 samstag */ setState("RolloReadable","<b>Werktag</b><br> "+wtrauf+"..."+wtrunter+ "<br><b>Wochenende</b><br> "+werauf+"..."+werunter); sched1 = schedule('{"time":{"exactTime":true,"start":'+wtrunter+'},"period":{"days":1,"dows":"[0, 1, 2, 3, 4]"}}', function () { console.log("sched1"); AlleRollosRunterSchalten(); }); sched2=schedule('{"time":{"exactTime":true,"start":'+wtrauf+'},"period":{"days":1,"dows":"[1, 2, 3, 4, 5]"}}', function () { console.log("sched2");AlleRollosRaufSchalten(); }); sched3=schedule('{"time":{"exactTime":true,"start":'+werunter+'},"period":{"days":1,"dows":"[5, 6]"}}', function () { console.log("sched3");AlleRollosRunterSchalten(); }); sched4=schedule('{"time":{"exactTime":true,"start":'+werauf+'},"period":{"days":1,"dows":"[0, 6]"}}', function () { console.log("sched4");AlleRollosRaufSchalten(); }); }else { setState("RolloReadable","Die Automatik ist ausgeschaltet"); } }
-
@kitzelblitze sagte in Schedule Fragen:
die Rollos werden ein zweites Mal angesteuert und Alexa feiert sich nach dem Rollorauf / Runterfahren gleich zwei mal -
das ist jetzt eine Zusatzinfo - bisher ging es nur um das log
-
@kitzelblitze
Weshalb verwendest Du nicht die CRON-Notation? Ist einfacher (Beispiel: wtrunter):var wtrunter = '0 20 * * 0-4'; // ... sched1 = schedule(wtrunter, function() { console.log("sched1"); AlleRollosRunterSchalten(); });
-
@paul53 mir war die CRON Notation nicht bekannt - Meine Notation kommt von der kleinen Uhr in der IDE - Ist diese Notation falsch? Heute morgen löste das Ereignis nur einmal aus - ???