NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 Ja Du hast ein Verständnisproblem. Du sollst drunter eine neue Regel erstellen, in der Du der nachrichteneigenschaft msg.Shellys Dein Array zuweist.
-
@mickym Meinst Du so?
-
@damrak2022 Sehr gut. Wenn Du dir nun das komplette Nachrichtenobjekt ausgeben lässt, siehst Du dass nun Deine Tabelle in der Nachrichteneigenschaft Shellys auftaucht. Das werden wir aber zum Schluss wieder entfernen, weil wir die Tabelle ja nur zur Übersetzung brauchen. Aber zeig mal dass nun in jedem Nachrichtenobjekt die Tabelle enthalten ist.
-
@mickym Du hast schon wieder recht
-
@damrak2022 Wäre ja schlimm, wenn es nicht so wäre. Und nun wirst Du die Magie von JSONATA kennenlernen, wie wir nun das topic übersetzen. Wir nutzen dafür sogenannte predicate Queries ( https://docs.jsonata.org/predicate ) - um Dich nicht gänzlich zu verwirren, wir werden später mit den Zimmer uns genauer mit dieser Art von JSONATA Abfragen beschäftigen.
Nun setzt Du darunter eine neue Regel, in der Du das msg.topic auf folgenden JSONATA Ausdruck setzt.
Shellys[Kennung=$$.topic].Name
-
-
@damrak2022 Na und was siehst Du, wie hat sich das topic verändert?
-
@mickym Keine Ahnung wie ich das beschreiben soll. Oben steht als Topic der Gerätename
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Keine Ahnung wie ich das beschreiben soll. Oben steht als Topic der Gerätename
Genau und das war unser Ziel.
- Nun können wir die Nachrichteneigenschaft Shellys wieder aus dem Nachrichtenobjekt löschen, denn die Tabelle hat nun ihren Zweck erfüllt. Also einfach eine weitere Regel eingeben und die Eigenschaft wieder aus dem Nachrichtenobjekt entfernen.
Also nicht die 2. Regel löschen, sondern zum Schluss eine Löschen Regel eingeben!
Dein komplette Change Node sollte also so aussehen:
-
-
@damrak2022 Sehr gut - das heißt wir haben nun unser nächstes Etappenziel erreicht und haben nun den Topics in den Nachrichten die richtige Bedeutung gegeben. Ist doch gut, oder? - Damit können wir dann morgen mittels der JOIN Node wieder Objekte erstellen, die den Status aller Shellies enthalten.
Du kannst Dich ja zum Schluss noch überzeugen, dass die Tabellen wieder erfolgreich aus den Nachrichtenobjekten entfernt wurden.
-
@mickym Ja, morgen ist eine gute Aussage
-
@damrak2022 Na bist Du nicht stolz, was Du geschafft hast - sprechende topics - Du musst Dir keine Codes mehr merken, welches Gerät was meldet, sondern siehst es auf Anhieb anhand des topics.
-
@mickym Ja, aber dieses Klammer auf und zu, geschweifte Klammer und Komma und so weiter finde ich anstrengend. Ansonsten klar, es wird langsam besser
-
@damrak2022 Der visuelle Editor übernimmt das für Dich - schau Dir doch mal im visuellen Editor an, wie Dein Array aussieht und mach hier mal einen Screenshot.
-
-
@damrak2022 Eben Du siehst also dass Du ein Array definiert hast mit den Objekten.
Wenn Du dann auch noch die Texteingabefelder benutzt, dann brauchst Dich auch nicht um die Gänsefüsschen kümmern, das erledigt alles der visuelle Editor für Dich. Zumindest solange bist Du soweit geübt bist, es selbst einzugeben. Also in dem Texteingabefeld ist ja String definiert - deswegen brauchst Du da keine Anführungszeichen mehr eingeben.
-
@mickym Ja, mit dem sollte ich morgen mal üben.
-
@damrak2022 Gut - dafür brauchst Du mich ja nicht. Ich gehe nun mal davon aus, dass Du Objekte und Arrays definieren kannst. Freue Dich über Deinen heutigen Erfolg und morgen werden wir uns dann wieder mit der JOIN Node beschäftigen und die Objekte, die wir nun mit unserer Change Node geändert haben, zusammenfassen.
-
@mickym Jetzt kommt bestimmt was einfaches, oder