# 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 /etc/systemd/system/ chmod 644 /etc/systemd/system/ ``` Anschließend kann das Skript manuell getestet werden mit: ```console systemctl start .service ``` Verläuft dieser Test positiv, kann der Timer gestartet werden: ```console systemctl start .timer systemctl enable .timer ```