NEWS
[gelöst] Schedule schaltet nicht wie gewünscht
-
Hallo ich habe folgende schedule über den assistenten erstellt.
schedule('{"time":{"exactTime":true,"start":"15:00"},"valid":{"from":"17.11.2023"},"period":{"weeks":2,"dows":"[5]"}}',()=>{ setState("zuSchaltendeId,true); });die Schedule, soll also alle 2 Wochen am Freitag um 15 Uhr etwas schalten.
Leider macht die Schedule JEDE Woche. (Ich habe schon die letzten beiden "Perioden" abgewartet und es geprüft, immer wieder wurde der State gesetzt).
Woran kann das liegen? Ich habe doch den Zyklus 2 Wochen eingestellt und der steht auch im code drin.Hat jemand eine Idee?
-
Hallo ich habe folgende schedule über den assistenten erstellt.
schedule('{"time":{"exactTime":true,"start":"15:00"},"valid":{"from":"17.11.2023"},"period":{"weeks":2,"dows":"[5]"}}',()=>{ setState("zuSchaltendeId,true); });die Schedule, soll also alle 2 Wochen am Freitag um 15 Uhr etwas schalten.
Leider macht die Schedule JEDE Woche. (Ich habe schon die letzten beiden "Perioden" abgewartet und es geprüft, immer wieder wurde der State gesetzt).
Woran kann das liegen? Ich habe doch den Zyklus 2 Wochen eingestellt und der steht auch im code drin.Hat jemand eine Idee?
-
@paul53 ok und was ist das für ein "Zeitplan"? alle 10 Stunden?
Ich löse es auch gerne so, sollte nur wissen, warum die fertig aus dem Assistenten erzeuge Schedule nicht funktioniert
-
@ben1983 sagte: was ist das für ein "Zeitplan"? alle 10 Stunden?
Nein: Jeden Sonntag 10:00 Uhr.
Der nächste Freitag 15:00 Uhr liegt in einer geraden Woche.
@paul53 Ich habe jetzt eine Mischung daraus gemacht und mir einen State "Kalenderwoche" in den userdata erstellt. Ich zähle diesen einfach Montags hoch.
// Zuweisen der Kalenderwoche schedule('0 0 * * 1',()=>{ const aktuelleKalenderwoche = getState(idKalenderwoche).val; setState(aktuelleKalenderwoche + 1,true,true); })Dann mache ich das hier:
schedule('0 17 * * 0',()=>{ if(getState(idKalenderwoche).val%2 === 0){ // % Abfrage ob Kalenderwoche gerade ist setState(idxyz,false); } }); -
@paul53 Ich habe jetzt eine Mischung daraus gemacht und mir einen State "Kalenderwoche" in den userdata erstellt. Ich zähle diesen einfach Montags hoch.
// Zuweisen der Kalenderwoche schedule('0 0 * * 1',()=>{ const aktuelleKalenderwoche = getState(idKalenderwoche).val; setState(aktuelleKalenderwoche + 1,true,true); })Dann mache ich das hier:
schedule('0 17 * * 0',()=>{ if(getState(idKalenderwoche).val%2 === 0){ // % Abfrage ob Kalenderwoche gerade ist setState(idxyz,false); } }); -
@ben1983
Das ist wesentlich aufwändiger als die gezeigte Lösung.
Außerdem ist Zeile 4 falsch. Richtig:setState(idKalenderwoche, aktuelleKalenderwoche + 1, true); -
@paul53 ok und was ist das für ein "Zeitplan"? alle 10 Stunden?
Ich löse es auch gerne so, sollte nur wissen, warum die fertig aus dem Assistenten erzeuge Schedule nicht funktioniert
@ben1983 sagte in Schedule schaltet nicht wie gewünscht:
warum die fertig aus dem Assistenten erzeuge Schedule nicht funktioniert
Warum die mit dem Wizard erstellten Dinger nicht sauber laufen, kann ich Dir auch nicht sagen.
Aber dass sie nicht sauber laufen, habe ich schon des Öfteren festgestellt. Da fährt man mit CRON einfach besser.
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