Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Visualisierung mit Node Red erstellen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Visualisierung mit Node Red erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Damrak2022
      Damrak2022 @mickym last edited by

      @mickym Bildschirm­foto 2022-11-16 um 01.21.32.png

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Damrak2022 last edited by

        @damrak2022 Sehr gut - und wie sieht die Change Node aus, wenn Du den 1. Buchstaben extrahieren wolltest?

        Damrak2022 1 Reply Last reply Reply Quote 0
        • Damrak2022
          Damrak2022 @mickym last edited by

          @mickym Bildschirm­foto 2022-11-16 um 01.22.49.png

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Damrak2022 last edited by

            @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:

            075df6f5-74c8-4f26-9351-f868d03ea7d0-image.png

            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.

            Damrak2022 1 Reply Last reply Reply Quote 0
            • Damrak2022
              Damrak2022 @mickym last edited by

              @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.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Damrak2022 last edited by mickym

                @damrak2022 Na dann kopiere Deine Nodes halt und ersetze die JOIN Node durch eine jungfräuliche.

                8a3cca92-d796-48a7-ae63-22780e2d3765-image.png

                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?

                Damrak2022 1 Reply Last reply Reply Quote 0
                • Damrak2022
                  Damrak2022 @mickym last edited by

                  @mickym Äh, die join node steht jetzt auf "Automatisch".

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Damrak2022 last edited by

                    @damrak2022 Genau 🙂 und kommt auch bei Dir wieder das gleiche Array raus, dass Du in die split Node geschickt hast?

                    Damrak2022 1 Reply Last reply Reply Quote 0
                    • Damrak2022
                      Damrak2022 @mickym last edited by

                      @mickym Ja

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Damrak2022 last edited by mickym

                        @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.

                        867efe02-fdc5-4a0a-bc61-1523108a8411-image.png

                        Wenn alles gut geht, solltest Du in der Debug Nachricht Dein jetziges Array haben, im Ergebnis das gleiche Array mit Großbuchstaben.

                        ad72b158-6c81-405f-9cb7-4d99585cae1b-image.png

                        Hat das bei Dir geklappt?

                        Damrak2022 1 Reply Last reply Reply Quote 0
                        • Damrak2022
                          Damrak2022 @mickym last edited by

                          @mickym Nein, weil ich wahrscheinlich das in der Change Node falsch eingebe

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Damrak2022 last edited by

                            @damrak2022 Es gibt im JSONATA eine Funktion $uppercase, die die Umwandlung für Dich macht.

                            Damrak2022 1 Reply Last reply Reply Quote 0
                            • Damrak2022
                              Damrak2022 @mickym last edited by

                              @mickym So, lass uns mal aufhören. Das wird mir gerade zuviel. Aber das mit der Umwandlung werde ich dann rausfinden. Uppercase habe ich, aber trotzdem stimmt meine Eingabe noch nicht. Ich muss auch erstmal da andere aufschreiben, bevor ich alles verwechsele

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Damrak2022 last edited by mickym

                                @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                                @mickym So, lass uns mal aufhören. Das wird mir gerade zuviel. Aber das mit der Umwandlung werde ich dann rausfinden. Uppercase habe ich, aber trotzdem stimmt meine Eingabe noch nicht. Ich muss auch erstmal da andere aufschreiben, bevor ich alles verwechsele

                                Na ich verstehe die Probleme nicht - bevor Du Dich verabschiedest. Wie soll ich helfen, wenn ich nicht weiß, wie das Problem erzeugen kann?

                                Die Lösung ist doch supereinfach:

                                b3420255-d431-4017-b5b8-b8cb05d970f7-image.png

                                Was hast Du denn anders gemacht? Oder wie kommt es zu einem Problem? Ich verstehe es halt im Moment nicht. Oben = Ziel, unten ist Quelle.

                                Setze die neue msg.payload auf $uppercase("der eingehenden" payload).

                                Damrak2022 1 Reply Last reply Reply Quote 0
                                • Damrak2022
                                  Damrak2022 @mickym last edited by Damrak2022

                                  @mickym Ich habe wieder mal hinter dem uppercase kein payload eingetragen, das war mein Fehler.

                                  Jetzt werde ich mir das ausführlich notieren

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Damrak2022 last edited by

                                    @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                                    @mickym Ich habe wieder mal hinter dem uppercase kein payload eingetragen, das war mein Fehler.

                                    OK - aber verstehst Du es nun? uppercase ist ja nur die Funktion. Aber wenn Du Dir wieder die Hilfe anschaust, dann siehst Du doch, dass man der Funktion übergeben muss, was sie umwandeln muss.

                                    4fda186e-6e2e-41b3-b802-3feda8a20d51-image.png

                                    Das hast Du doch mit der $round() und $floor() Funktion auch so gemacht?

                                    Damrak2022 2 Replies Last reply Reply Quote 0
                                    • Damrak2022
                                      Damrak2022 @mickym last edited by

                                      @mickym Ja und mein Fehler war, das ich "str" nicht durch "payload" ersetzt habe.

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • Damrak2022
                                        Damrak2022 @mickym last edited by

                                        @mickym Danke für die Erklärung

                                        1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Damrak2022 last edited by

                                          @damrak2022 Ok - dann machen wir ein anderes Mal weiter und fassen dann mal die Dinge kurz zusammen.

                                          Neben der Möglichkeit mit der JOIN Node alle Nachrichten zu einem neuen Wert zusammenzufassen (also Sequenz reduzieren), also eine Summe zu bilden oder einzelne Zeichen zu einem Wort zusammenzufügen kann man mit einer JOIN Node auch die Nachrichten, die eine split Node generiert hat, wieder in das ursprüngliche Objekt zu verwandeln.

                                          Das automatische Zusammenfügen einer JOIN Node funktioniert aber nur, wenn ein Objekt vorher durch die Split Node in einzelne Nachrichtenteile aufgeteilt wurde. Die Split-Node fügt vor dem Auftrennen in einzelnen Nachrichten msg.parts Objekte hinzu, damit die JOIN Node wieder in der Lage ist, das wieder zu einem Objekt zusammenzufassen. Die JOIN Node muss ja wissen, wann keine Nachrichten mehr kommen, bis sie selbst dann eine Nachricht ausgibt. Das geht nur, weil die Split Node mitgibt, wie Du ja schon an den kompletten Nachrichtenobjekten gesehen hast.

                                          Anhand dieser Information der split Node in msg.parts

                                          690c7098-4698-49c3-ad49-e0d8f9709c07-image.png

                                          weiß die JOIN Node, dass nach 4 Nachrichten das Objekt wieder vollständig ist und zusammengesetzt werden kann.

                                          Zwischen der Split und der Change Node kann man nun die einzelnen Elemente ändern oder analysieren. ABER: man darf keine Elemente herausfiltern, weil dann die JOIN Node unendlich lange auf die Elemente wartet.

                                          Das was man mit split und join macht ist das was man in der herkömmlichen Programmierung oder im Blockly mit Schleifen macht. Hier geht das halt ohne Code schreiben zu müssen.

                                          Wichtig ist neben dieser Funktion, dass das automatische Zusammensetzung nur funktioniert, wenn ein Objekt vorher mit der split Node aufgetrennt wurde.

                                          1 Reply Last reply Reply Quote 0
                                          • Damrak2022
                                            Damrak2022 last edited by Damrak2022

                                            @mickym Ich habe gerade versucht meine TV und iMac Nutzungsdauer in einem Chart darzustellen.
                                            Der Flow sieht so aus:
                                            Bildschirm­foto 2022-11-16 um 11.44.00.png
                                            Die change Node so:
                                            Bildschirm­foto 2022-11-16 um 11.44.45.png
                                            Im Dashboard schaut das Ganze bei einer Standard Layout Breite von "6" so aus:
                                            Bildschirm­foto 2022-11-16 um 11.49.54.png

                                            Das mit der Farbe hat sich gerade erledigt. Anscheinend muss man die Farben von oben links beginnend auswählen.
                                            Ich bin mir auch nicht sicher ob mein Flow überhaupt korrekt ist.

                                            mickym 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            4845
                                            2305727
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo