ioBroker Daten mit InfluxDB und Grafana visualisieren
Die Visualisierungsmöglichkeiten von ioBroker sind leider ser beschänkt was Graphen angeht, genau wie das ablegen von zeitlichen Datenreihen. Daher wäre es doch nicht schlecht die erfassten Daten zyklisch in eine timeseries Datenbank zu schreiben und mit Grafana zu visualisieren.
Um den Aufbau einfach zu halten und die einzelnen Daten zu trennen verwende ich meine Proxmox Container Umgebung. Das Ganze kann man natürlich auch auf einem Raspberry Pi 4 realisieren, dann einfach die Container Schritte überspringen.
Zwei neue Proxmox Container für InfluxDB und Grafana anlegen
Einmal
Installation der InfluxDB
InfluxDB installieren und starten
Der Einfachheit halber nehmen wir die bei Ubuntu enthaltene Version. Damit sparen wir uns Update Arbeit (fehlende Pakete etc). Und wir können alles bequem mit apt update aktualisieren.
sudo apt update sudo apt upgradesudo
apt-get update && sudo
apt-get install
influxdb
sudo service influxdb start sudo apt install influxdb-client
Auf der influx Console mit influx anmelden.
influx
Die User anlegen
create user "admin" with password 'ultra-sicheres-passwort' with all privileges create user "user_iobroker" with password 'total-sicheres-passwort' create database "iobroker" grant all on "iobroker" to "user_iobroker" quit
Den Fernzugitff via Port und http erlauben
sudo vi /etc/influxdb/influxdb.conf
nach http suchen und folgende Werte anpassen
[http] enabled = true bind-address = ":8086" auth-enabled = true log-enabled = true write-tracing = false pprof-enabled = false https-enabled = false
Danach die DB neu starten.
sudo service influxdb restart
Damit wäre Schritt Eins abgeschlossen
InfluxDB an ioBroker anbinden
Den InfluxDB Adapter installieren
Danach landet man im Konfig-Screen in den wir die Daten von der InfluxDB eintragen.
Danach die Verbindung testen. Es erscheint nur folgendes unscheinbares “Ok”.
Kurz danach sollte die gerade erzeugte Instanz auf grün springen
ioBroker: Time-series Daten erzeugen und speichern
Das entsprechende Objekt und dessen Wert suchen. In meinem Fall eine Meross Funksteckdose.
Dann auf das unscheinbare Zahnrad klicken.
Damit landen die Werte in der Datenbank und der Schritt “ioBroker mit InfluxDB verbinden” ist abgeschlossen.
Grafana Setup
Grafana Container starten und anmelden
Grafana installieren
Leider gibt es für Ubuntu 20.04 LTS kein direktes Installationspaket für Grafana, daher muss die Paketquelle von Hand angegeben werden. Ich folge hier der Anleitung von Grafana: https://grafana.com/docs/grafana/latest/installation/debian/ und
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-grafana-on-ubuntu-20-04-de
Das funktioniert mit folgendem Script:
sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list sudo apt-get update sudo apt-get install grafana-enterprise
Danach den Grafana Service aktivieren und starten
sudo /bin/systemctl start grafana-server sudo service grafana-server start
Wenn alles geklappt hat ist Grafana dann unter Port 3000 erreichbar.
Das Passwort sollte man tunlichst sofort ändern.
InfluxDB mit Grafana verbinden
Datenquelle wählen
Damit ist der Schritt “InfluxDB mit Grafana verbinden” abgeschlossen
ioBroker Daten in Grafana darstellen
Einen Grafana Time Series Graph anlegen
Time Series Graph anlegen
Fertig!!
Die Daten von ioBroker werden in der InfluxDB gespeichert und Grafana visualisiert.
Setup Zeit insgesamt rund 3 Stunden (mit schreiben dieser Dokumentation) also quasi an einem Mittag erledigt.
Hallo Hagen danke für Deine tolle Anleitung,
ich hänge zur Zeit an folgenden Punkt:
echo “deb https://packages.grafana.com/enterprise/deb stable main” | sudo
meine unter Ubuntu 20.04.4 LTS, fest.
Hast Du dafür eine Lösung?
Gruß Hans-Jürgen
Hallo Hans-Jürgen,
Die Zeile
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
besteht ja aus mehreren Elementen. Aber das Ziel ist einfach die Grafana-Paketquelle in die Liste der Paketquellen aufzunehmen.
Du kannst einfach die Datei “/etc/apt/sources.list.d/grafana.list” von Hand anlegen mit
sudo nano /etc/apt/sources.list.d/grafana.list
und den Text
deb https://packages.grafana.com/enterprise/deb stable main
eintragen.
Das war’s dann auch schon.
Danach wie beschrieben:
sudo apt-get update
sudo apt-get install grafana-enterprise
Hallo Hagen,
danke für Deine schnelle Antwort.
Gruß Hans-Jürgen
Könnte jemand Mal bitte eine Erklärung geben wie ich die Daten die in influxdb vom iobroker gespeichert werden in grafana mit varibablen abrufen kann?
PS kann man mit iobroker auch Tags mit geben? Influxdb 1 nicht der neue adapter
Danke im Vorfeld 😉
Bei mir kommt immer folgender Fehler:
nfluxdb.0
2023-08-10 14:20:19.635 error Error: 404 page not found
influxdb.0
2023-08-10 14:20:19.619 info Influx DB Version used: 1.x
influxdb.0
2023-08-10 14:20:19.618 info Connecting http://localhost:8086/ …
Hat jemand einen Tip
Hallo Ulrich, leider kann ich Dir da nicht helfen 🙁
Hallo …
Ich habe Raspberry OS (Lite, 64bit), den IOBroker, INFluxDB und Grafana installiert. Nicht alles ohne ‘warnings’ und auch unter Zurhilfename anderer Seiten. Soweit sogut.
Als weiteren (letzten) Schritt sollte nun die Datenbank als Datenquelle in Grafana zugewiesen werden. Das geht schief: “bad request data”. Im Abschnitt HTTP wird unter url ausgewiesen und rot eingekringelt. Des weiteren ist der Eintrag nicht änderbar.
Was tun?
PS: Ich habe auf einem weitern Raspi die ‘solaranzeige’ laufen – dort kann Grafana auf die INFlux DB des ‘iobroker’ Raspi verbinden (also die entsprechende IP eingeben).
Dieter
Habe meine Unfähigkeit final gefunden … das “http…” feld kann man doch editieren. War zu einfach: einfach reinklicken und dann losschreiben.
Naja, scheint ja erst mal hier keinem Mühe gemacht zu haben, Dieter
Ja, ja manchmal hilft es zwei Tage Gras darüber wachsen zu lassen und mit einem frischen Blick wieder zu Werke zu gehen.