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. Übergabe von Werten auf andere Objekte

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Übergabe von Werten auf andere Objekte

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

      @kaaennixx na ich denke, du musst auch brigtnesslevel, aud percentage usw. Mappen.

      Ich zeige Dir wie einfach das ist, wenn du mir mal die Werte der debug Ausgabe in code Tags hier in den thread kopierst.

      Oder ich versuche es einfach mal an einem kurzen Beispiel

      17a7e4f4-2002-438d-9a7b-d159bc193d31-image.png

      Hier zum Import - da siehst Du die verschiedenen Möglichkeiten - hängt davon ab, ob nicht benötigte Eigenschaften des Nachrichtenobjektes ignoriert werden oder ob sie gelöscht werden müssen. Ich hab sie mal gelöscht, deshalb habe ich auch die Version mit der Function Node mit aufgenommen, um in einem Rutsch das Nachrichtenobjekt neu zu erstellen.

      Hier der Flow zum Import:

      [
         {
             "id": "562f8dabcd970981",
             "type": "inject",
             "z": "289f539dcc33814e",
             "name": "Alexa Ausgabe",
             "props": [
                 {
                     "p": "on",
                     "v": "true",
                     "vt": "bool"
                 },
                 {
                     "p": "bri",
                     "v": "254",
                     "vt": "num"
                 },
                 {
                     "p": "percentage",
                     "v": "100",
                     "vt": "num"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "x": 1160,
             "y": 3100,
             "wires": [
                 [
                     "52c012385749d1e5",
                     "c3e7e751f28afa10",
                     "11b1f8010bb86cf6",
                     "a2e3e183b0737baa"
                 ]
             ]
         },
         {
             "id": "52c012385749d1e5",
             "type": "debug",
             "z": "289f539dcc33814e",
             "name": "Alexa Ausgabe",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "true",
             "targetType": "full",
             "statusVal": "",
             "statusType": "auto",
             "x": 1420,
             "y": 3040,
             "wires": []
         },
         {
             "id": "c3e7e751f28afa10",
             "type": "change",
             "z": "289f539dcc33814e",
             "name": "mit JSONATA",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "{\t    \"brightness\" : percentage,\t    \"brightnesslevel\" : bri,\t    \"on\" : on\t}",
                     "tot": "jsonata"
                 },
                 {
                     "t": "delete",
                     "p": "on",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "bri",
                     "pt": "msg"
                 },
                 {
                     "t": "delete",
                     "p": "percentage",
                     "pt": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1380,
             "y": 3100,
             "wires": [
                 [
                     "cc24117d1655d3cd"
                 ]
             ]
         },
         {
             "id": "cc24117d1655d3cd",
             "type": "debug",
             "z": "289f539dcc33814e",
             "name": "für HUE (JSONATA)",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "true",
             "targetType": "full",
             "statusVal": "",
             "statusType": "auto",
             "x": 1640,
             "y": 3100,
             "wires": []
         },
         {
             "id": "11b1f8010bb86cf6",
             "type": "change",
             "z": "289f539dcc33814e",
             "name": "mit Einzelregeln",
             "rules": [
                 {
                     "t": "move",
                     "p": "on",
                     "pt": "msg",
                     "to": "payload.on",
                     "tot": "msg"
                 },
                 {
                     "t": "move",
                     "p": "bri",
                     "pt": "msg",
                     "to": "payload.brightnesslevel",
                     "tot": "msg"
                 },
                 {
                     "t": "move",
                     "p": "percentage",
                     "pt": "msg",
                     "to": "payload.brightness",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1380,
             "y": 3180,
             "wires": [
                 [
                     "900774d451d9b735"
                 ]
             ]
         },
         {
             "id": "900774d451d9b735",
             "type": "debug",
             "z": "289f539dcc33814e",
             "name": "für HUE (Einzeln)",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "true",
             "targetType": "full",
             "statusVal": "",
             "statusType": "auto",
             "x": 1650,
             "y": 3180,
             "wires": []
         },
         {
             "id": "a2e3e183b0737baa",
             "type": "change",
             "z": "289f539dcc33814e",
             "name": "mit JSONATA",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "{     \"brightness\" : percentage,     \"brightnesslevel\" : bri,     \"on\" : on }",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1380,
             "y": 3140,
             "wires": [
                 [
                     "7ede6604bc411b98"
                 ]
             ]
         },
         {
             "id": "7ede6604bc411b98",
             "type": "function",
             "z": "289f539dcc33814e",
             "name": "Definiere neues Nachrichtenobjekt.",
             "func": "msg = {\"payload\" : msg.payload};\nreturn msg;",
             "outputs": 1,
             "noerr": 0,
             "initialize": "",
             "finalize": "",
             "libs": [],
             "x": 1640,
             "y": 3140,
             "wires": [
                 [
                     "20d2c1789c7b0e2c"
                 ]
             ]
         },
         {
             "id": "20d2c1789c7b0e2c",
             "type": "debug",
             "z": "289f539dcc33814e",
             "name": "JSONATA und function Node",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "true",
             "targetType": "full",
             "statusVal": "",
             "statusType": "auto",
             "x": 1940,
             "y": 3140,
             "wires": []
         }
      ]
      

      Mit Einzelregeln und verschieben sieht es also so aus:

      f0822b6a-3d35-48b4-b716-7ec209c853d2-image.png

      mit JSONATA so und ggf. noch das Löschen:

      02e64121-6b97-44e8-a909-a1562a791923-image.png
      11534f87-4ea4-4011-a8bd-9049e0c8091e-image.png

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

        @mickym

        Die Ausgabe der Alexa Node bei "Alexa, Lampe Flur an"

        606ef078-ae0f-41bb-82e4-accb08742c6c-grafik.png

        ergibt

        {"on":true,"bri":254,"percentage":100,"hue":0,"sat":254,"xy":[0.6484272236872118,0.33085610147277794],"ct":199,"rgb":[254,0,0],"colormode":"ct","meta":{"insert":{"by":"alexa","details":{"ip":"::ffff:192.168.13.23","date":"2023-01-27T10:02:21.963Z"}},"input":{"on":true},"changes":{}},"payload":"on","deviceid":"6930198e513a78","topic":"","_msgid":"b842c3b7f970ddbd","_event":"node:e423462.934d0b8"}
        
        

        Ich weiß nicht wie ich da Zeilenumbrüche rein machen kann, hoffe das ist ok so.

        Die Ausgabe der Hue Node, wo ich denke dass das auch am Eingang erwartet wird:

        d53572b8-e034-434f-94c6-26537586596a-grafik.png

        ergibt

        {"payload":{"on":false,"brightness":100,"brightnessLevel":254,"reachable":true,"connectionStatus":"connected","updated":"2023-01-27T10:05:38+00:00","rgb":[255,251,226],"hex":"fffbe2","xyColor":{"x":0.3437,"y":0.3551},"color":"beige","colorTemp":false,"colorTempName":"unknown"},"info":{"id":"32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3","idV1":"/lights/8","uniqueId":"7aebcd0c-870b-4c4b-bf03-e7c2bc35e671-32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3","deviceId":"7aebcd0c-870b-4c4b-bf03-e7c2bc35e671","name":"Hue Play Links","type":"light","softwareVersion":"1.101.2","model":{"id":"440400982841","manufacturer":"Signify Netherlands B.V.","name":"Hue Play","type":"hue_play","certified":true,"friendsOfHue":true,"colorGamut":{"red":{"x":0.6915,"y":0.3083},"green":{"x":0.17,"y":0.7},"blue":{"x":0.1532,"y":0.0475}},"colorGamutType":"C"}},"updated":{},"lastState":{"payload":{"on":false,"brightness":100,"brightnessLevel":254,"reachable":true,"connectionStatus":"connected","updated":"2023-01-27T10:05:38+00:00","rgb":[255,251,226],"hex":"fffbe2","xyColor":{"x":0.3437,"y":0.3551},"color":"beige","colorTemp":false,"colorTempName":"unknown"},"info":{"id":"32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3","idV1":"/lights/8","uniqueId":"7aebcd0c-870b-4c4b-bf03-e7c2bc35e671-32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3","deviceId":"7aebcd0c-870b-4c4b-bf03-e7c2bc35e671","name":"Hue Play Links","type":"light","softwareVersion":"1.101.2","model":{"id":"440400982841","manufacturer":"Signify Netherlands B.V.","name":"Hue Play","type":"hue_play","certified":true,"friendsOfHue":true,"colorGamut":{"red":{"x":0.6915,"y":0.3083},"green":{"x":0.17,"y":0.7},"blue":{"x":0.1532,"y":0.0475}},"colorGamutType":"C"}}},"command":{"_msgid":"4face97c259c5090","payload":1674813945377,"topic":""},"_msgid":"539e58a8378a1ffa"}
        
        

        Da ist natürlich viel drin was ich nicht benötige.

        Die Ausgaben meintest du doch, oder?

        Vielen Dank für deine Mühen mir zu helfen 😀

        K mickym 2 Replies Last reply Reply Quote 0
        • K
          Kaaennixx @Kaaennixx last edited by

          @mickym

          Oh, grad erst gesehen dass du noch was schrieben hattest, schaue ich mir sofort an!

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

            @kaaennixx ich hab dir inzwischen einen Flow zum Import gepostet. Der sollte eigentlich alles beantworten

            Ein Trick den Wert der debug Ausgabe hier in code Tags zu stellen, einfach im debug Fenster auf Wert kopieren, dann ist der hier in der Zwischenablage und dann einfach in code Tags hier rein.

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

              @mickym

              Schau ich mir gleich an, muss eben zur Kita 😉
              Danke für die Hilfe!

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

                Falls du bei den Eunzelregeln mit dem Verschieben ein Problem hast, weil die Alexanode als payload einen skalieren String „on“ enthält, füge entweder als erste Regel noch ein Löschen der payload ein oder setze die payload auf ein leeres Objekt, also {}.

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

                  @mickym

                  Das mit dem kopieren hatte ich genau so genacht, da kommt dann aber immer nur die eine Zeile raus. Das Problem sitzt bestimmt vor dem Bildschirm. Ich hab das jetzt mal per Hand verschoben, vielleicht hilft das ja. Ein Problem habe ich nämlich noch:

                  Das mit dem an/aus/dimmen klappt wunderbar mit dem JSONATA. Dafür schonmal danke.
                  Jetzt versuche ich die RGB Werte noch zu verschieben, und schon bin ich mit meinem Latein mal wieder am Ende. Die Node meldet einen Fehler wenn ich es so versuche:

                  bd0a30ae-e2a4-4325-b138-627f703f595d-grafik.png

                  6e83fc0d-5e22-4a58-baaa-4a0942a1581d-grafik.png

                  Irgendwo bin ich da noch falsch, weil die RGB Werte ja in einem anderen objekt sind oder so? Ich habe keine Ahnung was ein Objekt überhaupt ist, aber ich vermute es hat irgendwas damit zu tun. Also einfach mit einem Punkt (z.B. msg.payload.rgb.0) eine "Ebene höher" springen geht scheinbar nicht, oder?

                  Wenn du mir da nochmal helfen könntest, das wär prima. 😬

                  Ausgabe Alexa:
                  
                  object
                     on: true
                     bri: 254
                     percentage: 100
                     hue: 0
                     sat: 254
                  xy: array[2]
                     0: 0.6484272236872118
                     1: 0.33085610147277794
                  ct: 199
                  rgb: array[3]
                     0: 254
                     1: 0
                     2: 0
                  colormode: "ct"
                  meta: object
                     insert: object
                     	by: "alexa"
                     	details: object
                     		ip: "::ffff:192.168.13.23"
                     		user_agent: undefined
                     		date: "2023-01-27T11:15:16.064Z"
                     input: object
                     	on: true
                     	bri: 254
                     changes: object
                     	bri: 128
                     	percentage: 50
                  payload: "on"
                  deviceid: "6930198e513a78"
                  topic: ""
                  _msgid: "7039f12ad30db06e"
                  _event: "node:e423462.934d0b8"
                  
                  
                  Ausgabe Hue:
                  
                  object
                  payload: object
                     on: false
                     brightness: 100
                     brightnessLevel: 254
                     reachable: true
                     connectionStatus: "connected"
                     updated: "2023-01-27T11:20:26+00:00"
                     rgb: array[3]
                     	0: 255
                     	1: 251
                     	2: 226
                     hex: "fffbe2"
                     xyColor: object
                     	x: 0.3437
                     	y: 0.3551
                     color: "beige"
                     colorTemp: false
                     colorTempName: "unknown"
                  info: object
                     id: "32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3"
                     idV1: "/lights/8"
                     uniqueId: "7aebcd0c-870b-4c4b-bf03-e7c2bc35e671-32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3"
                     deviceId: "7aebcd0c-870b-4c4b-bf03-e7c2bc35e671"
                     name: "Hue Play Links"
                     type: "light"
                     softwareVersion: "1.101.2"
                     model: object
                     	id: "440400982841"
                     	manufacturer: "Signify Netherlands B.V."
                     	name: "Hue Play"
                     	type: "hue_play"
                     	certified: true
                     	friendsOfHue: true
                     	colorGamut: object
                     		red: object
                     			x: 0.6915
                     			y: 0.3083
                     		green: object
                     			x: 0.17
                     			y: 0.7
                     		blue: object
                     			x: 0.1532
                     			y: 0.0475
                     		colorGamutType: "C"
                  updated: object
                     empty
                  lastState: object
                     payload: object
                     	on: false
                     	brightness: 100
                     	brightnessLevel: 254
                     	reachable: true
                     	connectionStatus: "connected"
                     	updated: "2023-01-27T11:20:26+00:00"
                     	rgb: array[3]
                     		0: 255
                     		1: 251
                     		2: 226
                     	hex: "fffbe2"
                     	xyColor: object
                     		x: 0.3437
                     		y: 0.3551
                     	color: "beige"
                     	colorTemp: false
                     	colorTempName: "unknown"
                     info: object
                     	id: "32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3"
                     	idV1: "/lights/8"
                     	uniqueId: "7aebcd0c-870b-4c4b-bf03-e7c2bc35e671-32ef8695-ce93-4ba1-a4f5-0a4f0aa580b3"
                     	deviceId: "7aebcd0c-870b-4c4b-bf03-e7c2bc35e671"
                     	name: "Hue Play Links"
                     	type: "light"
                     	softwareVersion: "1.101.2"
                     	model: object
                     		id: "440400982841"
                     		manufacturer: "Signify Netherlands B.V."
                     		name: "Hue Play"
                     		type: "hue_play"
                     		certified: true
                     		friendsOfHue: true
                     		colorGamut: object
                     			red: object
                     				x: 0.6915
                     				y: 0.3083
                     			green: object
                     				x: 0.17
                     				y: 0.7
                     			blue: object
                     				x: 0.1532
                     				y: 0.0475
                     			colorGamutType: "C"
                  command: object
                     _msgid: "91e8602d8b2607a2"
                     payload: 1674818620786
                     topic: ""
                  _msgid: "090b9c1bb92d2601"
                  code_text
                  
                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Kaaennixx last edited by mickym

                    @kaaennixx das ist ein Array und kein Objekt. Ein Objekt wird von eckigen Klammern umschlossen und die Werte einfach durch Komma getrennt.

                    Wahrscheinlich wäre das nutzen der Einzelregeln für Dich einfacher gewesen.

                    Also: setze payload.rgb auf

                    [255,0,0]
                    

                    Einfacher wäre aber gewesen, wenn du einfacher payload.rgb auf rgb gesetzt hättest, auch in JSONATA

                    Das Verständnis von Objekten, Arrays und Datentypen ist essentiell.

                    Hier mal eine kleine Übersicht.

                    https://forum.iobroker.net/post/852974

                    Hier die Regeln, wie Arrays und Objekte definiert sind: https://forum.iobroker.net/post/905403

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

                      @mickym

                      5b434179-dac6-4ad4-9b2a-7e3f3604c3ec-grafik.png

                      Leider bringt mir der von dir eingestellte Flow mit den Einzelregeln einen Fehler, wenn ich ihn durch Alexa getriggert habe, ohne das ich sonst was daran geändert habe.

                      352cbd1c-7c3c-43ac-a264-4ee78a09e710-grafik.png
                      Nur zum Verständniss:

                      Wenn ich die einzelnen Werten per JSONATA verschiebe, wie kann ich denn dann im Objektbaum (so nenn ich es mal, also die Debug Ausgabe) weiter nach oben springen? Also z.B.

                      Ausgabe Hue:
                      
                      object
                      payload: object
                      	on: false
                      	brightness: 100
                      	brightnessLevel: 254
                      	reachable: true
                      	connectionStatus: "connected"
                      	updated: "2023-01-27T11:20:26+00:00"
                      	rgb: array[3]
                      		0: 255
                      		1: 251
                      		2: 226
                      

                      da auf den RGB Wert? Weil mit payload.rgb gehts ja an der Stelle nicht, oder?

                      Danke, das lese ich mir gern mal durch.

                      EDIT:
                      3e1a1aeb-339e-4727-bd8c-f26c5a95b487-grafik.png

                      Hier nochmal der Fehler mit ausgeklappten Feldern

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

                        @kaaennixx das hatte ich doch geschrieben. Füge als erste Regel eine lösche payload ein und dann probiere das nochmal. Dann klappt das mit den verschieberegeln.

                        https://forum.iobroker.net/post/936010

                        Das Verständnis von Objekten und Arrays ist wirklich sehr wichtig, wie du vielleicht an dem verlinkten Thread siehst.

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

                          @mickym

                          Das klappt, sorry für meine Blödheit. Irgendwie habe ich das übersehen. Und jetzt versuche ich noch die RGB Werte mit zu verschieben, wenn das funktioniert hab ich alles was ich brauche 😇 Die anderen Werte sind zunächst nicht von Bedeutung für mein Vorhaben.

                          Bist du Programmierer, oder hast du dir das alles selbst beigebracht? Ich bin ja Elektriker, aber sowas wie das hier gab es früher in der Schule bei uns noch nicht... 😂

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

                            @kaaennixx na das meiste hab ich mir selbst beigebracht, obwohl ich 1989 eine Umschulung zum Programmier gemacht hatte. Das war aber COBOL, C und Basic auf Maschinen, die gibts heute nicht mehr. Aber das hier, habe ich mir alles selbst beigebracht. NodeRed gibts erst seit 2016 für die breite Öffentlichkeit:
                            https://de.wikipedia.org/wiki/Node-RED

                            Und wie gesagt schau dir mal in Ruhe den anderen thread an, da machen wir das auch alles Schritt für Schritt

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

                              @mickym

                              Das werde ich mir auf jeden Fall anschauen. Ich steuere über Alexa in Node-Red auch meine Homematic Rollladen, da gibts auch noch Dinge die mich stören. Ich wandle da die "percentage" für die Helligkeit in % Behanghöhe, das funktioniert erstmal. Aber das ist ein ganz anderes Thema, darum kümmere ich mich wenn die Lampen laufen.

                              Das mit den Farben, also RGB verschieben klappt jetzt auch, er macht alle bunten Farben mit, nur wieder weiß wird die Lampe nicht. Mal schauen was im Debug steht wenn ich bei Alexa weiß bestelle.

                              Erstmal vielen Dank für deine Hilfe, da hast mir sehr geholfen.

                              EDIT:
                              Noch der Vollständigkeit halber, weiß scheint Alexa nicht zu verstehen. Wenn man "hell gelb" bestellt, wird es so gut wie weiß.

                              [254,254,223]
                              
                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Kaaennixx last edited by

                                @kaaennixx nun wie hue die rgb Werte umsetzt oder wie Alexa Farben definiert- das kann ich dir nicht sagen und das hängt wohl von der Programmierung in der Hardware ab

                                In Color findest ja auch den Farbnamen, sodass du auch selbst RGB Werte definieren könntest. Bei manchen Lampen gabs Aufhebung modus der zwischen Farbe und Weiß umschaltete, aber da bin ich nicht der richtige Ansprechpartner, da ich keine Alexa und auch keine farbigen Lampen habe. Da gibts sicher im Forum Leute mit viel mehr Erfahrung.

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

                                  @mickym

                                  Ach, fürs erste ist alles in Ordnung so. Bisher konnte ich nur An und Aus, da ist so ein bisschen Farbe schon ganz nett. Mal schauen wie oft man es im Alltag wirklich braucht... 😁

                                  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

                                  2
                                  18
                                  606
                                  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