NEWS
Astro plus zufallszeit
-
Hallo Zusammen,
ich habe schon verzweifelt gesucht, bin aber nicht fündig geworden. Ist es irgendwie Möglich etwas zu schalten nach Astrozeit plus einer Zufallszeit von x-Minuten?
z.B.: Astro: Sunrise 07:25 … dazu möchte ich ein paar zufällig generierte Minuten addieren (5-25min.)
Danke!
-
War quatsch, galt für ein anderes Forum.
-
Es gibt ja sowas:
schedule({astro: "sunset", shift: 10}, function () { log("10 minutes after sunset!"); });
Bei shift eine Variable rein, die du mit irgendeinem random füllst.
Vlt kannst Du hier was entnehmen?
-
Danke an euch zwei ich versuchs mal
-
Hallo,
var min = 0; // Minimum Minuten var max = 100; // Maximum Minuten // Zufallszahl ermitteln function rand (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } var zufall = rand(min,max); schedule({astro: "sunrise", shift: zufall}, function () { log(zufall + " Minuten nach Sonnenaufgang"); }); ````damit bekommst du einen zufälligen Shift zwischen 0 und 100 Minuten nach Sonnenaufgang. Allerdings berechnet sich der Shift nur einmal beim Skriptstart. Wenn er zB täglich neu berechnet werden soll, musst du um Mitternacht noch einen __clearSchedule__ Scheinbar ist aber die Nutzung von __clearSchedule__ in Verbindung mit Astrofunktionen nicht möglich ~~@[url=https://github.com/ioBroker/ioBroker.javascript/blob/master/README.md#clearschedule:~~ > ~~Javascript Github von ioBroker"]~~If no "astro" function used you can cancel the schedule later. To allow this the schedule object must be saved: ` Falls das wirklich nicht geht, kannst du etwas umständlich die Sonnenaufgangszeit mit getAstroDate("sunrise", … abfragen und die Stunden und Minuten in eine Cron-Schreibweise portieren. Daraus kann man dann einen Schedule machen, der sich auch wieder löschen lässt :roll: :o :? :lol: Falls der Schedule beim Beenden des Skriptes gelöscht wird, kann man auch das Skript nach dem Skriptstart um Mitternacht sofort nach dem erreichten Schedule wieder deaktivieren. Das geht mit __ScriptEnabled__. Pix