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!
-
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
-
@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"); } } -
@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
-
@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
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(); }); -
@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 - ???
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