NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 Na die moments Bibliothek ist nicht so kompliziert. Ich hätte Dir ja geholfen. Aber gut - machen wir es ohne.
Damit behandeln wir die payload - die herein kommt als Zeichenkette.Ich geht also davon aus, dass die Zeichenkette:
2022-10-27
lautet.
-
@mickym So sieht die Debug aus:
-
@damrak2022 Nun dann habe ich ja richtig gedacht. Wie sind nun die einzelnen Datumsbestandteile voneinander getrennt?
-
@mickym Äh mit einem Bindestrich. Das geht auch mit ändere und setze. Aber das ist nicht nutzbar, weil morgen ein anderes Datum ist
-
@damrak2022 gut dann mach mal noch eine debug Node hinter deine Change NOde und versuche mal das Datum in seine Bestandteile aufzuteilen.
Nein wir nehmen JSONATA und teilen erst mal das Datum in seine Bestandteile auf - wie Du sagst hast Du den Bindestrich in diesem Fall als Trenner.
Dann schau Dir mal die split Funktion in der Change Node in JSONATA an.
Dies ist ja die Ausgangssituation:
-
Wenn Du etwas an dem Hilfetext nicht verstehst - dann frag - sonst warte ich hier eine Ewigkeit.
-
@mickym Auch wenn ich das lese, kapiere ich es nicht.
-
@mickym Was ist denn das "str"? string?
-
@damrak2022 Ok - dann fangen wir Schritt für Schritt an.
Der erste Teil der Beschreibung
Teilt str in einem Array mit Teilzeichenfolgen. Es ergibt einen Fehler, wenn str keine Zeichenfolge ist.
@mickym Was ist denn das "str"? string?
$split(str [, separator] [, limit])
Das bezieht sich auf den Befehl der oben drüber abgebildet ist.
In unserem Fall wollen wir doch die payload, die in die Change Node kommt in seine Bestandteile aufteilen.
Der optionale Parameter limit ist eine Zahl, die die maximale Anzahl von Teilzeichenfolgen angibt, die in dem rückzugebenen Array enthalten sein sollen. Alle zusätzlichen Teilzeichenfolgen werden verworfen. Wenn limit nicht vorgegeben wird, wird str vollständig geteilt, wobei die Größe des resultierenden Arrays nicht begrenzt ist. Es handelt sich um einen Fehler, wenn limit eine negative Zahl ist.
Also Limit brauchen wir nicht - da das optional ist und wir keine Begrenzung benötigen.
Also schaut unser Befehl erst mal ohne limit aus und wir wollen die payload aufteilen
$split(payload,separator)
Was ist nun unser separator - also das Teil, mit dem wir die payload in seine Bestandteile zerlegen?
Der Hilfetext sagt ja folgendes:
Der optionale Parameter separator gibt die Zeichen in der str an, anhand dem, vorgegeben entweder als Zeichenfolge oder als regulärer Ausdruck, str geteilt werden soll. Wenn separator nicht vorgegeben wird, wird ein leerer String als separator angenommen und str wird in ein Array aus einzelnen Zeichen aufgeteilt. Es handelt sich um einen Fehler, wenn separator leer ist.
-
@mickym Das ist der Bindestrich
-
-
@mickym Okay, das habe ich
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, das habe ich
Aber hoffentlich auch verstanden?
Dann solltest Du jetzt mal zeigen, was in der Debug Node rauskommt aus der Change Node - also wie Du nun Deine payload geändert hast.
-
-
@damrak2022 Sehr gut und wenn Du das Objekt noch aufklappst - dann siehst Du dass Du das Datum in seine Bestandteile aufgeteilt hast und jedes Teil über den Pfad direkt adressieren kannst.
Wie lauten also die Pfade?
-
@mickym
payload[0]
payload[1]
payload[2] -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym
payload[0]
payload[1]
payload[2]Gut und nun weisst Du ja, dass in der payload[2] der Tag ist, ... usw. Nun fügen wir also die Datumsbestandteile neu zusammen.
-
@mickym Gerne nur habe ich keinen Plan wie der Code korrekt weitergeht
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Gerne nur habe ich keinen Plan wie der Code korrekt weitergeht
Auf der Seite, die ich Dir gestern zum JSONATA gezeigt habe - siehst Du ja wie Du Zeichenketten neu zusammen fügst. In der Beschreibung werden ja die beiden Worte "Hello" und "World" mit dem & zu "HelloWorld" zusammengefügt.
Also mit dem & Zeichen können wir Zeichenketten miteinander verbinden.
Wie würde dann für das Datum der Code aussehen? Du fängst ja mit dem Tag am Besten an - in welcher Variablen steht denn der Tag?
-
$split(payload, "-") & Payload[2] & Payload[1] & Payload[0]
Das Payload muss noch in Anführungszeichen, richtig? Klammer auf und zu fehlt auch noch