Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
wiki:software:weewx [2023/06/30 16:46] – Gyvate | wiki:software:weewx [2025/02/08 18:08] (aktuell) – Gyvate |
---|
===== WeeWX ===== | ===== WeeWX ===== |
**//letzte Änderung: 30. Juni 2023//** \\ | **//letzte Änderung: 08. Februar 2025//** \\ |
**''WeeWX''** ist eine quelloffene und freie Wetterstationssoftware für Linux, Mac OS X und Solaris. Geschrieben ist die Software in Python. Hauptautor ist Tom Keffer, wichtige Mitentwickler sind Matthew Wall und Gary Roderik. Auf GitHub gibt es viele Treiber und Erweiterungen von verschiedenen Autoren. Häufig wird WeeWX zum Auslesen von Daten über einen Raspberry Pi genutzt. Es läuft auch in der WSL2 (Windows Subsystem for Linux) Umgebung von Windows 10 und 11. Ebenfalls gibt es erfolgreiche Installationen auf NAS-Servern mit z.B. Ubuntu-Docker-Containern oder Ubuntu-LXC Containern. | ''WeeWX'' ist eine quelloffene und freie Wetterstationssoftware für Linux, Mac OS X und Solaris. Geschrieben ist die Software in Python. Hauptautor ist Tom Keffer, wichtige Mitentwickler sind Matthew Wall und Gary Roderik. Auf GitHub gibt es viele Treiber und Erweiterungen von verschiedenen Autoren. Häufig wird WeeWX zum Auslesen von Daten über einen Raspberry Pi genutzt. Es läuft auch in der WSL2 (Windows Subsystem for Linux) Umgebung von Windows 10 und 11. Ebenfalls gibt es erfolgreiche Installationen auf NAS-Servern mit z.B. Ubuntu-Docker-Containern oder Ubuntu-LXC Containern. |
| |
Aufgrund der einfachen Erweiterbarkeit über ein Plugin-Konzept und einer aktiven Community unterstützt die Software eine Vielzahl an Wetterstationen und Wetternetzwerken. Hervorzuheben ist zudem die exzellente englischsprachige Dokumentation, die sich sowohl auf https://weewx.com findet als auch in WiKis auf GitHub zu den jeweiligen Treibern. Beispiel: der Treiber für das Ecowitt Konsolen API der GW1x00, GW2000, WN19x0 Konsolen - https://github.com/gjr80/weewx-gw1000/wiki | Aufgrund der einfachen Erweiterbarkeit über ein Plugin-Konzept und einer aktiven Community unterstützt die Software eine Vielzahl an Wetterstationen und Wetternetzwerken. Hervorzuheben ist zudem die exzellente englischsprachige Dokumentation, die sich sowohl auf https://weewx.com findet als auch in WiKis auf GitHub zu den jeweiligen Treibern. Beispiel: der Treiber für das Ecowitt Konsolen API der GW1x00, GW2000, WN19x0 Konsolen - https://github.com/gjr80/weewx-gw1000/wiki |
\\ Für die HP2551/HP2553 Station (Froggit HP1000SE Pro) gibt es mittlerweile dank unseres Kollegen Werner Krenn auch einen erweiterten Interceptor Treiber (https://www.pc-wetterstation.de/forum/viewtopic.php?f=26&t=10333), mit dem sich alle vom Custom Server bereitgestellten Daten in der Seasons-Skin auswerten und darstellen lassen . | \\ Für die HP2551/HP2553 Station (Froggit HP1000SE Pro) gibt es mittlerweile dank unseres Kollegen Werner Krenn auch einen erweiterten Interceptor Treiber (https://www.pc-wetterstation.de/forum/viewtopic.php?f=26&t=10333), mit dem sich alle vom Custom Server bereitgestellten Daten in der Seasons-Skin auswerten und darstellen lassen . |
\\ Für die Ecowitt GW1000, WH2650, GW1100, GW2000 und WN19x0 Konsolen (auch Gateways, Hubs genannt) gibt es den weewx Ecowitt Gateway Treiber (alter Name: GW1000 API Treiber), der die Daten direkt vom Konsolen-API ausliest. Das Abfrageintervall (Polling) z.B. alle 10 Sekunden wird in der weewx.conf eingetragen. | \\ Für die Ecowitt GW1000, WH2650, GW1100, GW2000 und WN19x0 Konsolen (auch Gateways, Hubs genannt) gibt es den weewx Ecowitt Gateway Treiber (alter Name: GW1000 API Treiber), der die Daten direkt vom Konsolen-API ausliest. Das Abfrageintervall (Polling) z.B. alle 10 Sekunden wird in der weewx.conf eingetragen. |
\\ Der GW1000 API Treiber Version 0.5 (0.5.0b5 - September 2022) unterstützt auch den WS90 Kombisensor und die Möglichkeit, sowohl die Regendaten des WS90 (haptischer Regensensor, "piezo") als auch die eines gleichzeitig in der Konsole registrierten klassischen Regensensors parallel auszulesen. | \\ Der GW1000 API Treiber Version 0.63 (Dezember 2024) unterstützt auch den WS90 Kombisensor und die Möglichkeit, sowohl die Regendaten des WS90 (haptischer Regensensor, "piezo") als auch die eines gleichzeitig in der Konsole registrierten klassischen Regensensors parallel auszulesen. Er kennt noch nicht (Februar 2025) den LDS01 Laser Entfernungsmesser. |
\\ Vorausssetzung für den WS90 auf Konsolenseite: Firmware 1.7.0 (GW1000, WH2650) bzw. Firmware 2.1.4 (GW1100 und GW2000). | \\ Vorausssetzung für den WS90 auf Konsolenseite: Firmware > 1.7.0 (GW1000, WH2650, letzter Stand 1.7.7) bzw. Firmware > 2.1.4 (GW1100 und GW2000). |
| |
Nachstehend ein Beispiel der Seasons-Skin (erstellt mit weewx 4.5.3) - Grundlage: eine Ecowitt 2553 Station mit zusätzlichen Extra-Sensoren, die Sensor-Daten empfangen und verarbeitet von einem zusätzlichen Ecowitt GW1000 und von weewx auf einem Raspberry Pi 4 mit Hilfe des GW1000 API Treibers abgefragt und verarbeitet. | Nachstehend ein Beispiel der Seasons-Skin (erstellt mit weewx 4.5.3) - Grundlage: eine Ecowitt 2553 Station mit zusätzlichen Extra-Sensoren, die Sensor-Daten empfangen und verarbeitet von einem zusätzlichen Ecowitt GW1000 und von weewx auf einem Raspberry Pi 4 mit Hilfe des GW1000 API Treibers abgefragt und verarbeitet. |
(Hierfür gibt es eine erweiterte Version von Gary Rodericks GW1000 0.4.1 API Treibers erstellt von Werner Krenn: https://www.pc-wetterstation.de/forum/viewtopic.php?f=26&t=10333; mittlerweile [April 2022] auch auf den WS90 erweitert. | (Hierfür gibt es eine erweiterte Version von Gary Rodericks GW1000 0.4.1 API Treibers erstellt von Werner Krenn: https://www.pc-wetterstation.de/forum/viewtopic.php?f=26&t=10333; mittlerweile [April 2022] auch auf den WS90 erweitert. |
Mittlerweile gibt es auch den "offiziellen" GW1000 API Treiber in der Version 0.5.0, der ebenfalls den WS90 Sensor via GW1x00 und GW2000 beherrscht. s.o.) | Mittlerweile gibt es auch den "offiziellen" GW1000 API Treiber in der Version 0.6.3, der ebenfalls den WS90 Sensor via GW1x00 und GW2000 beherrscht. s.o.) |
| |
Die Skin bietet links drei Tabellen - Current (=aktuelle Daten), darunter Sonnen- und Mondauf-/-untergangs-Daten, darunter die Min/Max Werte der ausgewählten Darstellung (Standard ist Tag, auswählbar sind auch Woche, Monat, Jahr - entsprechend auch die Grafiken) | Die Skin bietet links drei Tabellen - Current (=aktuelle Daten), darunter Sonnen- und Mondauf-/-untergangs-Daten, darunter die Min/Max Werte der ausgewählten Darstellung (Standard ist Tag, auswählbar sind auch Woche, Monat, Jahr - entsprechend auch die Grafiken) |
\\ | \\ |
Wenn man einen GW1000/DP1500 mit diesem Kombi-Aussensensor und dem weewx GW1000 API Treiber betreibt, muss man einen zusätzlichen Eintrag in der weewx.conf Datei machen, damit die Sonnenstrahlung angezeigt wird (das hat mit der Art und Weise zu tun, wie weewx Sensordaten verarbeitet; der GW1000 liefert nämlich Lichtstärkewerte, die erst in Solarstrahlung umgewandelt werden müssen). Das Gleiche gilt für die WH2650, GW1100, GW2000 und WN19x0 Konsolen, die alle das gleiche API besitzen. | Wenn man einen GW1000/DP1500 mit diesem Kombi-Aussensensor und dem weewx GW1000 API Treiber betreibt, muss man einen zusätzlichen Eintrag in der weewx.conf Datei machen, damit die Sonnenstrahlung angezeigt wird (das hat mit der Art und Weise zu tun, wie weewx Sensordaten verarbeitet; der GW1000 liefert nämlich Lichtstärkewerte, die erst in Solarstrahlung umgewandelt werden müssen). Das Gleiche gilt für die WH2650, GW1100, GW2000 und WN19x0 Konsolen, die alle das gleiche API besitzen. |
\\ In der %%[StdCalibrate] [[Corrections]]%%-Stanza muss der Eintrag **radiation = luminosity/126.7 if luminosity is not None else None** hinzugefügt werden. | \\ In der %%[StdCalibrate] [[Corrections]]%%-Stanza der weewx.conf muss der Eintrag **radiation = luminosity/126.7 if luminosity is not None else None** hinzugefügt werden. |
| <code> |
| [StdCalibrate] |
| [[Corrections]] |
| radiation = luminosity/126.7 if luminosity is not None else None |
| </code> |
\\ | \\ |
\\ | \\ |
\\ extraHumid1 = WH31 CH1 Gewächshaus | \\ extraHumid1 = WH31 CH1 Gewächshaus |
\\ extraHumid2 = WH31 CH2 Kühlschrank | \\ extraHumid2 = WH31 CH2 Kühlschrank |
| \\ |
| \\ ab weewx > 5.0 gibt es alternativ die Möglichkeit, eine Sprachdatei für jede Skin anzulegen. Ist allerdings dann skin-spezifisch und muss beim Benutzen mehrerer Skin auch in jeder einzelnen skin.conf vorgenommen werden. Der weewx.conf Ansatz gilt programmweit, also auch skinübergreifend. |
| \\ für die deutsche Sprache kann man in /etc/weewx/skins/neowx-material/lang (Pfad ggf. abweichend je nach Installationsmethode) eine Textdatei de.conf hinterlegen und in der skin.conf einen Verweis in der (ggf. anzulegenden) Stanza [Extras] vornehmen. |
| <code> |
| [Extras] |
| language = de |
| </code> |
| \\ Danke an @Werner für die Beispieldatei hier: **{{ :wiki:software:de.zip |de.conf}}** (die muss zur Verwendung noch entpackt werden: de.zip --> de.conf - die WiKi-Software erlaubt keine Dateien mit .conf - Endung) |
| \\ |
* in **skin.conf** müssen wir pro Sensor-Typ (Temperatur / Feuchtigkeit) je ein (oder zwei) Grafiken definieren, je nachdem ob wir die Werte zusammen in einer Zeichnung oder auf zwei Zeichnungen verteilt sehen wollen. Zusammen also entweder zwei Grafiken (je eine für Temperatur und Luftfeuchtigkeit - man kann nicht unterschiedliche Einheiten [°C und %] sinnvoll in einer Grafik darstellen) oder vier Grafiken. Diese Definition muss für alle Berichtszeiträume vorgenommen werden, also für Tag, Woche, Monat, Jahr. Für jeden dieser Zeiträume gibt es in skin.conf einen Abschnitt. Man legt die Einträge zunächst nur für den Tag an, und wenn die Darstellung passt, kann man die Einträge für die anderen Zeiträume durch +/- Kopieren vornehmen. | * in **skin.conf** müssen wir pro Sensor-Typ (Temperatur / Feuchtigkeit) je ein (oder zwei) Grafiken definieren, je nachdem ob wir die Werte zusammen in einer Zeichnung oder auf zwei Zeichnungen verteilt sehen wollen. Zusammen also entweder zwei Grafiken (je eine für Temperatur und Luftfeuchtigkeit - man kann nicht unterschiedliche Einheiten [°C und %] sinnvoll in einer Grafik darstellen) oder vier Grafiken. Diese Definition muss für alle Berichtszeiträume vorgenommen werden, also für Tag, Woche, Monat, Jahr. Für jeden dieser Zeiträume gibt es in skin.conf einen Abschnitt. Man legt die Einträge zunächst nur für den Tag an, und wenn die Darstellung passt, kann man die Einträge für die anderen Zeiträume durch +/- Kopieren vornehmen. |
\\ | \\ |