NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 Schön - kannst Du das mal auswendig lernen?
Dann zieh bitte mal eine frische Inject Node in deinen Flow und sag mir was Du siehst.
-
@mickym Ich sehe ein timestamp und die sieht erstmal so aus:
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ich sehe ein timestamp und die sieht erstmal so aus:
Genau wichtig - wir beginnen uns nun mit Objekten zu beschäftigen. Die ganzen Objekte die durch die Kabel von Node Red geschickt werden, sind Nachrichtenobjekte und heißen msg.
Wenn Du so eine Inject Node rausziehst, dann wird dir vorgeschlagen 2 Eigenschaften eines Nachrichtenobjektes zu definieren.
- Eine payload
- Ein topic
Hast Du eine Idee in welcher Eigenschaft man was definiert?
-
@mickym Na, bei der payload könnte ich jetzt Herr, Max,Mustermann usw. definieren.
der topic ist ja eigentlich, wenn ich eine payload auf einen anderen Namen gesetzt habe. -
@damrak2022 Nein das ist nicht ganz richtig:
- In der payload gibst du also die Nutzdaten ein und das kann wie Du schreibst Herr, Max,Mustermann usw. sein
- In dem topic gibst Du eine beschreibende Eigenschaft mit, damit man weiss, um WAS für eine Information es sich handelt.
In der Regel wird man also eine Inject-Node, die eine payload mit "Herr" enthält ein Topic "Anrede" zuordnen. Schau mal wenn Du das machst, wie dann diese Inject Node in Deinem Flow-Editor aussieht.
Wenn du das gemacht hast, dann machst Du 2 Debug Nodes hinter diese Inject Node, einmal mit der Ausgabe des kompletten Nachrichtenobjektes, und einmal mit der Standardausgabe msg.payload.
-
@mickym Ich glaube, ich habe nicht ganz verstanden, was ich machen soll
-
@damrak2022 Ja ich wollte nur dass Du die Node im Editor, die Du erstellt hast postet:
Du siehst, also das das topic quasi mit einem Doppelpunkt der payload vorangestellt angezeigt wird.
In den beiden Debug Nodes siehst Du bei dem kompletten Nachrichtenobjekt die Eigenschaften des Nachrichten-objektes:
- eine msgid: wird intern vergeben, um jedes Nachrichtenobjekt im System nachverfolgen zu können
- eine payload Eigenschaft
- eine Topic Eigenschaft.
Du siehst aber auch in beiden, dass das topic - wenn eines existiert in der Überschrift in roter Schrift dargestellt wurde.
-
@mickym Okay, habe ich
-
-
@damrak2022 Genau und ausserdem siehst Du immer in den Debug Nachrichten, von welcher Node die Nachricht stammt, das ist wichtig wenn man mal viele Debug Nachrichten hat.
-
@mickym Okay
-
@damrak2022 Ausserdem kannst Du wenn Du den Debug Nodes Namen gibst, sogar in dem Debug Fenster Nachrichten, die von einer bestimmten Node stammen filtern.
Wenn Du also hier auf Ausgewählte Nodes gehst, dann kannst Du filtern welche Nachrichten Du sehen willst.
-
@mickym Bei mir ist genau das ausgewählt
-
@damrak2022 na Standard ist dass man immer alle Nodes im Debug Fenster sieht.
-
@mickym Wahrscheinlich habe ich das irgendwann mal umgestellt. Hab es korrigiert
-
Noch ein Beispiel warum ein topic wichtig ist
Nehmen wir mal an, Du bekommst Du bekommst 2 Temperaturen gemeldet. Einmal 17 und einmal 23. Was würde Dich denn nun interessieren?
-
@mickym Welcher Wert zu welcher Temperatur gehört
-
Welcher Wert zu welcher Temperatur gehört
Na was meinst Du damit?
Du bekommst 2 Nachrichten. In einer ist die payload 17 und in der anderen Nachricht ist die payload 23.
-
@mickym Ich hab mir den Flow angelegt und bei 17 bei topic noch innen und in dem anderen bei 23 bei topic: außen hingeschrieben
Sieht dann so aus:
Komplettes Nachrichtenobjekt sieht so aus:
-
@damrak2022 Gut bei dir ist also Sommer und die Klimaanlage läuft.
- Aber ganz richtig, du hast also das topic genutzt, um beschreibend dazu zu definieren, wo die Temperatur gemessen wurde. Du hättest auch Schlafzimmer und Wohnzimmer schreiben können usw.
Das heißt in der Regel ist es nicht nur wichtig, was in der payload steht, sondern auch was diese payload für eine Bedeutung hat.
Wenn es keine Temperaturen wären, könnte es aber auch 23 Euro für 17 Liter Benzin sein. Also das Topic ist seht wichtig, um zu beschreiben, um was für einen Wert es sich in der payload handelt.