Hallo Forum,
ich habe jetzt meine Überarbeitung soweit fertig, dass sie getestet werden kann. Den vorausgegangenen Thread zur Thematik findet ihr ja hier. Nachdem ich hier keine Möglichkeit habe, Dateien zur Verfügung zu stellen, habe ich die notwendigen Dateien temporär bei Github abgelegt.
Mangels Rückmeldungen kann ich derzeit nicht abschätzen, ob die Kernentwickler die Überarbeitung überhaupt (integrieren) wollen, zumindest ich komme mit der Stabilität der bisherigen Berechnungen nicht weiter. Ich kann bis Mitte nächster Woche noch direkt aktiv sein, dann habe ich leider erst nach Weihnachten wieder Zeit dafür - ideal also, um sich Gedanken zu machen, zu testen und Wünsche/Fehler mitzuteilen.
Aufgebaut ist das überarbeitete Modul vorerst so, dass es parallel zum vorhandenen Modul läuft, man also wahlweise auf die alten oder meine neuen Items zugreifen kann. Auch sind nur kleine Erweiterungen in zwei Kerndateien notwendig, damit mein Modul eingebunden wird. Ich habe auf Github eine kurze Installationsanleitung hinterlegt.
Astronomy01.pngAstronomy02.png
Durch eigene Items für den letzten, aktuellen und nächsten Aufgang, Untergang usw. ist eindeutig festgelegt, welches Ereignis wann auftritt (beachtet in den Screenshots dazu die Datumsangaben). Bisher ist es ja so, dass immer nur das nächste Ereignis dargestellt werden kann - das ist gerade für die reine Anzeige in der Visu aber verwirrend. Jetzt werden für den aktuellen Tag auch immer die tagesaktuellen Daten ermittelt, während sich das letzte bzw. nächste Ereignis tageszeitabhängig ergeben können (vor oder nach Aufgang, Untergang...).
Ich habe auch neue Items für Tag/Nacht und Helligkeit/Dunkelheit (die über die Itemdefinition mit einem beliebigen Offset beschickt werden können) und einen Status für die Dämmerungen generiert.
Die Gesamtberechnungen werden nun erst mal täglich kurz nach Mitternacht vorgenommen, während die Positionsangaben für die Sonne alle 5 Minuten aktualisiert werden.
Noch ein Hinweis zum Programmcode - ich habe den Code relativ ausführlich kommentiert und mit vielen Debug-Logeinträgen versehen, das kann über die interne Variable log_debug_full = True an- oder abgeschaltet werden (an drei Stellen). Ich komme ja eher aus der skriptorientierten PHP-Entwicklung, also verzeiht mir, dass der Programmcode ev. etwas laufzeitoptimiert werden könnte, auch bin ich mit Python noch nicht so vertraut.
Sollte es das Ganze am Ende in das nächste Release schaffen, würde ich mich freuen. Es sind dazu sicher noch kleine Anpassungen in anderen Modulen (UZSU, Crontab "sunrise", "sunset" usw. nötig).
VIele Grüße
Andi
ich habe jetzt meine Überarbeitung soweit fertig, dass sie getestet werden kann. Den vorausgegangenen Thread zur Thematik findet ihr ja hier. Nachdem ich hier keine Möglichkeit habe, Dateien zur Verfügung zu stellen, habe ich die notwendigen Dateien temporär bei Github abgelegt.
Mangels Rückmeldungen kann ich derzeit nicht abschätzen, ob die Kernentwickler die Überarbeitung überhaupt (integrieren) wollen, zumindest ich komme mit der Stabilität der bisherigen Berechnungen nicht weiter. Ich kann bis Mitte nächster Woche noch direkt aktiv sein, dann habe ich leider erst nach Weihnachten wieder Zeit dafür - ideal also, um sich Gedanken zu machen, zu testen und Wünsche/Fehler mitzuteilen.
Aufgebaut ist das überarbeitete Modul vorerst so, dass es parallel zum vorhandenen Modul läuft, man also wahlweise auf die alten oder meine neuen Items zugreifen kann. Auch sind nur kleine Erweiterungen in zwei Kerndateien notwendig, damit mein Modul eingebunden wird. Ich habe auf Github eine kurze Installationsanleitung hinterlegt.
Astronomy01.pngAstronomy02.png
Durch eigene Items für den letzten, aktuellen und nächsten Aufgang, Untergang usw. ist eindeutig festgelegt, welches Ereignis wann auftritt (beachtet in den Screenshots dazu die Datumsangaben). Bisher ist es ja so, dass immer nur das nächste Ereignis dargestellt werden kann - das ist gerade für die reine Anzeige in der Visu aber verwirrend. Jetzt werden für den aktuellen Tag auch immer die tagesaktuellen Daten ermittelt, während sich das letzte bzw. nächste Ereignis tageszeitabhängig ergeben können (vor oder nach Aufgang, Untergang...).
Ich habe auch neue Items für Tag/Nacht und Helligkeit/Dunkelheit (die über die Itemdefinition mit einem beliebigen Offset beschickt werden können) und einen Status für die Dämmerungen generiert.
Die Gesamtberechnungen werden nun erst mal täglich kurz nach Mitternacht vorgenommen, während die Positionsangaben für die Sonne alle 5 Minuten aktualisiert werden.
Noch ein Hinweis zum Programmcode - ich habe den Code relativ ausführlich kommentiert und mit vielen Debug-Logeinträgen versehen, das kann über die interne Variable log_debug_full = True an- oder abgeschaltet werden (an drei Stellen). Ich komme ja eher aus der skriptorientierten PHP-Entwicklung, also verzeiht mir, dass der Programmcode ev. etwas laufzeitoptimiert werden könnte, auch bin ich mit Python noch nicht so vertraut.
Sollte es das Ganze am Ende in das nächste Release schaffen, würde ich mich freuen. Es sind dazu sicher noch kleine Anpassungen in anderen Modulen (UZSU, Crontab "sunrise", "sunset" usw. nötig).
VIele Grüße
Andi
Kommentar