Home Assistant kann den Verlauf von Sensoren bereits selbst darstellen. Für umfangreiche Langzeitauswertungen, frei gestaltbare Diagramme und den Vergleich größerer Zeiträume bietet sich jedoch die Kombination aus InfluxDB und Grafana an.
InfluxDB übernimmt dabei die langfristige Speicherung der Messwerte. Grafana liest diese Daten aus und stellt sie als Diagramme, Statistiken, Tabellen oder komplette Dashboards dar.
In diesem Tutorial installieren wir beide Anwendungen direkt unter Home Assistant OS. Ein zusätzlicher Server, ein NAS oder eine separate Docker-Umgebung wird dafür nicht zwingend benötigt.
- InfluxDB direkt unter Home Assistant OS installieren
- Eine Datenbank für Home Assistant anlegen
- Ausgewählte Entitäten langfristig speichern
- Grafana installieren und mit InfluxDB verbinden
- Ein erstes Diagramm erstellen
- Leistungs- und Speicherbedarf begrenzen
Inhalt
- Welche Aufgabe übernimmt welche Komponente?
- Voraussetzungen
- InfluxDB installieren
- Datenbank und Benutzer anlegen
- InfluxDB mit Home Assistant verbinden
- Nur benötigte Entitäten speichern
- Gespeicherte Daten überprüfen
- Grafana installieren
- InfluxDB als Datenquelle einrichten
- Das erste Diagramm erstellen
- Systemlast und Speicherverbrauch reduzieren
- Optionaler externer Server
Grundlagen
Welche Aufgabe übernimmt welche Komponente?
Home Assistant, InfluxDB und Grafana erfüllen drei unterschiedliche Aufgaben.
Home Assistant
│
│ überträgt Zustandsänderungen
▼
InfluxDB
│
│ stellt gespeicherte Messwerte bereit
▼
Grafana
- Home Assistant empfängt die Werte deiner Geräte und Sensoren.
- InfluxDB speichert ausgewählte Zustandsänderungen als Zeitreihendaten.
- Grafana fragt diese Daten ab und stellt sie grafisch dar.
Grafana zeichnet selbst keine Home-Assistant-Daten auf. Die eigentliche Aufzeichnung und Speicherung übernimmt InfluxDB.
Wichtig
InfluxDB und Grafana benötigen zusätzliche Ressourcen
InfluxDB und Grafana können direkt auf derselben Hardware wie Home Assistant betrieben werden. Sie teilen sich dann allerdings die vorhandene Prozessorleistung, den Arbeitsspeicher und den Speicherplatz mit Home Assistant.
InfluxDB schreibt für jede übertragene Zustandsänderung einen neuen Datenpunkt. Je mehr Entitäten aufgezeichnet werden und je häufiger sich deren Werte ändern, desto schneller wächst die Datenbank.
Grafana speichert die Sensordaten zwar nicht selbst, benötigt aber ebenfalls Leistung. Große Dashboards, lange Abfragezeiträume, viele gleichzeitig sichtbare Diagramme und sehr kurze Aktualisierungsintervalle verursachen zusätzliche Datenbankabfragen.
- Nur tatsächlich benötigte Entitäten an InfluxDB übertragen.
- Nicht pauschal alle Home-Assistant-Sensoren aufzeichnen.
- Grafana-Dashboards nicht jede Sekunde aktualisieren.
- Den freien Speicherplatz regelmäßig kontrollieren.
- Regelmäßige vollständige Backups erstellen und extern speichern.
- Bei einem Raspberry Pi für größere Datenmengen möglichst eine SSD verwenden.
01
Voraussetzungen
Für dieses Tutorial benötigst du eine Installation von Home Assistant OS mit Zugriff auf die integrierte App-Verwaltung.
- Home Assistant OS auf einem Home Assistant Green
- Home Assistant Yellow
- Raspberry Pi mit Home Assistant OS
- Mini-PC oder virtuelle Maschine mit Home Assistant OS
- Administratorzugriff auf Home Assistant
- Zugriff auf die Datei
configuration.yaml - Ausreichend freier Speicherplatz
Die Datei configuration.yaml kann beispielsweise mit der App Studio Code Server, dem File Editor, über Samba oder über ein Terminal bearbeitet werden.
Hinweis
Home Assistant Container besitzt keine App-Verwaltung
Bei einer reinen Home-Assistant-Container-Installation können InfluxDB und Grafana nicht über die Home-Assistant-App-Verwaltung installiert werden.
In diesem Fall müssen beide Anwendungen separat als Docker-Container, virtuelle Maschine oder auf einem anderen Server betrieben werden. Der grundsätzliche Aufbau bleibt trotzdem gleich.
02
InfluxDB installieren
Öffne in Home Assistant die App-Verwaltung:
Einstellungen → Apps → App installieren
Suche dort nach InfluxDB. Die Anwendung befindet sich im Repository der Home Assistant Community Apps.
- Öffne den Eintrag InfluxDB.
- Klicke auf Installieren.
- Aktiviere nach der Installation Beim Systemstart starten.
- Optional kannst du den Watchdog aktivieren.
- Starte die InfluxDB-App.
- Kontrolliere im Bereich Protokoll, ob die Anwendung fehlerfrei gestartet wurde.
- Öffne anschließend die Weboberfläche.
Die InfluxDB-App enthält zusätzlich Chronograf. Diese Verwaltungsoberfläche verwenden wir zum Anlegen der Datenbank, zum Erstellen von Benutzern und zum Überprüfen der gespeicherten Messwerte.
Tipp
Die Option Authentifizierung sollte in der Konfiguration der InfluxDB-App aktiviert bleiben. Eine Datenbank ohne Benutzeranmeldung ist auch in einem privaten Heimnetz keine gute Lösung.
03
Datenbank und Benutzer anlegen
Öffne die Weboberfläche der InfluxDB-App. In der linken Navigation befindet sich der Bereich InfluxDB Admin.
Datenbank erstellen
- Öffne InfluxDB Admin.
- Wechsle zum Bereich Databases.
- Erstelle eine neue Datenbank.
- Verwende als Namen beispielsweise
homeassistant.
Benutzer für Home Assistant erstellen
- Wechsle in den Bereich Users.
- Erstelle einen Benutzer mit dem Namen
homeassistant. - Vergib ein sicheres Passwort.
- Erteile dem Benutzer für die Datenbank
homeassistantdie Berechtigung ALL.
Benutzer für Grafana erstellen
Grafana benötigt nur lesenden Zugriff auf die gespeicherten Daten. Deshalb erstellen wir einen zweiten Benutzer.
- Erstelle einen Benutzer mit dem Namen
grafana. - Vergib ein eigenes sicheres Passwort.
- Erteile diesem Benutzer nur Leserechte auf die Datenbank
homeassistant.
| Verwendung | Benutzer | Berechtigung |
|---|---|---|
| Home Assistant | homeassistant | Lesen und Schreiben |
| Grafana | grafana | Nur lesen |
Sicherheit
Verwende für Home Assistant und Grafana getrennte Benutzer. Dadurch erhält jede Anwendung nur die Berechtigungen, die sie tatsächlich benötigt.
04
InfluxDB mit Home Assistant verbinden
Die Verbindung zur Datenbank wird in aktuellen Home-Assistant-Versionen über die Benutzeroberfläche eingerichtet.
Einstellungen → Geräte & Dienste → Integration hinzufügen → InfluxDB
Wähle die Konfiguration für InfluxDB 1.x und trage die Verbindungsdaten ein.
| Einstellung | Wert |
|---|---|
| URL | http://a0d7b954-influxdb:8086 |
| Benutzername | homeassistant |
| Passwort | Das zuvor vergebene Passwort |
| Datenbank | homeassistant |
| SSL überprüfen | Deaktiviert |
Der Hostname a0d7b954-influxdb ist die interne Adresse der InfluxDB-App innerhalb von Home Assistant OS.
Nach erfolgreicher Einrichtung erscheint InfluxDB unter den eingerichteten Integrationen.
Wichtig
Verbindungsdaten nicht mehr vollständig in YAML eintragen
Ältere Anleitungen zeigen häufig eine vollständige InfluxDB-Konfiguration mit Hostname, Port, Datenbank, Benutzername und Passwort in der Datei configuration.yaml.
Diese Verbindungsdaten werden inzwischen über die InfluxDB-Integration in der Benutzeroberfläche eingerichtet. In der YAML-Datei bleiben nur zusätzliche Optionen wie Filter, Tags oder Messwertattribute.
05
Nur benötigte Entitäten speichern
Home Assistant kann Zustandsänderungen aller Entitätstypen an InfluxDB übertragen. Das bedeutet allerdings nicht, dass jede Entität langfristig gespeichert werden sollte.
Gerade auf kleiner Hardware sollte die Auswahl bewusst begrenzt werden. Dazu wird in der Datei configuration.yaml ein Include-Filter angelegt.
influxdb:
include:
entities:
- sensor.aussentemperatur
- sensor.wohnzimmer_temperatur
- sensor.stromverbrauch_gesamt
Die verwendeten Entitäts-IDs sind Beispiele und müssen durch die IDs deiner eigenen Sensoren ersetzt werden.
Die korrekten Entitäts-IDs findest du unter:
Entwicklerwerkzeuge → Zustände
Mehrere zusammengehörende Sensoren auswählen
Besitzen mehrere Sensoren einen gemeinsamen Namensanfang, können Platzhalter verwendet werden.
influxdb:
include:
entity_globs:
- sensor.waermepumpe_*
- sensor.stromzaehler_*
Einzelne Entitäten ausschließen
Alternativ können auch bestimmte Entitäten oder ganze Gruppen ausgeschlossen werden.
influxdb:
exclude:
entities:
- sensor.unwichtiger_diagnosewert
entity_globs:
- sensor.*_signalstaerke
Nach einer Änderung der configuration.yaml muss Home Assistant vollständig neu gestartet werden.
Achtung
In der Datei configuration.yaml darf nur ein Hauptabschnitt mit dem Namen influxdb: vorhanden sein.
Existiert bereits eine InfluxDB-Konfiguration, müssen die neuen Filter in diesen bestehenden Abschnitt eingefügt werden.
Empfehlung
Mit wenigen Sensoren beginnen
Für den Einstieg reichen drei bis zehn ausgewählte Sensoren vollkommen aus. Weitere Entitäten können später jederzeit ergänzt werden.
- Außentemperatur
- Raumtemperatur
- Aktuelle elektrische Leistung
- Energieverbrauch
- Photovoltaikleistung
- Vorlauf- und Rücklauftemperatur
06
Gespeicherte Daten überprüfen
Nach dem Neustart von Home Assistant kannst du prüfen, ob die ersten Werte in InfluxDB angekommen sind.
- Öffne die Weboberfläche der InfluxDB-App.
- Öffne den Data Explorer.
- Wähle die Datenbank
homeassistant. - Wähle einen kurzen Zeitraum wie die letzten 15 Minuten.
- Suche nach einem der zuvor ausgewählten Sensoren.
Bereits vor der Einrichtung vorhandene Verlaufsdaten werden nicht automatisch nachträglich übertragen. Die Aufzeichnung beginnt mit neuen Zustandsänderungen nach der erfolgreichen Einrichtung.
Messwerte und Entitäts-IDs
Home Assistant verwendet standardmäßig häufig die Einheit eines Sensors als sogenannte Measurement-Gruppe.
| Sensorart | Typische Measurement-Gruppe |
|---|---|
| Temperatur | °C |
| Leistung | W |
| Energie | kWh |
| Luftfeuchtigkeit | % |
| Frequenz | Hz |
Aus der Home-Assistant-Entität:
sensor.wohnzimmer_temperatur
wird innerhalb der Measurement-Gruppe häufig der Tag:
entity_id = wohnzimmer_temperatur
07
Grafana installieren
Öffne erneut die App-Verwaltung:
Einstellungen → Apps → App installieren
- Suche nach Grafana.
- Öffne die Grafana-App aus dem Community-Repository.
- Klicke auf Installieren.
- Aktiviere Beim Systemstart starten.
- Optional kannst du den Watchdog aktivieren.
- Starte Grafana.
- Kontrolliere das Protokoll auf Fehler.
- Öffne die Weboberfläche.
08
InfluxDB als Datenquelle einrichten
Grafana benötigt eine Datenquelle, über die auf die InfluxDB-Datenbank zugegriffen wird.
Connections → Add new connection → InfluxDB → Add new data source
Trage folgende Einstellungen ein:
| Einstellung | Wert |
|---|---|
| Name | Home Assistant |
| URL | http://a0d7b954-influxdb:8086 |
| Abfragesprache | InfluxQL |
| Datenbank | homeassistant |
| Benutzer | grafana |
| Passwort | Passwort des Grafana-Datenbankbenutzers |
| Min time interval | 1m |
Authentifizierungsoptionen wie Basic Auth können deaktiviert bleiben. Benutzername und Passwort werden im Bereich der InfluxDB-Einstellungen der Datenquelle eingetragen.
Klicke anschließend auf Save & test. Grafana sollte nun bestätigen, dass die Verbindung zur Datenquelle hergestellt werden konnte.
Häufiger Fehler
Nicht localhost verwenden
Der Eintrag localhost würde aus Sicht der Grafana-App auf Grafana selbst zeigen.
Für die Verbindung zur InfluxDB-App muss deshalb die interne Adresse verwendet werden:
http://a0d7b954-influxdb:8086
09
Das erste Diagramm erstellen
Als erstes Beispiel erstellen wir ein einfaches Diagramm für eine Raumtemperatur.
- Öffne in Grafana den Bereich Dashboards.
- Klicke auf New.
- Wähle New dashboard.
- Klicke auf Add visualization.
- Wähle die Datenquelle Home Assistant.
Die InfluxQL-Abfrage für einen Temperatursensor kann beispielsweise so aussehen:
SELECT mean("value")
FROM "°C"
WHERE ("entity_id" = 'wohnzimmer_temperatur')
AND $timeFilter
GROUP BY time($__interval) fill(null)
Ersetze wohnzimmer_temperatur durch die ID deines eigenen Sensors. Der vorangestellte Teil sensor. wird in dieser Abfrage nicht verwendet.
Panel konfigurieren
- Visualisierung: Time series
- Titel: Wohnzimmer Temperatur
- Einheit: Temperature → Celsius
- Nachkommastellen: beispielsweise 1
- Legende: nach Bedarf unten oder rechts
Speichere anschließend das Panel und danach das gesamte Dashboard.
Beispiel für einen Leistungssensor
SELECT mean("value")
FROM "W"
WHERE ("entity_id" = 'aktuelle_leistung')
AND $timeFilter
GROUP BY time($__interval) fill(null)
Beispiel für einen Energiezähler
SELECT last("value")
FROM "kWh"
WHERE ("entity_id" = 'stromverbrauch_gesamt')
AND $timeFilter
GROUP BY time($__interval) fill(null)
Bei einem fortlaufenden Zählerstand ist häufig der letzte Wert eines Zeitabschnitts sinnvoller als der Mittelwert.
Systemlast und Speicherverbrauch reduzieren
InfluxDB ist für große Mengen an Zeitreihendaten ausgelegt. Das bedeutet jedoch nicht, dass auf kleiner Home-Assistant-Hardware unbegrenzt Daten gesammelt werden sollten.
Nur sinnvolle Werte speichern
- Temperaturen
- Luftfeuchtigkeit
- Stromverbrauch und Leistung
- Photovoltaikerzeugung
- Wärmepumpenwerte
- Lüftungswerte
- Wasserverbrauch
Entitäten wie WLAN-Signalstärke, Firmware-Versionen, Diagnosewerte oder ständig wechselnde interne Statusinformationen sind für Langzeitauswertungen häufig nicht notwendig.
Grafana nicht zu häufig aktualisieren
Temperatur-, Heizungs- und Energiedaten müssen normalerweise nicht jede Sekunde neu abgefragt werden.
- Live-Dashboard: etwa 10 bis 30 Sekunden
- Normales Übersichtsdashboard: etwa 30 Sekunden bis 1 Minute
- Langzeitauswertungen: manuelle Aktualisierung oder mehrere Minuten
Abfragezeitraum begrenzen
Ein Diagramm über die letzten 24 Stunden benötigt deutlich weniger Daten als eine sekundengenaue Abfrage über mehrere Jahre.
Verwende für normale Dashboards kurze Zeiträume. Größere Langzeitauswertungen sollten nur bei Bedarf geöffnet werden.
Speicher und Backups kontrollieren
- Freien Speicherplatz regelmäßig überprüfen
- Größe der InfluxDB-Datenbank beobachten
- Home-Assistant-Backups extern sichern
- Bei einem Raspberry Pi möglichst eine SSD verwenden
- Bei dauerhaft hoher Last eine Auslagerung erwägen
Merksatz: Nicht Grafana füllt den Speicher mit Sensordaten, sondern InfluxDB. Grafana kann das System aber durch umfangreiche und häufig wiederholte Abfragen zusätzlich belasten.
Gut zu wissen
InfluxDB ersetzt nicht die Home-Assistant-Datenbank
Die InfluxDB-Integration läuft parallel zur internen Home-Assistant-Datenbank.
Die normale Verlaufsansicht, das Logbuch und der Recorder von Home Assistant verwenden weiterhin die interne Datenbank. Die ausgewählten Zustandsänderungen werden zusätzlich an InfluxDB übertragen.
10
Optionaler externer Server
Für kleine und mittlere Installationen können InfluxDB und Grafana direkt auf der Home-Assistant-Hardware betrieben werden.
Bei sehr vielen Sensoren, großen Dashboards oder umfangreichen Langzeitauswertungen kann es sinnvoll sein, beide Anwendungen auf ein leistungsfähigeres System auszulagern.
- Unraid
- Proxmox
- Synology oder anderes NAS
- Separater Docker-Server
- Zusätzlicher Mini-PC
Der Datenfluss bleibt dabei gleich:
Home Assistant
│
│ Netzwerk
▼
Externe InfluxDB
│
▼
Externe Grafana-Instanz
Lediglich die interne Adresse a0d7b954-influxdb wird dann durch die IP-Adresse oder den DNS-Namen des externen Servers ersetzt.
Häufige Probleme und Lösungen
In InfluxDB erscheinen keine Daten
Prüfe zuerst, ob die InfluxDB-App gestartet ist und im Protokoll keine Fehler angezeigt werden.
- Benutzername, Passwort und Datenbankname kontrollieren
- Verbindung der InfluxDB-Integration überprüfen
- Include-Filter in der
configuration.yamlkontrollieren - Home Assistant vollständig neu starten
- Prüfen, ob sich der Sensorwert seit der Einrichtung geändert hat
Grafana kann InfluxDB nicht erreichen
Verwende bei der Home-Assistant-App nicht localhost, sondern die interne Adresse:
http://a0d7b954-influxdb:8086
- Prüfen, ob beide Apps gestartet sind
- Benutzer
grafanaund dessen Passwort kontrollieren - Leserechte auf die Datenbank kontrollieren
- Abfragesprache
InfluxQLauswählen
Der Sensor wird in Grafana nicht gefunden
Prüfe zuerst im Data Explorer von InfluxDB, ob der Sensor dort vorhanden ist.
- Measurement-Gruppe wie
°C,WoderkWhkontrollieren - In der Abfrage den Präfix
sensor.entfernen - Groß- und Kleinschreibung kontrollieren
- Unterstriche in der Entitäts-ID überprüfen
Home Assistant wird langsamer
Reduziere zunächst die Anzahl der an InfluxDB übertragenen Entitäten.
- Unnötige Platzhaltermuster entfernen
- Grafana-Aktualisierungsintervall vergrößern
- Kürzere Zeiträume abfragen
- Freien Speicherplatz kontrollieren
- InfluxDB und Grafana bei hoher Dauerlast auslagern
Die configuration.yaml meldet einen Fehler
Kontrolliere die Einrückung des YAML-Abschnitts. YAML verwendet Leerzeichen und reagiert empfindlich auf falsche Einrückungen.
influxdb:
include:
entities:
- sensor.aussentemperatur
Verwende keine Tabulatoren und stelle sicher, dass nur ein Hauptabschnitt influxdb: vorhanden ist.
Zusammenfassung
Home Assistant liefert die Zustandsänderungen der ausgewählten Entitäten.
InfluxDB speichert diese Werte langfristig als Zeitreihendaten.
Grafana liest die gespeicherten Daten aus und stellt sie in frei gestaltbaren Dashboards dar.
Beide Anwendungen können direkt unter Home Assistant OS installiert werden. Auf kleiner Hardware sollte jedoch bewusst entschieden werden, welche Entitäten gespeichert werden und wie häufig Grafana die Daten aktualisiert.
Wer zunächst mit wenigen Sensoren beginnt, den Speicherplatz im Blick behält und sinnvolle Aktualisierungsintervalle verwendet, erhält eine leistungsfähige Langzeitauswertung, ohne das Home-Assistant-System unnötig zu belasten.
Praxisbeispiel
Mein Grafana-Dashboard in der Praxis
Das folgende Dashboard ist ein Beispiel aus meiner eigenen Home-Assistant-Installation. Die dargestellten Werte werden von Home Assistant an InfluxDB übertragen und anschließend mit Grafana visualisiert.

Das Dashboard zeigt beispielhaft verschiedene Messwerte aus dem Smart Home. Dazu können unter anderem Temperaturen, Energieverbrauch, Wärmepumpendaten, Photovoltaikerzeugung oder Werte einer Lüftungsanlage gehören.
- Aktuelle Messwerte als übersichtliche Statistiken
- Zeitliche Verläufe über Stunden, Tage oder Monate
- Vergleich mehrerer Sensoren in einem Diagramm
- Berechnete Werte wie Tagesverbrauch, Laufzeiten oder Mittelwerte
Dieses Beispiel soll vor allem zeigen, was nach der grundlegenden Einrichtung möglich ist. Das Dashboard muss nicht sofort vollständig aufgebaut werden. Sinnvoller ist es, zunächst mit wenigen wichtigen Sensoren zu beginnen und die Darstellung anschließend Schritt für Schritt zu erweitern.
Download
Grafana-Beispieldashboard
Beispiel-Dashboard zur Visualisierung von Home-Assistant-Daten aus InfluxDB. Die enthaltenen Abfragen und Datenquellen müssen an das eigene System angepasst werden.
Hinweis: Vor dem Import müssen Datenquelle, Entitätsnamen und gegebenenfalls die verwendeten Measurements angepasst werden.
