Datenbankgröße trotz sehr guten Recorder-Einstellungen relativ hoch

Hallo zusammen,

vorab!!! wer über folgendes nachdenkt, sollte auf jeden Fall ein aktuelles und funktionierendes Backup im Zugriff haben (auch ohne funktionierenden Home Assistant) und sollte auch wissen, was gemacht wird und passieren kann… im schlimmsten Fall geht NICHTS mehr und alles ist weg!!!

Ich habe wie im Titel schon angegeben meine Recorder-Einstellungen für mich so eingestellt, dass keine Entitäten oder Domains mehr (bis auf meinen unter include: angegeben) in der Datenbank gespeichert werden… soweit, so gut…

Die Datenbankgröße war trotz purge immer noch 1,33GB groß und ich habe mich gefragt, ob es wirklich sein kann, dass ein paar Home Assistant Daten eine so große Datenbank erzeugt…

Ich habe mir dann mit „SQLite Web“ die einzelnen Tabellen in der Datenbank genauer angesehen und war überrascht, wieviele „Altdaten“, die ich nicht mehr haben wollte in der Datenbank noch vorhanden waren… ich wollte ab heute mit meinem aktuellen Home Assistant Setup und mit einer sauberen Datenbank neu starten und habe mich entschieden bestimmte Daten seit gestern aus der Datenbank zu löschen.

z.B. „events“, „states“… hier waren tausende alte Daten vorhanden.

Ich habe bis jetzt keine Fehler festgestellt (es dauert nur ein wenig, bis z.B. die Entitäten Ihren aktuellen Status wieder in der Datenbank haben).

Die Größe meiner Datenbank ist jetzt von 1,33GB auf 0,02GB kleiner geworden :slightly_smiling_face:

Ich werde es jetzt erstmal weiter beobachten und wenn keine Problem auftreten, werde ich zukünftig die nicht mehr benötigten Uralt-Daten (z.b. events > 6 Monate?) aus der Datenbank löschen.

Nochmal: überlegt es Euch sehr gut, bevor eine solche Aktion startet :smirking_face:

VG Micha

Hi Micha,

vielen Dank fürs Teilen deines Vorgehens, aber ich frage mich: warum?

Also generell denke ich, dass haben besser ist als brauchen. Wer weiß, ob mich irgendwelche Daten für eine coole neue Automation o. ä. in ein paar Wochen doch interessieren werden? Und solange die DB-Größe keine Probleme bereitet, sehe ich keinen Mehrwert darin sondern vielmehr mögliche Probleme (wie die, die du mit deinen vernünftigen Warnhinweisen auch bspw. meinst). Aber klar: Jedes Smart Home ist individuell, also cool, wenn es für dich so besser ist!

Wo findet man die „Recorder“-Einstellungen?

Hallo masterp,

ich kann Deine Meinung vollkommen nachvollziehen :grinning_face: ich wollte in erster Linie einen „Neuanfang“, da soviele unnötige Daten in der Datenbank waren und ich mir ganz sicher bin, dass es mich niemals interessieren wird, wann welches Event ausgelöst wurde… beim Status sieht es schon anders aus und habe hier einfach nur mit dem Recorder aufgeräumt, da ich viele Informationen einfach nicht benötige und wichtige Sensordaten habe ich zukünftig auch verfügbar.

Haben ist besser als brauchen… habe ich damals auch so gesehen… heute finde ich eine aufgeräumte Datenbank wichtiger, da diese auch die Geschwindigkeit des Systems erhöht z.B. bei Automationen. Ich finde es besser, wenn das Licht nach 0,3 Selunden eingeschaltet wird anstatt von 0,7 Sekunden (ist nur ein Beispiel und etwas übertrieben).

VG Micha

Hallo Gast,

der Recorder wird in der configuration.yaml konfiguert. Ich habe mir aber eine Datei mit der Konfiguration angelegt (recorder.yaml) und diese in der configuration.yaml mit einem „include“ eingebunden.

configuration.yaml

recorder: !include recorder.yaml

recorder.yaml (mit Beispiel-Entitäten)

#  purge_keep_days: 14
  auto_purge: false
 
  exclude:
    entity_globs:
    - sensor.*
    - binary_sensor.*
    
    entities:
    - sensor.aktueller_sonnenstand
    
  include:
#    domains:
#    - person
    entities:
    - person.abc...
    - sensor.def...
    - person.ghi...
    - input_select.jkl...

Eine Übersicht über die Konfiguration findest Du hier:

Bei fragen steht Dir die Community zu Verfügung :grinning_face:

VG Micha

wer es nicht ganz so extrem umsetzen möchte, kann auch über einen anderen Weg die Datenbank optimieren… aber auch hier, alles auf eigene Gefahr und auch hier ist der Warnhinweis in meinem 1. Post ganz oben zu beachten!

Es gibt für mich 2 gute Möglichkeiten, nicht mehr vorhandene Entitäten im System ausfindig zu machen.

  1. HACS-Integration: Spook
  2. HACS-Integration: HAGHS (auf die bin ich auf dem Kanal von Simon42 aufmerksam geworden)

Die „nicht mehr vorhandenen Entitäten“ ggf. noch löschen und dann über die Aktion „recorder.purge_entities“ die Entität aus der Datenbank löschen:

Danach sollte über die Aktion „recorder.purge“ die Datenbank noch bereinigt werden.

…wie gesagt, besser 5mal hinsehen, bevor was ausgeführt werden soll und alles auf eigene Gefahr!

VG Micha

… wenn bei Dir immer wieder funktionierende Geräte/Entitäten bei HAGHS als Zombies auftauchen und Du diese bei HAGHS ausblenden möchtest, dann lese Dir mal die Beschreibung von HAGHS durch und besonders den Bereich

Label Configuration (Smart Whitelisting)

To prevent false positives from sleeping tablets or seasonal devices:

Go to Settings > Areas, labels & zones > Labels.
Create a label named haghs_ignore.
Assign this label to any Device, Entity, or Update Entity.
Pro Tip: Assigning the label to a Device automatically whitelists all underlying entities belonging to that specific device.
Update Tip: Labelled update entities are excluded from the update count and penalty.

VG Micha

PS: die Größe meiner Datenbank ist jetzt 0,03GB, ich habe bei HAGHS keine Zombies und mein Score ist dort bei 100 und es läuft weiterhin alles perfekt :slightly_smiling_face: