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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Visualisierung mit Node Red erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                  • mickym
                                    mickym Most Active @Damrak2022 last edited by

                                    @damrak2022 na ja du siehst ja, dass du nur ganze Stunden angezeigt bekommst. Was soll denn eine chart-Node mit 5 Std. 42 min. anfangen. Du kannst von Glück reden, dass die Chart Node wenigstens die erste Zahl aus dem String versucht zu interpretieren. Normalerweise gehören in eine Chart Node nur Zahlenwerte. Wenn du Stunden und keine Minuten darstellen willst, dann solltest du halt für die Chart Node mit einer eigenen Change Node füttern, die Dir die Stunden als Dezimalzahl ausgeben, so wie du es ja schon mal mit dem Taschenrechner gemacht hast.
                                    Mit den Farben ist es so, dass die erste Nachricht immer die erste Farbe links oben nimmt, die zweite Nachricht die nächste Farbe usw.

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

                                      @mickym Um also eine korrekte Ansicht in dem Diagramm zu bekommen, müsste ich also den String, welchen ich aus der Change Node erhalte in "number" umwandeln, korrekt?
                                      So sieht der String momentan aus:
                                      Bildschirm­foto 2022-11-16 um 16.53.35.png

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

                                        @damrak2022 Nein Du zweigst einfach eine weitere Change Node an der iobroker-IN Node ab und teilst den Minutenwert durch 60. Aus der In Node kommt doch ein Zahlenwert in Minuten raus.

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

                                          @mickym Verstehe ich nicht. Ich habe noch garnichts gemacht und jetzt werden mir auf einmal 3 Balken angezeigt. Und ich rechne doch schon in der vorhandenen Change Node?
                                          Bildschirm­foto 2022-11-17 um 05.03.40.png Bildschirm­foto 2022-11-17 um 05.03.24.png

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

                                            @damrak2022 weil ein neues topic gesetzt hast. Mach halt debug nodes hin, damit du siehst wo was raus kommt.

                                            Damrak2022 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            958
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            4845
                                            2005949
                                            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