You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hofei90 73188fcb78 Initial Commit 5 years ago
db Initial Commit 5 years ago
doc Initial Commit 5 years ago
systemd_files Initial Commit 5 years ago
.gitattributes Initial Commit 5 years ago
.gitignore Initial Commit 5 years ago
LICENSE Initial commit 5 years ago
README.md Initial Commit 5 years ago
db_postgrest.py Initial Commit 5 years ago
eigene_wetterdaten.py Initial Commit 5 years ago
feinstaub.py Initial Commit 5 years ago
grafana_export.py Initial Commit 5 years ago
messwerte_umrechner.py Initial Commit 5 years ago
requirements.txt Initial Commit 5 years ago
setup_logging.py Initial Commit 5 years ago
vorlage_wetterconfig.toml Initial Commit 5 years ago
weewx_db_model.py Initial Commit 5 years ago

README.md

Vorbereitungen

Koordinaten vorbereiten

Bayernatlas besuchen, Adresse der Station eingeben, Koordinaten werden später benötigt. Kooardinaten müssen dem Administrator bei der Stationsregistrierung mittgeteilt werden.

Installation Client Skripte

Python

Es wird mindestens Python 3.7+ vorausgesetzt

Benötigte Python Module installieren

apt install python3-systemd
git clone https://git.pertl-ing.de/Hofei/weewx_to_grafanaserver.git /home/pi/weewx_to_grafanaserver
pip3 install -r requirements.txt

Bei der Installation ist gegenfalls zu achten die Module für den passenden User zu installieren (bsp. sudo pip3 install ... oder pip3 install --user). Die beiliegenden Service Units sind für den User root ausgelegt

Es empiehlt sich folgenden Pfad zu verwenden, da hierfür die Service Units schon vorbereitet sind, Abweichungen müssen angepasst werden /home/pi/weewx_to_grafanaserver.

Konfiguration anpassen

cp vorlage_wetterconfig.toml wetterconfig.toml
nano wetterconfig.toml

Inbetriebnahme

Da WeeWx in der Standardinstallation mit root Rechten läuft, so benötigen auch diese Skripte root Rechte um auf die Datenbank von WeeWx zugreifen zu können. Somit empfiehlt es sich die root Crontab zu verwenden (sudo crontab -e)

Anstelle der Verwendung der Crontab liegen im Repository für jedes Exportskript eine Systemd Service Unit mit Timer Unit bei. Dies stellt den moderneren Weg dar. Hierfür die universelle Anleitung unter dem Punkt Systemd Unit beachten

grafana_export.py

Datei erstmals manuell ausführen. Erste Ausführung wird je nach Weewx Datenbank- größe viel Zeit in Anspruch nehmen. --> Geduldig abwarten! Nach der erfolgreichen ersten Übertragung der Wetterdaten aus der Weewx Datenbank einen Cronjob mit dem gewünschten Ausführintervall erstellen (Standardmäßig alle 5 Minuten)

Cronjob

crontab -e

*/5 * * * * python3 /home/pi/weewx_to_grafanaserver/grafana_export.py

Feinstaubsensor (Optional)

Wer einen Feinstaubsensor hat, die URL in der Konfigurationsdatei hinterlegen und feinstaub.py direkt aufrufen, entweder mit Cronjob oder Systemd Service Unit

Cronjob

crontab -e

*/5 * * * * python3 /home/pi/weewx_to_grafanaserver/feinstaub.py

Hinweis: Grafana kann nur nach erfolgreicher Stationsregistrierung funktionieren. Hierfür den Administrator kontaktieren mit Besitzer, Stationsname und Koordinaten

Systemd Unit

Alternativ zur Crontab kann eine Systemd Unit verwendet werden. Hierfür die zugehörigen Dateien mit der Endung .service und .timer im systemd_files Ordner nach /etc/systemd/system kopieren und die Rechte anpassen

cp <files> /etc/systemd/system/
chmod 644 /etc/systemd/system/<file>

Anschließend kann das Skript manuell getestet werden mit:

systemctl start <unitname>.service

Verläuft dieser Test positiv, kann der Timer gestartet werden:

systemctl start <timername>.timer
systemctl enable <timername>.timer