Inhaltsverzeichnis
0. Vorbemerkungen
InfluxDB bietet mehrere Vorteile, die es in Home Assistant zu einer attraktiven Wahl für das Speichern und Analysieren von Zeitreihendaten machen. Hier sind einige der wichtigsten Vorteile:
InfluxDB ist speziell für Zeitreihendaten konzipiert. Sie ist darauf optimiert, große Mengen von Zeitreihendaten effizient zu speichern und abzufragen. InfluxDB kann zudem sehr hohe Schreiblasten bewältigen und Abfragen schnell ausführen, was besonders für Echtzeitanwendungen wichtig ist. Das Datenmodell von InfluxDB ist einfach und flexibel. InfluxQL, die Abfragesprache von InfluxDB, ist SQL-ähnlich, was den Einstieg erleichtert und die Nutzung intuitiv machen. Für uns sehr wichtig: InfluxDB kann leicht mit Grafana kombiniert werden, einem leistungsstarken Visualisierungstool, um ansprechende und interaktive Dashboards zu erstellen.
Wichtig: Wer HomeAssistant auf einem Raspberry Pi betreibt, sollte in Erwägung ziehen, das System zu wechseln. InfluxDB und Grafana sollte mit einer SSD genutzt werden. Eine SD-Karte wird nicht zuverlässig funktionieren.
1. Influx DB im Add-on Store installieren
Unter Einstellungen wechselst Du in den ADD-ON Store. Dort suchst Du nach „InfluxDB“ und installierst das ADD-ON in Home Assistant.
Vor dem Start wird InfluxDB konfiguriert. Alles Auswahlpunkte „Beim Booten starten“, „Watchdog“ und „in der Seitenleiste starten“ sollten ausgewählt werden.
2. erweiterte Konfigurationseinstellungen
Bestimmte Konfigurationsoptionen optimieren die Performance von InfluxDB in Home Assistant. Unter dem Reiter Konfiguration unter „envvars“ lassen sich Einstellungen vornehmen. Das Speichern am Ende unten rechts nicht vergessen! Ich rate dazu, zwei wichtige Umgebungsvariablen anzupassen, um unerwünschte Kommunikation und übermäßige Systemlast zu verhindern.
INFLUXDB_REPORTING_DISABLD
Standardmäßig sendet InfluxDB Berichte über die Nutzung an die Entwickler von InfluxDB. Diese Berichte helfen den Entwicklern, die Software zu verbessern. Um diese Berichte zu deaktivieren:
- name: INFLUXDB_REPORTING_DISABLED
value: "true"
INFLUXDB_MONITOR_STORE_ENABLED
InfluxDB erstellt standardmäßig eine interne Datenbank _internal
, die Metriken über InfluxDB selbst speichert. Diese Datenbank kann zu einer erheblichen Systemlast führen, besonders auf Geräten mit begrenzten Ressourcen wie z.B. Raspberry Pi. Um die Erstellung dieser internen Datenbank zu verhindern:
- name: INFLUXDB_MONITOR_STORE_ENABLED
value: "false"
Wenn alles richtig läuft, lässt sich das unter dem Reiter Protokoll wie folgt nachvollziehen:
3. Datenbank anlegen
Nun läuft InfluxDB in Home Assistant. Jetzt kannst Du die Datenbank anlegen, in welche alle Werte gespeichert werden sollen. Du kannst InfluxDB aus der Seitenleiste in Home Assistant starten. In der Auswahl „InfluxDB Admin“ kann die Datenbank angelegt werden.
Im nächstem Schritt ist ein User mit Passwort und Admin Rechten anzulegen. Den User kannst Du z.B. „ha_influxdb_user“ nennen. Wichtig ist, dass Du User und Passwort sicher notierst! Das wird später noch benötigt, wenn z.B. Grafana auf die Daten zugreifen möchte.
Außerdem musst Du dem Nutzer Admin Rechte gewähren. Das erreichst Du über die Einstellung „Grant Admin“ und dann „Grant ALL Privileges“.
4. Datenweiterleitung in Home Assistant konfigurieren
Jetzt muss Home Assistant angewiesen werden, Daten an die InfluxDB zu senden. Das geht über eine Anweisung in der Datei configuration.yaml. Ich empfehle, den friendly_name ebenfalls in der Datenbank zu speichern, damit sich später bei der Auswertung der Influx Datenbank die Entitäten leichter finden lassen. default_management: state sorgt dafür, dass auch Messwerte ohne Einheit gespeichert werden. Unter exclude ist alles notiert, was nicht gespeichert werden soll. Unter include stehen die Wert, die gespeichert werden sollen.
influxdb:
host: a0d7b954-influxdb
port: 8086
database: homeassistant
username: ha_influxdb_user
password: hier steht das geheime Passwort
tags:
source: HA
tags_attributes:
- friendly_name
default_measurement: state
exclude:
entities:
- zone.home
domains:
- persistent_notification
- person
include:
domains:
- sensor
- binary_sensor
- sun
- light
- cover
entities:
- weather.home
Nach einem Neustart kannst Du nun in InfluxDB unter „Explore“ Deine neu angelegte Datenbank finden.