Projekt: Grafana als Dashboard-Lösung
Grafana dient zur grafischen Aufbereitung deiner geloggten Daten. Im Beispiel Smart-Home kann das alles mögliche sein: Wetterdaten, Anwesenheiten, Bodenfeuchtigkeit, Helligkeit, usw. Der Phantasie sind keine Grenzen gesetzt! Dabei kann man im Standard ganz viele verschiedene Visualisierungsmöglichkeiten wählen. Meine normalen SVG-Plots in FHEM haben jedenfalls erstemal ausgedient! Grafana ist genau dafür gebaut. Und im Ernst: Wie oft schaut man schon in seine FHEM-Oberfläche? Viel eher nutzt man dann natürlich TabletUI oder ähnliche Lösungen.
Was Du benötigst?
- Ein Raspberry Pi
- Ein Datenbank als Datenquelle (fhem DB-Log im Video)
Video
Befehle
Installiert wird das Ganze im Video auf einem Raspberry Pi 3 B+ unter Raspbian Stretch.
Für die Installation bin ich nach der offiziellen Dokumentation vorgegangen. Am besten einmal dort schauen, ob dies noch der aktuelle Weg ist. Falls nicht, bitte auf die Dokumentation dort zurückgreifen. Über APT habe ich eine sehr alte Version bekommen (2.6), daher habe ich das Debian-Paket genutzt.
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.4_armhf.deb
sudo dpkg -i grafana_5.2.4_armhf.deb
Hier ein Beispiel, wie ein Select-Statement aus der FHEM-History-Datenbank aussehen kann. Metric ist eine optionale Spalte und kann natürlich auch weggelassen werden.
SELECT
UNIX_TIMESTAMP(`TIMESTAMP`) as time_sec,
CAST(`VALUE` AS DECIMAL(10, 6)) as value,
'PM2.5' as metric
FROM `history`
WHERE $__timeFilter(`TIMESTAMP`) AND `DEVICE` = 'Luftdaten' AND `READING` = 'PM2.5'
ORDER BY `TIMESTAMP` ASC
Docker
Und da gefragt wurde: Hier der Auszug aus meiner Docker-Compose.
grafana:
restart: always
expose:
- "3000"
ports:
- "4000:3000"
image: grafana/grafana:5.2.4
environment:
- GF_SECURITY_ADMIN_PASSWORD=Ma2X3cBA4zDB7qQ3K
volumes:
- ./grafana/data:/var/lib/grafana
networks:
- fhem-network