Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. payload splitten

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    payload splitten

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active @paul53 last edited by

      @paul53

      Schade

      @Homoran Danke Dir!!

      @mickym

      Vielleicht hast Du eine Ahnung 🙂

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

        @haselchen Der Status steht in der payload Eingenschaft: active

        a3fdad87-eda3-4077-964e-dd241cd37952-image.png

        Dafür braucht man keine function Node. Setze in einer Change Node die msg.payload auf msg.payload.active.

        1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @haselchen last edited by

          @haselchen sagte in payload splitten:

          Schade

          du solltest ihm wenigstens die payload zeigen.
          dann kann er dir eher mit einer Funktion weiterhelfen

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

            @haselchen sagte in String zerlegen funtioniert nicht:

            @homoran

            Weil ich das auch zerlegen möchte.
            Kann aber gerne was eigenes aufmachen, wenn das hier unpassend ist.

            Wenn Du die payload komplett zerlegen möchtest, dann hängst Du eine split Node dran und kopierst den key in msg.topic und nicht nur die activity .

            In der function node musst halt dass was die Change Node macht halt reinschreiben:

            msg.payload = msg.payload.active;
            
            haselchen 1 Reply Last reply Reply Quote 1
            • haselchen
              haselchen Most Active @mickym last edited by haselchen

              @mickym

              Node Red , dafür bin ich einfach zu blöd.
              Ist so. Geht nicht in die Rübe.

              974a2c79-e33f-4302-8c71-1c967c9c95a7-grafik.png

              Erster Versuch bisher ohne deinen Einwand.
              Aktiviert, trotzdem steht dort false in der Mitte.

              Edit:

              Es besteht doch vielleicht Hoffnung 🙂

              Die Function Node mit deinem active Tipp war es.

              e83677fb-c903-4587-8d03-c201964ccd40-grafik.png

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

                @haselchen Ich weiß nicht warum Du nun einen Datenpunkt ausliest. In der Beschreibung zu der Node steht doch drin was ich gepostet habe und Du solltest doch nur eine Change Node hinten dran hängen.

                active gibt an - ob der Sensor aktiv ist - motion sagt ob eine Bewegung erkannt wurde.

                Dafür braucht man wie gesagt keine function Node - nutze Change Nodes um die gewünschten Eigenschaften zu verarbeiten:

                d24ba680-1999-452b-80af-1aa469ab3d33-image.png

                39a2bdc5-ff63-4e0a-a292-204820f4dc22-image.png

                Hier mal die beiden Change Nodes die Du hinter Deiner Node des Bewegungsmelders klemmst.


                [
                {
                "id": "3299f799cb3e5c66",
                "type": "change",
                "z": "7fd8fff652f013f7",
                "name": "Bewegungsmelder aktiv",
                "rules": [
                {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.active",
                "tot": "msg"
                }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 640,
                "y": 2220,
                "wires": [
                []
                ]
                },
                {
                "id": "98ea3d96252c5519",
                "type": "change",
                "z": "7fd8fff652f013f7",
                "name": "Bewegung erkannt",
                "rules": [
                {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.motion",
                "tot": "msg"
                }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 630,
                "y": 2260,
                "wires": [
                []
                ]
                }
                ]

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

                  @mickym

                  Ist alles gelöst und okay. Danke dir dafür. Das war noch die Kirsche auf der Torte 🙂

                  d4e854cf-c1b9-4e99-a327-f5a8257ca7de-grafik.png

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

                    gelöscht

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

                      @mickym

                      Klasse Info, danke! 👍

                      Ich muss dich trotzdem nochmal wegen der HUE Nodes nerven.
                      Durch das Update ist hier einiges durcheinander.
                      Ich habe die Dimmer Switches und die konnte ich vor dem Update normal nach Anleitung auslesen.
                      Flur Erdgeschoss...musste dir wegdenken, dass war ein Versuch. Normal würde da Dim Down oder Dim Up drinstehen. Halt die 4 Buttons auf dem Switch.

                      ab5ecf0d-a279-476d-a73a-305ab9f809ef-grafik.png

                      Da habe ich alle Skripte drauf ausgelegt.
                      button konnte ich angleichen, vorher stand da short released - > ohne Unterstrich und released mit d jetzt.

                      91d44f91-f2cc-49ca-a433-bffd4b5e091d-grafik.png

                      Get Button Name

                      03a2b107-d6f7-4f58-bdd8-556adcfdfa11-grafik.png

                      Da kommt leider nix mehr zurück. Obwohl das so in der Beschreibung steht.

                      f12e39df-0a2a-4df9-9a1f-061566018888-grafik.png

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

                        @haselchen Lies mal genau. Das sind Eigenschaften des msg.info Objektes. Wie gesagt dafür brauchst aber keine function nodes.

                        Wenn Du aber halt unbedingt damit arbeiten willst, dann musst halt den Code entsprechend ändern:

                        msg.payload = msg.info.name;
                        
                        haselchen 1 Reply Last reply Reply Quote 0
                        • haselchen
                          haselchen Most Active @mickym last edited by

                          @mickym

                          Das hatte ich gemacht. Da erschien dann der Name des Switches. Siehe ersten Screenshot.

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

                            @haselchen Im 1. Screenshot hast Du die payload und nicht das Info Objekt genommen, um den Namen rauszubekommen.

                            Die Zustände Deines Switches stehen weiter in der payload:

                            21f61e59-cf7f-4e9c-9ad4-13a3b41680da-image.png

                            also

                            msg.payload = msg.payload.action

                            und in

                            msg.payload.button steht welche Taste gedrückt wurde bzw. false wenn keine gedrückt wurde.

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

                              @haselchen Falls das wirklich so ist und nutze halt einfach change NOdes auch oder erst Recht, wenn Du die payload geändert haben willst. Hier mal um die Unterstriche gegen Leerzeichen zu tauschen.

                              0b2c3bf7-6d5d-4e70-8224-e20c1823f1f3-image.png

                              Hier mal die Node:

                              [
                                 {
                                     "id": "a17f2b7c7be30318",
                                     "type": "change",
                                     "z": "54b226bc.0793e8",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload.action",
                                             "tot": "msg"
                                         },
                                         {
                                             "t": "change",
                                             "p": "payload",
                                             "pt": "msg",
                                             "from": "_",
                                             "fromt": "str",
                                             "to": " ",
                                             "tot": "str"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 790,
                                     "y": 2760,
                                     "wires": [
                                         []
                                     ]
                                 }
                              ]
                              

                              Code aktualisiert.

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

                                @mickym

                                Vor dem Update gab es msg.payload.name.
                                So laufen/liefen alle meine Switches.
                                Ich habe es nun auf button geändert und erhalte die gedrückte Taste (1,2,3 oder 4).

                                37316c86-e6f2-46fa-b871-08b191bbf439-grafik.png

                                Damit kann ich leben, trotzdem werden hier viele, die updaten wie nen Ochs vor dem Berg stehen.
                                Sollte man das in einem Thread als Info kundtun?

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

                                  @haselchen Ist doch verkehrt rum
                                  afc36f12-4554-4273-894a-365aa8f6d722-image.png

                                  action = msg.payload.action
                                  button = msg.payload.button.

                                  Steht doch alles so drin. Das heißt unter button kommt die Zahl und unter Action short_release

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

                                    @mickym

                                    Ich weiss , was du meinst und das war von Anfang an Absicht. 😉
                                    Hat aber mit dem geänderten Payload nichts zu tun.
                                    Es erschien vorher unter Name: On, Off, Dim up und Dim down.

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

                                      @haselchen Nun vielleicht hast Du einen Flow gehabt, der Dir dann in Name das reingeschrieben hat, was die Tastennummer in Kombination mit der Action ausgeben sollte.

                                      Also wenn Taste1 und short release - dann ein
                                      Also wenn Taste2 und short release - dann aus
                                      Also wenn Taste1 und long release - dim up
                                      Also wenn Taste2 und long release - dim down

                                      Das kannst Du im Node Red machen, aber ich denke Du bist ja eher Blockly Fan und kannst das ja selbst umsetzen.

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

                                        @mickym

                                        Wie du siehst, wurde mit dem payload.name : Off ausgelesen.
                                        So lief das jahrelang.

                                        e2f3e7a7-5174-4668-9a62-f73c38db3ce3-grafik.png

                                        6e022350-36d9-44a3-b0d3-2bc57c7ba9ab-grafik.png

                                        Ich habs jetzt "notdürftig" gelöst und darf nen paar Skripte korrigieren.
                                        Die Frage ist, ob das ein Info Thread rechtfertigt.

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

                                          @haselchen Nun in einen Datenpunkt kann man reinschreiben, was man will - es stellt sich nur die Frage wer das da rein geschrieben hat und wie es reingeschrieben wurde. 😉

                                          Das kann ich nicht aus der Ferne beurteilen.

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

                                            @mickym

                                            Die Datenpunkte wurden von Node Red angelegt mit den Flows, die ich dir gezeigt habe + den payloads.

                                            Für mich war das Update jedenfalls Mist.

                                            Muss jetzt erstmal ordentlich korrigieren.
                                            Danke Dir fürs Erste für Deine schnelle Hilfe.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            25
                                            680
                                            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