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

2x Container erstellen
InfluxDB und Grafana

Installation der InfluxDB

InfluxDB Container starten und anmelden

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 upgrade
sudo 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 
Werte ändern und mit <esc> :wq! beenden

Danach die DB neu starten.

sudo service influxdb restart

Damit wäre Schritt Eins abgeschlossen

InfluxDB an ioBroker anbinden

Den InfluxDB Adapter installieren

Den InfluxDB Adapter installieren

Danach landet man im Konfig-Screen in den wir die Daten von der InfluxDB eintragen.

Je nach Netzwerk-Config muss man statt dem Namen evtl. die direkt die IP eintragen

Danach die Verbindung testen. Es erscheint nur folgendes unscheinbares “Ok”.

Kurz danach sollte die gerade erzeugte Instanz auf grün springen

Grün ist gut.

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.

Objekt suchen -> Zahnrad klicken.
Werte ändern und speichern

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.

Adresse: http://grafana.local:3000/login
Benutzername: admin
Passwort: admin

Das Passwort sollte man tunlichst sofort ändern.

Sicheres Passwort vergeben
Der Homebildschirm von Grafana

InfluxDB mit Grafana verbinden

Datenquelle wählen

Add Data Source klicken
InfluxDB wählen
URL in http://influxdb.local:8086/ ändern
Save & Test klicken

Damit ist der Schritt “InfluxDB mit Grafana verbinden” abgeschlossen

ioBroker Daten in Grafana darstellen

Create Dashboard klicken
Add new Panel

Einen Grafana Time Series Graph anlegen

Die leere Auswahl

Time Series Graph anlegen

Datenquelle wählen
Ab diesem Zeitpunkt werden die Werte angezeigt

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.

5 Kommentare
    • Hagen Glötter
      Hagen Glötter sagte:

      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

      Antworten
  1. Peter
    Peter sagte:

    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 😉

    Antworten
    • Hagen Glötter
      Hagen Glötter sagte:
      1. In ioBroker den influxDB Adaprte installiern
      2. Eine Instanz davon anlegen
      3. Daten in den Instanzeinstellungen der influxdb.0 einstellen (Server, Nutzer, PW, usw.)
      4. Verbindung testen. Und das war’s dann auch schon
      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar zu Hagen Glötter Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht.