NEWS
javascript cron Unterstützung benötigt
-
Hallo,
ich brauche bitte eure Hilfe beim generieren eines cron Jobs.
Ich habe eine funktionierende Zeitschaltuhr welche via Vis konfigurierbar ist. Bisher nur Ein- und Ausschaltzeit. Nun möchte ich die Funktionalität erweitern und die Wochentage auswählen.
Ich habe einen State (string) pro Wochentag den ich mit der Zahl 0-6 für So. bis Sa. befülle oder leere.
Dann generiere ich den cron Job mit://setzen der 1\. Einschaltzeit der Steckdose function TimerEin1() { clearSchedule(TimerOnEin1); var Vorwahl = getState(id0).val; var idTimerStundeEin1 = getState(id15).val; var idTimerMinuteEin1 = getState(id16).val; var idTimerTag1Ein1 = getState(id111).val; var idTimerTag2Ein1 = getState(id112).val; var idTimerTag3Ein1 = getState(id113).val; var idTimerTag4Ein1 = getState(id114).val; var idTimerTag5Ein1 = getState(id115).val; var idTimerTag6Ein1 = getState(id116).val; var idTimerTag7Ein1 = getState(id117).val; var AufZeitEin1 = idTimerMinuteEin1 + ' ' + idTimerStundeEin1 + ' * * ' + idTimerTag1Ein1 + ',' + idTimerTag2Ein1 + ',' + idTimerTag3Ein1 + ',' + idTimerTag4Ein1 + ',' + idTimerTag5Ein1 + ',' + idTimerTag6Ein1 + ',' + idTimerTag7Ein1;
Das funktioniert wenn ich alle Tage auswähle. Nehme ich aber z.B. Sa. und So. raus sieht der Job so aus:
cron=20 6 * * 1,2,3,4,5,,
Das führt natürlich zu einem Fehler. Ich nehme an ich muss über eine variable zuerst die befüllten Tage suchen und aneinanderreihen. Leider reichen meine Kenntnisse dafür nicht aus und ich habe leider auch hier im Forum noch keinen ähnlichen Bedarf finden können.
Ich danke schon jetzt für eure Unterstützung. -
@streit187 Ändere mal ab Zeile 7:
const tage = []; if(getState(id111).val) tage.push(getState(id111).val); if(getState(id112).val) tage.push(getState(id112).val); // usw. let AufZeitEin1 = idTimerMinuteEin1 + ' ' + idTimerStundeEin1 + ' * * ' + tage.join();
-
@paul53 Der Wahnsinn! Läuft super. Vielen vielen Dank. Das ging schneller als erwartet.