NEWS
UNSOLVED InfluxDB auslesen mit Node-Red, Zeitbereich
-
Hallo Zusammen
Mit Node-Red kann ich eine InfluxDB auslesen. Jetzt meine Frage: Kann ich einen Zeitbereich vorgeben welche Daten ich zum Beispiel vom 01.01.2022 bis 01.02.2022 auslesen möchte? -
@mauri-0 Der Thread hat sich ja wahrscheinlich erledigt, nachdem ich aus dem Parallthread entnehme, dass Du die Daten erfolgreich auslesen konntest.
-
@mickym Nein nicht wirklich...
Es geht darum, wenn ich die gespeicherten Daten auslese, nicht die neuste erhalte, sondern eine Zeit (Datum) vorgebe, dass ich die Daten zu diesem Zeitpunkt haben möchte.Angenommen ich habe eine DB-Fütterung ab 01.01.22 gestartet und die Daten werden all 15 Minuten gespeichert. Jetzt möchte ich nicht der neuste Datensatz erhalten, sondern die Daten vom 01.02.22. Gibt es da eine Möglichkeit dies zu erhalten?
Mir ist bewusst, dass die älteren Daten nicht mehr im Viertelstundentakt gespeichert werden, dass aber vielleicht noch einen Wert pro Tag gespeichert wird...
Ich hoffe, du Verstehst was ich meine
-
@mauri-0 Ja dazu kenn ich die Influx DB zu wenig, Du musst halt mal schauen, wie dort die Datenstruktur ist. Ich nutze mysql und da sieht die Datenstruktur so aus:
Der timestamp wird also einfach als Unix Timestamp gespeichert.
Das SQL Kommando musst Du bei der mysql Node über das Topic eingeben:
Das schaut bei mir so aus und wird über eine Template Node gefüllt:
SELECT `id`, `ts`, `val` FROM `iobroker`.`ts_string` WHERE `id` = 10 AND `val` IS NOT NULL AND `ts` BETWEEN 1651148231204 AND 1651166787428 ORDER BY `ts`
Tagesstart und Tagesende hole ich mir über die Moments Bibliothek.
Das Herzstück der mysql Abfragen also between
ist das :
Mit der Change Node - kannst Du zu jedem beliebigen Datum, das Ende des jeweiligen Tages als Timestamp auszugeben.
das gleiche geht auch mit dem Tagesstart
Hier mal ein Beispiel wie Du anhand eines Datums die exakte Start und Endezeit in ms umrechnest: