HA SQLight Datenbank kürzt sich nach ca. 4 Wochen automatisch

Hallo zusammen, ich bin neu hier im Forum und habe ein ernsthaftes Problem mit der HA Standard Datenbank SQLight.

Ca. alle 4 Wochen, wenn die Datenbank Datei home-assistant_v2.db bei einer Größe von ca. 2,5 - 3MB ist, löscht sie die „historischen“ Daten bis sie wieder auf ca. 2 MB ist.
Einige Entitäten löschen ihre historischen Daten ab einem gewissen Zeitraum, andere verhalten sich „normal“.

Ich habe nirgends einen Begrenzung oder dergleichen eingegeben. Auch das komplette Löschen und neu Aufsetzen der Datenbank im April 2025 hat nichts gebracht.

Kann mir da bitte jemand weiterhelfen, damit die SQLight Datenbank sich nicht selbst nach einer gewissen Zeit „kürzt“?
Zur Info: in der InfluxDB ist alles normal.
Vielen Dank schon mal im Voraus

Schau dir mal den „recorder“ an, den kann man konfigurieren, wie lange Daten aufbewahrt werden.

1 „Gefällt mir“

hallo Nicknol, vielen Dank für Deine schnelle Rückmeldung!

„recorder“ ist auf Default, das heißt nirgends (z.b. configuration.yaml) ist irgend etwas eingetragen.

Nach meinem Verständnis aus der HA-Dokumentation ist „recorder“ nur für die Speicherung der Werte im Detail (also der akt.Wert bzw. min/max im entsprechenden Intervall) zuständig und by Default werden diese Werte nach 10 Tagen in die Statistiken Daten von HA umgewandelt (das heißt der Mittelwert aus den letzten 60 Minuten), damit sich SQLight datei „home-assistant_v2.db“ nicht so schnell vergrößert.

Dies ist für mich auch ok, aber wie in meinem ersten Chat geschildert wird die SQLight datei „home-assistant_v2.db“ von HA künstlich (ohne dass ich Einfluss habe oder es nachvollziehen kann), in einem Intervall von ca. 4 Wochen auf ca. 2MB gehalten. Eigentlich müsste sie ja mehr oder weniger schnell kontinuierlich größer werden.

Du meinst doch bestimmt 2GB :thinking:

Auf welchem System läuft denn den HA

Jeden zweiten Sonntag im Monat findet das auto_repack statt, könnte also passen.

3 „Gefällt mir“

Passt wahrscheinlich auch,
Alle Entitäten mit device_class und state_class und unit_of_measurement werden umgewandelt
Alle anderen Entitäten werden gekappt

1 „Gefällt mir“

klar doch meine natürlich GB
mein HA Installation lauft auf einem Beelink Mini PC

@maxe: Ich glaube Du liegst genau richtig!
Ich habe mal geschaut wann diese „Kürzungen“ der Dateigröße bei mir auftreten: So. 11.5.; So.8.6. und So.13.7.25, also alle am 2.Sonntag des Monats!
Ich habe in keiner Datei „recorder / auto_repack“ eingegeben. Kannst Du mir bitte einen Tipp geben, wie ich das deaktivieren kann?
@Dreckfresse: danke für den Hinweis, das werde ich noch prüfen

Warum willst du das deaktivieren?

Without a repack, the database may not decrease in size even after purging, which takes up disk space and can make Home Assistant slow. If you disable auto_repack it is recommended that you create an automation to call the recorder.purge periodically.

4 „Gefällt mir“

@maxe:Dein Einwand ist berechtigt, da auto_repack viel Sinn macht, aber für den Moment möchte ich diese Funktion vorübergehend deaktivieren.
Mein Ziel ist es 100% Kontrolle über meine Daten zu haben. Im Moment löscht HA mit auto_repack jeden 2.Sonntag im Monat auch Daten von Entitäten bei welchen ich gerne die Historien beibehalten möchte.

Nach dem Hinweis von Dreckfresse werden die historischen Daten aller Entitäten, die nicht alle der 3 Definitionen (device_class UND state_class UND unit_of_measurement haben, nach 10 Tagen gelöscht !!
(das war mir absolut neu und ich habe auch bis jetzt noch nichts nichts darüber in der Dokumentation gefunden).

Momentan bin im am Durchforsten bei welcher meiner Entitäten eine oder mehrere dieser Bedingungen nicht definiert ist.
So lange ich das nicht nicht weiß, möchte ich verhindern, dass beim nächsten auto_repack, am Sonntag, den 10.8., diese unkontrolliert von HA automatisch gelöscht werden.
Wenn ich diesen Überblick habe, lasse ich gerne HA den auto_repack wieder laufen.
Schon mal vorab vielen Dank für die Info!

Eine weite Möglichkeit wäre:

  • InfluxDB
  • Grafana

Dann nichts einschränken und du behältst alles, wie lange das sauber läuft weiß ich noch nicht :v:
seit Anfang dieses Jahres läuft das so bei mir

1 „Gefällt mir“

@Dreckfresse: Influxdb2 läuft bei mir schon seit vielen Monaten.
Über HA kann man die Entität schnell mal anklicken und man hat ohne Umstände sehr schnell einen ersten Überblick wie sich der gewählte Wert über die Zeit entwickelt hat. Über Influxdb/Grafana ist das recht umständlich.

Mit auto_repack werden die Entitäten die die 3 Kriterien in HA nicht erfüllen (siehe obigen Post) nach 10 Tagen einfach ohne Vorwarnung für immer gelöscht und man merkt es zunächst gar nicht !!!
Deshalb möchte ich diese Funktion (auto_repack) zumindest vorübergehend deaktivieren.
@maxe:Kannst Du mir bitte einen Tipp geben, wie ich auto_repack deaktivieren kann?

Das sehe ich nicht so, einmal grob mehrere Dashboard Speichen
Dann ist das schnell erledigt

2 „Gefällt mir“

Das ist ganz einfach :slight_smile:
Füge das einfach in die configuration.yaml ein:


recorder:
	auto_repack: false

Mehr Informationen/ Konfigurationen kannst du direkt in der Dokumentation nachlesen: Recorder - Home Assistant

1 „Gefällt mir“

Ich dachte mir dem Link wäre alles gesagt gewesen: Recorder - Home Assistant

recorder:
  auto_repack: false
1 „Gefällt mir“

Danke an alle die an diesem Thema beteiligt waren.
Ich denke man kann dieses Thema als gelöst einstufen:

Moin, dann markiere doch bitte den Beitrag, wo für dich die Lösung enthalten ist. :slight_smile:

2 „Gefällt mir“

Auch wenn hier schon die Fahne der Lösung weht, möchte ich über meine Erfahrungen berichten.
So wie @Dreckfresse es macht, läuft es auch bei mir seit Frühjahr 2024, bisher reibungslos.
Mit InfluxDB und Grafana betreibe ich zahlreiche Aufzeichnungen.
Damit kann ich weit zurück liegende Daten, hochauflösend anschauen.
Hier ein paar Beispiele:

Strom vom Marz '24

Heizung und Außentemperatur Jan '24

Gas-Zählerstand (erfasst mit ESP32CAM und AI-ON-THE-EDGE)


Gas Tagesverbrauch und Kosten

Die Kühltruhe habe ich noch nicht so lange im Focus, aber auch hier - Langzeitdaten.

Die HA-Datenbank, home-assistant_v2.db, hat sich bei mir anfangs besorgniserregend entwickelt.


Verschiedene Eingriffe haben den Zuwachs stufenweise beeinflusst, bis ich im Juni '25 die Aufbewahrung der Daten auf 1 Tag reduziert habe.

Somit konnte die Größe der HA-Datenbank von zwischenzeitlich > 2GB auf ca. 0,5 GB reduziert werden.
Das hat auch Einfluss auf die Größe der täglichen Backups. Zurzeit ca. 1,2 GB.

4 „Gefällt mir“

Sehr spannende Daten :star_struck:
Was wäre genau der Vorteil, die Daten in influxDB zu speichern? Ist das irgendwie effizienter oder so? Ansonsten würde ich ja auch die integrierte Home Assistant Speicherung bevorzugen, da ich es dort übersichtlicher finde (vielleicht aber auch nur Gewöhnungssache :slight_smile: .

1 „Gefällt mir“

Mein primäres Ziel war, Grafana zu benutzen. Allein dafür macht InfluxDB schon Sinn.

Zur Effizienz habe ich mal etwas recherchiert:

:small_blue_diamond: Home Assistant interne Datenbank (SQLite)

Vorteile:

  • Einfach eingerichtet: Läuft „out of the box“, keine zusätzliche Konfiguration nötig.
  • Ausreichend für Basiszwecke: Für kleinere Installationen, Automatisierungen und Rückblicke in den letzten Tagen/Wochen geeignet.
  • Niedriger Ressourcenverbrauch: Keine separate Datenbank-Engine nötig.

Nachteile / Limitierungen:

  • Langsamer bei großen Datenmengen: Mit vielen Entitäten oder über Wochen/Monate hinweg wird SQLite deutlich träger.
  • Begrenzte Visualisierungsmöglichkeiten: Nur einfache Verlaufsgrafen in der UI.
  • Nicht für Langzeitarchivierung optimiert: Die Datenbank kann bei viel Logging schnell sehr groß und unperformant werden.

:small_blue_diamond: InfluxDB (z. B. v2)

Vorteile:

  • Sehr effizient bei Zeitreihendaten: Genau darauf optimiert, ideal für Sensorwerte, Zustandsänderungen etc.
  • Schnelle Abfragen: Auch bei Millionen von Einträgen sehr performant.
  • Langfristige Speicherung möglich: Kein Performanceverlust über Monate oder Jahre hinweg.
  • In Kombination mit Grafana: Sehr leistungsstarke Visualisierungen und Analysen möglich.

Nachteile:

  • Komplexer in Einrichtung und Wartung: Externer Dienst, ggf. User/Auth-Konfiguration, Version 2.x hat zusätzliche APIs.
  • Kein Ersatz für die HA-DB: Automatisierungen, Zustände usw. bleiben weiterhin in der internen DB gespeichert.
  • Ressourcenverbrauch höher: Braucht mehr RAM/CPU als SQLite, besonders bei großen Setups oder Queries.

Fazit:
InfluxDB ist deutlich effizienter für Zeitreihen- und Langzeitdaten. Die interne HA-Datenbank ist dagegen effizient genug für den normalen Systembetrieb, aber nicht ideal für langfristige oder große Datenmengen. Eine Hybridlösung ist in den meisten Fällen optimal.

Ich weiß, dass viele HA-Enthusiasten Grafana nicht gut und viel zu aufwendig oder gar schwierig in der Anwendung finden.
Das so gilt so ähnlich auch für Node-RED, welches ich mit wachsender Begeisterung im Einsatz habe.

Vieles ist halt Geschmacks- oder Gewöhnungssache.

2 „Gefällt mir“