ich habe jetzt endlich mal den Schritt gewagt, um Speicherplatz zu sparen und die Performance zu steigern, die InfluxDB und Grafana zu installieren.
Das klappt auch wunderbar, incl. Grafana-Diagramme nahtlos in HA einzubinden, aber letztlich müssen ja auch die Daten gespeichert werden. Daher stellte sich mir die Fage, ob man das nicht “schlau” komprimieren kann.
Ich stelle mir das so vor:
7 Tage bleiben die Daten unverändert
8 bis 366 Tage alte Daten werden so “komprimiert”, dass immer Durchschnittswerte von einer Minute gebildet und statt der Originaldaten abgelegt werden (wenn denn die Abstände der Originaldaten kleiner als eine Minute sind)
Daten, die älter als 366, aber “jünger” als 731 Tage sind, sollten auf Durchschnittswerte von 5 Minuten reduziert werden
alles, was noch älter ist, auf 10 Minuten Mittelwerte
Das würde z. B. für die Daten vom Stromzähler bedeuten, die hier im Sekundentakt reinkommen, dass die nach einer Woche zu “Minutendaten” zusammengefasst werden. Anstatt von 60 Datensätzen dürfte dann ja nur einer pro Minute übrig bleiben.
Nach ca. einem Jahr würde die nächste Stufe greifen und jeweils fünf 1-Minuten-Werte auf einen 5-Minuten-Wert komprimieren.
Nach zwei Jahren werden dann nochmal zwei 5er zu einem 10er komprimiert.
Daten vom E-Auto (meiner liefert nur alle 10 Minuten Daten) würden nie angefasst.
Geht so etwas? Das könnte man dann einmal in der Woche als Automation laufen lassen …
Nutze ich nicht, soll die DB ein paar GB groß sein. Es macht mehr Sinn stark einzuschränken was überhaupt geloggt wird.
HA reduziert historische Daten von sich aus. Du kannst mal nachlesen wie das genau läuft und die Daten statt intern in eine MySQL-Datenbank zu loggen. Die könntest du auch in Grafana als Datenquelle einbinden.
und wieder muss ich zu aller erst fragen, warum, Du influxDB und Grafana brauchst?
Seit Mitte, Ende 2023 kann Home Assistant Langzeitstatistiken von alleine, es braucht keine influxDB mehr dazu!
Also wenn Du Daten sparen möchtest, dann deinstalliere influxDB wieder, denn damit hast Du doppelte Datenhaltung, denn influxDB läuft zur Standard-Datenbank SQLite immer parallel, dazu mit.
genau das macht HA von sich aus!
Zur Nutzung von Grafana, das kann sein, dass man da die mächtigeren Darstellungsformen nutzen möchte und mit den Charts und Graphen die es in HA gibt, mal im HACS Store nach Chart, Graph suchen, nicht ausreichen.
Dann würde ich aber lieber Grafana so einrichten, dass wenn es als Add-on in HA installiert ist auf das SQLite Datenbankfile zugreifen kann, oder ich ersetzt die SQLite Datenbank, gegen eine MariaDB, und binde die in Grafana ein, im Gegensatz zur influxDB, ersetzt eine MariaDB die Standard-Datenbank vollständig!
Das ist aber für die influxDB V1 für influxDB V2 muss man sich dazu tasks einrichten
Und wie man in einem Beitrag von mir sieht, ist seit ein paar Tagen / Wochen auch schon die influxDB V3 verfügbar
Das kann ich dir sagen. MariaDB wurde extrem groß und nicht mehr wartbar! HA brach regelmäßig die Wartung ab und auch manuell ließ sich die Monsterdatenbank (war dann auf 150 GB angeschwollen) nicht mehr verkleinern. Ich habe dann letztlich in den sauren Apfel gebissen und diese gelöscht.
Backups dauerten zum Schluss gut zwei Stunden! Ein notwendig gewordene Restore hat sogar einen halben Tag gedauert.
Jetzt ist das Backup in wenigen Minuten durch und die SQLite-Datenbank von HA ist auf Standardeinstellungen. Die meisten Diagramme genriere ich jetzt direkt aus Grafana und blende die in den HA-Seiten ein.
In Garafana gibt es zudem wesentlich mehr Möglichkeiten für die Diagrammerstellung!
Das ist z. B. eine Mischung aus Grafana und custom:button-card:
Wenn man sich erstmal daran gewöhnt hat, dass man die Diagramme “extern” erstellt und dann als Link über Website einbindet, ist das letztlich sogar einfacher. Nehme ich Änderungen vor, gelten die auch gleich für alle verwendeten Diagramme, die ich teilweise in verschieden Lovelace-Dashboards einblende, wie z. B. die Batteriespeicherung:
du hast / hattest am Recorder herumgespielt?
Das ist ein häufiger Fehler, denn der beeinflusst die Kurzzeitdaten, aber nicht die Langzeitdaten, wenn du am Recorder herumgespielt hast, dann werden auch die Daten z. B. Events usw. aufgehoben!
Das zweite, wenn man am Recorder etwas verstellt, sollte man auch die Datenbank anpassen, also die Parameter, wie die Datenbank die Daten verwaltet!
Alles andere sind dann Folgefehler.
Aber du hast ja die für dich praktikable Lösung gefunden, dann mal viel Erfolg weiterhin.
Nein, wenn man davon absieht, dass ich die Haltedauer der Daten auf 62 Tage begrenzt hatte. Das hat HA aber nicht gestört, weil das monatliche Reorganisieren offenbar nicht geklappt hat. Da waren letztlich alle Daten drin, die jemals reingekommen sind, also seit Dezember 2024 …
Man konnte jeden zweiten Sonntag im Monat auch sehen, dass Diagramme auf dem letzten Wert eingefroren sind, weil HA an der Datenbank gewerkelt hat. Irgendwann nachmittags ging es dann wieder, weil dann anscheinend die Aufräumversuche abgebrochen wurden.
du hast da nichts begrenzt, sondern, die Haltedauer der unwichtigen Daten verlängert, wenn man dann seine Datenbank nicht an die veränderten Gegebenheiten anpasst, passiert genau das, was du beschreibst, Automatismen laufen nicht mehr, wenn dann die Datenbank nicht mit dem Reorganisieren durchkommt, dann stehen beim nächsten Mal noch mehr daten an, die verarbeitet werden müssen und dann noch mehr usw.
Aber ist ja jetzt alles gut, du hast doch deinen Weg gefunden, und wenn man dann mit influxDB und dann mit downsample, oder mittels task seine verschiedenen Buckets, Datenbanken aufbaut, dann passt das doch für dich.
Sag mal was loggst du alles? Influxdb ist vermutlich stärker komprimiert, ich habe auf Influx wenig GB und ich logge etliche Sensoren seit Jahren. Aber extrem eingeschränkt und nur was ich wirklich brauche. Influx und Grafana hat Charm und ich liebe es. Aber du solltest erst die zu loggende Daten prüfen und einschränken. Dann brauchst du dir vermutlich keine Gedanken über ausdünnen machen.