Homeassistant und Influxdb

Bei mir läuft Homeassistant in einer VM auf einem Unraid Server. Jetzt habe ich in meiner InfluxDb einen falschen Datenpunkt und würde diesen gerne löschen. Ich kann den Datenpunkt identifizieren aber bekomme ihn nicht gelöscht. Kann mir jemand sagen wie ich das bewerkstellige. Läuft Influxdb in einem Docker Container?

Ist meine Frage so blöd oder ist es wirklich so kompliziert einen einzigen Datenpunkt bzw. einen bestimmten Zeitraum zu löschen?

Sorry, ich persönlich kenne mich nicht damit aus und das geht evtl. vielen anderen auch so. Evtl. liegt es daran das bisher noch keiner geantwortet hat.

Aber was ich dazu rausfinden konnte ist folgendes:
Um einen einzelnen Datenpunkt aus der InfluxDB zu löschen, kannst du das DELETE-Statement verwenden.
DELETE FROM <measurement> WHERE <tag-key>='<tag-value>' AND <field-key>='<field-value>' AND time = <timestamp>
Ersetze <measurement> , <tag-key> , <tag-value> , <field-key> , <field-value> und <timestamp> durch die entsprechenden Werte, die deinem Datenpunkt entsprechen.

Du solltest auf jeden Fall vorher ein Backup der Datenbank machen da diese Befehle unwiderruflich sind und du dir bei falschen Angaben wichtige Teile der Datenbank löschen könntest.

Vielleicht gäbe es aber noch die Möglichkeit diesen Datenpunkt zu korrigieren anstatt zu löschen, ich finde nur gerade das passende Video nicht dazu :see_no_evil:

Vielen Dank für die Hilfe. Ich komme bei mir leider über die Konsole mit dem Befehl influx nicht weiter. Läuft die Datenbank in einem Docker Container?

Sonderbar, was bitte willst du auf der Konsole? Zu tief in’s Linuxglas geschaut? :grin:
Schau dir mal das von dir gepostet Bild an.
Da ist deine Eingabezeile die die so hübsch bunt ist und mit SELECT anfängt. Ne Query sprich Abfrage. Und damit kannst du nicht nur Punkte finden sondern alles mögliche machen, Werte löschen, Tabellen löschen oder kopieren.
Da kannst du alles mögliche eintippen auch das was Flens dir geschrieben hatte.
Und da ist es auch egal ob influx in nem Container läuft oder nicht.

1 „Gefällt mir“

Danke, das hab ich gebraucht. Den Wald vor lauter Bäumen nicht gesehen.
Funktionieren tut es aber leider immer noch nicht. Er findet die Daten nicht.

also step by step

erstmal (aber das hattest du schon so hättest du das Bild nicht posten können
USE <datenbankname>

tipp mal folgendes ein:
SHOW MEASUREMENTS
da müsstest du eigentlich die Tabellen angezeigt bekommen die du in der Datenbank hast
mit
SHOW FIELD KEYS
müsstest du eigentlich die Feldinformationen der Measurements angezeigt bekommen
SELECT * FROM <measurements> WHERE time > now()-5m
sollte dir die werte der letzten 5 Minuten anzeigen

Einzelne Werte finden und löschen (wie @Flens schon geschrieben hatte
SELECT * FROM <measurements> WHERE <objects> < 1
also alle kleiner 1 das müsste den fehlerhaften Wert ja dann anzeigen und dann
DELETE FROM <measurements> WHERE time=<zeitwert>
den solltest du ja vorher gesehen haben nach dem select befehl
und ja nimm den richtigen oder denkt an das Backup

die Begriffe in den “< >” musst du aber ersten aber das ist wohl klar.

Moin,
Kann ich hier auch eine ganze ungültige Entität löschen ?
also ohne value und ohne zeitangaben.
ich habe hier einihe entitätsleichen die ich los werden möchte.

gruss ms1958