Home Assistant kann sehr viele Zustände sammeln. Wer Temperaturen, Energieflüsse oder Anwesenheit über Jahre vergleichen will, steht trotzdem irgendwann vor einer Entscheidung: Die Recorder-Datenbank immer länger aufbewahren oder eine zweite Lösung für ausgewählte Zeitreihen betreiben. Für die zweite Variante ist Zeitarchiv gedacht.

Zeitarchiv ist ein kostenloses Open-Source-Community-Projekt von bertel2020. Es archiviert ausgewählte Zustandsänderungen lokal, bereitet sie für langfristige Abfragen auf und bringt eine eigene Oberfläche für Charts, Tabellen, Datenpflege und Backups mit. Im Video habe ich mir die Installation und die Bedienung direkt in Home Assistant angesehen.

Zeitarchiv besteht aus App und Integration

Der Aufbau ist wichtig, denn Zeitarchiv besteht laut offizieller Dokumentation aus zwei getrennten und unabhängig versionierten Teilen:

  • Die Zeitarchiv-Integration läuft in Home Assistant. Sie beobachtet ausgewählte Entitäten, filtert deren Zustandsänderungen und schickt passende Werte an die App.
  • Die Zeitarchiv-App läuft als separates Home-Assistant-Add-on. Sie nimmt die Werte entgegen, speichert und verdichtet sie und stellt die Oberfläche über den Supervisor-Ingress bereit.

Zwischen beiden Teilen liegt eine API-Verbindung mit Bearer-Token. Die Integration sendet an Port 8127; die Verwaltungsoberfläche bleibt hinter dem Home-Assistant-Login. Wenn du den Token in der App neu erzeugst, ist der alte Token ungültig und die Integration fordert eine erneute Authentifizierung an. Das ist praktisch, falls du eine bestehende Verbindung gezielt kappen möchtest.

Wichtig ist auch, was Zeitarchiv nicht macht: Die Integration legt keine Kopien der archivierten Entitäten in Home Assistant an. Charts, Tabellen und historische Werte bleiben in der App. Zeitarchiv ist damit keine weitere Lovelace-Karte und auch keine zweite vollständige Home-Assistant-Datenbank.

Installation in zwei Schritten

Für die App und die Integration werden zwei Repositories benötigt. Die App unterstützt laut Projekt aktuell amd64 und aarch64. Andere Architekturen sind in der offiziellen Konfiguration nicht ausgewiesen.

1. Zeitarchiv-App installieren

  1. In Home Assistant den App- beziehungsweise Add-on-Store öffnen.
  2. Unter Repositories die Adresse https://github.com/bertel2020/HA-Apps hinzufügen.
  3. Zeitarchiv auswählen, installieren und starten.
  4. Die App öffnen und unter Einstellungen → Verbindung den automatisch erzeugten API-Token kopieren.

Nach dem Start erscheint die Oberfläche in der Home-Assistant-Seitenleiste. Ein separates Benutzerkonto ist nicht nötig. Wer sich die Funktionen erst ansehen möchte, kann den Demo-Modus aktivieren. Er arbeitet mit synthetischen Daten in einem getrennten Datenverzeichnis. Nach dem Umschalten ist ein Neustart der App erforderlich.

2. Integration über HACS hinzufügen

  1. Das Repository https://github.com/bertel2020/HA-Zeitarchiv in HACS als benutzerdefiniertes Repository der Kategorie Integration hinzufügen.
  2. Zeitarchiv herunterladen und Home Assistant neu starten.
  3. Unter Einstellungen → Geräte & Dienste → Integration hinzufügen nach Zeitarchiv suchen.
  4. Einen Namen, den erreichbaren Host der App, Port 8127 und den zuvor kopierten API-Token eintragen.

Im Video funktionierte localhost in diesem Container-Setup nicht; mit der IP-Adresse der Home-Assistant-Instanz und dem passenden Port klappte die Verbindung. Das ist eine Beobachtung aus dem gezeigten System, keine allgemeingültige Vorgabe. Entscheidend ist, dass die Integration den angegebenen Host erreichen kann.

Nicht alles archivieren: Labels sind der sauberste Weg

Nach der Installation archiviert Zeitarchiv noch nichts. Auf der Integrationskachel öffnest du über Konfigurieren → Archivfilter bearbeiten die Auswahl. Dort lassen sich Labels, einzelne Entitäten, Bereiche, Geräte und Entity-Muster kombinieren. Einzelne Entity-IDs oder Muster können ausdrücklich ausgeschlossen werden; Ausschlüsse haben immer Vorrang.

Die offizielle Integration empfiehlt Labels. Du kannst zum Beispiel ein Label namens Zeitarchiv anlegen und nur den Entitäten geben, deren Verlauf du wirklich behalten möchtest. Direkt gelabelte Entitäten sowie Entitäten gelabelter Geräte und Bereiche werden berücksichtigt. Änderungen an Labels gelten für folgende Zustandsänderungen, ohne dass du den Filter erneut speichern musst.

Im Video habe ich zunächst ganze Räume ausgewählt und bin dadurch bei 1.592 Entitäten gelandet. Das funktionierte zwar, war für eine gezielte Langzeitablage aber viel zu breit. Temperaturen, Energiezähler, PV-Leistung, Speicherzustand oder ausgewählte Anwesenheitssensoren sind sinnvollere Kandidaten als pauschal jede verfügbare Entität.

Vor dem Speichern zeigt die Integration eine Vorschau der tatsächlich erfassten und ausgeschlossenen Entity-IDs. Den fertigen Filter kannst du als YAML exportieren. Host, Port und API-Token landen nicht in diesem Export. Damit lässt sich die Auswahl sichern oder auf ein ähnlich aufgebautes System übertragen. Bei Labels, Bereichen und Geräten verweist die YAML-Datei allerdings auf interne Registry-IDs; diese müssen auf dem Zielsystem übereinstimmen.

Welche Werte landen im Archiv?

Die Integration reagiert auf echte Zustandsänderungen. Reine Attributänderungen, etwa am Friendly Name, erzeugen keinen neuen Archivpunkt. Numerische Zustände werden mit einer einstellbaren Rundung von null bis drei Nachkommastellen übertragen. Weniger Stellen können Speicher sparen, kosten bei kleinen Messwertänderungen aber Genauigkeit.

  • Numerische Zustände werden als Zahlen archiviert.
  • on und off werden bei Binärsensoren, Schaltern und Input Booleans als 1 und 0 gespeichert.
  • home und andere Zustände von Personen beziehungsweise Device Trackern werden als Anwesenheit 1 oder 0 übertragen.
  • Textwerte sowie unknown, unavailable, leere Zustände und none werden nicht archiviert.

Die Übertragung läuft in Batches über eine Warteschlange. Das schützt den Home-Assistant-Event-Loop vor blockierenden Schreibvorgängen. Die Queue liegt jedoch nur im Arbeitsspeicher. Ist sie voll oder startet die Integration neu, können noch nicht übertragene Werte verloren gehen. Zeitarchiv ist also ein praktisches Langzeitarchiv, aber kein garantiert lückenloses Messsystem für abrechnungs- oder sicherheitskritische Daten.

Speicherung: CSV, Parquet und vorberechnete Rollups

Die App trennt aktuelle und abgeschlossene Daten. Der laufende Monat liegt in einem anhängbaren CSV-Hot-Buffer. Abgeschlossene Monate werden als Parquet-Dateien mit Zstandard-Kompression gespeichert. Für Abfragen über längere Zeiträume erzeugt Zeitarchiv vorberechnete Rollups von der Stunde bis zum Jahr.

Das ist ein anderer Ansatz als die operative Recorder-Datenbank von Home Assistant. Zeitarchiv bewahrt ausdrücklich ausgewählte Reihen unabhängig von der Recorder-Aufbewahrungsdauer auf. Die Installation allein verkleinert den Recorder allerdings nicht automatisch. Wenn dein Ziel eine kleinere Home-Assistant-Datenbank ist, musst du die Recorder-Aufbewahrung und gegebenenfalls dessen Ein- und Ausschlüsse separat passend konfigurieren.

In der App lassen sich Auflösung, Rundung und Aufbewahrung je Entität festlegen. Eine automatische Aufbewahrungs-Durchsetzung kann ältere Werte entfernen, ist laut Dokumentation standardmäßig deaktiviert. Als unbegrenzt markierte Entitäten bleiben davon ausgenommen.

Charts, Tabellen und Datenpflege

Zeitarchiv bringt eigene Dashboards mit. Darauf lassen sich Linien-, Balken- und Zeitstrahl-Charts sowie Vergleichstabellen anordnen. Tabellen können mehrere Zeitspalten, Summengruppen und Formeln kombinieren. Im Video entstand unter anderem ein Anwesenheits-Zeitstrahl für mehrere Räume. Auch Energieverläufe und Verbraucheranteile ließen sich direkt aus den archivierten Entitäten zusammenstellen.

Für Energiedaten gibt es eine eigene Ansicht mit Sankey-Diagramm, Netzbezug, Erzeugern, Speichern und Verbrauchern. Sie ersetzt das Home-Assistant-Energiedashboard nicht zwingend; beide können parallel genutzt werden. Wer nur eine Statistikdarstellung im normalen Dashboard sucht und gar kein separates Langzeitarchiv benötigt, findet in meinem Beitrag zur Statistics Graph Chart Card eine deutlich kleinere Alternative.

Der Housekeeping-Bereich prüft unter anderem auf inaktive Entitäten, Duplikate, Datenlücken und auffällige Werte. Korrekturen und Soft Deletes sind möglich. Das ist nützlich, verlangt aber Sorgfalt: Ein späterer endgültiger Löschlauf oder eine manuelle Retention-Aktion kann Daten unwiederbringlich entfernen.

Backups gehören auf ein zweites Ziel

Zeitarchiv kann portable ZIP-Backups erstellen, planen, prüfen und wiederherstellen. Darin stecken Index, Hot Buffer, Monatsarchive und Rollups. Vor der Wiederherstellung prüft die App laut Dokumentation unter anderem Prüfsummen, ZIP-Struktur und Index-Integrität. Der bestehende Datenbestand wird für einen möglichen Rollback zunächst verschoben.

Diese Sicherungen ergänzen Home-Assistant-Backups, ersetzen sie aber nicht. Ebenso wenig reicht ein Backup auf demselben Datenträger als Schutz vor einem Defekt. Die App spricht selbst kein S3, WebDAV oder SMB. Die Integration stellt dafür einen Sensor für das letzte erfolgreiche Backup bereit; eine eigene Home-Assistant-Automation kann die Datei anschließend etwa mit rclone auf ein externes Ziel kopieren.

Die Grenzen solltest du vor dem Start kennen

  • Zeitarchiv ist ein privat entwickeltes Community-Projekt ohne Garantie für fehlerfreien Betrieb oder dauerhaften Datenerhalt.
  • Die App ist für ein einzelnes lokales Home-Assistant-System und einen gemeinsamen API-Token ausgelegt. Eine Mandanten- oder Mehrbenutzertrennung gibt es nicht.
  • Die Oberfläche ist eine Ingress-App, keine Lovelace-Karte und keine öffentliche Chart-URL.
  • Nichtnumerische Textsensoren werden nicht archiviert.
  • Neu zugewiesene Entitäten in ausgewählten Bereichen oder Geräten erscheinen erst nach erneutem Speichern des Filters. Labels reagieren dynamischer und sind deshalb die bessere Wahl.
  • Die Integration puffert ausstehende Ereignisse nur im Arbeitsspeicher.
  • Manuelle Lösch- und Aufbewahrungsaktionen können endgültig sein. Vor größeren Eingriffen gehört ein geprüftes Backup auf ein unabhängiges Ziel.

Für wen Zeitarchiv passt

Zeitarchiv passt, wenn du ausgewählte Home-Assistant-Daten langfristig lokal behalten, vergleichen und bei Bedarf bereinigen möchtest, ohne dafür InfluxDB und Grafana einzeln aufzusetzen. Wer diese Werkzeuge bereits beherrscht und seine Abfragen fertig gebaut hat, gewinnt durch einen Wechsel nicht automatisch etwas.

Starte lieber klein: App und Integration installieren, fünf bis zehn aussagekräftige Entitäten per Label auswählen und einige Tage Daten sammeln. Danach kannst du prüfen, ob Auflösung, Rundung, Charts und Backup-Workflow zu deinem Setup passen. Erweitern kannst du das Archiv später immer noch. Die 1.592-Entitäten-Abkürzung aus dem Video ist unterhaltsam, aber als dauerhafte Konfiguration eher kein Vorbild.


Schreibe einen Kommentar

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