Bedeckt 13,0 °C

Software

echte Wöllsdorfer Meßwerte für Döbeln und Umgebung

WeeWX

freie Software für Ihre Wetterstation

WeeWX-Logo

Da die Homepage von WeeWX nur auf Englisch verfügbar ist, habe ich die allgemeinen Informationen hier frei übersetzt. Hier finden Sie die Originalseite.

WeeWX ist eine frei verfügbare Wettersoftware. Sie wurde von Tom Keffer und Matthew Wall geschrieben und wird von einer Gruppe aktiver Programmierer aus der ganzen Welt weiterentwickelt. Für viele Wetterstationen und Meßhardware gibt es Treiber. Auch Sensoren, die nichts mit Wetterstationen zu tun haben, können eingebunden werden, zum Beispiel von der Heizung oder der Solaranlage. Die Meßwerte werden in einer erweiterbaren Datenbank gespeichert.

Die Datenerfassung ist das eine, die Darstellung ist das andere. WeeWX erlaubt dem Nutzer die Erstellung eigener Visualisierungen (Skins genannt). Das hat viele Nutzer angeregt, und es stehen zahlreiche Varianten zur Verfügung, auch für den, der sich nicht in die Webprogrammierung einarbeiten will. Werte können als Zahlenwerte und in Form von Graphiken dargestellt werden.

WeeWX ist in der Programmiersprache Python geschrieben und damit praktisch betriebssystemunabhängig. Es kann unter jedem Betriebssystem installiert werden, für das ein Python-Interpreter verfügbar ist, darunter Linux, MacOS und Windows. Als Datenbank können SQLITE und MySQL genutzt werden.

Visualisierung Seasons

Skin "Seasons"

Visualisierung Belchertown

Skin "Belchertown"

Wesentliche Eigenschaften:

  • arbeitet mit vielen Wetterstationsfabrikaten zusammen
  • ermöglicht die Datenübertragung (Upload) an viele Wetternetzwerke, darunter Wetternetz Sachsen, Regionalwetter Sachsen-Anhalt, Windy, AWEKAS, AerisWeather (PWSweather) u.a.
  • Installationspakete für Debian (Ubuntu), Red Hat (CentOS) und SuSE
  • Upload auf eigenen Webspace
  • Mond- und Sonnendaten (Aufgang, Untergang, Ereignisse)
  • Unterstützung für unterschiedliche Visualisierungen, genannt skin (Auch der Nutzer selbst kann Visualisierungen gestalten.)
  • Daten können sowohl mit SQLITE als auch mit MySQL gespeichert werden
  • kompatibel sowohl mit Python 2 als auch mit Python 3
  • systematische Meßabweichungen können mit Kalibrierungswerten ausgeglichen werden
  • Filterung unlogischer Werte
  • einfache, leicht verständliche Micro-Kernel-Architektur
  • umfangreiche Erweiterbarkeit mit Treibern, Visualisierungen, Berechnungen
  • eine Support-Gruppe auf Google, die bei Problemen hilft

Informationsquellen zu WeeWX

Installationsanleitung für Debian, Ubuntu und Raspberry Pi

Diese Anleitung gilt für Linux-Distributionen, die zur Paketverwaltung DEB-Pakete verwenden. Dazu zählen neben Debian selbst u.a. Ubuntu und seine Ableger, Mint und Raspbian. Anleitungen für andere Linux-Distributionen und macOS finden Sie hier (englisch).

Zuerst muß der WeeWX-Server als vertrauenswürdige Paketquelle definiert werden. Bitte den Bindestrich am Ende nicht vergesssen. Das Zeichen hinter dem 'q' ist der Buchstabe 'O'.

wget -qO - https://weewx.com/keys.html | sudo apt-key add -

Ab Debian 10 mit Python 3:

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

Bis Debian 9 mit Python 2:

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

Installation:

sudo apt-get update
sudo apt-get install weewx

Während der Installation werden die wesentlichen Parameter der Station abgefragt. Danach läuft WeeWX bereits im Hintergrund als Dienst (daemon). Weitere Einstellungen können dann durch Editieren der Konfigurationsdatei /etc/weewx/weewx.conf vorgenommen werden. Nach Änderungen an der Datei muß WeeWX neu gestartet werden:

sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx start

WeeWX unter Windows

Die weitaus meisten WeeWX-Installationen werden wohl unter Linux laufen. Linux ist das typische Betriebssystem für kleine technische Anwendungen. Ein in fast jedem Haushalt vorhandenes Beispiel ist die Fritz-Box von AVM, die die Verbindung zum Internet herstellt. Da es mit Installationen unter Linux viel mehr Erfahrung gibt, wird man dafür auch viel mehr Hilfe erfahren können.

Gleichwohl, wer WeeWX partout unter Windows laufen lassen will, benötigt zunächst einen Python-Interpreter für dieses Betriebssystem. Den gibt es als Installationspaket hier. Bei der Installation muß "Add Python to PATH" ausgewählt werden, damit Windows das Programm später auch findet.

Als nächstes müssen die nötigen Python-Module mittels pip installiert werden:

python3 -m pip install configobj
python3 -m pip install Cheetah3
python3 -m pip install Pillow
python3 -m pip install pyephem
python3 -m pip install pyserial
python3 -m pip install pyusb

Da es für Windows kein vorgefertigtes WeeWX-Paket gibt, erfolgt die Installation mittels setup.py. Dazu muß das Quellpaket unter https://weewx.com/downloads/ heruntergeladen und entpackt werden. Das Entpacken gelingt mittels WinZIP oder einem ähnlichen Entpacker. Anschließend muß die Datei setup.cfg mit einem Editor geöffnet und dort der Installationspfad eingetragen werden. Zum Schluß startet man die Installation mit:

python3 setup.py install

Hinweis: Leider fehlt auch mir die praktische Erfahrung, so daß dieser Abschnitt nur die grundsätzliche Vorgehensweise beschreiben kann.

Regen in mm und Wind in km/h

WeeWX kennt zwei metrische Einheitensysteme, METRIC und METRICWX. Leider verwenden beide nicht die in Deutschland übliche Kombination der Maßeinheiten für Regen in mm und Wind in km/h. Das kann aber individuell in weewx.conf eingestellt werden.

Einheiteneinstellung bis Version 4.5

Einstellung einheitlich für alle Skins:

[StdReport]
    ...
    [[Defaults]]
        [[[Units]]]
            [[[[Groups]]]]
                group_rain = mm
                group_rainrate = mm_per_hour
                group_speed = km_per_hour

Diese Einstellung kann auch individuell bei jeder einzelnen Skin in derselben Weise getroffen werden. Außerdem kann diese Einstellung in skin.conf vorgenommen werden.

Einheiteneinstellung ab Version 4.6

Ab Version 4.6 ermöglicht WeeWX, das Einheitensystem für die Anzeige bei der Skin-Konfiguration direkt auszuwählen. Es ist nicht mehr nötig, jede Größe einzeln auf metrische Einheiten einzustellen. Dies erleichtert die Konfiguration deutlich, aber Änderungen der Einheit für einzelne Größen müssen dadurch anders konfiguriert werden.

[StdReport]
    ...
    [[zu konfigurierender Report]]
        ...
        unit_system = METRIC
        [[[Units]]]
            [[[[Groups]]]]
                group_rain = mm
                group_rainrate = mm_per_hour
                group_speed = km_per_hour

Die Einstellung muß für jede Skin einzeln vorgenommen werden.

Zeitspannen für Diagramme und Zusammenfassungen

Konfigurationsoptionen wie etwa aggregate_interval verlangen die Angabe einer Zeitspanne in Sekunden. Monate und Jahre haben aber nicht immer dieselbe Länge. Selbst der Tag hat eine abweichende Länge, wenn die Sommerzeit beginnt oder endet. Daher kann man die Länge nicht einfach in Sekunden angeben. WeeWX verwendet an der Stelle spezielle Zahlenwerte, die nicht als Sekunden sondern als Zeitspannen mit besonderer Bedeutung interpretiert werden. Diese Werte sind in der folgenden Tabelle aufgeführt.

Zeitspanne Englisch einzutragender Wert Berechnung Länge
Stunde hour 3600 60 * 60 Schaltsekunden werden nicht berücksichtigt
Tag day 86400 24 * 3600 Standard 86400s, Sommerzeitumstellung 82800s oder 90000s
Woche week 604800 7 * 86400 7 Tage
Monat month 2629800 365,25 / 12 * 86400 28, 29, 30 oder 31 Tage
Jahr year 31557600 365,25 * 86400 Normaljahr 365 Tage, Schaltjahr 366 Tage

An manchen Stellen können die englischen Wörter anstelle der Zahlenwerte verwendet werden, an anderen wiederum nicht.

WeeWX-Installation der Wetterstation Wöllsdorf

Grundinstallation

Andere Erweiterungen

  • MQTTSubscribe (Empfang von MQTT-Nachrichten)
  • MQTT (Veröffentlichung der Wetterdaten per MQTT)
  • GTS (Sonnenenergie, Grünlandtemperatursumme)
  • DWD (Warndaten des Deutschen Wetterdienstes)
  • airQ (Luftqualität)
  • photovoltaics (Solaranlage)