NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Mit einer geschweiften Klammer und durch Komma getrennt
Was ist durch ein Komma getrennt?
-
@mickym die unterschiedlichen Eigenschaften, falls vorhanden
Beispiel:
Objekt: Mercedes
Eigenschaften: (Klimaanlage, Sitzheizung) -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym value, measurement start und stopzeit, sowie table
Was ist das also?
Also Eigenschaften - wie sieht denn nun das Ergebnis Deiner Abfrage aus?
-
@mickym Sorry, bin mir unsicher
-
@damrak2022 Also ich hab Dir doch in dem Flow eine debug Node gemacht vor der Change Node - also mit dem Inhalt Deiner Abfrage und dann eine debug Node mit dem Inhalt wie das Array aussieht was in die Chart Node geht. Dann schau Dir halt beides an. Und mach das Gleiche mit Deiner neuen Abfrage.
-
@mickym Ja, bin gerade dabei.
-
Hallo Micky,
Nachdem ich es irgendwie nicht wirklich begreife, schreibe ich Dir hier mal was ich nicht kapiere: Wenn ich mir das Ergebnis aus dieser Abfrage anschaue:bekomme ich diese Ausgabe:
[{"series":["Systole","Diastole","Puls"],"data":[[{"x":1674453025342,"y":127},{"x":1674454046390,"y":114},{"x":1674544046439,"y":114},{"x":1674544946521,"y":107}],[{"x":1674453055302,"y":84},{"x":1674454046390,"y":78},{"x":1674544046438,"y":78},{"x":1674544946520,"y":71}],[{"x":1674453088093,"y":114},{"x":1674454046392,"y":106},{"x":1674544046442,"y":106},{"x":1674544946521,"y":85}]],"labels":["Systole","Diastole","Puls"]}]
Wenn ich das abfrage:
bekomme ich diese Ausgabe:
[{"result":"_result","table":0,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T05:50:55.302Z","_value":84,"_field":"value","_measurement":"Diastole"},{"result":"_result","table":0,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T06:07:26.39Z","_value":78,"_field":"value","_measurement":"Diastole"},{"result":"_result","table":0,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:07:26.438Z","_value":78,"_field":"value","_measurement":"Diastole"},{"result":"_result","table":0,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:22:26.52Z","_value":71,"_field":"value","_measurement":"Diastole"},{"result":"_result","table":1,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T05:51:28.093Z","_value":114,"_field":"value","_measurement":"Puls"},{"result":"_result","table":1,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T06:07:26.392Z","_value":106,"_field":"value","_measurement":"Puls"},{"result":"_result","table":1,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:07:26.442Z","_value":106,"_field":"value","_measurement":"Puls"},{"result":"_result","table":1,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:22:26.521Z","_value":85,"_field":"value","_measurement":"Puls"},{"result":"_result","table":2,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T05:50:25.342Z","_value":127,"_field":"value","_measurement":"Systole"},{"result":"_result","table":2,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-23T06:07:26.39Z","_value":114,"_field":"value","_measurement":"Systole"},{"result":"_result","table":2,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:07:26.439Z","_value":114,"_field":"value","_measurement":"Systole"},{"result":"_result","table":2,"_start":"2023-01-19T00:35:58.94679632Z","_stop":"2023-01-26T00:35:58.94679632Z","_time":"2023-01-24T07:22:26.521Z","_value":107,"_field":"value","_measurement":"Systole"}]
Okay, mir ist eines zumindest klar:
Der X Wert stellt die Unix Time dar, welchen Du mit $toMillis(_time) in das akutelle Datum/Uhrzeit umrechnest.
Der Y Wert stellt den Weg der Messung dar.
In beiden Debug Ausgaben von Dir wird ein Array ausgegeben.
Wenn ich nun erstmal meine direkte Abfrage über diesen Flow mache:
bekomme ich diese Ausgabe:
[{"result":"_result","table":0,"_start":"2022-12-28T06:40:27.840084988Z","_stop":"2023-01-27T06:40:27.840084988Z","_time":"2023-01-24T03:32:27.457Z","_value":120.244,"_field":"value","_measurement":"Gewicht"},{"result":"_result","table":0,"_start":"2022-12-28T06:40:27.840084988Z","_stop":"2023-01-27T06:40:27.840084988Z","_time":"2023-01-26T04:10:02.814Z","_value":119.908,"_field":"value","_measurement":"Gewicht"}]
Dann kopiere ich den Wert von Array2 und setze ihn in die Inject Node ein um dann letztendlich irgendwann mal den Flow für das Gewicht nachzubauen.
Was mir klar ist, ist das was ich Dir vorher in einem kleinen Beispiel gepostet habe:
Objekt = Mercedes
Eigenschaften = ( Klimaanlage, Sitzheizung, Airscarf, Verbandskasten)
Wenn ich mich aber nun auf den vorletzten Screenshot beziehe, habe ich mit folgenden Dingen Probleme:
Das Array enthält 2 Objekte - Objekt 0 und Objekt 1
Dann kommen die Eigenschaften: Aber sind wirklich
result
table
start
stop
time
value
field measurement
alles Eigenschaften?
Du hast mir ja auch mal die Erklärungen hier gepostet:• Demnach ist die payload die Eigenschaft eines Nachrichtenobjekts (rosa) • Ein Array ist eine Liste mit beliebig vielen Einträgen (grün)
• Jedes Listenelement enthält ein Objekt (orange)
• Jedes Objekt enthält Eigenschaften (blau)
Obwohl ich das jetzt alles nochmal gelesen habe, tue ich mich extrem schwer damit hier die richtigen Dinge für mich herauszulesen und umzusetzen. -
@mickym Die kopierte Change Node habe ich so angepasst, aber Du darfst mal raten - Farbe rot
[ { "series" : ["Gewicht"], "data": [ [ payload[_measurement="Gewicht"].{ "x" : $toMillis(_time), "y" : _value } ], ] ], "labels" : ["Gewicht"] } ]
Irgendwo ist die eckige Klammer falsch, aber ich bin der Meinung jetzt fast alles ausprobiert zu haben:
Ungültiger JSONata-Ausdruck: The symbol "]" cannot be used as a unary operator
-
@damrak2022 zu jeder Klammer, die Du öffnest musst du auch wieder eine schließen. Lösch mal Zeile11 und 12.
-
@mickym Habe ich gemacht. Ich weiß das Klammer die geöffnet werden auch geschlossen werden müssen. Ich verstehe nur nicht warum es manchmal in einer Zeile einfach nur eine Klammer gibt oder sogar 2 untereinander.
-
@mickym Das sieht gut aus:
27.1.2023, 08:34:34node: Array zur Initialisierung der Chart Node msg.payload : array[1] array[1] 0: object series: array[1] 0: "Gewicht" data: array[1] 0: array[2] 0: object x: 1674531147457 y: 120.244 1: object x: 1674706202814 y: 119.908 labels: array[1] 0: "Gewicht"
-
@damrak2022 na das üben wir, in dem wir das Objekt nochmal von Hand aufbauen.
-
@mickym Das ist bestimmt sinnvoll, aber auf der anderen Seite habe ich auch schon wieder die größten Befürchtungen was ich da wohl anstelle.
-
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Das ist bestimmt sinnvoll, aber auf der anderen Seite habe ich auch schon wieder die größten Befürchtungen was ich da wohl anstelle.
Ist doch egal - nur wenn du es selbst aufbauen kannst, kannst du dir helfen und wie immer machen wir es in kleinen Schritten, aber erst heute Abend. Du siehst, wie wichtig das mit den Objekten und Arrays ist. Und warum ich die JSONATA Übungen mit Dir machen wollte.
Wie sieht der Chart aus?
-
@mickym Ist doch gepostet
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Waren ja nur 2 Punkte, soweit ich das sehe.
-
@mickym Stimmt, muss häufiger auf die Waage
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Stimmt, muss häufiger auf die Waage
Auch da wieder direkt den Datenpunkt anschließen und nicht über die Datenbank auslesen. Das topic muss zwingend „Gewicht“ heißen.
-