NEWS
schedule, welche syntax
-
Hallo zusammen,
ich beginne gerade mit javascript und wollte mir ein kleines Umschaltscript schreiben.
An den Tagen Mo, Di, Do und Fr soll die große Fläche true sein,
an den Tagen Mi, Sa die kleine Fläche, also false.
Geschaltet um 00:02nun hab ich folgendes:
const pfad = '0_userdata.0.Rasenflaeche.'; const pfadSteuerung = 'sonoff.0.Rasenflaeche.'; const grosseflaeche = true; // große Fläche true/false const steuerung = 'sonoff.0.Rasenflaeche'; createState(pfad + "grosseFlaeche", false, {write:false, name: "große Rasenfläche", type:'boolean'}); createState(pfad + "online", false, {write:false, name: "online", type:'boolean'}); setState(pfad + 'online', getState(pfadSteuerung + 'alive').val); console.log("---> Start"); // große Fläche an Mo, Di, Do, Fr schedule("02 0 * * 1,2,4,5 *", function () { setState(pfadSteuerung + "POWER1", true); setState(pfadSteuerung + "POWER2", true); setState(pfadSteuerung + "POWER3", true); setState(pfad + "grosseFlaeche",true); console.log(pfad + "groß"); }); // kleine Fläche (Bäume) an Mi, Sa schedule("02 0 * * 3,6 *", function () { setState(pfadSteuerung + "POWER1", false); setState(pfadSteuerung + "POWER2", false); setState(pfadSteuerung + "POWER3", false); setState(pfad + "grosseFlaeche",false); console.log(pfad + " klein"); }); console.log("Ende <---");
jetzt ist heute Donnerstag und trotzdem duchläuft er die Schleife 3,6.
Welchen Denkfehler hab ich? Bzw wie kann man das elegant lösen?
Vielleicht auch noch mit der Abfrage, dass alles nur zurzuführen ist, wenn online true ist.danke für Eure Hilfe
-
@australien für den Wochetag hast du ein
*
Das ist die letze Stelle
https://de.m.wikipedia.org/wiki/Cron#BeispieleDu hast 6 Stellen, dann ist die erste Stelle die Sekunde
und dein vermeintlicher Wochentag ist der Monat, heute =3 (März)Ob 02 passt kann ich dir nicht sagen, ich würde nur 2 schreiben
-
@homoran
Danke, genau daran hat es gelegen.