FHEM Tutorial-Reihe - Part 62: Grafana-Integration

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

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

FHEM-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.



Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele exklusive Vorteile:

  • 5€-Gutschein für den Online-Shop
  • Zugang zu exklusiven Inhalten
  • Angebote für Produkte
  • Immer auf dem Laufenden

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.