Manchmal gibt es Messungen in einer InfluxDB, die zerstören das schöne Bild – verursacht durch Messfehler, Programmierfehler oder Schnittstellenproblemen. Bei mir sind das manchmal fehlerhafte 0-Werte.
Leider gestaltet sich das Löschen von einzelnen Messungen aus einer InfluxDB nicht so einfach, wie der ein oder andere es vielleicht von anderen Datenbanken gewohnt ist, da die Zeit das einzig zugelassene Identifikationsmerkmal einer DELETE Operation ist.
Update 02.10.2022: Inzwischen unterstützt der ioBroker InfluxDB Adapter das Löschen von Messwerten. Dazu einfach den Datensatz auswählen und das Löschicon betätigen.
Hier meine Vorgehensweise (unter Windows):
- Über die Software InfluxDB Studio (nur für Windows) mit der Datenbank verbinden.
- Über folgenden Befehl und das Anpassen der Zeit (und der Datenbank) die zu löschenden Werte identifizieren.
SELECT * FROM „coronavirus-statistics.0.Germany.cases“ WHERE time > now() – 5d – 19h AND time < now() – 5d – 17h
Dabei steht „5d“ für fünf Tage, „19h“ für 19 Stunden, und so weiter. - Werden bei dem SELECT nur noch die Messungen angezeigt, welche gelöscht werden sollen, das “ SELECT * “ durch “ DELETE “ ersetzen und den Befehl ausführen.
- Fertig.
Ich übernehme keine Garantie für ungewollte Datenverluste.
delete measurment influxdb
Unter ioBroker fehlt bei mir das Symbol zum löschen des Datenpunkts. Muss hierzu noch etwas gesondert eingestellt werden?
Ich nutze aktuell den ioBroker.influxdb Adapter mit der Version 3.1.8 mit einer InfluxDB v1.x
Gibt es hier Unterschiede bei dir, an denen es liegen könnte?
Hallo, habe eben deine Seite entdeckt.
Super verständlich erklärt.
Gibt es auch eine Möglichkeit, einen Datenpunkt in der „InfluxDB „anzulegen?
Besten Dank,
Michael
Ja, das geht zum Beispiel mit dem Node-RED Node „influxdb out“.
Hallo Lukas,
habe mir eben mal Node-RED mit dem Node influxdb installiert.
Im Moment ist das alles noch riesiges Neuland.
Ich werde mich da mal durchkämpfen, ob man das in den Bausteinen direkt einpflegen kann oder ob man einen String erstellen muss.
Danke Michael
Hallo Michael, in der Dokumentation gibt es unter Output-Node ein Beispiel, welches man importieren kann. Vielleicht hilft das weiter. Bisher lasse ich den iobroker das schreiben der Werte übernehmen. Mit Node-RED lese ich nur die Werte aus.
Ich habe für oder gegen dieses Problem noch jeweils einen zusätzlichen Datenpunkt angelegt, der seinen Wert nur ändert, wenn der Sensorwert ungleich 0 ist. So bleibt nur bei Sensorwert = 0 eine ( nur bei der Außentemperatur relevante) kleine Ungenauigkeit.
Auch eine Idee.