Ich würde es auch über Home Assistant machen. Sammle selber meine Daten in HA und bin damit zufrieden. Du kannst alle möglichen Sensoren definieren und in Langszeitstatistiken mit aufnehmen. Funktioniert wunderbar, ist aber natürlich auch Geschmacksache, ob man die Daten intern oder extern speichern möchte.
Meine kurze Meinung:
die HA Langzeitspeicherung reicht seit Jahren aus. Eine entsprechende Konfiguration der Entitäten für die Speicherung ist natürlich erforderlich.
Influx/Grafana - war vor einigen Jahren Hype/en vogue, und die (alten) Videos und Tipps gibt es natürlich immer noch. Das Internet vergisst nix.
Ähnliches gilt für MySQL/MariaDB, wurde lange als Alternative zur Standard HA-DB gehypt.
Ich bin bei meiner Suche nach der Speicherung von Langzeitdaten immer wieder auf InfluxDB gestoßen worden. Daher dachte ich, ich muss eine zusätzliche Datenbank nutzen.
Ich schaue mir den Link Long- and short-term statistics mal an.
Hier ist nochmal eine kurze Erklärung der Datenbank in HA. Bei der Konfiguration vorsichtig sein, sonst sind vielleicht Daten weg, die du behalten willst. Wichtig ist, dass du Entitäten, von denen du keine dauerhaften Daten willst auszuschließen oder gleich zu deaktiviere, wenn sie unnötig sind für Automationen oder Skripte
Recorder – Grundprinzip
Der Recorder ist die Home-Assistant-Komponente, die alle Zustandsänderungen und Ereignisse in eine Datenbank schreibt (bei dir SQLite, home-assistant_v2.db). Er ist die Basis für Verlaufsansicht, Logbook, Energie-Dashboard und Statistik-Karten.
Die drei Datenebenen
1. States (Rohdaten)
Tabelle: states + state_attributes
Jede einzelne Zustandsänderung jeder Entität, mit Zeitstempel
Quelle für: Verlaufsansicht (History-Graph einer Entität), Logbook
Wächst schnell, da z. B. ein RSSI-Sensor alle paar Sekunden einen neuen State erzeugt
Wird durch recorder.purge mit keep_days regelmäßig gekürzt
2. Short-Term Statistics
Tabelle: statistics_short_term
5-Minuten-Aggregate (Mittelwert, Min, Max, Summe) für Entitäten mit state_class (measurement/total/total_increasing)
Nur kurzfristig vorgehalten (Standard: 10 Tage), dient als Zwischenstufe
Wird automatisch in Long-Term Statistics zusammengefasst und danach gelöscht
purge_keep_days: Standardwert für automatisches tägliches Purge (Default: 10)
auto_purge: ob täglich automatisch (um 04:12 Uhr) bereinigt wird
auto_repack: ob beim automatischen Purge auch repackt wird
exclude/include: steuert, welche Entitäten überhaupt aufgezeichnet werden (verhindert unnötiges Datenwachstum von vornherein, besser als nachträglich purgen)
commit_interval: wie oft (Sekunden) Daten aus dem Puffer in die DB geschrieben werden
Was du damit bewirkst
Kurzes keep_days (z. B. 7) → schlanke DB, schnellere Verlaufsabfragen, aber kürzerer Detail-Rückblick
exclude sinnvoller Entitäten (RSSI, LQI, Anwesenheit) → verhindert von vornherein unnötiges Datenwachstum, statt es nachträglich zu purgen
Statistics bleiben unabhängig davon erhalten → Energieauswertung und Langzeit-Trends sind nie betroffen, unabhängig von deiner keep_days-Einstellung
Sobald man „include“ ins Spiel bringt schaltet nach meinem Verständniss Home Assistant in den „White List“ Modus und zeichnet nur alles unter „include“ auf und der ganze Rest bleibt aussen vor!?
Deshalb wäre das in meinen Augen unnütz da du ja „Automation“ nicht includiert hast!
Kann das jemand bestätigen, oder irre ich mich da?
Ich meine die Zeiten als man die Speicherung der Entitätenzustande noch explizit einstellen musste und viele Leute auf 3anbieter Datenbanken zurück gegriffen haben. Die Zeiten sind vorbei. Wenn man unter die Haube eines aktuellen HA schaut heißt es noch immer Recorder. Aber ich wollte auch keine Raketenwissenschaft daraus machen.
Ich doch auch nicht und meine Frage war ernst gemeint. Ich bin ja auch noch nicht so lange dabei. Manche Entitäten werden bei mir einfach irgendwann (30 Tage?!) gelöscht, aber ich möchte sie eigentlich in der Datenbank haben.
Welche Entitäten wären das zum Beispiel? Normalerweise werden Statistiken nach 10 Tagen in die Langzeitstatistik übernommen. Um Daten zu Sparen wird dabei die Auflösung reduziert.
In der Theorie funktioniert das gut. Aber eine Statistik bekomme ich, seit ich HA am Jahresanfang neu aufgesetzt habe, nicht in den Griff. sensor.gw1100a_event_rain zwar immer die Kurzzeitstatistik an, aber Langzeitstatistiken nur nach Laune. Manchmal hilft es länge Zeitraume zu betrachten und irgendwann werden Daten Angezeigt, die vorher nicht angezeigt wurden. Das betrifft bei mir aber nur diese eine Statistik.
Ich bin selber noch nicht super tief in der Materie drin, aber ich glaube, die Antworten gehen teilweise ein wenig an Maics eigentlicher Frage vorbei.
Wenn man z.B. in ein paar Jahren wirklich einen 1:1‑Vergleich mit heute machen möchte, wird das mit den Langzeitstatistiken in HA schwierig, weil die Daten ja stark aggregiert werden und die ursprüngliche Granularität verloren geht.
Für „normale“ Auswertungen reicht das meiner Meinung nach völlig aus. Wenn man aber detailliertere Analysen oder solche Nerd‑Vergleiche machen will, sehe ich den Vorteil von einer externen DB wie InfluxDB schon nach wie vor.
Gleichzeitig hat HA natürlich den Vorteil, dass die Daten bewusst eingedampft werden – wenn man das nicht macht, wächst die Datenbank schnell und die Anforderungen an die Hardware steigen entsprechend.
Ich würde es daher eher als „kommt auf den Use Case an“ sehen.