NEWS
[gelöst] clearSchedule & astro
-
Hallo allerseits,
wie kann ich einen aktivierten Schuduler wieder reseten und zwar bei Verwendung der astro funktion?
Laut Doku klappt das ja anscheinend nicht mit dem Befehl "clearSchedule"
> If no “astro” function used you can cancel the schedule later. To allow this the schedule object must be saved:
Folgendes Szenario:
Per Alexa setzte ich eine Datenpunkt beim Verlassen des Hauses auf "gehen". Bei Änderung des Datenpunktes werden die Scheduler für diverse Endgeräte unter Verwendung der Astrofunktion gesetzt. Ich verwende als Shift bei der Astrofunktion zusätzliche eine Zufallszahl, um das Schaltmuster dynamisch zu halten.
Komme ich wieder Heim, möchte ich die gesetzten Scheduler wieder reseten. Aber anscheindend klappt das ja in Verbindung mit der Astrofunktion nicht.
Oder verstehe ich da was falsch?
Hier ein kleiner Auszug zum Scheduler:
varRandom = Math.floor(Math.random() * 60); schedule({astro: "dusk"}, function () { setState("......"); log("Lampe 1 ein geschaltet"); });
Trotz Suche hier im Forum konnte ich leider nicht finden.
Vielen Dank.
-
Trotz Suche hier im Forum konnte ich leider nicht finden. `
https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#clearschedule zum JS-Adapter. -
Ok, in der Beschreibung des Adapters habe ich natürlich auch nachgelesen.
Daher stammt ja genau die Info, die ich oben zitiert habe, dass clearSchedule nicht mit Astro zusammen funktioniert.
"If no “astro” function used you can cancel the schedule later. To allow this the schedule object must be saved"
Die Info hilft mir also nicht wirklich weiter.
Trotzdem danke.
-
Vorschlag: Verwende die Funktion getAstroDate(), wandle die Zeit mit formatDate() in einen Schedule-String und setze diesen in ein Schedule ein, das man mit clearSchedule() auch wieder löschen kann.
var cron = formatDate(getAstroDate('sunrise'), 'm h * * *');
oder inkl. Zufallswert in Minuten
var cron = formatDate(getAstroDate('sunrise').getTime() + 60000 * Random, 'm h * * *');
-
hui, das nenne ich ja mal einen perfekten Tip.
Nicht nur ein Lösungsansatz, sondern gleich die perfekte Lösung.
Vielen Dank dafür!
Liebe Grüße
(Beitrag als "gelöst" gekennzeichnet)