NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 So bekomme ich immer ein undefined. Also stimmt da was nicht:
-
@damrak2022 Nein es ist ja eine Eigenschaft eines Zimmers - Du solltest also die Struktur weiter beachten:
payload.Zimmer[Zimmername="gelbes Zimmer"]
Die Lösung ist also Du möchtest ein Zimmerobjekt haben, dessen Zimmername, das "gelbe Zimmer" ist.
-
@mickym Okay, danke
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, danke
Damit siehst Du wie einfach das mit JSONATA geht. Um das gleiche mit Javascript zu erreichen, müsstest Du folgenden Code schreiben:
// über Objekte aus Array mit "of" iterieren for (var obj of msg.payload.Zimmer) { if (obj.Zimmername === "gelbes Zimmer") { msg.payload = obj.Preis; return msg; } }
-
@mickym Nee las mal gut sein. Du siehst ja wie schwer ich mich hier schon tue.
-
@damrak2022 Nur noch den Preis des gelben Zimmers ausgeben.
-
@mickym Der ist doch hier:
-
@damrak2022 Das ist das gesamte Objekt des gelben Zimmers und wenn ich nun nur den Preis haben will?
-
@mickym Weiß ich nicht. Ich bin jetzt auch etwas raus.
-
@mickym Achso, hätte ich jetzt einfach .Zimmernummer angehängt, würde er mir nur die Zimmernummer ausgeben, verstanden!
-
@mickym sagte in Visualisierung mit Node Red erstellen:
@damrak2022 Na also. Also wenn Du ein Objekt hast, dann kannst das Gesamt ausgeben oder mit Objekt.Eigenschaft eine einzelne Eigenschaft. Ist das erst mal klar?
Darauf schreibst Du alles klar.
Und wenn ich nun frage wie du auf den Preis des Objektes zugreifst, dann ist es nicht mehr klar.
-
@mickym Ja, ich bekomme das sehr oft nicht so zusammen, wie es eigentlich sein sollte.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Achso, hätte ich jetzt einfach .Zimmernummer angehängt, würde er mir nur die Zimmernummer ausgeben, verstanden!
Nein nicht zimmernummer - Du hast das Objekt rausbekommen und ich hab gesagt dass Du den Preis ausgeben sollst. Und Du hast wie gesagt vorher geschrieben ist alles klar.
So die Lösung ist doch dann super einfach:
payload.Zimmer[Zimmername="gelbes Zimmer"].Preis
Ich verstehe nicht, wie ich sowas noch einfacher erklären soll. Wenn ich dich vorher frage, wie Du an die Eigenschaft eines Objekt kommen sollst und ich Objekt.Eigenschaft geschrieben habe und Du schreibst - alles klar.
-
@mickym Ja das mit .Preis habe ich ja gemacht. Ich meinte halt nur das würde wohl genauso mit der Zimmernummer funktionieren, richtig?
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja das mit .Preis habe ich ja gemacht. Ich meinte halt nur das würde wohl genauso mit der Zimmernummer funktionieren, richtig?
Ja
payload.Zimmer[Zimmername="gelbes Zimmer"].Nummer
-
@mickym Hier ist das was ich gemeint hatte: Die Property heißt in dem Fall "note".
-
@damrak2022 Na super - hast Du ja nun ganz alleine gefunden. Allerdings hat das meines Erachtens nichts mit der Bezahlart zu tun, sondern enthält das Bemerkungsfeld, das Du vielleicht dafür nutzt.
ich wollte beim Spritmonitor meine Tabel Node erweitern, um die Bezahlart noch hinzufügen. Allerdings weiß ich nicht welchen Begriff ich da bei Property eintragen muss?
Für die anderen Leser - das war die Ausgangsfrage - die leider über das Mailsystem gestellt wurde. Deswegen erscheinen diese Posts ohne Zusammenhang.
-
@mickym Ja, Du hast recht, ich trage das immer im Bemerkungsfeld ein.
-
@mickym Das ist der Flow, der mir über Pushover meldet wenn der Kühlschrank keinen Strom hat.
Nun würde ich gerne noch das meine Stehlampe im Wohnzimmer 5 mal rot blinkt, wenn der Strom am Kühlschrank weg ist. Wie setze ch das um?
-
@damrak2022 Nun Du könntest ja eine HUE Szene erstellen, die Deine Lampe 5 mal rot blinken lässt und die steuerst Du halt an. Ich hab zwar kein HUE - aber ich dachte, sowas geht.