Ich erinnere mich noch gut daran, als ich das erste Mal meinen Home Assistant mit InfluxDB verbunden habe. Damals war ich total begeistert, endlich historische Messwerte von Temperatur, Luftfeuchtigkeit oder Stromverbrauch sauber zu loggen. Über die Zeit sammelt sich da aber eine Menge Datenmüll an. Irgendwann kam der Moment, an dem ich mich fragte: „Wie lösche ich eigentlich alte oder unnötige Daten aus InfluxDB, ohne alles durcheinanderzubringen?“ Wenn Du auch vor diesem Problem stehst, dann lies einfach weiter.
Hier im Video ab Minute 38:10 zeige ich dir, wie das funktioniert.
Warum Daten löschen?
Ich persönlich nutze InfluxDB, um langfristige Trends zu analysieren. Doch mit der Zeit wachsen diese Datenbanken zu wahren Riesen Berg heran. Alte Messpunkte, die ich längst nicht mehr brauche, nehmen unnötig Platz weg und verlangsamen manchmal auch Abfragen. Außerdem will ich ab und zu einfach aufräumen, um meine Grafiken übersichtlicher zu halten.
Vorbereitung
Bevor ich mit dem Löschen beginne, schaue ich mir zuerst genau an, welche Daten überhaupt raus sollen. Typischerweise habe ich für Home Assistant ein oder mehrere Measurements (Messreihen) angelegt, zum Beispiel für Temperaturen, Luftfeuchtigkeit oder Stromverbrauch. Vielleicht will ich auch nur einen bestimmten Zeitraum löschen – etwa alles vor einem bestimmten Datum, weil das ohnehin längst veraltete Messwerte sind.
Wenn Du InfluxDB 1.x nutzt, hast Du wahrscheinlich Zugriff auf das InfluxDB CLI oder Du kannst über den integrierten Web-Interface (Chronograf) arbeiten. Klicke einfach auf das Influx Logo, falls das nicht da ist, gehe in deinen Addon Store und klicke auf „Öffne Weboberfläche“
Hier die Influx DB 1 Variante, aus dem Offiziellen Home Assistant Addon Store installiert.

Den Wert möchte ich löschen:

Hier Beispielhaft meine Selektion, wie ich in Influx & Grafana Daten sehe.
Daraus leiten wir unseren Löschbefehl ab:

SELECT mean("value") FROM "W" WHERE ("entity_id"::tag = 'studio_zigbee_irheizung_leistung') AND $timeFilter GROUP BY time($__interval) fill(previous)
Bitte passe alle Namen wie dein Influx DB Datenbankname an, deine Entität ID, sowie die Einheit (in meinem Fall W für Watt), sodass alles gelöscht werden kann.
USE "homeassistant" ; DELETE FROM "W" WHERE "entity_id" = 'studio_zigbee_irheizung_leistung'

Nacharbeiten
Wenn Du Grafiken in Home Assistant oder in Grafana verwendest, kann es sein, dass Du die Ansichten aktualisieren musst, um zu sehen, dass alte Daten verschwunden sind. Manchmal reicht ein Reload des Dashboards. Hier siehst du, sind jetzt alle Daten weg.

Fazit
Für mich ist das regelmäßige Aufräumen in InfluxDB längst Routine geworden. Durch das Löschen alter Daten halte ich meine Smart-Home-Statistiken schlank, sorge für bessere Performance und habe immer einen klaren Blick auf die wirklich relevanten Zeiträume. Wenn auch Du Deine InfluxDB in Schuss halten willst, probiere es einfach mal aus. Es ist gar nicht so kompliziert, wie es auf den ersten Blick scheint.
Hast Du noch Fragen oder eigene Tipps zum Thema Daten löschen in InfluxDB?
Hallo,
mein Temperatursensor hat über Matter einen einzelnen falschen Wert geliefert. Das Rückschreiben mit dem korrekten Wert in InfluxDB hatte ein Ergebnis, aber nicht den gewünschten Wert, da der CSV Export nur ganze Sekunden anzeigte. Nach Entfernen von mean aus der SQL Abfrage hatte ich 2 Werte. Ein Wert bei der ganzen Sekunde und einen Wert bei zusätzlich 272 Millisekunden.
Die Werte für die ganze Sekunde kann ich beliebig überschreiben, bei den Millisekunden kommt ein zusätzlicher Wert hinzu.
„2025-04-29T21:41:03.000+02:00″,“12.8“
„2025-04-29T21:41:04.000+02:00″,“12.9“
„2025-04-29T21:41:04.271+02:00″,“12.8“
„2025-04-29T21:41:04.272+02:00″,“12.8“
„2025-04-29T21:41:04.272+02:00″,“74.8“
„2025-04-29T21:41:04.273+02:00″,“12.8“
„2025-04-29T21:51:05.713+02:00″,“12.4“
Wie würde der Löschbefehl aussehen, wenn nur ein bestimmter Zeit-Bereich oder Wert gelöscht werden soll?
Wie lange werden die Werte in der Home Assistant eigenen Datenbank aufbewahrt? Durch ein günstiges Angebot von AMAZON forciert, läuft mein Home Assistant seit dem 8. April auf einen Mini-PC unter Proxmox.
(Der mittlere Stromverbrauch von Fritzbox, Antennenverstärker, QNAP TS130 und Mini-PC liegt bei 35 W)
Hallo,
das Problem mit dem Ersetzen der Werte habe ich etwas weiterverfolgt. Werte werden nur bei exakt gleichen Zeitwerten ersetzt. Beim CSV-Export werden nur die Millisekunden (272) angezeigt. Durch Probieren konnte ich noch die Mikrosekunden (272) ermitteln. Für die Nanosekunden gab es keinen exakten Wert. Der tatsächliche Zeitwert liegt zwischen 999 bis 1000 Nanosekunden.
Vielleicht gibt es doch eine Lösung für das Löschen von Werten in definierten Zeit-Bereichen