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. [gelöst] Umwandlung von Objekt in String

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Umwandlung von Objekt in String

    This topic has been deleted. Only users with topic management privileges can see it.
    • Claus1985 0
      Claus1985 0 @mickym last edited by Claus1985 0

      @mickym Ist etwas seltsam was Homekit da schickt. Folgendes:
      Wenn ich die Lampe einschalte (also einfach an) kommt ON = true und Brightness = 100.
      Wenn ich die Lampe ausschalte kommt nur ON = False
      Wenn ich die Lampe mit 73% einschalte (vorher aus) dann kommt ON = true und Brightness = 73
      Wenn ich die Lampe von 73% auf 80% ändere kommt nur Brightness = 80

      Rein von der Perspektive aus müsste Deine Logik funktionieren denn Du fängst ja vorher das Brightness ab.
      Es scheint aber so zu sein, dass obwohl der Zeitstempel der Nachrichten gleich ist, sie im Hintergrund leicht
      versetzt kommen. Dadurch greift es dann nicht.

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

        @claus1985-0 Ok das letzte hilft - im Prinzip hat das Teil im Hinterkopf ob die Lampe ein- oder ausgeschaltet ist. Man muss halt nur wissen, dass bei ON halt Brightness folgt, oder nur Brightness - Off wird halt immer 0.

        Claus1985 0 1 Reply Last reply Reply Quote 0
        • F
          frankyboy73 @mickym last edited by

          @mickym Hi, bei der Abfrage payload.Brithness ist nicht Null (switch), flutscht die msg.payload.On noch mit durch, die muss noch abgefangen werden.

          mickym 1 Reply Last reply Reply Quote 0
          • Claus1985 0
            Claus1985 0 @mickym last edited by Claus1985 0

            @mickym Gute Idee, danke Dir! Habs mit einem zusätzlichen Switch gelöst.
            OK also irgendwie scheint die Ausgabe von Homekit auch eher zufällig zu sein.
            Jetzt gibt er mir beim Einschalten auch teilweise nur ON = true ohne Brightness aus..
            Es gibt also wohl beide Fälle.

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

              @frankyboy73 @Claus1985-0

              Genau - so wird nun On=true komplett ignoriert und damit müsste es nach der Logik gehen:

              e2b90a4e-3b86-4c24-8554-e6440d6e4615-image.png

              [
                 {
                     "id": "78e5c88c.0d9b08",
                     "type": "switch",
                     "z": "a37484bb.f4a9e8",
                     "name": "",
                     "property": "payload.On",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "true"
                         },
                         {
                             "t": "false"
                         },
                         {
                             "t": "else"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 3,
                     "x": 470,
                     "y": 1780,
                     "wires": [
                         [],
                         [
                             "648496f9.de89d8"
                         ],
                         [
                             "39869018.4b8c4"
                         ]
                     ]
                 },
                 {
                     "id": "d85d77b3.309d98",
                     "type": "inject",
                     "z": "a37484bb.f4a9e8",
                     "name": "Helligkeit geändert",
                     "props": [
                         {
                             "p": "payload.Brightness",
                             "v": "45",
                             "vt": "num"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payloadType": "str",
                     "x": 230,
                     "y": 1700,
                     "wires": [
                         [
                             "78e5c88c.0d9b08"
                         ]
                     ]
                 },
                 {
                     "id": "4a5abaae.3d7494",
                     "type": "inject",
                     "z": "a37484bb.f4a9e8",
                     "name": "Ein",
                     "props": [
                         {
                             "p": "payload.On",
                             "v": "true",
                             "vt": "bool"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 280,
                     "y": 1780,
                     "wires": [
                         [
                             "78e5c88c.0d9b08"
                         ]
                     ]
                 },
                 {
                     "id": "d4e38a8d.f33978",
                     "type": "inject",
                     "z": "a37484bb.f4a9e8",
                     "name": "Aus",
                     "props": [
                         {
                             "p": "payload.On",
                             "v": "false",
                             "vt": "bool"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 280,
                     "y": 1820,
                     "wires": [
                         [
                             "78e5c88c.0d9b08"
                         ]
                     ]
                 },
                 {
                     "id": "3fe1f543.71321a",
                     "type": "inject",
                     "z": "a37484bb.f4a9e8",
                     "name": "Helligkeit geändert",
                     "props": [
                         {
                             "p": "payload.Brightness",
                             "v": "100",
                             "vt": "num"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 230,
                     "y": 1740,
                     "wires": [
                         [
                             "78e5c88c.0d9b08"
                         ]
                     ]
                 },
                 {
                     "id": "648496f9.de89d8",
                     "type": "change",
                     "z": "a37484bb.f4a9e8",
                     "name": "=0",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "0",
                             "tot": "num"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 690,
                     "y": 1740,
                     "wires": [
                         [
                             "9a98a415.b95d08"
                         ]
                     ]
                 },
                 {
                     "id": "39869018.4b8c4",
                     "type": "change",
                     "z": "a37484bb.f4a9e8",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.Brightness",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 650,
                     "y": 1800,
                     "wires": [
                         [
                             "9a98a415.b95d08"
                         ]
                     ]
                 },
                 {
                     "id": "9a98a415.b95d08",
                     "type": "debug",
                     "z": "a37484bb.f4a9e8",
                     "name": "Ergebnis",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 840,
                     "y": 1760,
                     "wires": []
                 }
              ]
              

              Man muss nur den siwtch das true mit abfragen, aber lässt es ins leere laufen. Off wird auf 0 gesetzt. On wird ignoriert, da entweder Brightness folgt - oder ON eh nicht geschickt wird und nur Brightness.

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

                @claus1985-0 sagte in Umwandlung von Objekt in String:

                Jetzt gibt er mir beim Einschalten auch teilweise nur ON = true ohne Brightness aus..
                Es gibt also wohl beide Fälle.

                Ok dann kannst auch die Brightness setzen - dann wird sie mit der nächsten Brightness ggf. auf den richtigen Wert über schrieben. Dann macht man einen Trigger hinten dran. Ich machs mal kurz.

                be26da8e-6d14-47de-8564-f616cabc5595-image.png

                [
                   {
                       "id": "78e5c88c.0d9b08",
                       "type": "switch",
                       "z": "a37484bb.f4a9e8",
                       "name": "",
                       "property": "payload.On",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           },
                           {
                               "t": "else"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 3,
                       "x": 450,
                       "y": 1780,
                       "wires": [
                           [
                               "8b24d14b.fc4a7"
                           ],
                           [
                               "648496f9.de89d8"
                           ],
                           [
                               "39869018.4b8c4"
                           ]
                       ]
                   },
                   {
                       "id": "d85d77b3.309d98",
                       "type": "inject",
                       "z": "a37484bb.f4a9e8",
                       "name": "Helligkeit geändert",
                       "props": [
                           {
                               "p": "payload.Brightness",
                               "v": "45",
                               "vt": "num"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payloadType": "str",
                       "x": 210,
                       "y": 1700,
                       "wires": [
                           [
                               "78e5c88c.0d9b08"
                           ]
                       ]
                   },
                   {
                       "id": "4a5abaae.3d7494",
                       "type": "inject",
                       "z": "a37484bb.f4a9e8",
                       "name": "Ein",
                       "props": [
                           {
                               "p": "payload.On",
                               "v": "true",
                               "vt": "bool"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "x": 260,
                       "y": 1780,
                       "wires": [
                           [
                               "78e5c88c.0d9b08"
                           ]
                       ]
                   },
                   {
                       "id": "d4e38a8d.f33978",
                       "type": "inject",
                       "z": "a37484bb.f4a9e8",
                       "name": "Aus",
                       "props": [
                           {
                               "p": "payload.On",
                               "v": "false",
                               "vt": "bool"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "x": 260,
                       "y": 1820,
                       "wires": [
                           [
                               "78e5c88c.0d9b08"
                           ]
                       ]
                   },
                   {
                       "id": "3fe1f543.71321a",
                       "type": "inject",
                       "z": "a37484bb.f4a9e8",
                       "name": "Helligkeit geändert",
                       "props": [
                           {
                               "p": "payload.Brightness",
                               "v": "100",
                               "vt": "num"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "x": 210,
                       "y": 1740,
                       "wires": [
                           [
                               "78e5c88c.0d9b08"
                           ]
                       ]
                   },
                   {
                       "id": "648496f9.de89d8",
                       "type": "change",
                       "z": "a37484bb.f4a9e8",
                       "name": "=0",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "0",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 670,
                       "y": 1760,
                       "wires": [
                           [
                               "5590f91.34c2208"
                           ]
                       ]
                   },
                   {
                       "id": "39869018.4b8c4",
                       "type": "change",
                       "z": "a37484bb.f4a9e8",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload.Brightness",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 630,
                       "y": 1800,
                       "wires": [
                           [
                               "5590f91.34c2208"
                           ]
                       ]
                   },
                   {
                       "id": "8b24d14b.fc4a7",
                       "type": "change",
                       "z": "a37484bb.f4a9e8",
                       "name": "=100",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "100",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 670,
                       "y": 1720,
                       "wires": [
                           [
                               "5590f91.34c2208"
                           ]
                       ]
                   },
                   {
                       "id": "5590f91.34c2208",
                       "type": "trigger",
                       "z": "a37484bb.f4a9e8",
                       "name": "",
                       "op1": "",
                       "op2": "",
                       "op1type": "nul",
                       "op2type": "payl",
                       "duration": "100",
                       "extend": true,
                       "overrideDelay": false,
                       "units": "ms",
                       "reset": "",
                       "bytopic": "all",
                       "topic": "topic",
                       "outputs": 1,
                       "x": 850,
                       "y": 1760,
                       "wires": [
                           [
                               "3714948f.7669bc"
                           ]
                       ]
                   },
                   {
                       "id": "3714948f.7669bc",
                       "type": "debug",
                       "z": "a37484bb.f4a9e8",
                       "name": "Ergebnis",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1020,
                       "y": 1760,
                       "wires": []
                   }
                ]
                

                Wenn man das mit Inject Nodes testen will muss man es halt auf 1 s hoch setzen. Wenn aber von der Node 2 Nachrichten kommen, sollten 100s vielleicht ausreichen - ansonsten den Wert halt auf 250 ms erhöhen.

                Claus1985 0 1 Reply Last reply Reply Quote 0
                • F
                  frankyboy73 @mickym last edited by

                  @mickym Hi, ich hätte eigentlich eher gedacht es reicht die msg.payload.On in der Change node zu löschen, da auf dem Weg ja eh nur die Brithness ausgegeben werden soll.
                  Change8.jpg

                  [
                     {
                         "id": "9ab6af5f.30ba",
                         "type": "switch",
                         "z": "c33d5c4d.42855",
                         "name": "payload.Brightness gesetzt?",
                         "property": "payload.Brightness",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "null"
                             },
                             {
                                 "t": "nnull"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 380,
                         "y": 1060,
                         "wires": [
                             [
                                 "8894c9b1.f9e498"
                             ],
                             [
                                 "42d4c7a5.ad8cf8"
                             ]
                         ]
                     },
                     {
                         "id": "8894c9b1.f9e498",
                         "type": "change",
                         "z": "c33d5c4d.42855",
                         "name": "payload.On ?",
                         "rules": [
                             {
                                 "t": "change",
                                 "p": "payload.On",
                                 "pt": "msg",
                                 "from": "true",
                                 "fromt": "bool",
                                 "to": "100",
                                 "tot": "num"
                             },
                             {
                                 "t": "change",
                                 "p": "payload.On",
                                 "pt": "msg",
                                 "from": "false",
                                 "fromt": "bool",
                                 "to": "0",
                                 "tot": "num"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 620,
                         "y": 1020,
                         "wires": [
                             [
                                 "2d830216.3daeee"
                             ]
                         ]
                     },
                     {
                         "id": "2d830216.3daeee",
                         "type": "change",
                         "z": "c33d5c4d.42855",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.On",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 820,
                         "y": 1020,
                         "wires": [
                             [
                                 "a0915145.3a028"
                             ]
                         ]
                     },
                     {
                         "id": "42d4c7a5.ad8cf8",
                         "type": "change",
                         "z": "c33d5c4d.42855",
                         "name": "",
                         "rules": [
                             {
                                 "t": "delete",
                                 "p": "payload.On",
                                 "pt": "msg"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.Brightness",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 830,
                         "y": 1080,
                         "wires": [
                             [
                                 "a0915145.3a028"
                             ]
                         ]
                     },
                     {
                         "id": "a0915145.3a028",
                         "type": "debug",
                         "z": "c33d5c4d.42855",
                         "name": "Ergebnis",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1040,
                         "y": 1040,
                         "wires": []
                     },
                     {
                         "id": "1e404736.197149",
                         "type": "inject",
                         "z": "c33d5c4d.42855",
                         "name": "Helligkeit geändert",
                         "props": [
                             {
                                 "p": "payload.Brightness",
                                 "v": "45",
                                 "vt": "num"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "x": 130,
                         "y": 1020,
                         "wires": [
                             [
                                 "9ab6af5f.30ba"
                             ]
                         ]
                     },
                     {
                         "id": "245d320e.f6207e",
                         "type": "inject",
                         "z": "c33d5c4d.42855",
                         "name": "Ein",
                         "props": [
                             {
                                 "p": "payload.On",
                                 "v": "true",
                                 "vt": "bool"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "x": 160,
                         "y": 1060,
                         "wires": [
                             [
                                 "9ab6af5f.30ba"
                             ]
                         ]
                     },
                     {
                         "id": "c75eb9f8.260d38",
                         "type": "inject",
                         "z": "c33d5c4d.42855",
                         "name": "Aus",
                         "props": [
                             {
                                 "p": "payload.On",
                                 "v": "false",
                                 "vt": "bool"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "x": 160,
                         "y": 1100,
                         "wires": [
                             [
                                 "9ab6af5f.30ba"
                             ]
                         ]
                     }
                  ]
                  

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

                    @frankyboy73 sagte in Umwandlung von Objekt in String:

                    e eicht die msg.payload.On in der Change node zu löschen

                    Nee das ist unnötig - da ich ja in der Change node - die komplette payload mit Brightness überschreibe - damit ist die payload ja ein skalares Objekt - sprich Zahl - sprich alle Eigenschaften des payload Objektes sind ja sowieso weg.

                    Aber egal - ich glaube Du kannst es nur mit der Trigger Node machen - da unser TE ja inzwischen alle Möglichkeiten, ON mit Brightness, nur Brightness, nur ON hatte. Ursprünglich dachte ich ja dann wie Du ich kann auch ON komplett verzichten - aber dem ist ja auch nicht so,.

                    1 Reply Last reply Reply Quote 1
                    • Claus1985 0
                      Claus1985 0 @mickym last edited by

                      @mickym Funktioniert perfekt, danke Dir!!

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

                        @claus1985-0 sagte in Umwandlung von Objekt in String:

                        @mickym Funktioniert perfekt, danke Dir!!

                        Freut mich! Vielleicht ist NodeRed ohne 20 Programmzeilen doch einfacher. 😉

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        870
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        3
                        22
                        445
                        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