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