HomeMatic
6 Kommentare

Installation von InfluxDB & Grafana inkl. Verbindung zu ioBroker

Ein SmartHome besteht immer aus einer vielzahl von Sensoren. So hat man viele Temperatursensoren – Lichtsensor – Wind – aber auch Regenmesser. Aber, was tun mit all diesen Daten. Oft nichts – was ja auch okay ist denn warum sollte man den Temperaturwert vom Badezimmer noch 5 Jahre später sich anschauen.

Aber hin und wieder ist es auch interessant diverse Daten miteinander zu vergleichen. Aus diesem Grund (und weil mich viele Newsletterabonennten gefragt haben) möchte ich euch hier einmal kurz Grafana vorstellen.

Grafana?

Richtig – Grafana. Mittels Grafana ist es recht einfach möglich verschiedene Daten miteinander zu vergleichen. So ist es recht einfach möglich zu schauen, wie sich eine Soll-Temperatur in einem Raum auf die Heizung auswirkt:

Temperaturverlauf im Gartenhaus – Blau= SOLL Temperatur – Gelb= IST Temperatur

influxDB Installation

Möchte man Grafana nutzen benötigt man aber eine “richtige” Datenbank um all diese Daten möglichst schnell zur Vergügung zu haben. Hierfür nutze ich in meinem Beispiel influxDB.

Grafana versteht sich aber auch mit MySQL oder ähnlichem gut. Als Basis nutze ich in dem Beispiel den Raspberry Pi 4, welchen wir in meinem Kurs bereits mit der CCU und dem ioBroker versehen haben. Das installierte Image ist ein Debian Image, weswegen wir diese Schritte hier nun nach und nach nutzen.

Als erstes verbinden wir uns mit SSH / dem Terminal mit dem RaspberryPi und fügen diese Quelle der Repo zu:

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Danach die Installation durchführen mit diesen beiden Befehlen:

sudo apt-get update
sudo apt-get install influxdb

Und als letzten Schritt erstmal die Datenbank starten:

service influxdb start

Ist diese nun gestartet, so können wir uns mit dem folgenden Befehl einfach diese öffnen:

influx

Nun in der Datenbank selbst die Benutzer sowie die Datenbank anlegen. Zuletzt geben wir noch dem “user” das Recht auf die Datenbank zuzugreifen. Wichtig – adminpassword und userpassword entsprechend tauschen:

CREATE USER "admin" WITH PASSWORD '<adminpassword>' WITH ALL PRIVILEGES
CREATE USER "user" WITH PASSWORD '<userpassword>'
CREATE DATABASE "iobroker"
GRANT ALL ON "iobroker" TO "user"

Mit “exit” einfach das Datenbankprogramm wieder schliessen. Ist dies erledigt, so müssen wir nun noch die Zugriffskontrolle auf die Datenbank anpassen. Hierfür öffnen wir den Editor mit dem Befehl:

sudo nano /etc/influxdb/influxdb.conf

Und passen hier weiter unten die Rechte an:

[http]  
 enabled = true  
 bind-address = ":8086"  
 auth-enabled = true
 log-enabled = true  
 write-tracing = false  
 pprof-enabled = false  
 https-enabled = false  
 https-certificate = "/etc/ssl/influxdb.pem"  

Zuletzt dann nur noch den Service neu starten:

service influxdb restart

Grafana installieren

Da nun die Datenbank installiert ist können wir uns um das Grafana Tool kümmern. Hierfür als erstes die sources.list anpassen. Dies musst Du ggf. gar nicht machen, wenn Du alles auf einem anderen Image installierst. Nutzt Du jedoch die im Kurs vorgestellte Zentrale, so muss die Datei angepasst werden:

sudo nano /etc/apt/sources.list

Hier die folgenden Quellen hinzufügen:

deb http://archive.raspbian.org/raspbian buster main contrib non-free
deb-src http://archive.raspbian.org/raspbian buster main contrib non-free

Mit STRG + X den Editor wieder verlassen und danach die Paketquellen aktuallisieren:

sudo apt-get update

Jetzt können wir eine benötigte Library installieren mit dem folgenden Befehl:

sudo apt-get install -y adduser libfontconfig1

Und schlussendlich die Installation vom Grafana Server durchführen mit den folgenden zwei Befehlen:

wget https://dl.grafana.com/oss/release/grafana-rpi_6.6.1_armhf.deb
sudo dpkg -i grafana-rpi_6.6.1_armhf.deb

Falls der Server nicht gestartet ist – diesen befehl ausführen

sudo service grafana-server start

Schon ist die Installation abgeschlossen und wir können die Grafana Weboberfläche öffnen:

http://DEINEIP:3000/

Verbindung mit ioBroker

Da nun die Grafana Installation beendet ist und die Influx DB läuft kümmern wir uns nun um den ioBroker. Hier gibt es bereits einen Adapter, den wir einfach installieren können. Der Vollständigkeithalber hier noch der Link für weitere Infos: https://github.com/ioBroker/ioBroker.influxdb

Diese Einstellungen habe ich hier getätigt:

Weisen wir nun Objekten im ioBroker noch zu, dass die Daten in der InfluxDB gespeichert werden, so können wir sie nun in Grafana auswerten. Aber einen Schritt haben wir hier noch vergessen – die Konfiguration in Grafana anzupassen:

Nun bist Du in der Lage ebenso Auswertungen in Grafana zu erstellen. Viel Spaß!

Video:

Links:

Weitere Infos zur InfluxDB Installation: https://docs.influxdata.com/influxdb/v1.7/introduction/installation/

Update – 24.2.2020

Sollte es Probleme bei der Installation bzw. Erstellung der Datenbank geben, so hat mir hierzu ein Zuschauer eine Lösung geschickt. Der Fehler war der folgende:

ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.

Please set a database with the command "use <database>".

Die Lösung ist dann die folgende. Einfach diese Befehle eintragen. Gibt man übrigens help ein, so erhält man eine Liste mit vielen weiteren Befehlen die hier helfen können!

Nach dem Start der Datenbank mit "influx"
1. "auth" eingeben zur Identifizierung in der Datenbank. 
2. dann username und Passwort eingeben (wird abgefragt)
3. mit "show database" die vorhandenen Datenbanken anzeigen lassen.
4. eventuell mit "create iobroker" eine neue Datenbank anlegen wenn iobroker noch nicht aufgeführt wird.
5. "use iobroker" eingeben. 
Jetzt können die Schritte in der Anleitung oben ohne Fehlermeldung durchgeführt werden.
Vielleicht auch interessant?
Aktuelle Seminare:
HomeMatic

Weitere ähnliche Beiträge auf verdrahtet.info:

6 Kommentare. Hinterlasse eine Antwort

  • Hallo, ich habe nach deiner Anleitung und Video jetzt auch Grafana installiert, funktioniert auch alles.
    leider startet Grafana nicht nach einem Reboot des Raspberry.
    Ich muss mich immer per SSH auf dem Raspberry anmelden und mit:
    sudo service grafana-server start

    neu starten.

    was kann ich tun damit der Grafana Server automatisch startet?

    Antworten
    • Hallo Andreas,

      bei mir hat auf Raspian Buster folgendes geklappt:

      sudo /bin/systemctl daemon-reload
      sudo /bin/systemctl enable grafana-server

      Gruß Tom

      Antworten
  • Hallo Tom,
    danke für deine Super Anleitung und Video, der Autostart funktioniert jetzt auch, mit deinen sudo befehlen.

    Ein Problem habe ich noch, evtl. hast du eine Idee wie ich das lösen kann:
    da es hier nicht möglich ist Bilder usw. einzufügen habe ich schon vor zwei Tagen im ioBroker Forum einen Beitrag erstellt:

    https://forum.iobroker.net/topic/30266/grafana-mit-zwei-influxdb-datenbanken

    evtl. hast du Lust und auch die Zeit dir dies anzuschauen.
    Vielen Dank schon mal

    Gruß Andreas

    Antworten
  • Wie kann man ein Dashbard in iobroker.vis einbinden? iframe und einfaches HTML haben bei mir nicht funktioniert.

    Antworten
  • Hallo, vielen Dank für das tolle Tutorial. Hat soweit alles geklappt und seit 2 Tagen wird alles fleissig mitgeloggt und ausgewertet. Hab dazu zwei Fragen. Erstens, im Falle ich muss mal meinen ioBroker neu installieren, wie kann man die Influx Datenbank sichern bzw wieder einspielen?
    Die zweite Frage, ich möchte gern die Benutzung von Geräten auswerten, z.B wie lange hat eine Lampe geleuchtet. Dazu hab ich von der Lampe den State Power genommen und lasse die von InfluxDB aufzeichnen. Nur bekomme ich keine Grafische Auswertung hin. Hast du einen Tipp, wie man sowas darstellen kann? Sprich es gibt die beiden werte true und false und die möchte ich gern optisch auf einer Zeitschiene auswerten. Danke

    Antworten
  • Hallo,
    dank dieser Seite und dem Video auf Youtube hat es super geklappt. Ich glaube nur das du hier auf der Seite noch 2 Befehle korrigieren musst.
    Zumindestens gab es da bei mir Probleme.

    “Und als letzten Schritt erstmal die Datenbank starten:
    service influxdb start”
    und
    “Zuletzt dann nur noch den Service neu starten:
    service influxdb restart”

    davor muss glaube ich noch sudo eingegeben werden zumindestens in deinem Video machst du es auch.
    Wenn ich falsch liege dann einfach Kommentar löschen.
    Schöne Grüße
    Christian

    Antworten

Schreibe einen Kommentar

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

Bitte füllen Sie dieses Feld aus
Bitte füllen Sie dieses Feld aus
Bitte gib eine gültige E-Mail-Adresse ein.

Menü