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.

10 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
  2. Ulrich Kotitschke
    Ulrich Kotitschke sagte:

    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

    Antworten
  3. Dieter Fernau
    Dieter Fernau sagte:

    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

    Antworten
  4. Dieter Fernau
    Dieter Fernau sagte:

    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

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar zu Hans-Jürgen Misamer Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert