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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    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

      @damrak2022 Du ich meine nicht heute - vielleicht auch nicht morgen. Aber bevor Du Dir wieder neue Dinge ausdenkst, solltest Du die vorhandenen beherrschen. Kann auch in 1 Monat sein oder auch im nächsten Jahr. 😁

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

        @mickym Ja, das habe ich schon verstanden.

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

          @damrak2022 So sieht der ganze Flow aus:
          Bildschirm­foto 2022-11-11 um 12.58.33.png
          Das heißt ich habe 14 mal eine join Node, welche mir jeweils die Summe pro Jahr ausgibt.
          Wenn ich nun diese 14 Join Nodes addieren möchte, muss ich diese doch wahrscheinlich erstmal mit eine change Node auf eine andere Bezeichnung setzen, da sie ja sonst alle identisch sind.
          Und dann nochmal mit einer Change Node addieren und in einer Text Node ausgeben.
          Oder denke ich gerade wieder zu umständlich?

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

            @damrak2022 Im Gegenteil - hier hast Du nun 14 Nachrichtenobjekte die Du zusammenführen müsstest und nicht nur 2, wie bei der systole und diastole.
            Nun würde sich eine der beiden anderen Wege anbieten mit einer weiteren JOIN Node das erst mal zu einem Array zusammenzufassen.

            Du denkst nicht zu umständlich, sondern zu einfach. Du kannst keine 14 Nachrichtenobjekte mit einer Change Node zusammenfassen. Ich dachte Du hättest das verstanden, als wir das Problem mit der Systole und Diastole hatten, wo du ja nur 2 Nachrichten in ein Objekt zusammenfassen musstest. Der Kontext ist hier nur halb glücklich, weil Du nicht weisst, wann alle 14 Nachrichtenobjekte fertig sind. Deshalb würde sich hier eine weiter JOIN Node anbieten, in die Du alle Nachrichtenobjekte reinlaufen lässt. Bevor Du das aber machst - mach das was ich Dir gesagt habe. Ändere die vorhandenen JOIN Nodes - nimm die Formatierung raus und mach die mit einer anschließenden Change Node extra bzw. formatiere von mir aus nur in der Text Node. Denn dann brauchst Du die Werte ja als Zahl.

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

              @mickym Das muss ich erst noch ein paar mal lesen und kapieren. Ich weiß das Du mir das mit der Join Node weiter oben erklärt hast und werde mir das nochmal anschauen.

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

                @mickym Können wir das mit dem zusammenführen der Nachrichtenobjekte nochmal machen? Ich bekomme das nicht hin. Dann kann ich das auch gleich, bzw. direkt danach aufschreiben, das ich es beim nächsten Mal echt alleine hinbekomme. Wenn ich die join node wegnehme und direkt hinter die Change node eine Debug node hänge, bekomme ich alle Werte des Jahres als Number angezeigt.

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

                  @damrak2022 Du sollst nicht die JOIN Node wegnehmen, sondern nur die Formatierung aus der JOIN Node (also dem fixup) und diese dafür in eine anschliessende Change Node auslagern.

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

                    @mickym Okay, habe ich gemacht. So richtig?
                    Bildschirm­foto 2022-11-12 um 23.37.20.png Bildschirm­foto 2022-11-12 um 23.37.07.png

                    Beim Debug kommt dann allerdings undefined

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

                      @damrak2022 In der Change Node musst du natürlich das $A gegen payload austauschen.

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

                        @mickym Ah okay, dann bekomme ich die Jahressumme angezeigt als Number
                        Was bewirkt das $A ? Das er alle Werte addiert?

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

                          @damrak2022

                          cd78b60e-3e03-4261-980d-da74f8b3fbf1-image.png

                          Der Reduktionsausdruck $A + payload wird also bei jeder eingehenden Nachricht ausgeführt.
                          Theoretisch kannst Du auch andere Operationen ausführen. Alles was Du mit JSONATA machen kannst.

                          Richtig das ist die Summe, die sich ergibt.

                          Nehmen wir mal der Einfachheit an - nach der Split Node kommen 3 Nachrichten aus:

                          1. payload = 10.06
                          2. payload = 15.3
                          3. payload = 72.55

                          dann schau Dir die JOIN Node an:

                          e0c9d9b2-539e-41e8-8444-0b21bdcbe59a-image.png

                          Was passiert - der Anfangswert ist 0: deshalb wird $A auf 0 gesetzt:

                          1. Nachricht kommt:
                            der Reduktionsausdruck wird ausgeführt: $A + payload, also 0+10.06. Neues $A=10.06.
                          2. Nachricht kommt:
                            der Reduktionsausdruck wird ausgeführt: $A + payload, also 10.06+15.3. Neues $A=25.36.
                          3. Nachricht kommt:
                            der Reduktionsausdruck wird ausgeführt: $A + payload, also 25.36+72.55. Neues $A=97.91.

                          Durch die split Node bekommt die JOIN Nachricht mit, wenn sie alle Nachrichten bekommen hat - deswegen funktioniert das nur, wenn eine msg.parts Eigenschaft in der Nachricht enthalten ist.

                          In der msg.parts Eigenschaft siehst Du wenn Du Dir wieder die Hilfe der JOIN Node anschaust, dass diese folgenden Informationen enthält.
                          29bf3268-c71f-424a-ae82-42f0df8517d3-image.png

                          Deshalb weiß die JOIN Node wann die Summe entgültig ist und verschickt die payload als Summe.

                          Mach mal eine Debug NOde hinter die Split Node und schau Dir mal die VOLLSTÄNDIGEN NACHRICHTENOBJEKTE an.

                          Mach das mal und poste mal so ein vollständiges Nachrichtenobjekt.

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

                            @mickym Das sieht dann so aus:
                            Bildschirm­foto 2022-11-12 um 23.59.29.png

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

                              @damrak2022 Tja und daraus erkennst Du aus dem msg.parts Objekt, dass das das 18. Element eines Arrays mit 25 Elementen ist, welches Du gepostet hast.

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

                                @mickym Ja okay hier sieht man es:
                                Bildschirmfoto_2022-11-12_um_23_59_29.png

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

                                  @damrak2022 Genau - wichtig ist, dass Du es verstehst und nun weißt was eine JOIN Node beim Sequenz reduzieren macht.

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

                                    @mickym Okay $A wird auf 0 gesetzt und zählt dann nach und nach alle Payloads zusammen

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

                                      @damrak2022 Ja so wie ich es unten beschrieben habe.

                                      Wie müsste denn der Reduktionsausdruck aussehen, wenn ich 4 Nachrichten mit folgenden payloads habe:

                                      1. Nachricht: payload = "A"
                                      2. Nachricht: payload = "n"
                                      3. Nachricht: payload = "d"
                                      4. Nachricht: payload = "y"

                                      Und alle payloads mit einander zu "Andy" kombinieren möchte. Darf ein Anfangswert gesetzt werden oder nicht?

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

                                        @mickym Ich vermute so:
                                        Bildschirm­foto 2022-11-13 um 00.10.40.png

                                        Es ist ja ein string und kein Number

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

                                          @damrak2022 Warum Du den Anfangswert aus A setzt weiß ich nicht. Aber mit Zeichenketten kann man nicht rechnen.

                                          Genau - wie Du sagst ist ein string und keine Zahl. Wie muss also der Reduktionsausdruck aussehen? Wie kombiniert mal also 2 Strings? - Haben wir schon oft gemacht.

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

                                            @mickym Weiß ich gerade nicht

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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