ephem aktualisiert sunset und sunrise nicht
Verfasst: Dienstag 30. November 2021, 20:58
Hallo an alle Spezialisten,
ich habe folgendes Problem, was ich jetzt schon seit Monaten versuche zu lösen...
Ich habe mir vor Ewigkeiten eine Uhr gebastelt...
hierbei wird in der letzten Zeile der Sonnenaufgang oder der Sonnenuntergang angezeigt.
In folgender def ermittle ich die zwei Events:
und bekomme folgende Daten in WriteDaten zurückgeschrieben und entsprechend dann in meine Variable im Hauptprogramm über return:
Aktuelle Zeit:;2021-11-30 06:36:01.770034;2021-11-30 07:36:01.770653
Nächeter Sonnenaufgang:;2021-11-30 06:46:48.887955;2021-11-30 07:46:48.887955;0:10:47.117921
Nächeter Sonnenuntergang:;2021-11-30 15:10:47.163964;2021-11-30 16:10:47.163964;9:34:45.393930
Das funktioniert so lange bis das nächste Event erreicht ist, dann wird folgendes berechnet:
Aktuelle Zeit:;2021-11-30 06:47:01.562456;2021-11-30 07:47:01.563155
Nächeter Sonnenaufgang:;2021-11-30 06:46:48.887955;2021-11-30 07:46:48.887955;-1 day, 23:59:47.325499
Nächeter Sonnenuntergang:;2021-11-30 15:10:47.163964;2021-11-30 16:10:47.163964;9:23:45.601508
Nun meine Frage: Warum wird der nächste Sonnenaufgang bzw. -untergang nicht neu berechnet und mir immer der 30.11. zurückgegeben?
Das Gleiche passiert übrigens auch bei jedem weiteren Eintreten... Also keine Neubrechnung...
Sorry falls es eine blöde Frage seine sollte... und ich nur zu beschränkt bin...
Danke für eure Hilfe
ich habe folgendes Problem, was ich jetzt schon seit Monaten versuche zu lösen...
Ich habe mir vor Ewigkeiten eine Uhr gebastelt...
hierbei wird in der letzten Zeile der Sonnenaufgang oder der Sonnenuntergang angezeigt.
In folgender def ermittle ich die zwei Events:
Code: Alles auswählen
home = ephem.Observer()
home.lat = "50.35"
home.lon = "12.43"
Code: Alles auswählen
def NextSunEvent():
global home
next_sunrise_utc = home.next_rising(ephem.Sun()).datetime()
next_sunset_utc = home.next_setting(ephem.Sun()).datetime()
next_sunrise = datetime_from_utc_to_local(next_sunrise_utc)
next_sunset = datetime_from_utc_to_local(next_sunset_utc)
AktUTC = datetime.utcnow()
next_sunrise_in = next_sunrise_utc - AktUTC
next_sunset_in = next_sunset - AktUTC
WriteDaten(["Aktuelle Zeit:", AktUTC, datetime.now()])
WriteDaten(["Nächeter Sonnenaufgang:", next_sunrise_utc,
next_sunrise,
next_sunrise_in])
WriteDaten(["Nächeter Sonnenuntergang:", next_sunset_utc,
next_sunset,
next_sunset_in])
if next_sunrise_in > next_sunset_in:
return next_sunset, next_sunset_in
else:
return next_sunrise, next_sunrise_in
Aktuelle Zeit:;2021-11-30 06:36:01.770034;2021-11-30 07:36:01.770653
Nächeter Sonnenaufgang:;2021-11-30 06:46:48.887955;2021-11-30 07:46:48.887955;0:10:47.117921
Nächeter Sonnenuntergang:;2021-11-30 15:10:47.163964;2021-11-30 16:10:47.163964;9:34:45.393930
Das funktioniert so lange bis das nächste Event erreicht ist, dann wird folgendes berechnet:
Aktuelle Zeit:;2021-11-30 06:47:01.562456;2021-11-30 07:47:01.563155
Nächeter Sonnenaufgang:;2021-11-30 06:46:48.887955;2021-11-30 07:46:48.887955;-1 day, 23:59:47.325499
Nächeter Sonnenuntergang:;2021-11-30 15:10:47.163964;2021-11-30 16:10:47.163964;9:23:45.601508
Nun meine Frage: Warum wird der nächste Sonnenaufgang bzw. -untergang nicht neu berechnet und mir immer der 30.11. zurückgegeben?
Das Gleiche passiert übrigens auch bei jedem weiteren Eintreten... Also keine Neubrechnung...
Sorry falls es eine blöde Frage seine sollte... und ich nur zu beschränkt bin...
Danke für eure Hilfe