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.
    • Homoran
      Homoran Global Moderator Administrators @haselchen last edited by

      @haselchen Hab das mal abgespalten und nach node-red verschoben

      1 Reply Last reply Reply Quote 1
      • paul53
        paul53 @haselchen last edited by

        @haselchen sagte: Wie sieht der payload aus in der Function Node

        Von Node-Red habe ich keine Ahnung.

        haselchen 1 Reply Last reply Reply Quote 0
        • 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
                                            • 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