db79d903aa | 2 years ago | |
---|---|---|
db | 5 years ago | |
doc | 5 years ago | |
systemd_files | 5 years ago | |
.gitattributes | 5 years ago | |
.gitignore | 2 years ago | |
LICENSE | 5 years ago | |
README.md | 5 years ago | |
db_postgrest.py | 2 years ago | |
eigene_wetterdaten.py | 5 years ago | |
feinstaub.py | 5 years ago | |
grafana_export.py | 2 years ago | |
messwerte_umrechner.py | 5 years ago | |
requirements.txt | 5 years ago | |
setup_logging.py | 2 years ago | |
vorlage_wetterconfig.toml | 5 years ago | |
weewx_db_model.py | 2 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