Home-Assistant-Datenbank mit Recorder klein halten¶
Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten
Der Recorder speichert Zustandsänderungen für Verlauf, Aktivitäten, Diagramme und Statistiken. Sehr häufig meldende Sensoren können die Datenbank und damit auch Backups unnötig vergrößern. Mit einer gezielten Filterung optimierst du sie in etwa 20 Minuten, ohne eine zusätzliche Datenbank zu installieren.
Voraussetzungen
- Eine laufende Home-Assistant-Installation mit Administratorzugang
- Zugriff auf die Datei
configuration.yaml - Ein aktuelles vollständiges Home-Assistant-Backup
- Genügend freier Speicher für eine zeitweise Kopie der Datenbank
1. Backup und Datenbankgröße prüfen¶
Erstelle zuerst unter Einstellungen → System → Backups ein vollständiges Backup und lade es zusätzlich auf ein anderes Gerät herunter.
Bei Home Assistant OS zeigt dieser Befehl im Terminal-Add-on die Größe der empfohlenen SQLite-Datenbank an:
Bei einer Docker-Installation führst du stattdessen diesen Befehl auf dem Docker-Host
aus. Ersetze <container-name> durch den Namen deines Home-Assistant-Containers:
Freien Speicher nicht zu knapp planen
Für Reparatur, Migration oder Repack soll mindestens noch einmal die aktuelle Datenbankgröße frei sein. Bei beschädigtem SQLite-Speicher empfiehlt die offizielle Dokumentation sogar mindestens das 2,5-Fache der Datenbankgröße.
2. Unwichtige Vielschreiber auswählen¶
Öffne in Home Assistant Entwicklerwerkzeuge → Zustände und notiere nur Entitäten, deren alten Verlauf du wirklich nicht brauchst. Typische Kandidaten sind Diagnosewerte wie WLAN-Signalstärke, Linkqualität oder ständig wechselnde Zeitstempel.
Energie- und Verbrauchssensoren nicht blind ausschließen
Ausgeschlossene Entitäten erhalten künftig keinen Recorder-Verlauf. Prüfe bei Energie-, Leistungs-, Zähler-, Temperatur- und Sicherheitssensoren besonders sorgfältig, ob Diagramme, Statistiken oder Automationen ihre Historie benötigen.
3. Recorder konfigurieren¶
Öffne configuration.yaml und ergänze folgenden Block. Ersetze die Beispiel-Entitäten
unter entities durch deine zuvor notierten vollständigen Entitäts-IDs:
recorder:
purge_keep_days: 10
auto_purge: true
auto_repack: true
commit_interval: 30
exclude:
entities:
- sensor.beispielgeraet_rssi
- sensor.beispielgeraet_linkquality
purge_keep_days: 10 behält zehn Tage normalen Verlauf. commit_interval: 30
reduziert Schreibzugriffe, während aktuelle Anzeigen weiterhin direkt aktualisiert
werden. Die beiden Beispielnamen sind Platzhalter und müssen ersetzt oder entfernt
werden.
Recorder nur einmal eintragen
Existiert in configuration.yaml bereits ein Abschnitt recorder:, ergänze
diesen. Ein zweiter gleichnamiger Abschnitt ist ungültig und kann den Neustart
verhindern.
4. Konfiguration prüfen und neu starten¶
Öffne Entwicklerwerkzeuge → YAML und starte die Konfigurationsprüfung. Behebe alle gemeldeten Fehler, bevor du Home Assistant neu startest. Führe den Neustart danach über Einstellungen → System → Neu starten aus.
Prüfe nach dem Start unter Einstellungen → System → Protokolle, ob Meldungen zum Recorder oder zur YAML-Konfiguration erscheinen.
5. Alte ausgeschlossene Daten bereinigen¶
Die Filter verhindern neue Einträge, entfernen alte Daten aber nicht sofort. Öffne Entwicklerwerkzeuge → Aktionen, wähle Recorder: Datenbank bereinigen und verwende diese Aktionsdaten:
apply_filter: true entfernt auch alte Daten der nun ausgeschlossenen Entitäten.
repack: true versucht anschließend, Speicherplatz freizugeben.
Repack ist eine schwere Operation
Starte den Vorgang nur nach einem Backup, mit ausreichend freiem Speicher und möglichst ohne parallel laufende Wartung. Home Assistant kann währenddessen langsamer reagieren. Unterbrich den Server nicht und trenne ihn nicht vom Strom.
6. Ergebnis kontrollieren¶
Warte nach der Bereinigung einige Minuten und prüfe die Datenbankgröße erneut. Bei Home Assistant OS verwendest du:
Bei Docker ersetzt du wieder <container-name> durch den tatsächlichen Namen:
Kontrolliere außerdem Verlauf, Aktivitäten und Energie-Dashboard. Die Größe muss nicht sofort stark sinken; entscheidend ist auch, dass sie in den folgenden Tagen langsamer wächst.
7. Rückweg und gezielte Korrektur¶
Wenn dir nach der Änderung ein Verlauf fehlt, entferne die betreffende Entität aus
exclude, prüfe die YAML-Konfiguration und starte Home Assistant neu. Künftige Werte
werden dann wieder aufgezeichnet; bereits gelöschte Historie kommt nur aus einem Backup
zurück.
Für die vollständige Rückkehr entfernst du den selbst ergänzten recorder-Block und
startest Home Assistant neu. Die empfohlene SQLite-Datenbank wird weiterhin automatisch
mit den Standardwerten verwendet.
8. Typische Fehler beheben¶
- Home Assistant startet nicht: Prüfe Einrückung und doppelte
recorder:-Blöcke inconfiguration.yaml. - Datenbank wird trotz Purge nicht kleiner: Führe die Aktion mit
repack: trueaus und prüfe vorher den freien Speicher. - Ein Sensor fehlt im Verlauf: Entferne ihn aus
exclude; die Aufzeichnung beginnt erst ab dem nächsten Zustandswechsel wieder. - Datenbank wächst weiter schnell: Suche nach weiteren häufig wechselnden Diagnoseentitäten, statt pauschal ganze wichtige Domänen auszuschließen.
- Externe MariaDB im Einsatz: Nutze deren eigenes Backup-Verfahren. Ein Wechsel der Recorder-Datenbank wird von Home Assistant nicht als Datenmigration unterstützt.
9. Quellen und Videos¶
- Offizielle Home-Assistant-Recorder-Dokumentation
- Offizielle Aktion zum Bereinigen der Recorder-Datenbank
- Offizielle Aktion zum gezielten Löschen von Entitäten
- Video: Home-Assistant-Speicher und Recorder verkleinern
Fertig¶
Der Recorder behält nun zehn Tage normalen Verlauf, schreibt seltener auf den Datenträger und ignoriert nur die von dir ausgewählten Vielschreiber. Prüfe nach einigen Tagen erneut die Datenbankgröße sowie die für dich wichtigen Verlaufs- und Energieansichten.