FHEM Tutorial-Reihe - Part 62: Grafana-Integration

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Achtung: Dieser Inhalt ist nicht mehr aktuell! Es ist nicht empfohlen nach dieser Anleitung vorzugehen.
FHEM Tutorial-Reihe - Part 62: Grafana-Integration
FHEM Tutorial-Reihe - Part 62: Grafana-Integration
  • 04.11.2018
  • Veraltet!
  • Hardware
  • Integration

Vor einiger Zeit habe ich ja schonmal die Grafana-Installation vorgestellt. In diesem Video habe ich auch gezeigt, wie man Daten aus der mySQL Fhem-History-DB darstellen kann. Das Thema kam super bei Euch an und wird daher heute weiter vorgestellt. Also geht es um die Integration in FHEM und in TabletUI. Als Bonus zeige ich dann noch, wie man sogar die aktuellen Graphen aus Grafana per Telegram versenden kann. Alles ist am Ende einfacher als gedacht, man muss nur wissen wie es geht. Dafür findest Du wie immer alle Befehle im nachfolgenden Artikel.

Was wird benötigt?

  • Eine FHEM-Installation
  • Eine Grafana-Installation

Video

ioBroker-Kurs

Befehle

Damit man ohne Benutzername und Passwort auf die Grafana-Installation zugreifen kann, muss als erstes der anonyme Zugriff aktiviert werden. Dazu habe ich (wie im Video gezeigt) die folgenden Zeilen angepasst:

[auth.anonymous]
# enable anonymous access
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = haus-automatisierung.com

# specify role for unauthenticated users
org_role = Viewer

Wichtig ist, dass man danach die Default-Organization in der Konfiguration auf den gleichen Wert setzt, wie hier angegeben

In neueren Versionen von Grafana muss man noch allow_embedding auf true setzen.

Danach kann man z.B. einen iFrame in FHEM definieren, um dann die Share-URL aus Grafana dort zu hinterlegen. Natürlich sollte man die Haken für den aktuellen Zeitpunkt vorher entfernen - ansonsten wird sich in Zukunft nicht ganz so viel tun.

Die Größe des Fensters kann dann über das Attribut htmlattr gesteuert werden.

define WEB_GrafanaTest weblink iframe http://192.168.178.11:4000/d-solo/lDQepBTiz/smart-home?orgId=1&panelId=4
attr WEB_GrafanaTest htmlattr width="800" height="500"

Für mich ist das spannendste eigentlich, dass ich mir die Graphen auch per Telegram unterwegs zusenden lassen kann. Wie man auf Text-Nachrichten in Telegram antwortet, habe ich im Telegram-Video schon ausführlich erklärt. Ansonsten finde ich die Kombination mit der Funktion GetHttpFile ganz spannend, da man so auch Bilder von anderen Systemen über HTTP laden kann und diese dann direkt verschickt werden. So spart man sich einen Schritt dazwischen und muss nicht mit dem IPCAM-Modul oder irgendwelchen wget und sleep-Kombinationen arbeiten um eine Datei zu verschicken.

Das hier vorgestellte Prinzip funktioniert natürlich mit allen Bilddateien, welche per HTTP abgeholt werden können und ist somit nicht auf Grafana beschränkt. Kann also auch für IP-Kameras usw. genutzt werden.

set WEB_Telegram cmdSend {GetHttpFile('192.168.178.11:4000', '/render/d-solo/lDQepBTiz/smart-home?orgId=1&panelId=4&width=500&height=500&tz=Europe%2FBerlin')}

Das Einbinden von iFrames auf Webseiten, welche über HTTPS aufgerufen werden, wird von den meisten Browsern abgelehnt. Aus Sicherheitsgründen werden auf sicheren Seiten keine unsicheren Inhalte über unverschlüsselte Verbindungen nachgeladen. Das gleiche gilt für alle Ressourcen, nicht nur für iFrames. Andersrum funktioniert das natürlich wunderbar - also HTTPS-Inhalte auf HTTP-Seiten funktioniert auch.

Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 15.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.