Ankündigung

Einklappen
Keine Ankündigung bisher.

Überarbeitung der astronomischen Berechnungen im Core

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Überarbeitung der astronomischen Berechnungen im Core

    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

    #2
    sieht doch ganz gut aus
    und der ephem Fehler bleibt dadurch aus ?
    vl könnte man das noch hinzufügen:
    in SmarthomeNG die angaben in Grad und Bogenmaß implementiert
    Zuletzt geändert von Bonze; 03.11.2016, 18:09.

    Kommentar


      #3
      Bisher läuft es rund und die Berechnungen stimmen bei mir mit anderen Rechnern gut überein. Einen Punkt habe ich übersehen, das muss ich dann nach Weihnachten noch angehen. Ich berechne ja beim Aufruf auch den Status von Tag/Nacht/Dämmerungen (True/False), wenn ich den Scheduler das aber nur ein Mal täglich machen lasse, werden die dann aber zum Zeitpunkt x nicht stimmen. Andererseits will ich das aber auch nicht jede Minute rechnen und damit prüfen lassen. Die Uhrzeiten dafür sind ja täglich fix, ev. verlagert man das in ein kurzes, schnelles Rechenskript, das beim Item-Aufruf getriggert wird.

      Deinen Satz mit dem Hinzufügen verstehe ich nicht ganz - in der Doku ist bisher nur die jetzige Lösung beschrieben (die auch schon in deg und rad rechnet), meine neue würde ich erst in die Doku aufnehmen, wenn sie tatsächlich auch integriert wird. Oder habe ich dich da falsch verstanden?

      Kommentar


        #4
        awknx sobald wir mal alle core entwickler zusammenkriegen, besprechen wir mal ob und wie wir das thema aufnehmen und auch gemeinsam testen.

        Kommentar


          #5
          Ja fein. Ich muss ja jetzt sowieso bis Weihnachten aussetzen und kann nur ggf. hier im Forum mal was posten. Wenn es der ein oder andere auch noch testet/ausprobiert, kann ich es dann auch wirklich fürs Release einsatzfähig machen.

          Eigentlich wärs doch auch ganz nett, wenn sich die neuen Core Entwickler mal kurz vorstellen, im Grunde habe zumindest ich keine wirkliche Ahnung, wer da alles dabei ist und wer sich eigentlich um was kümmert?
          Zuletzt geändert von awknx; 04.11.2016, 10:46.

          Kommentar


            #6
            awknx ich wäre froh, wenn einige die das mit mir übernommen haben, überhaupt mal wieder auftauchen würden

            Kommentar


              #7
              Ooops. An der ein oder anderen Stelle (wie z.B. bei den astronomischen Daten oder Doku) kann ich schon immer mal unterstützen - bin halt nicht der Python-Profi und auch oft mal im Urlaub :-))

              Kommentar


                #8
                awknx einige sind beruflich derzeit sehr busy, ganz verschwunden ist keiner. trotzdem habe ich einen haufen PRs kommentiert, die ich nicht einfach so mergen will... naja muss dann halt warten

                Kommentar

                Lädt...
                X