Langzeitspeicherung von Werten

Hallo Zusammen,

ich möchte meine Energiewerte, Wetterdaten und ein paar andere Daten in eine Langzeitdatenbank speichern.

Wenn ich es richtig gelesen habe, kann ich InfluxDB und Grafana nicht mehr als Addon in HA nutzen.

Ich habe einen Promox-Server und auch eine Synology mit dem Container Maager. HA läuft bei mir als VM unter Proxmox.

Ist InfluxDB mit Grafana noch die richtige Wahl?

Installiere ich die Datenbank und Grafana unter Proxmox oder auf der Synology?

Kennt ihr gute YouTube Videos zur Einrichtung?

Vielen Dank vorab für eure Unterstützung :grinning_face:

Viele Grüße
Maic

1 „Gefällt mir“

Das macht HA doch von Haus aus. Zumindest seit einigen Jahren.

1 „Gefällt mir“

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.

1 „Gefällt mir“

Ihr meint den Recorder? Oder gibt es noch eine Möglichkeit?

1 „Gefällt mir“

Ich habe Influx und Grafana als LXC Container in Proxmox laufen, und in Influx werde die Daten gesammelt und weiterverarbeitet.

Auf welchem Softwarestand ist dein HA? Der Recorder ist seit Jahren überholt. Oder hast du eine extra alte Quelle herausgeholt?

1 „Gefällt mir“

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.

2 „Gefällt mir“

Hier mal noch ein Link, kannst du dir ja deutsch übersetzen lassen.

Dort wird das gut erklärt und was zu beachten ist.

1 „Gefällt mir“

Ich nutze HA 2026.6.

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.

Ich danke euch :grinning_face:

1 „Gefällt mir“

Ich nutze auch die interne Datenbank.

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

3. Long-Term Statistics

  • Tabelle: statistics
  • Stündliche/tägliche Aggregate, dauerhaft gespeichert (kein automatisches Löschen)
  • Basis für Energie-Dashboard, Jahresvergleiche, langfristige Trend-Charts
  • Bleibt von recorder.purge unberührt

Konfiguration

In configuration.yaml unter recorder::

recorder:
  purge_keep_days: 7
  auto_purge: true
  auto_repack: true
  commit_interval: 5
  exclude:
    domains:
      - automation
    entity_globs:
      - sensor.*_rssi
  include:
    domains:
      - sensor
      - binary_sensor
  • 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
2 „Gefällt mir“

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? :thinking:

1 „Gefällt mir“

Dann bin ich auch noch auf einem alten Stand. :frowning: Was ist denn der Nachfolger vom Recorder?

1 „Gefällt mir“

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.

1 „Gefällt mir“

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.

1 „Gefällt mir“

Hast recht. Ich nutze auch nur exclude.

1 „Gefällt mir“

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.

1 „Gefällt mir“

Wenn du deine Datenbank kleiner halten möchtest, kannst du mit meiner integration GitHub - Noack1978/ha-recorder-advisor: Liest die Recorder-SQLite-DB aus und zählt Zustandsänderungen je Entität über einen konfigurierbaren Zeitraum. · GitHub
die entitäten mit den meisten Einträgen ermitteln. Sie schreibt dir auch den yaml-code für den exclude im recorder. Entitäten, die du behalten willst, kannst du in der Karte ignorieren.

3 „Gefällt mir“

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.

2 „Gefällt mir“

Nettes Tool, aber leider schreibt es mir nur ich soll “alles” excluden, ich möchte doch aber nur schrumpfen.

Hast du dafür schon irgendeinen Thread am Laufen? Ich möchte ungern diesen hijacken :wink:

Hallo in die Runde,

wie kann ich denn rausfinden , ob überhaupt longtime daten mitgeschrieben werden .

Habe die MaraDb installiert, weis aber nicht wo, wie und ob überhaupt die Daten gespeichert werden. ??