Wetterstation

  • Hallo Jürgen,


    der Thonny - Interpreter ist ein vollwertige Python, auf dem ESP32 läuft aber Micropython. Leider ist die Unterstützung von time in Micropython etwas eingeschränkt und die Funktionalität ist nicht ganz identisch.


    Wenn du im Micropython - Interpreter time. verwendest, wird utime. ausgeführt. Deshalb sind beide Ergebnisse identisch.


    In Micropython kannst du Unix - Time 1580400921 mit time.localtime(1580400921 - 946684800 + 3600) in unsere Lokalzeit umrechnen.

    Dabei ist

    1580400921 die Unixzeit

    946684800 die Korrektur von Unix- zu Pythonzeit

    3600 die Korrektur für unsere Zeitzone (+ 1h, muss für die Sommerzeit angepasst werden)


    Wenn du Wetterdaten abrufst, kannst du die Zeitkorrektur für die Zeitzone auch über wetterdaten["timezone"] auslesen.

    Code
    1. response = http_get(request_string)
    2. lines = response.split("\r\n")
    3. wetterdaten = json.loads(lines[-1])
    4. timezone = wetterdaten["timezone"]
    5.     time.localtime(1580400921 - 946684800 + timezone)

    Hier sollte dann auch die Sommerzeit berücksichtigt sein.


    Gruss

    René

  • Hallo zusammen,


    die Unixtime (sunset: 1580400921) vom Sonnenuntergang konnte ich sowohl mit utime.localtime als auch mit time.localtime konvertieren.

    Die Uhrzeit ist i.O., aber Datum stimmt nicht.


    Es muß der 30.01.2020 sein. Ausgegeben wird jedoch der 29.01.2050


    Thonny_2.PNG


    Ich habe dann zum Test den Interpreter geändert


    Thonny.PNG



    Hier war das Datum i.O.


    Thonny_1.PNG


    Es gibt wohl einen Unterschied zwischen dem "Thonny-Interpreter" und dem ESP32.


    Gruß Jürgen

  • Hallo Jürgen,

    das funktioniert äquivalent zur Zeitanzeige aus dem Beispiel wo die Zeit vom NTP Server

    geholt wird.

    Der Funktion time.localtime übergibst Du die Werte für Sonnenauf und untergang.


    MfG

    Gerhard

  • Hallo Gerhardt,


    die Anzeige deiner Wetterstation schaut ja gut aus. :thumbup:


    Mich würde interessieren wie Du die Zeiten für Sonnenaufgang und -untergang "umformatiert" hast.


    Aus der Json-Datei erhält man z. B.


    sunrise: 1580367343

    sunset: 1580400921


    Gibt es eine Library mit welcher sich die Werte konvertieren lassen?


    Gruß Jürgen