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.

102 lines
3.0 KiB
Markdown

# Vorbereitungen
## Koordinaten vorbereiten
[Bayernatlas](https://geoportal.bayern.de "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
```console
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
```console
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
````console
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
````console
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
```console
cp <files> /etc/systemd/system/
chmod 644 /etc/systemd/system/<file>
```
Anschließend kann das Skript manuell getestet werden mit:
```console
systemctl start <unitname>.service
```
Verläuft dieser Test positiv, kann der Timer gestartet werden:
```console
systemctl start <timername>.timer
systemctl enable <timername>.timer
```