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 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
                                    • mickym
                                      mickym Most Active @Damrak2022 last edited by

                                      @damrak2022 Und Apple-TV 😁 ?

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

                                        @mickym Gute Frage, ich habe ihn mal im Dashboard geschaltet, aber das ändert nicht im Kontext nach dem aktualisieren.
                                        Aber der ist ja auch nicht in ioBroker eingebunden, wie Du weißt.

                                        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 Gute Frage, ich habe ihn mal im Dashboard geschaltet, aber das ändert nicht im Kontext nach dem aktualisieren.
                                          Aber der ist ja auch nicht in ioBroker eingebunden, wie Du weißt.

                                          Das muss es aber - hast Du auch wirklich auf den ganzen Kontext - Flow zum aktualisieren geklickt?

                                          87d64ecb-aae6-4523-8d47-6c6b59b1ff2c-image.png

                                          hast Du auch deployed - im Screenshot sehe ich immer noch die blauen Punkte

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

                                            @mickym Ja, aber ich glaube da hatten wir noch nie eine Meldung, oder. Ich schaue mal weiter oben nach, wo das mit dem Apple TV war - Moment

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            500
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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