NEWS
Visualisierung mit Node Red erstellen
-
@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
-
NEIN - lass doch bitte die Funktion von vorher in Frieden - da hab ich gar nichts von gesagt.
-
@mickym Okay, da kann ich da ja raus löschen
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, da kann ich da ja raus löschen
Payload[2] & Payload[1] & Payload[0]
das ist ja schon mal gut - aber ich würde Dir sagen - so würde es nicht funktionieren, wenn Du plötzlich aus
payload[2] eine Payload[2]
machst. Du schreibst keine Romane, sondern Variablennamen haben eine exakte Schreibweise und dazu zählt auch die korrekte Groß- und Kleinschreibung.
Also wie lautet der Code - nur hier in den Thread schreiben - nicht in eine Node. Die Node bleibt unangetastet mit der
$split(payload, "-")