Script ausführen / Trigger Sunset geogr. Koordinaten

Da die Variable $ontime den Unix Timestamp der Variable $VarTsSunset enthält, diese aber erst am Ende von Andys Script ermittelt wird, passiert 0 Uhr folgendes:
Die Variable $ontime enthält noch den Timestamp des alten Sonnenuntergangs des vorherigen Tages, $offtime aber schon den Timestamp des neuen Tages. Das ist falsch.

Wenn die Berechnungen von Sonnenauf- und Sonnenuntergang am Anfang des Scripts stehen, müßte es funktionieren.

Hi Thomas

Danke für den Tip. Probiere es gleich aus und werde nachher sehen wie es sich verhält.

Hallo,

@Tetrapak:

Die Funktion mktime ergänzt alle fehlenden Angaben automatisch mit den aktuellen Werten, somit wird durch die Zeile ein Zeitstempel mit der gegebenen Zeit und dem aktuellen Datum erzeugt. Ein entsprechender Vergleich z.B. mit date_sunrise würde also korrekt ausgewertet werden.

@bolcebruce:

Thomas hat vollkommen recht, um Mitternacht wird folgender Vergleich ausgeführt:


if (GetValue(VarGBFlag) == false AND time() >= $ontime AND time() <= $offtime)

VarGBFlag ist ja zu diesem Zeitpunkt falsch, aber in $ontime steht dann noch vom Vortag 02.01.2009 18:30, somit ist der Vergleich mit der Funktion time(), die ja zu diesem Zeitpunkt 03.01.2009 00:00 zurück gibt, wahr. Ergo wird das Licht um Mitternacht eingeschaltet.

Wenn du die Zeilen wie von Thomas angeregt an den Anfang stellt sollte es korrekt funktionieren.

Kurzes Feedback.

Das umstellen des Scriptes wie von Thomas vorgeschlagen war die Lösung.

Danke noch einmal für die Unterstützung.

@ Bolzebruce

wäre es Dir möglich Deine Umstellung zu posten da ich das selbe Problem um Mitternacht habe und meine Fische wieder wecke.

mfg Ralf