WeeWX – OpenSource Wetterstation-Software im Zusammenspiel mit meiner Netatmo

Nachtrag vom 03.01.2024 – Anscheinend muss einmal im Jahr ein neuer Refresh Token bei Netatmo https://dev.netatmo.com/apps/ generiert werden und dieser in die Config eingetragen werden.

(Aktualisierung am 17.07.2023 wegen Änderung API Authentifizierung)

Durch Zufall habe ich bei aprs.fi gesehen, dass dort auch Wetterstationen regelmässig Daten “hochladen”. Nach einer kurzen Recherche bin ich auf die Open source Lösung WeeWX gestossen. Diese bietet etliche Treiber zu diversen Wetterstationen an, damit die Daten digital ausgelesen werden können. Meine genutzte Wetterstation von Netatmo ist ebenfalls dabei, auch wenn man den Treiber von einem anderen Entwickler herunterladen muss. Der Vorteil bei Netatmo ist, dass es bereits eine technische Schnittstelle (API) gibt, die man einfach nutzen kann, ohne dass der WeeWX Server per USB an die Wetterstation angeschlossen sein müsste. Dies eröffnet die Möglichkeit den Server auch in der Cloud zu betreiben.

Weiterhin gibt es zahlreiche Skins, um die Wetterdaten auf einer Webseite anzeigen zu lassen. Ich habe in einem weiteren Schritt auch eine Verbindung auf aprs.fi konfiguriert.

Meine Wetterstation findet Ihr unter wetter.dc9vq.de, die Software läuft gemeinsam mit der Cloudlog Lösung (siehe meinen Blog Eintrag) auf einem gemieteten Linux Server bei IONOS für 1 EUR/Monat und sammelt nun fleissig Wetterdaten.

Anbei meine Installationsanleitung, falls Ihr Lust bekommen hat diese Software auch zu installieren.

trust weewx.com zur Installation des Pakets von der Website

sudo apt install gnupg
sudo wget -qO - https://weewx.com/keys.html | sudo gpg --dearmor --output /etc/apt/trusted.gpg.d/weewx.gpg

Benötigte Komponenten installieren

wget -qO - https://weewx.com/apt/weewx-python3.list | sudo tee /etc/apt/sources.list.d/weewx.list

sudo apt-get update
sudo apt-get upgrade
sudo apt install nginx          -optional falls kein Webserver installiert
sudo apt install git
sudo apt install python3-ephem
sudo apt-get install weewx

Daten der Wetterstation eintragen und und Treiber „Simulator“ auswählen.

Optional automatischer Start WebServer (nginx)

sudo systemctl enable nginx      
sudo systemctl start nginx

Automatischer Start für WeeXE einrichten

sudo systemctl enable weewx
sudo systemctl start weewx

Überprüfung log

sudo tail -f /var/log/syslog

Installation Netatmo Driver (Nachtrag vom 17.07.2023)

Nachdem am 16.07.2023 der HTTP Error 400 aufgetreten ist, habe ich durch eine Recherche herausgefunden, dass NETATMO die Authentifizierung der API geändert hat. Deshalb habe ich jetzt die Installation entsprechend angepasst.

sudo wget -O weewx-netatmo.zip https://github.com/Buco7854/weewx-netatmo/archive/master.zip
sudo wee_extension --install weewx-netatmo.zip
sudo systemctl stop weewx
sudo wee_config --reconfigure 
 jetzt für Treiber „netatmo“ und cloud auswählen
sudo systemctl restart weewx

Da nicht alle Information in das ini-File geschrieben wird bitte manuell anpassen

sudo nano /etc/weewx/weewx.conf
[netatmo]
    username = "" (entfällt weil keine Passwort Authentifizierung mehr
    password = "" (entfällt weil keine Passwort Authentifizierung mehr
    refresh_token = refresh token (Ihr müsst unter https://dev.netatmo.com/apps/ nach Auswahl eurer App den Token Generator nutzen - am besten alle Funktionen auswählen - ggf. reicht auch nur access und read Kategorien und dann den refresk token generieren.)
    client_id = client_ID (Ihr müsst unter https://dev.netatmo.com/apps/ eine App erstellen und erhaltet dann die Client_ID und den SecretKey)
    client_secret = client_secret
    driver = user.netatmo
    mode = cloud
  sudo systemctl restart weewx

Optional – Daten zu APRS.FI übertragen

sudo nano /etc/weewx/weewx.conf
 [[CWOP]]
enable = true
station = Rufzeichen
passcode = 12345       # Passcode kann z.B. hier generiert werden https://apps.magicbug.co.uk/passcode/ 
server_list = rotate.aprs.net:14580, rotate.aprs2.net:14580, cwop.aprs.net:14580, cwop.aprs.net:23
log_success = true
log_failure = true
sudo systemctl restart weewx

 

Skin “neowx-material” installieren

cd /opt
sudo git clone https://github.com/neoground/neowx-material/tree/master/src
sudo cp -rp /opt/neowx-material/src /etc/weewx/skins/neowx-material
sudo nano /etc/weewx/weewx.conf

[[StandardReport]]
       # This is the old "Standard" skin. By default, it is not enabled.
        skin = neowx-material
        enable = true
      # alle andere Report Abschnitte müssen auf false stehen

sudo systemctl restart weewx

Bei Fragen könnt Ihr mir auch gerne schreiben.