NEWS
Visualisierung mit Node Red erstellen
-
@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.
-
@mickym sagte in Visualisierung mit Node Red erstellen:
Die finale Lösung sieht also so aus:
Spricht was gegen die Nutzng der moment-Node?
Damit bekommt man auch ohne JSONata die Aufgabe gelöst. Ich stand vor dem Problem eine Zeitstempel in die gewünschte Form zu bekommen und dazu noch die Zeit um 2 Stunden zu korrigieren.
Der Ausgabewert aus dem Stromzähler über M-Bus sieht wie folgt aus:
Gewünscht war diese Form der Ausgabe:
Und diese Eintragungen in der moment Node waren notwendig:
Deinen Weg finde ich allerdings auch prima, allerdings wie man da jetzt noch 2h aufaddiert, da hatte ich jetzt nicht viel Lust drauf, dies herauszufinden.
-
@garf Gegen die Nutzung der moment Node spricht, das alles über JSONATA in der Standard-Change Node enthalten ist und somit keinen Mehrwert bietet und nicht mal einen Bruchteil der moments Bibliothek. Da ich generell keine Nodes installiere, die keinen Mehrwert bieten, habe ich die wieder runter geschmissen nachdem ich mit der Moment Bibliothek im Detail beschäftigt habe.
-
@mickym
Alles klar und nachvollziehbar. Mal ne blöde Frage. Wie kann ich einzelne Werte in einem payload objekt anpassen und nachher wieder zu einem Objekt zusammenfassen? Mir fällt dazu nur das function node ein.Kleines Beispiel: timezone Wert 1 durch Klartext ersetzen und wieder als Objekt weitergeben.
Irgendwie komme ich auf keine Lösung.
-
@garf Du brauchst doch in einer Change Node nur den Wert payload.1130968.timezone ändern
-
@mickym
War nur ein einfaches Besispiel. Das Objekt ist viel größer. Klartext ich lese die Daten aus einer Cloud aus und habe die unterschiedlichsten msg. Teile davon schreibe ich in eine Tabelle, aber z.B. den Zeitstempel möchte ich optisch ändern. Die Tabelle muss allerdings zeitgleich alle Werte erhalten.
Im Feld für den Status möchte ich noch aus der 1 den Status Betrieb machen.
Edit:
Mit Hile der change Node und flow Variablen habe ich schon einmal die gewünschten Änderungen vorgenommen. Jetzt frage ich mich nur noch wie ich die Variablen wieder zu einem Objekt zusammenfasse. Grübel. JSONata?
Ach ja, Datum mit dem von dir Gelernten geändert.Edit2:
Ich habe es gelöst. Vielleicht geht es noch einfacher. Aber das Ergebnis ist schon einmal so wie gewünscht. -
@mickym Ich finde auf der Seite gerade den Teil nicht wo das mit der Umrechnung der Zeit beschrieben ist, da ich Minuten in Stunden und Minuten umwandeln will.
Habe nur das aber hier ist es nicht ausführlich beschrieben.
https://docs.jsonata.org/date-time-functions -
-
@mickym Danke habe es hinbekommen.
-
@mickym Ich habe meine ganze Darstellung der Gesundheitsdaten geändert.
-
@damrak2022 Na schaut doch gut aus
- bis auf dass Du zu wenig schläfst.
-
@mickym Wem sagst Du das. Laufen muss ich auch viel mehr.
Ich wollte da auch noch eine kleine Grafik einfügen, bekomme es aber nicht hin, das diese zentriert zwischen dem Wort "Schritte" und der angezeigten "Zahl" eingefügt wird.
Wenn ich das mit dem normalen Befehl mache, wird die Grafik immer direkt hinter das Wort "Schritte" platziert und das Wort Schritte wird leicht nach oben gedrückt. Habe es schon mit "center" usw. probiert, leider erfolglos. -
@damrak2022 Na ich hab Dir gesagt - dafür ist eine Textnode nicht gedacht - dann musst halt selbst HTML programmieren und eine template Node nutzen. Aber wie ich anfangs schon sagte - da wärst Du lieber bei VIS geblieben, wenn Du aufwendige Grafikseiten aufbauen willst.
-
@mickym Nein will ich nicht. Ich dachte es gibt vielleicht eine einfache Möglichkeit. Aber dann kann ich mich ja mal mit der template Node auseinandersetzen und etwas rumprobieren.
-
@mickym gelöscht
-
@damrak2022 Nun ich habe Dir ja gesagt, dass Du erst mal ein handfestes Kochbuch schreiben sollst, aber Du scheinst eher über Nodes philosophieren zu wollen.
Du hast also 2 Dateien auf den Raspberry hoch geladen und dann philosophierst Du darüber ob eine http-In Node die richtige Node wäre, um darauf zuzugreifen.
Nein, ich denke nicht, denn diese Node erstellt ja ein http Endpunkt
Nun dem würde ich eigentlich zustimmen. Wobei Du ja auch richtig anmerkst, dass diese Node ja einen http Endpunkt erstellt. Woraus man nun die Frage stellt, was das eigentlich ist? Was macht man denn mit einem http Endpunkt? Oder was hat Dich veranlasst, in Erwägung zu ziehen, ob diese http-In Node geeignet sein könnte. Ich weiss nicht, ob das "in" vielleicht Dich dazu bewogen hat, diese Node in eine Auswahl zu ziehen?. Allerdings ist die iobroker-IN Node auch eine "in"- Node, aber die hast Du nicht in Erwägung gezogen. Ich gehe mal davon aus, dass Du sie deswegen nicht in Erwägung gezogen hast, weil Du in der Regel ja diese Node verwendet hast, wenn Du einen Datenpunkt ausgelesen hast. Also hast Du sie deswegen wohl ausgeschlossen.
Nun aber da bringst Du iobroker get bzw. iobroker getObjekt ins Spiel. Hmm, wie Du auf die kommst habe ich keine Ahnung. Vielleicht lag es daran, da es die iobroker-IN Node nicht war und Du dann mit "get" irgendwie auf die Idee gekommen bist, dass man da was aus dem iobroker holen kann.
Dem gegenüber würde aber entgegen sprechen, dass Du die Datei zwar mit einem Tool des iobrokers hochgeladen hast, allerdings sind die Dateien in meinen Augen für den iobroker völlig unbedeutend. Diese beiden Dateien werden doch vom iobroker gar nicht verwaltet, auch wenn sie in dem Datei-Manager auftauchen. Aber letztlich sind sie weder Bestandteil eines iobroker States oder iobroker Objektes. Das würde aus meiner Sicht die Verwendung der iobroker Nodes ausschließen, da dann diese Dateien ja in irgendeiner Form über ein Objekt referenziert werden müssten. Aus meiner Sicht würde ich also iobroker Nodes auch ausschließen. Es sei denn in meinen Überlegungen hat sich ein Fehler eingeschlichen, dann können wir gerne weiter darüber spekulieren, wie wir dann Zugriff bekommen.
Du hast nun leider Deinen letzten Post gelöscht, so dass mir natürlich die gesamte Diskussionsgrundlage entzogen wurde.
Das mit dem Datum kann ich mir nicht erklären bzw. ich weiß nicht, wie aus der Debug Node was rauskommt.
Irgendwie glaube ich bringt und das Philosophieren über die Nodes nicht so recht weiter, aber ich lasse mich gerne darauf ein.
Ich hab zwar im Kopf auch ein Idee, wie wir das Ganze anstellen würden. Aber ich fange da erst mal ganz von vorne an, mir Fragen zu stellen und dann die Anforderungen zu formulieren. Vielleicht solltest du das auch versuchen, ansonsten können wir gerne über die Funktion von verschiedenen Nodes unterhalten, wenn die Hilfe unverständlich ist, oder Du Dir darunter nichts vorstellen kannst.
Eine http-In Node ist wie gesagt ein http-Endpunkt und den brauchst Du, wenn Du Node Red als eigenen Webserver ansprechen willst. Das ist zum Beispiel dann interessant, wenn man Geräte hat, die bei bestimmten Aktionen eine URL zu einem Webserver schicken können, so ein Webserver könnte auch NodeRed sein.Also wie wollen wir nun weiter machen? Vielleicht stellst Du mir einfach noch mal vor, wie Du Dir das Ganze vorstellst.