WeeWX air-Q
-
Github: https://github.com/roe-dl/weewx-airQ
Über: Dienst für WeeWX zum Abrufen von Luftqualitätsdaten aus dem airQ-Gerät der Corant GmbHVielen Dank an den Autor dieses Releases, sollte sich dieser hier im Forum befinden kann dieser sich gern hier im Thread melden falls andere air-Q Nutzer rückfragen zum Release haben. :)
Was ist WeeWX?
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.
-
Ich oute mich dann mal als Urheber dieser Geschichte.
Der Punkt ist, daß man damit die Werte von einem oder mehereren airQ ganz einfach in eine Datenbank speichern kann. SQLITE und MySQL werden unterstützt. Ein Wetterfrosch muß man dazu nicht unbedingt sein, auch wenn die Software aus diesem Bereich kommt.
Web-Seiten mit aktuellen Werten und Diagrammen lassen sich auch relativ einfach erzeugen und auf irgendeinen Web-Space hochladen.
-
Ohne eine optische Vorstellung ist es manchmal schwierig. Deswegen will ich mal noch ein Beispiel für eine graphische Aufbereitung beifügen. Links sieht man die momentanen Werte, rechts kann man zwischen verschiedenen Zeiträumen umschalten.
Das ist aber nicht die einzige Möglichkeit. Der Anwender ist frei in der Gestaltung.
-
Hallo @karen,
das sieht sehr ansprechend aus.
Kannst Du noch ein paar Infos zur Architektur posten. Ich nehme an, dass dahinter noch eine DB steckt?Für ähnliche Fragestellungen setze ich aktuell für den air-Q und jede Menge anderer Daten einen Raspberry Pi3 mit MariaDB und Grafana ein. WeeWX scheint ja hier eine Alternative zu sein?
-
@Micha Ja, WeeWX wird auch oft auf einem Raspberry Pi betrieben. Bei der Datenbank stehen SQLITE und MySQL (bzw. MariaDB) zur Auswahl.
Das Grundsystem von WeeWX beinhaltet all die Funktionen, die man immer braucht:
- "Einsammeln" der Daten von verschiedenen Quellen
- Umrechnung und abgeleitete Größen
- Speichern in einer Datenbank (inkl. Tool zum Erweitern der Datenbank)
- Erzeugen von Webseiten und Hochladen auf einen Web-Server
Dann gibt es zahllose Erweiterungen (genannt Extension) für alle möglichen Zwecke, darunter Ansprechen von Hardware, Berechnen abgeleiteter Größen (etwa Air Quality Index nach verschiedenen Verfahren), Hochladen bei diversen Services usw.
-
Hallo @karen,
Danke für die Infos. Da kann ich mir dann wohl eine Menge Arbeit einsparen, da ich bisher quasi für alle Datenquellen eigene Service-Routinen geschrieben habe. Das ist insbesondere meist nicht besonders pflege- und wartungsfreundlich.Erzeugen von Webseiten und Hochladen auf einen Web-Server
Heißt dies, dass da statische Webseiten erzeugt werden oder sind diese dynamisch. D.h. kann man z.B. das Zeitintervall dynamisch anpassen?
-
@micha sagte in WeeWX air-Q:
Erzeugen von Webseiten und Hochladen auf einen Web-Server
Heißt dies, dass da statische Webseiten erzeugt werden oder sind diese dynamisch. D.h. kann man z.B. das Zeitintervall dynamisch anpassen?
Das Speicherintervall kann eingestellt werden. Und immer, nachdem neue Daten in die Datenbank geschrieben wurden, werden auch die Web-Seiten neu erzeugt und hochgeladen.
Daneben gibt es auch Lösungen, wo die Daten so, wie sie eintreffen, an einen MQTT-Server weitergereicht werden und dann life per Websocket auf einer Web-Site aktualisiert werden können. Typischerweise werden dann beide Verfahren kombiniert, z.B. Wetterstation Wöllsdorf mit einem etwas anderen Thema (und hoffentlich bald noch Daten von einem im Freien aufgestellten air-Q-Gerät).
Wenn die Daten in kürzerem Intervall eintreffen als sie gespeichert werden sollen, konfiguriert man sogenannte Akkumulatoren, wo eingestellt wird, ob z.B. der Mittelwert über die innerhalb eines Speicherintervalls eingetroffenen Daten gespeichert werden soll oder der letzte eingetroffene Wert oder Maximal- oder Minimalwert. Man kann das für jeden Meßkanal individuell einstellen. Standard ist Mittelwertbildung.
-
Es gibt ein Update des Treibers. Folgende Änderungen wurden vorgenommen:
- diverse Fehlerbeseitigungen
- Anpassung an die Firmware-Version 1.75 bezüglich der Volumen-Masse-Umrechnung. Der Treiber liefert die Werte immer in beiden Einheiten.
- Wenn man mit dem Tool airq_conf eine Visualisierung erzeugt, werden DeviceID und Status in der Kopfzeile angezeigt.