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 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.0k
                                        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