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.
    • 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
                                          • 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
                                            • 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