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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    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 In der change node. Aber ich habe das auch noch nicht zusammengesetzt.

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

        @mickym Momentan sieht das noch so aus. Mir schwirrt auch der Kopf. Ich mache erstmal Pause, da ich garnicht mehr durchsteige

        Bildschirmfoto 2022-09-25 um 03.15.38.png

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

          @damrak2022 Nein nicht in der Change Node - ein Wert bleibt nur in Ausnahmefällen in einer Node. Es gibt nur wenige Nodes die Werte speichern. Die meisten Nodes verarbeiten das Nachrichtenobjekt und geben es sofort an die nächste Node weiter. Mach doch mal debug Nodes hinter Deine Change Nodes.

          Nein ich habe Dir doch unter den Flow gepostet wie er aussehen muss.

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

            @mickym Ja ich bau den nachher nach und schaue mir das an, denn ich muss jetzt erstmal Abstand haben.

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

              @mickym Hallo Micky,
              so ich habe das jetzt erstmal so zusammengesetzt wie Du es empfohlen hast:
              Bildschirmfoto 2022-09-25 um 18.34.37.png

              Und das sind die Einstellungen der einzelnen Nodes die ich noch nicht geändert habe.
              Bildschirmfoto 2022-09-25 um 18.35.33.png Bildschirmfoto 2022-09-25 um 18.35.19.png Bildschirmfoto 2022-09-25 um 18.35.07.png Bildschirmfoto 2022-09-25 um 18.34.53.png

              Wenn ich eine debug hinter meine 3 Change Nodes setze bekomme ich diese Ausgabe:
              Bildschirmfoto 2022-09-25 um 18.41.26.png

              Soweit ist das mir auch klar - der Mac ist an -also true

              Ich will die Werte aus der Switch Node <10 oder >55 an die beiden Change Nodes weitergeben, wobei ich in der einen change node das so definieren muss:
              msg payload
              <10 = false

              den anderen so:

              msg payload

              55 = true

              Danach geht die beiden Change nodes aber doch in die dritte Change node (werden als zusammengeführt), wo die Einträge generell der Reihe nach abgearbeitet werden.
              Und von da aus dann in den Switch.

              Ich bin etwas am verzweifeln, da ich die Logik irgendwie in meinem Kopf nicht hinbekomme.

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

                @damrak2022 Na das mit dem Flow-Kontext setzen ist halt falsch;

                56f9116d-7310-4a03-8f27-5d74d129c031-image.png

                Wir setzen doch die Change Node, die die Flow-Variable setzen soll hinter die anderen beiden Change Nodes, damit die Flow Variable, je nachdem welcher Ast aktiv ist true oder false ist.

                de90aa56-284f-43c1-af5f-c26ba1bebd45-image.png

                Wir wollen ja das Ergebnis entweder aus der oberen oder aus der unteren Change Node, dann kannst Du doch nicht die flow-Variable auf einen fixen Wert einstellen, sondern wo steht das Ergebnis drin?

                .... natürlich in einem Nachrichtenobjekt ... und dort in welcher Eigenschaft ....?

                Also schau mal, was Du für Optionien hast, in einer Change Node einen Wert auf eine Eigenschaft eines Nachrichtenobjektes zu setzen.

                Tipp: Schau Dir mal die ChangeNode an mit der Du die Flow Variable AppleTV setzt. Da setzt Du die Flow-Variable ja auch nicht auf einen fixen Wert, sondern auf den Wert den Du im Dashboard switch setzt.

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

                  @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                  Wenn ich eine debug hinter meine 3 Change Nodes setze bekomme ich diese Ausgabe:
                  e231ea95-84e3-4fe1-9406-92887defedf5-image.png
                  Soweit ist das mir auch klar - der Mac ist an -also true

                  Das Gespamme kommt daher, dass der Shelly alle halb Minuten einen Verbrauchswert liefert - da wir aber nur true und falls brauchen, wirst Du dann vor den 3. Change Node noch eine filter Node setzen, so dass nur, wenn sich das von true auf false ändert eine Nachricht erzeugt wird.

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

                    @mickym Dann müsste die Change Node so aussehen.
                    Bildschirmfoto 2022-09-26 um 13.40.52.png

                    Und je nachdem welcher Wert einkommt, wird dieser an die Switch Node weitergegeben.

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

                      @damrak2022 Hervorragend. Die payload wird weiter so wie sie rein gekommen ist an die switch Node weitergegeben. Wir verändern sie ja nicht in der Change Node. Wir setzen ja nur die Flow Kontext-Variable Imac auf den Wert der Eigenschaft payload des Nachrichtenobjektes. Da dies ja von den beiden vorherigen Change Nodes gesetzt wird, wird also unsere Flow-Kontext Variable immer den richtigen Wert enthalten. 🙂

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

                        @mickym Und jetzt noch eine Filter node vor die Switch Node?

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

                          @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                          Und je nachdem welcher Wert einkommt, wird dieser an die Switch Node weitergegeben.

                          Diese Aussage ist nicht ganz richtig - die payload wird immer an die Switch Node weitergegeben, wir verändern diese ja nicht.

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

                            @damrak2022 Den Filter machen wir vor die Change Node, in der Du die Flow Variable setzt - also im Prinzip sollen da die beiden Stränge zusammenlaufen.

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

                              Hast Du das denn auch so verstanden, dass Du es das nächste Mal alleine schaffst - ohne an der Logik zu verzweifeln. 😉

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

                                @mickym Ich hoffe es

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

                                  @mickym Das ist die Standardeinstellung der Filter node
                                  Bildschirmfoto 2022-09-26 um 13.50.08.png
                                  Was bedeutet unten das msg topic?

                                  Payload = Nutzerdaten
                                  topic = ?

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

                                    @damrak2022 Nun den Haken kannst Du in dem Fall rausmachen.

                                    In einem Nachrichtenobjekt hast Du normalerweise mehrere Eigenschaften. Die payload enthält die Nutzdaten, wie du richtig feststellst und im topic steht normalerweise um was es sich für einen Wert handelt oder auch die Quelle - also woher dieser Wert stammt.

                                    Nehmen wir mal an, in einem Nachricht wird der Wert 35 versendet und er kommt aus einem Sensor der sowohl die Luftfeuchtigkeit als auch Temperatur liefert. Woher willst Du dann wissen, ob das jetzt 35% Luftfeuchtigkeit sind oder 35°C. Deshalb gibt man im topic eben mit, um welchen Wert es sich handelt.

                                    Das Nachrichtenobjekt schaut also standardmäßig so aus - und für das genannte Beispiel:

                                    {
                                       "topic": "Temperatur",
                                       "payload": 35
                                    }
                                    
                                    {
                                       "topic": "Luftfeuchtigkeit",
                                       "payload": 35
                                    }
                                    

                                    In einer Inject-Node - wenn Du die frisch rausziehst siehst Du deshalb auch immer beide Eigenschaften zum Ausfüllen:
                                    6ccdee48-9e8d-48f1-806e-ffed8b41f51f-image.png

                                    und so wird Dir das auch dann automatisch im Flow angezeigt:

                                    fa216ba3-489c-4b73-956a-3321210c23f1-image.png

                                    Ich habe nun mal 2 Debug Nodes in den Flow gehängt - einmal, in dem Dir nur die payload angezeigt wird (das topic auch - aber in der Überschrift)

                                    f3f56ba4-6550-4d80-a442-fce811497ea2-image.png

                                    und einmal das komplette Nachrichtenobjekt:

                                    2f5b1df2-aac4-41fc-97e3-9a538621ee08-image.png

                                    Im 1. Fall siehst Du das topic nur in der Überschrift und den Wert der payload ausgegeben - im 2. Fall das ganze Nachricht und Du siehst da ist die Nachrichteigenschaft topic gesondert ausgewiesen:

                                    Das topic ist blau markiert - die payload ist grün.

                                    f8178502-841f-42fe-bf7b-dae1d3e97bdb-image.png

                                    Du kannst auch weitere Eigenschaften dem Nachrichtenobjekt hinzufügen. Nehmen wir mal an Du hast mehrere Temperatursensoren, dann wäre es vielleicht noch sinnvoll zu wissen, von welchem Temperatursensor das ganze stammt - dann könnten wir zum Beispiel noch eine Eigenschaft Zimmer dem Nachrichtenobjekt hinzufügen.

                                    68e03a79-6e31-4dee-8d4a-5d03f0633d46-image.png

                                    Wie Du siehst - wird - wenn man nur die payload ausgibt diese Eigenschaft im Debug Fenster gar nicht ausgegeben - im kompletten Nachrichtenobjekt aber schon:

                                    9fb07ac7-8d94-4a51-8700-0e1ccf9240f2-image.png

                                    Wenn Du jetzt aber in der oberen Debug Node - nicht mehr die payload Eigenschaft des Nachrichtenobjektes ausgeben willst, sondern die Eigenschaft Zimmer und nicht das komplette Nachrichtenobjekt sehen willst, kannst Du die obige Debug Node auch ändern:

                                    Du sagst also der Debug Node - mich interessiert nicht mehr die Eigenschaft payload des Nachrichtenobjektes, sondern die Eigenschaft zimmer:

                                    fc210999-3fe5-4991-b2b2-99e8fc46401b-image.png

                                    5089327c-be98-4cd8-958e-8402b8121071-image.png

                                    Im Ausgabefenster der 1. Debug Node findest Du also nicht mehr die payload, sondern die Eigenschaft zimmer. Natürlich ist aber die payload Eigenschaft weiterhin im Nachrichtenobjekt enthalten.

                                    Hier mal alles zum Importieren und Üben:

                                    [
                                       {
                                           "id": "185f168edf26b9a0",
                                           "type": "inject",
                                           "z": "02dece3d313bbbd7",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Luftfeuchtigkeit",
                                           "payload": "35",
                                           "payloadType": "num",
                                           "x": 650,
                                           "y": 2000,
                                           "wires": [
                                               [
                                                   "ea5884c99927f0c2",
                                                   "d083c5e060b76653"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "720ce61ce96e0b09",
                                           "type": "inject",
                                           "z": "02dece3d313bbbd7",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Temperatur",
                                           "payload": "35",
                                           "payloadType": "num",
                                           "x": 670,
                                           "y": 2060,
                                           "wires": [
                                               [
                                                   "ea5884c99927f0c2",
                                                   "d083c5e060b76653"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ea5884c99927f0c2",
                                           "type": "debug",
                                           "z": "02dece3d313bbbd7",
                                           "name": "Ausgabe: msg.payload",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 960,
                                           "y": 2000,
                                           "wires": []
                                       },
                                       {
                                           "id": "d083c5e060b76653",
                                           "type": "debug",
                                           "z": "02dece3d313bbbd7",
                                           "name": "Ausgabe: Komplettes Nachrichten-Objekt",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1020,
                                           "y": 2060,
                                           "wires": []
                                       },
                                       {
                                           "id": "a56800759e61658a",
                                           "type": "inject",
                                           "z": "02dece3d313bbbd7",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               },
                                               {
                                                   "p": "zimmer",
                                                   "v": "Wohnzimmer",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Luftfeuchtigkeit",
                                           "payload": "35",
                                           "payloadType": "num",
                                           "x": 650,
                                           "y": 2180,
                                           "wires": [
                                               [
                                                   "59caca279a8f5f41",
                                                   "6f8d7f42de2ee506"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "28412616acb635bd",
                                           "type": "inject",
                                           "z": "02dece3d313bbbd7",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               },
                                               {
                                                   "p": "zimmer",
                                                   "v": "Wohnzimmer",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Temperatur",
                                           "payload": "35",
                                           "payloadType": "num",
                                           "x": 670,
                                           "y": 2240,
                                           "wires": [
                                               [
                                                   "59caca279a8f5f41",
                                                   "6f8d7f42de2ee506"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "59caca279a8f5f41",
                                           "type": "debug",
                                           "z": "02dece3d313bbbd7",
                                           "name": "Ausgabe: msg.zimmer",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "zimmer",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 960,
                                           "y": 2180,
                                           "wires": []
                                       },
                                       {
                                           "id": "6f8d7f42de2ee506",
                                           "type": "debug",
                                           "z": "02dece3d313bbbd7",
                                           "name": "Ausgabe: Komplettes Nachrichten-Objekt",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1020,
                                           "y": 2240,
                                           "wires": []
                                       }
                                    ]
                                    

                                    So und nun zu Deiner eigentlichen Frage:

                                    @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                                    @mickym Das ist die Standardeinstellung der Filter node
                                    Bildschirmfoto 2022-09-26 um 13.50.08.png
                                    Was bedeutet unten das msg topic?

                                    Payload = Nutzerdaten
                                    topic = ?

                                    Das topic an sich habe ich ja nun ausführlich erklärt. In unserem Fall kannst Du den Haken raus machen. Was bedeutet er.

                                    Nehmen wir mal an unser Flow erhält mehrere Eingangsnodes - zum Beispiel einer mit dem topic "Datenpunkt1" und einer mit dem "Datenpunkt2" und beide haben eine payload von true oder false. Wenn wir bei beiden Punkten nur Werteänderungen durchlassen wollen, dann bräuchten wir 2 Filternodes - einen für Datenpunkt1 und einen für Datenpunkt2. Mit der Option "Modus für jedes msg.topic separat anwenden" - kann das aber eine filter Node ganz alleine - sie speichert sich also nicht nur den vorhergehenden Wert ab, sondern auch das zugehörige topic. Ich hoffe es wurde damit klar. Wenn nicht weiter fragen.

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

                                      @mickym Ja danke erstmal ist es klar, aber ich muss das noch öfters lesen, um es zu verinnerlichen.
                                      Den Haken habe ich rausgenommen.

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

                                        @mickym Jetzt sieht der Flow bei mir so aus:
                                        Bildschirmfoto 2022-09-26 um 14.40.31.png

                                        Ich bin nur neugierig wie Du das mit Sonnenaufgang und Untergang umsetzen willst

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

                                          @damrak2022 Gut dann poste nochmal - bevor wir weitermachen den gesamten Kontext.

                                          In den Flow Kontext sollten nun die beiden Status der beiden Geräte sowie global "an-und abwesend" drin stehen.

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

                                            @mickym Bei mir sieht das nach dem aktualisieren der Kontextdateien momentan so aus:
                                            Bildschirmfoto 2022-09-26 um 14.47.42.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            903
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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