NEWS
Visualisierung mit Node Red erstellen
-
@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.
-
@damrak2022 Na dann kopiere Deine Nodes halt und ersetze die JOIN Node durch eine jungfräuliche.
Du siehst also dass das was die split Node auseinander gerissen hat, automatisch wieder durch die JOIN Node zusammengesetzt wird, weil die JOIN Node wie konfiguriert ist?
-
@mickym Äh, die join node steht jetzt auf "Automatisch".
-
@damrak2022 Genau
und kommt auch bei Dir wieder das gleiche Array raus, dass Du in die split Node geschickt hast?
-
@mickym Ja
-
@damrak2022 So und für was braucht man das?
Zum Beispiel um alle einzelnen Elemente ggf. zu bearbeiten und dann aber wieder das gleiche Objekt zu haben. Nun setzt Du zwischen die Split Node und die JOIN Node eine Change Node, in der Du jede payload in Großbuchstaben umwandelst.
Wenn alles gut geht, solltest Du in der Debug Nachricht Dein jetziges Array haben, im Ergebnis das gleiche Array mit Großbuchstaben.
Hat das bei Dir geklappt?
-
@mickym Nein, weil ich wahrscheinlich das in der Change Node falsch eingebe