NEWS
getHistory an einem bestimmten Datum
-
Hallo, ich habe ein Problem mit der Abfrage von Daten aus der IObroker-InfluxDB. Vielleicht hat hier jemand eine Idee?
Ich speichere den Stand meines Gas-Zählers als "Stand" in der DB. jetzt brauche ich den Stand am Anfang des Jahres.
Ich habe den GetHistory-Block verwendet und als "Von-Zeit" als text "01.01.2024 00:00:00" und als "Bis-Zeit" als text "01.02.2024 00:00:00" eingegeben. Das funktioniert aber so nicht. Dann habe ich den String mit der Zeit in ein Zeit/Datumsformat zu konvertieren - auch ohne Erfolg.
Wie frage ich das Mimimum von Stand am 01.01.22024 aus der DB ab?
Hier noch mal mein Blockly:
Vielen Dank schon mal!!! -
Das Datum muss im Format "2024-01-01 00:00:00" angegeben werden.
-
@jojo58 said in getHistory an einem bestimmten Datum:
2024-01-01 00:00:00
Oh ha! Da hätte ich auch selber drauf kommen können... Jedenfalls funktioniert die Datumskonvertierung jetzt. Vielen Dank!
Ich bekomme allerdings einen JSON-String zurück, den ich nicht interpretieren kann:
[{"val":643.74,"ts":1716292800000}, {"val":643.75,"ts":1716296400000}, {"val":643.75,"ts":1716300000000}, {"val":643.75,"ts":1716303600000}, {"val":643.75,"ts":1716307200000}, {"val":643.76,"ts":1716310800000}, {"val":643.76,"ts":1716314400000}, {"val":643.77,"ts":1716318000000}, {"val":643.79,"ts":1716321600000}, {"val":643.79,"ts":1716325200000}, {"val":643.79,"ts":1716328800000} ]
Ich hätte nur 1 Wertepaar erwartet, das Minimum.
Außerdem kann ich nicht auf den Wert "0.val" zugreifen, ich erhalte immer nur "NULL".
Hier noch mal mein Blockly:
-
Muss das nicht nur "val" heißen, anstatt 0.val?
Bei mir wird alle paar Tage ein Wert in einen DP geschrieben, diesen lese ich über "GetHistory" aus und schreibe ihn in eine JSON Liste. Das Blockly sieht dann so aus:
Vielleicht hilft dir das weiter.
-
@jojo58 said in getHistory an einem bestimmten Datum:
ein Wert in einen DP gesc
Nein. Mit weder mit "val" noch mit "0.val".
Ich habe das ja schion einmal mit HTTP (GET) gemacht. Da hieß das Attribut: sensordatavalues.0.value Hier fehlt das "sensordatavalues" im JSON. (Mit "value" geht es auch nicht.)
Ich kapiers einfach nicht, es kommt 2x das Selbe raus: -
Ich glaube das liegt an dem "Aggregieren nach". Ich brauchte auch Summen und Mittelwerte und darüber klappte es nicht, also habe ich dafür die Liste erstellt und hole mir dann die Summen und den Durchschnitt über über diese Liste. Mach das doch mal wie in meinem Blockly und erstelle eine Liste. Dann siehst du zumindest, was überhaupt ausgegeben werden kann. Bei mir sieht die Liste dann so aus, nur ein Auszug...
[ { "ts": 1725199500000, "val": 1700 }, { "ts": 1725458700000, "val": 1500 } ]
Eventuell hat ein anderer User noch eine Idee?
-
@jojo58 said in getHistory an einem bestimmten Datum:
aupt ausgegeben werden kann. Bei mir sieht die Liste dann so aus
Ich probiere das mal. Vielen Dank soweit!
-
Wenn du es hinbekommen hast, dann kannst du das ja mal posten
-
Hatte gestern keine Zeit mehr. So funktioniert es und du bekommst den Min Wert:
-
@jojo58
Vielen Dank für das Script!
Ich probiere es heute gleich mal aus.
(Gestern hatte ich auch keine Zeit mehr... ) -
@jojo58
Super! Das Script funktioniert!
Na da muss man ja ganz schön um die Ecke denken... Aber Hauptsache es läuft nun.
Vielen Dank für deine tolle Hilfe!!!
Hier noch mal das Blockly:
-
Hab ich gern gemacht. ABER, ich bin auch nur Anfänger und konnte dir zufällig helfen, weil ich etwas ähnliches im Einsatz habe