NEWS
Visualisierung mit Node Red erstellen
-
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Gut und wie müsste eine Change Node ausschauen, um aus diesem Array den vorletzten Buchstaben, als eigene Nachricht zu extrahieren?
Du machst also hinter die Inject Node, eine Change Node und dahinter eine Debug Node.
Wie muss also die Change Node ausschauen, um den 3. Buchstaben als das "d" als eigene Nachricht auszugeben?
Poste die Change Node
-
@mickym So:
-
@damrak2022 Ja und wie schaut die Change Node aus, um diese Nachricht zu erzeugen? (s. mein Flow).
-
-
@damrak2022 Nein - Du sollst nicht die payload auf "d" setzen, sondern den 3 Buchstaben aus Deinem Array extrahieren - der halt bei Deinem Namen ein "d" ist, wenn das Array aber den Namen "Tina" enthalten würde, dann wäre der Buchstabe ja ein "n".
-
@mickym Ganz ehrlich - weiß ich nicht
-
@damrak2022 Ja aber das ist essentiell. Du hast ja das Nachrichtenobjekt mit Deinem Array in Deinem Debugfenster und Du weisst, dass man den Zugriff auf das 3. Element über Pfad kopieren herausbekommen kann, wenn man es nicht weiß. Wie lautet also der Pfad zum vorletzten Element?
-
-
@damrak2022 OK - damit siehst Du dass Du auf einzelne Elemente in einem Array über einen Index, der mit 0 beginnt in eckigen Klammern zugreifst. Wie muss also die Change Node aussehen, um eine neue payload auf das 3. Element des ursprünglichen Arrays aussehen?
Nun Du hast ein Nachrichtenobjekt, dass aus Deiner Inject node rauskommt (also msg.payload mit einem Array) und Du möchtest also eine neue payload nur mit dem 3. Element setzen.
Also setzt Du eine neue msg.payload auf die alte msg.payload[2].
-
Ist da so so richtig - Quelle unten Ziel oben?
-
@damrak2022 Nein - schau was ich geschreiben haben:
setzt Du eine neue msg.payload auf die alte msg.payload[2.]
So und nun trägst Du den Satz genauso ein.
So wie Du anfängst: setze msg.payload[2] und dann weisst Du nicht weiter.
Lese genau meinen Satz und dann schaust Du dass Du die Change Node genauso liest.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Ist da so so richtig - Quelle unten Ziel oben?
Hervorragend - warum nicht gleich so.
-
@mickym Schau mal den Beitrag darüber. Da habe ich einen Screenshot gepostet
-
@damrak2022 Dann sollte ja jetzt der richtige Wert aus der Debug Node rauskommen.
-
-
@damrak2022 Sehr gut - und wie sieht die Change Node aus, wenn Du den 1. Buchstaben extrahieren wolltest?
-
-
@damrak2022 Gut - also siehst Du wie Du auf einzelne Elemente eines Arrays über einen Index zugreifst.
Gehen wir nun nochmal zur Split Node. Die Split Node zerlegt automatisch, wenn sie eines von den 3 Möglichkeiten sieht in einzelne Nachrichten:
In dem Fall funktioniert also die Split node, weil die payload ein Array ist. Die anderen Möglichkeiten siehst Du ja auch.
So in der JOIN Node siehst Du dass wir die Sequenz reduzieren und dann Dein Name rauskommt.
In den kompletten Nachrichtenobjekten hast Du gelernt, dass in der msg.parts die Informationen zum ursprünglichen Array.
So - das mit dem reduzieren der Nachrichten nimmt man seltener, was man aber oft braucht, dass man das ursprüngliche Objekt wiederherstellen möchte. Du kannst ja mal die JOIN Node wegsichern (damit Du Dich daran noch erinnerst) und ersetzt die JOIN Node durch eine jungfräuliche, dann solltest Du als Ergebnis wieder das ursprüngliche Array haben.
-
@mickym Ich sichere gerade jeden Flow, welchen wir erstellen und speichere mir dazu eine ausführliche Beschreibung ab. Deshalb lasse ich das am besten so.