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
-
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
-
@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.
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