NEWS
Visualisierung mit Node Red erstellen
-
@mickym Hallo Micky,
ich brauche mal Deinen Ratschlag: Ich wollte jetzt die Daten von der Influx auslesen um auch mein Gewicht im Liniendiagramm darzustellen. Ich hätte das dann so nachgebaut, wie Du es mit dem Blutdruck/Puls gemacht hast.
Allerdings bekomme ich jetzt folgende Debug Meldung wenn ich das Gewicht so versuche auszulesen:Nur kann ich mit der Fehlermeldung nicht wirklich was anfangen. Hast Du eine Idee, was hier falsch ist?
-
@damrak2022 Nun in Deinem aggregateWindow referenzierst Du ein Objekt mit dem Namen v und das gibt es nicht. Anstelle von v.WindowPeriod - solltest Du direkt die Periode eingeben, die aggregieren willst.
Du scheinst ja nicht die einzelnen Werte abfragen zu wollen, sondern den Mittelwert über bestimmte Zeitspannen zu bilden. Warum?
Hier hast die Syntax - aber wie gesagt, warum?
https://docs.influxdata.com/flux/v0.x/stdlib/universe/aggregatewindow/ -
@mickym Damit ich dann das Array, so wie gestern kopieren kann, um es dann mit der Inject Node anzufragen und nachzubauen.
-
@damrak2022 Dazu musst Du doch nichts aggregieren. Ich würde mal die Zeile 5 weglassen.
So oft steigst Du ja nicht auf die Waage, dass Du das aggregieren musst. Ein Beispiel siehst Du ja in dem verlinkten Code:
-
@mickym Stimmt Zeile 5 war der Fehler.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Stimmt Zeile 5 war der Fehler.
Ja Du musst lesen - v war kein definiertes Objekt.
aggregateWindow(every: 1m, fn: mean)
Hier in dem Beispiel werden mittelwerte über alle Werte, die innerhalb von einer Minute auftauchen - aggregiert.
Die Fehlermeldung war doch klar: "undefined identifier v" und diesen hast Du referenziert über das Objekt v mit der Eigenschaft WindowsPeriod - die wird aber nur in der GUI der InfluxDB gesetzt und hat nichts mit der Datenbank zu tun.
-
@mickym So sieht es momentan aus:
4 verschiedene Daten mit 4 unterschiedlichen Werten. Aber vielleicht hast Du recht, das ich das länger mit Daten füttern muss. -
@damrak2022 Ich hab dir schon mal gesagt, Du sollst die DB Abfrage nur zum Initialisieren nehmen und sonst die Datenpunkte direkt.
Ich sehe hier genau 3 Werte die auch so in der Linie abgebildet werden. Der 26.1. ist in Deinem Chart gar nicht zu sehen.
Am 23.1. ist 114, am 24.1. immer noch 114 dann sinkt es auf 107 - da ist doch gar nicht die ganze Zeit drauf.
-
@mickym sagte in Visualisierung mit Node Red erstellen:
Ich hab dir schon mal gesagt, Du sollst die DB Abfrage nur zum Initialisieren nehmen und sonst die Datenpunkte direkt.
Ja, das hattest Du geschrieben und da wollte ich noch nachfragen, da ich es nicht ganz verstanden habe. Muss ich am Flow noch was anpassen, oder wie verstehe ich das? Ich weiß nicht was ich hier dann. genau machen soll?
-
@damrak2022 Nochmal die Datenbank fragst Du nur einmal ab. Ansonsten siehst Du doch 3 Inject Nodes. Da hängst Du iobroker In Nodes dran, die immer die aktuellen Werte direkt in den Chart speichern. Die DB Abfrage machst Du nur um gleich zu Beginn eine Historie zu haben.
-
@mickym Ah, okay hier muss ich noch die drei Nodes einfügen:
-
@damrak2022 Na diese Nodes musst Du mit den iobroker IN Nodes mit den entsprechenden Datenpunkten ersetzen und dann mit Change Node ggf. noch umrechnen. Dann hast Du den Chart immer aktuell. Das parallel in der influxDB gespeichert wird, ist dann erst mal uninteressant.
Die DB Abfrage machst Du nur, um nicht jedes Mal mit einem leeren Chart zu beginnen.
-
@mickym Okay
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym So sieht es momentan aus:
4 verschiedene Daten mit 4 unterschiedlichen Werten. Aber vielleicht hast Du recht, das ich das länger mit Daten füttern muss.Im Prinzip kannst du immer mit der Maus an den Änderungen die Datenpunkte im Chart sehen. Du musst halt mit der Maus langsam darüber fahren:
-
@mickym Komisch, bei mir sieht das immer noch ganz anders aus:
Habe wohl wieder einen Fehler eingebaut. Browser habe ich mehrfach refresht
-
@damrak2022 Wieso das sieht doch nicht anders aus. Ich hab nur selbst einen Datensatz eingefügt. Wie gesagt mach die iobroker-IN Nodes noch an die Chart Node und die DB Abfrage initialisierst Du einmal am Anfang mit einer Inject node.
Du kannst ja die Zeit unten anders formatieren.
-
@mickym Okay, wenn soweit alles stimmt, werde ich das versuchen.
-
@mickym Vielleicht sollte ich mal was lernen: Ich bekomme die für das Gewicht die Change Node (create objects array ) nicht hin.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Vielleicht sollte ich mal was lernen: Ich bekomme die für das Gewicht die Change Node (create objects array ) nicht hin.
Dem kann ich nur zustimmen.
-
@mickym Toll