Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red mit Alexa - Dimmer

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Node-Red mit Alexa - Dimmer

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rewenode last edited by

      Also wenn ich dich recht verstehe, soll zb. die Alexa Ausgabe so konvertiert werden. oder wie?

      sollte rot sein.

      {"hue":0,"saturation":1,"brightness":1,"hsv":[0,100,100]}
      

      so aussehen:

      ist immer noch rot, nur rgb

      {"hue":0,"saturation":1,"brightness":1,"rgb":[255,0,0]}
      

      oder verstehe ich das falsch?

      1 Reply Last reply Reply Quote 0
      • D
        dondon4002 last edited by

        Alexa wirft bei "Alexa Schalte Test auf ROT" dies aus:

        "hue":0,"saturation":1,"brightness":1
        

        dies schiebe ich in den Blocky und mache ein Array daraus damit dies kommt:

        "hsv":[0,100,100]
        

        Der Converter macht aber nun ein RGB Array und zwar so:

        [3,3,3]
        

        Es müsste aber für den HUE Adapter so kommen:

        RGB [255,0,0]
        
        1 Reply Last reply Reply Quote 0
        • R
          rewenode last edited by

          Ich hoffe, ich habe richtig kapiert.

          Das sollte auch ohne Blockly problemlos gehen:

          hier der flow:

          ! ````
          [
          {
          "id": "26dc88fe.708c5",
          "type": "inject",
          "z": "ca47e1d4.9f532",
          "name": "Alexa Schalte Test auf ROT",
          "topic": "",
          "payload": "{"hue":0,"saturation":1,"brightness":1}",
          "payloadType": "json",
          "repeat": "",
          "crontab": "",
          "once": false,
          "onceDelay": 0.1,
          "x": 230,
          "y": 140,
          "wires": [
          [
          "ad83b521.77c65",
          "7eb1492e.f3b3d8"
          ]
          ]
          },
          {
          "id": "86870acf.2656c",
          "type": "color-convert",
          "z": "ca47e1d4.9f532",
          "input": "hsv",
          "output": "rgb",
          "outputType": "array",
          "x": 190,
          "y": 300,
          "wires": [
          [
          "a57a950f.248af8"
          ]
          ]
          },
          {
          "id": "ad83b521.77c65",
          "type": "change",
          "z": "ca47e1d4.9f532",
          "name": "{"hue":0,"saturation":1,"brightness":1} to [h,s,v]",
          "rules": [
          {
          "t": "set",
          "p": "payload",
          "pt": "msg",
          "to": "[\t payload.hue,\t payload.saturation * 100,\t payload.brightness * 100\t]",
          "tot": "jsonata"
          }
          ],
          "action": "",
          "property": "",
          "from": "",
          "to": "",
          "reg": false,
          "x": 300,
          "y": 220,
          "wires": [
          [
          "86870acf.2656c",
          "a4ad7796.ecdb8"
          ]
          ]
          },
          {
          "id": "ccb4443d.a17ce8",
          "type": "comment",
          "z": "ca47e1d4.9f532",
          "name": "msg.payload ={"hue":0,"saturation":1,"brightness":1}",
          "info": "",
          "x": 940,
          "y": 140,
          "wires": []
          },
          {
          "id": "3e66cbf2.9da13c",
          "type": "comment",
          "z": "ca47e1d4.9f532",
          "name": "direct convert to rgb[r,g,b]",
          "info": "",
          "x": 830,
          "y": 300,
          "wires": []
          },
          {
          "id": "bd23336d.d791e8",
          "type": "comment",
          "z": "ca47e1d4.9f532",
          "name": "object hsv[h,s,v]",
          "info": "",
          "x": 800,
          "y": 220,
          "wires": []
          },
          {
          "id": "a57a950f.248af8",
          "type": "debug",
          "z": "ca47e1d4.9f532",
          "name": "rgb[r,g,b]",
          "active": true,
          "tosidebar": true,
          "console": false,
          "tostatus": false,
          "complete": "payload",
          "x": 600,
          "y": 300,
          "wires": []
          },
          {
          "id": "7eb1492e.f3b3d8",
          "type": "debug",
          "z": "ca47e1d4.9f532",
          "name": "{"hue":0,"saturation":1,"brightness":1}",
          "active": true,
          "tosidebar": true,
          "console": false,
          "tostatus": false,
          "complete": "payload",
          "x": 550,
          "y": 140,
          "wires": []
          },
          {
          "id": "a4ad7796.ecdb8",
          "type": "debug",
          "z": "ca47e1d4.9f532",
          "name": "hsv[h,s,v]",
          "active": true,
          "tosidebar": true,
          "console": false,
          "tostatus": false,
          "complete": "payload",
          "x": 600,
          "y": 220,
          "wires": []
          }
          ]

          
           ![3999_bild_1.png](/assets/uploads/files/3999_bild_1.png) 
          
          Am Eingang bekommt das Teil ein Oblect````
          {"hue":0,"saturation":1,"brightness":1}
          

          Am Ausgang hast du ein Array````
          [r,g,b]

          Wenn das lieber ein Object sein soll, der Form:````
          {"rgb": [r,g,b]}
          ````ist eine minimale Änderung nötig.
          1 Reply Last reply Reply Quote 0
          • D
            dondon4002 last edited by

            Perfekt 😄 dann hab ich nur den Converter falsch benutzt 😄 😄 danach noch nen Change to msg.payload.rgb und Alexa schaltet das ganze 🙂 Danke dir

            1 Reply Last reply Reply Quote 0
            • R
              rewenode last edited by

              @dondon4002:

              … Change to msg.payload.rgb `

              Exakt so 😄 falls nötig

              1 Reply Last reply Reply Quote 0
              • D
                dondon4002 last edited by

                Für alle die dann noch Bedarf daran haben 🙂

                Ich mache es am Ende doch per Blockly denn es kommen ja noch Abfragen wie TurnOnRequest, TunOffRequest und was Alexa noch alles so bietet.

                ! ````
                [
                {
                "id": "6a18e5be.c9abdc",
                "type": "Blockly",
                "z": "9433ac39.c5756",
                "language": "en",
                "func": "if ((msg['command']) == 'SetColorRequest') {\n msg['payload'] = [(msg['payload']['hue']), (msg['payload']['saturation']) * 100, (msg['payload']['brightness']) * 100];\n return [msg, null];\n} else if ((msg['command']) == 'TurnOffRequest') {\n msg['payload'] = false;\n return [null, msg];\n} else if ((msg['command']) == 'TurnOnRequest') {\n msg['payload'] = true;\n return [null, msg];\n}\n",
                "workspaceXml": "<xml xmlns="&quot;http://www.w3.org/1999/xhtml&quot;"><block id="&quot;OegDmw1SSX]D=Pa(8G75&quot;" type="&quot;controls_if&quot;" x="&quot;-2037&quot;" y="&quot;-387&quot;"><mutation elseif="&quot;2&quot;"></mutation><value name="&quot;IF0&quot;"><block id="&quot;GconiS<value name="&quot;IF0&quot;"ihVrBvHEiKZu&quot;" type="&quot;logic_compare&quot;"><field name="&quot;OP&quot;">EQ</field><value name="&quot;A&quot;"><block id="&quot;qfEv5p}Q.6(4bAAhVY)t&quot;" type="&quot;node_object_get&quot;"><mutation action="&quot;GET&quot;"></mutation><field name="&quot;action&quot;">GET</field><value name="&quot;object&quot;"><shadow id="&quot;8Rf40:s+-(Iix/~rpXuB&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;3K$0p{%[oP^XO:,{IhsI&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">command</field></shadow></value></block></value><value name="&quot;B&quot;"><block id="&quot;Gu~Z4BXhmh4D%LOE{4s-&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">SetColorRequest</field></block></value></block></value><statement name="&quot;DO0&quot;"><block id="&quot;Wz6Dr1k2)tZbJ[+?V+j{&quot;" type="&quot;node_object_set&quot;"><value name="&quot;object_field&quot;"><shadow id="&quot;N7nV^CQPdk8cxV}?9mWX&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;cZ6WgGkQ{3ya8z~VBE3\&quot;" type="\&quot;text\&quot;"><field name="\&quot;TEXT\&quot;">payload</field></shadow></value><value name="\&quot;value_field\&quot;"><shadow id="\&quot;sk?O05P5ma_5vqc{!#)&quot;" type="&quot;text&quot;"></shadow><block id="&quot;Md|@A(]N!kq$=b3)[SH!&quot;" type="&quot;lists_create_with&quot;"><mutation items="&quot;3&quot;"></mutation><value name="&quot;ADD0&quot;"><block id="&quot;tu7-Qe3u+zsXsItw[,yY&quot;" type="&quot;node_object_get&quot;"><mutation action="&quot;GET&quot;"></mutation><field name="&quot;action&quot;">GET</field><value name="&quot;object&quot;"><shadow id="&quot;4WDpncvt3q4gpN@S@MfM&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;@d+[0zA[c(D{jmlYd^%O&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">payload.hue</field></shadow></value></block></value><value name="&quot;ADD1&quot;"><block id="&quot;!Q#d8F/fCDqPNsm,6Z+&quot;" type="&quot;math_arithmetic&quot;"><field name="&quot;OP&quot;">MULTIPLY</field><value name="&quot;A&quot;"><shadow id="&quot;bNOGt$4!S%VQ?:vfS1V.&quot;" type="&quot;math_number&quot;"><field name="&quot;NUM&quot;">1</field></shadow><block id="&quot;cl:38kKKmak%V3E!m2}T&quot;" type="&quot;node_object_get&quot;"><mutation action="&quot;GET&quot;"></mutation><field name="&quot;action&quot;">GET</field><value name="&quot;object&quot;"><shadow id="&quot;8+vu8BKKc)fZo;rSk0[D&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;FzE=$C.cumV)e3g*!;0\&quot;" type="\&quot;text\&quot;"><field name="\&quot;TEXT\&quot;">payload.saturation</field></shadow></value></block></value><value name="\&quot;B\&quot;"><shadow id="\&quot;p$RJ=}@6=xX[Ekbiqfn^\&quot;" type="\&quot;math_number\&quot;"><field name="\&quot;NUM\&quot;">100</field></shadow></value></block></value><value name="\&quot;ADD2\&quot;"><block id="\&quot;K[@!p?t]Y]0YY,I]]Y=3\&quot;" type="\&quot;math_arithmetic\&quot;"><field name="\&quot;OP\&quot;">MULTIPLY</field><value name="\&quot;A\&quot;"><shadow id="\&quot;12luhGJPp}BppnOnCd]t\&quot;" type="\&quot;math_number\&quot;"><field name="\&quot;NUM\&quot;">1</field></shadow><block id="\&quot;hu/B]c6@]lE@cn^qMa!I\&quot;" type="\&quot;node_object_get\&quot;"><mutation action="\&quot;GET\&quot;"></mutation><field name="\&quot;action\&quot;">GET</field><value name="\&quot;object\&quot;"><shadow id="\&quot;$2{@U|#45m9O#sYMG_HL\&quot;" type="\&quot;node_msg\&quot;"></shadow></value><value name="\&quot;field_name\&quot;"><shadow id="\&quot;9q^k;%a@6pz!wwSL[S\&quot;" type="\&quot;text\&quot;"><field name="\&quot;TEXT\&quot;">payload.brightness</field></shadow></value></block></value><value name="\&quot;B\&quot;"><shadow id="\&quot;H7P5:v+4jC%4eNSZg1b3\&quot;" type="\&quot;math_number\&quot;"><field name="\&quot;NUM\&quot;">100</field></shadow></value></block></value></block></value><next><block id="\&quot;dj6-iR8:4O-+v*!D~,M-\&quot;" type="\&quot;node_return_message\&quot;"><field name="\&quot;OUTPUT_NR\&quot;">1</field><value name="\&quot;MESSAGE_INPUT\&quot;"><shadow id="\&quot;!e8R2#N8Jdu(EAVQ{|&quot;" type="&quot;node_msg&quot;"></shadow></value></block></next></block></statement><value name="&quot;IF1&quot;"><block id="&quot;Gt#y.gqIL,qm)]{hhHC&quot;" type="&quot;logic_compare&quot;"><field name="&quot;OP&quot;">EQ</field><value name="&quot;A&quot;"><block id="&quot;N6$q19G#S0_xYH%PxSEI&quot;" type="&quot;node_object_get&quot;"><mutation action="&quot;GET&quot;"></mutation><field name="&quot;action&quot;">GET</field><value name="&quot;object&quot;"><shadow id="&quot;x(P(iAF[acHUJa%K1WW0&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;401Ct:?6f$=h/.@%JFf=&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">command</field></shadow></value></block></value><value name="&quot;B&quot;"><block id="&quot;E:%o.01_qWbolte})n[}&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">TurnOffRequest</field></block></value></block></value><statement name="&quot;DO1&quot;"><block id="&quot;6=mvJ%:D4qf|CDFfAg[z&quot;" type="&quot;node_object_set&quot;"><value name="&quot;object_field&quot;"><shadow id="&quot;ABbAcS^Mj_]u:G0bmbxl&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;to=(u!-hoz(ZB|X@F7;&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">payload</field></shadow></value><value name="&quot;value_field&quot;"><shadow id="&quot;6?#earD4R8~?M5_1Y1va&quot;" type="&quot;text&quot;"></shadow><block id="&quot;gSN[vp0Vp@iiKOCKXZxO&quot;" type="&quot;logic_boolean&quot;"><field name="&quot;BOOL&quot;">FALSE</field></block></value><next><block id="&quot;8Lt@[lrf:,v#bz#My!,~&quot;" type="&quot;node_return_message&quot;"><field name="&quot;OUTPUT_NR&quot;">2</field><value name="&quot;MESSAGE_INPUT&quot;"><shadow id="&quot;ac^):!N/SuXK+m#l6G{e&quot;" type="&quot;node_msg&quot;"></shadow></value></block></next></block></statement><value name="&quot;IF2&quot;"><block id="&quot;:%iB^77hKA%5#Y]m3(KI&quot;" type="&quot;logic_compare&quot;"><field name="&quot;OP&quot;">EQ</field><value name="&quot;A&quot;"><block id="&quot;bZZ%2UXkY4qB_Fmae68&quot;" type="&quot;node_object_get&quot;"><mutation action="&quot;GET&quot;"></mutation><field name="&quot;action&quot;">GET</field><value name="&quot;object&quot;"><shadow id="&quot;O;dMHWtpMY{zN1](^WQa&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;C0O}w0bo=c,,_#.[I9Gf&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">command</field></shadow></value></block></value><value name="&quot;B&quot;"><block id="&quot;e5e|,AqRBMdDQ|~s?uv9&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">TurnOnRequest</field></block></value></block></value><statement name="&quot;DO2&quot;"><block id="&quot;|DY5/yaj[#aVyjA:qNS&quot;" type="&quot;node_object_set&quot;"><value name="&quot;object_field&quot;"><shadow id="&quot;ee@E0k_unaE#!Ss=xdAB&quot;" type="&quot;node_msg&quot;"></shadow></value><value name="&quot;field_name&quot;"><shadow id="&quot;h]@6ikfpmr#ni-9FWDmN&quot;" type="&quot;text&quot;"><field name="&quot;TEXT&quot;">payload</field></shadow></value><value name="&quot;value_field&quot;"><shadow id="&quot;6?#earD4R8~?M5_1Y1va&quot;" type="&quot;text&quot;"></shadow><block id="&quot;c3@@`D0S$O}J_N]-B5lf&quot;" type="&quot;logic_boolean&quot;"><field name="&quot;BOOL&quot;">TRUE</field></block></value><next><block id="&quot;%R}_.z4(NfAy?#=Gv44&quot;" type="&quot;node_return_message&quot;"><field name="&quot;OUTPUT_NR&quot;">2</field><value name="&quot;MESSAGE_INPUT&quot;"><shadow id="&quot;}z$f11Tsy#/HuS(JG_Z&quot;" type="&quot;node_msg&quot;"></shadow></value></block></next></block></statement></block></xml>",
                "outputs": 2,
                "name": "",
                "x": 390,
                "y": 1320,
                "wires": [
                [
                "aeec5dac.065a9"
                ],
                [
                "7bd5f7d8.5e0f58"
                ]
                ]
                },
                {
                "id": "7bd5f7d8.5e0f58",
                "type": "hue-light",
                "z": "9433ac39.c5756",
                "name": "Lampe_Buero_LedStrip",
                "bridge": "d5d520c8.c3118",
                "lightid": "9",
                "colornamer": true,
                "x": 960,
                "y": 1330,
                "wires": [
                []
                ]
                },
                {
                "id": "8259bb25.207dc8",
                "type": "alexa-home",
                "z": "9433ac39.c5756",
                "conf": "b91f3657.228818",
                "device": "43026",
                "acknoledge": true,
                "name": "Test",
                "topic": "",
                "x": 240,
                "y": 1320,
                "wires": [
                [
                "6a18e5be.c9abdc"
                ]
                ]
                },
                {
                "id": "aeec5dac.065a9",
                "type": "color-convert",
                "z": "9433ac39.c5756",
                "input": "hsv",
                "output": "rgb",
                "outputType": "array",
                "x": 570,
                "y": 1290,
                "wires": [
                [
                "84d8358e.688908"
                ]
                ]
                },
                {
                "id": "84d8358e.688908",
                "type": "change",
                "z": "9433ac39.c5756",
                "name": "-> Converter ->",
                "rules": [
                {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "payload.rgb",
                "tot": "msg"
                }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 740,
                "y": 1290,
                "wires": [
                [
                "7bd5f7d8.5e0f58"
                ]
                ]
                },
                {
                "id": "d5d520c8.c3118",
                "type": "hue-bridge",
                "z": "",
                "name": "Philips hue",
                "bridge": "1.2.3.103",
                "key": "*****",
                "interval": "1000"
                },
                {
                "id": "b91f3657.228818",
                "type": "alexa-home-conf",
                "z": "",
                "username": "
                "
                }
                ]

                
                

                if ((msg['command']) == 'SetColorRequest') {
                msg['payload'] = [(msg['payload']['hue']), (msg['payload']['saturation']) * 100, (msg['payload']['brightness']) * 100];
                return [msg, null];
                } else if ((msg['command']) == 'TurnOffRequest') {
                msg['payload'] = false;
                return [null, msg];
                } else if ((msg['command']) == 'TurnOnRequest') {
                msg['payload'] = true;
                return [null, msg];
                }

                1 Reply Last reply Reply Quote 0
                • R
                  rewenode last edited by

                  Nur zu, im Prinzip weist du ja jetzt wie es geht 😉

                  1 Reply Last reply Reply Quote 0
                  • B
                    Blackeye last edited by

                    Hi,

                    ich habe ein Problem mit der Range des Dimmers. Der Dimmer möchte 0-100 und Alexa 0-1.

                    Hier ist mein "Flow" der HomeKit Dimmer kommt da anschl. auch noch dran….

                    [{"id":"40e9814d.216b7","type":"change","z":"e742a326.057cb","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"off","fromt":"str","to":"0","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"on","fromt":"str","to":"100","tot":"num"},{"t":"set","p":"payload","pt":"msg","to":"bri","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":507.4999694824219,"y":218.33334922790527,"wires":[["286a0677.93840a"]]}]
                    
                    1 Reply Last reply Reply Quote 0
                    • R
                      rewenode last edited by

                      @Blackeye:

                      ich habe ein Problem mit der Range des Dimmers. Der Dimmer möchte 0-100 und Alexa 0-1. `

                      Was heisst Alexa 0-1 ? Alexa liefert dir einen Wert von 0-1 und der soll nach 0-100 umgesetzt werden?

                      1 Reply Last reply Reply Quote 0
                      • B
                        Blackeye last edited by

                        Hi,

                        genau so…..

                        1 Reply Last reply Reply Quote 0
                        • R
                          rewenode last edited by

                          @Blackeye:

                          Hi,

                          genau so….. `

                          Na wie wäre es, wenn du den von Alexa kommenden Wert 0-1 einfach mit 100 multiplizierst ?

                          1 Reply Last reply Reply Quote 0
                          • B
                            Blackeye last edited by

                            Hi,

                            ja auf die Idee bin ich auch gekommen, finde nur nirgendwo wie ich das mache.

                            Gruß

                            Lars

                            1 Reply Last reply Reply Quote 0
                            • R
                              rewenode last edited by

                              Sollte so gehen:

                              3999_bri.png

                              1 Reply Last reply Reply Quote 0
                              • F
                                Frank_y last edited by

                                Range-node (Standard)

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rewenode last edited by

                                  @Frank_y:

                                  Range-node (Standard) `

                                  Klar geht das. Der Sinn will sich mir aber nicht erschließen, wo er den change doch schon drin hat;-)

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  865
                                  Online

                                  31.8k
                                  Users

                                  79.9k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  39
                                  7369
                                  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