NEWS
InfluxDB mit Node-RED auslesen und schreiben - so geht's!
-
@woodbert sagte in InfluxDB mit Node-RED auslesen und schreiben - so geht's!:
(Leider gibt es kein LAST oder ähnliches)
Das ist so nicht korrekt. Du kannst LAST() verwenden.
Auszug aus einem fuction-node von mir:
let qdevice = msg.payload.device; let qserie = msg.payload.serie; let query = `SELECT LAST("value") AS "${qserie}" ` + `FROM "${qdevice}" `; msg.query = query return msg;
Gruß
Reiner -
@rewenode
Schick, ich danke dir! Habe ich übersehen.Um denselben "Output" zu bekommen muss ich dann aber das hier schreiben:
SELECT LAST(value) AS value FROM test
Ansonsten steht in den Objekten des Arrays "last" als key.
-
@woodbert sagte in InfluxDB mit Node-RED auslesen und schreiben - so geht's!:
Um denselben "Output" zu bekommen muss ich dann aber das hier schreiben:
Wird wohl auf den Typ deiner Spalte value ankommen. Bei mir gehts mit "value". Wobei man "value" ja nicht wirklich als Spaltenbezeichner nehmen sollte - mein Fehler.
Gibt übrigens auch FIRST()Und dann sollte man es aus Performacegründen mit GROUP BY kombinieren.
Siehe hier https://stackoverflow.com/questions/29193898/influxdb-getting-only-last-value-in-queryGruß
Reiner -
@woodbert Achtung, value (in meinem Beispiel) ist ein Spalte
Gruß
Reiner -
@rewenode sagte in InfluxDB mit Node-RED auslesen und schreiben - so geht's!:
Und dann sollte man es aus Performacegründen mit GROUP BY kombinieren.
Siehe hier https://stackoverflow.com/questions/29193898/influxdb-getting-only-last-value-in-queryHmm, ich sage doch, dass ich influx "nicht verstehe"
Immerhin steht bei stackoverflow, dass die schlechte Performance für InfluxDB v0.8 gilt, vielleicht ist das ja bei v1.8 behoben -
@woodbert said in InfluxDB mit Node-RED auslesen und schreiben - so geht's!:
In der unteren Zeile ist das intelligent, es wird nur der letzte Eintrag geholt und dann im payload (dem Ergebnis der Query), das erste Objekt und darin das Field "value" abgefragt ("msg.payload[0].value"), damit bekomme ich den Wert, den ich oben reingesteckt habe.
Guten Morgen
Wo hast du diesen Term "msg.payload[0].value" eingegeben? denn ich möchte wirklich aus dem Array nur die Value als payload haben.... Die Lösung von Dir funktioniert ansonsten (hab den Flow importiert)
Danke für eure Antworten! -
@mauri-0
Was du oben siehst ist die Ausgabe eines debug-nodes.
Du kannst das natürlich auch in einen change-node schreiben und in msg.payload füllen. -
-
@mickym
Danke für die schöne Aufbereitung meines Vorschlags. Am iPhone von unterwegs war mir das doch zu schwierig -