NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 Sehr gut.
Und wie schaut der Code in der Change Node aus?
-
Aber ich habe das Datum doch jetzt händisch eingetragen. Kann er das nicht aus dem String der ioBroker in Node übernehmen?
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Aber ich habe das Datum doch jetzt händisch eingetragen. Kann er das nicht aus dem String der ioBroker in Node übernehmen?
Na das ersetzen wir dann einfach durch die payload - die ja das Datum genau in dieser Form enthält. OK?
-
@mickym Bin mit allem einverstanden
-
@damrak2022 Gut aber es ist doch schon mal ein Erfolgserlebnis, dass Du der $moment Bibliothek beigebracht hast, wie sie nun einen etwas verqueren Datumstring richtig interpretiert wird, oder?
-
@mickym Ja das schon. Mich irritiert halt nur das er den Wert nicht direkt aus der Iobroker in node übernommen hat. Aber Du sagst ja, das kommt jetzt.
-
Aber ich stelle gerade fest, Du hast doch nicht den String genommen, der aus der iobroker-In Node kommt.
Du hast
10-26-2022
genommen.
Aus der ioboker-In Node kommt das Datum aber in der Form:
2022-10-26
Also stimmt Dein Code leider immer noch nicht.
-
@mickym Geändert beim zweiten kommt logischerweise Invalid Date raus.
Beim ersten stimmt es dann , aber ich habe immer noch das englische Format -
Kannst Du mal damit aufhören, wie die Ausgabe aussieht??????????????
Die richtige Lösung kann nur das erste sein. Das 2. kann doch nur falsch interpretiert werden. Es steht doch kein MM vorne???
-
@mickym Okay, sorry
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, sorry
So aber Du scheinst das nun verstanden haben - wie Du aus einem beliebigen Datumsformat das korrekte $moments Objekt konstruiert.
Also die einzige richtige Lösung ist:
$moment("2022-10-26", "YYYY-MM-DD")
2022-10-26 ist das Format, das aus der iobroker IN Node rauskommt.
$moment("2022-10-26", "MM-DD-YYYY") schreibst kommt invalidate Date - also ungültiges Datum, da vorne doch eine 4stellige Zahl steht die nicht als Monat interpretiert werden kann. Oder welches ist der 20. Monat im Jahr. Ich denke der wurde noch nicht erfunden.
Soweit klar?
-
@mickym Ja, das ist vollkommen klar. War auch nur ein Versuch, ob er das dann ändert.
-
@damrak2022 Gut nachdem wir nun das richtige $moment Objekt erzeugt haben - kümmern wir uns jetzt um die Ausgabeformat des moments Objekts.
Das steht hier: https://momentjs.com/docs/#/displaying/
Das heißt an das moments Objekt schließen wir eine format Ausgabe an. Wie könnte die Aussehen - im Prinzip hast Du es in diesem Post schon beschrieben.
Wenn Du es geschaft hast, wieder den JSONATA Code Deiner Change Node und das Debug Fenster als Beweis posten.
-
@mickym So, hier bitte:
Da kann ich das Leerzeichen zwischen DD. und MM. YYYY wahrscheinlich weglassen
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym So, hier bitte:
Da kann ich das Leerzeichen zwischen DD. und MM. YYYY wahrscheinlich weglassen
Na das schaut doch schon mal sehr gut aus - ja und ich würde das Leerzeichen lieber weglassen, damit das Datum auch schön aussieht - aber letztlich siehst Du, dass Du da reinschreiben kannst was Du willst und das Datum wird genau so ausgeben. Wenn Du also lieber ein Datum mit Leerzeichen schreiben willst - dann kannst Du das wie Du siehst tun.
-
@mickym Danke Dir , was eine schwere Geburt - zumindest für mich - Gefühle 5 Stunden um ein Datum korrekt darzustellen.
-
@damrak2022 Na noch ist es ja nicht fertig, weil Du hast ja das Datum fix eingetragen hast - das musst Du nun noch ändern in die Nachrichteneigenschaft, in der das Datum steckt.
Also in welcher Eigenschaft des Nachrichtenobjekts ist das Datum?
Wie schaut also der finale Code der Change Node aus? -
@mickym Es ist ein string den ich erhalte, aber was ich bei der Change Node ändern muss, weiß ich jetzt auf Anhieb nicht.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Es ist ein string den ich erhalte, aber was ich bei der Change Node ändern muss, weiß ich jetzt auf Anhieb nicht.
So nachdem der Datumsstring aus payload der iobroker-In Node kommt:
muss man halt das fixe Datum durch die payload ersetzen.
Die finale Lösung sieht also so aus:
$moment(payload, "YYYY-MM-DD").format("DD.MM.YYYY")
Das wars dann von meiner Seite.
-
@mickym Ach okay, ich muss den payload nur unten mit eintragen. Danke - erhole Dich jetzt mal von dem Stress mit mir.