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
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
|
|
```
|
|
|
|
|