NEWS
Node-Red mit Alexa - Dimmer
-
Perfekt
dann hab ich nur den Converter falsch benutzt
danach noch nen Change to msg.payload.rgb und Alexa schaltet das ganze
Danke dir
-
-
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=""http://www.w3.org/1999/xhtml""><block id=""OegDmw1SSX]D=Pa(8G75"" type=""controls_if"" x=""-2037"" y=""-387""><mutation elseif=""2""></mutation><value name=""IF0""><block id=""GconiS<value name=""IF0""ihVrBvHEiKZu"" type=""logic_compare""><field name=""OP"">EQ</field><value name=""A""><block id=""qfEv5p}Q.6(4bAAhVY)t"" type=""node_object_get""><mutation action=""GET""></mutation><field name=""action"">GET</field><value name=""object""><shadow id=""8Rf40:s+-(Iix/~rpXuB"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""3K$0p{%[oP^XO:,{IhsI"" type=""text""><field name=""TEXT"">command</field></shadow></value></block></value><value name=""B""><block id=""Gu~Z4BXhmh4D%LOE{4s-"" type=""text""><field name=""TEXT"">SetColorRequest</field></block></value></block></value><statement name=""DO0""><block id=""Wz6Dr1k2)tZbJ[+?V+j{"" type=""node_object_set""><value name=""object_field""><shadow id=""N7nV^CQPdk8cxV}?9mWX"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""cZ6WgGkQ{3ya8z~VBE3\"" type="\"text\""><field name="\"TEXT\"">payload</field></shadow></value><value name="\"value_field\""><shadow id="\"sk?O05P5ma_5
vqc{!#)"" type=""text""></shadow><block id=""Md|@A(]N!kq$=b3)[SH!"" type=""lists_create_with""><mutation items=""3""></mutation><value name=""ADD0""><block id=""tu7-Qe3u+zsXsItw[,yY"" type=""node_object_get""><mutation action=""GET""></mutation><field name=""action"">GET</field><value name=""object""><shadow id=""4WDpncvt3q4gpN@S@MfM"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""@d+[0zA[c(D{jmlYd^%O"" type=""text""><field name=""TEXT"">payload.hue</field></shadow></value></block></value><value name=""ADD1""><block id=""!Q#d8F/fCDqPNsm,6Z+"" type=""math_arithmetic""><field name=""OP"">MULTIPLY</field><value name=""A""><shadow id=""bNOGt$4!S%VQ?:vfS1V."" type=""math_number""><field name=""NUM"">1</field></shadow><block id=""cl:38kKKmak%V3E!m2}T"" type=""node_object_get""><mutation action=""GET""></mutation><field name=""action"">GET</field><value name=""object""><shadow id=""8+vu8BKKc)fZo;rSk0[D"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""FzE=$C.cumV)e3g*!;0\"" type="\"text\""><field name="\"TEXT\"">payload.saturation</field></shadow></value></block></value><value name="\"B\""><shadow id="\"p$RJ=}@6=xX[Ekbiqfn^\"" type="\"math_number\""><field name="\"NUM\"">100</field></shadow></value></block></value><value name="\"ADD2\""><block id="\"K[@!p?t]Y]0YY,I]]Y=3\"" type="\"math_arithmetic\""><field name="\"OP\"">MULTIPLY</field><value name="\"A\""><shadow id="\"12luhGJPp}BppnOnCd]t\"" type="\"math_number\""><field name="\"NUM\"">1</field></shadow><block id="\"hu/B]c6@]lE@cn^qMa!I\"" type="\"node_object_get\""><mutation action="\"GET\""></mutation><field name="\"action\"">GET</field><value name="\"object\""><shadow id="\"$2{@U|#45m9O#sYMG_HL\"" type="\"node_msg\""></shadow></value><value name="\"field_name\""><shadow id="\"9q^k
;%a@6pz!wwSL[S\"" type="\"text\""><field name="\"TEXT\"">payload.brightness</field></shadow></value></block></value><value name="\"B\""><shadow id="\"H7P5:v+4jC%4eNSZg1b3\"" type="\"math_number\""><field name="\"NUM\"">100</field></shadow></value></block></value></block></value><next><block id="\"dj6-iR8:4O-+v*!D~,M-\"" type="\"node_return_message\""><field name="\"OUTPUT_NR\"">1</field><value name="\"MESSAGE_INPUT\""><shadow id="\"!e8R2#N8Jdu
(EAVQ{|"" type=""node_msg""></shadow></value></block></next></block></statement><value name=""IF1""><block id=""Gt#y.gqIL,qm)]{hhHC"" type=""logic_compare""><field name=""OP"">EQ</field><value name=""A""><block id=""N6$q19G#S0_xYH%PxSEI"" type=""node_object_get""><mutation action=""GET""></mutation><field name=""action"">GET</field><value name=""object""><shadow id=""x(P(iAF[acHUJa%K1WW0"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""401Ct:?6f$=h/.@%JFf="" type=""text""><field name=""TEXT"">command</field></shadow></value></block></value><value name=""B""><block id=""E:%o.01_qWbolte})n[}"" type=""text""><field name=""TEXT"">TurnOffRequest</field></block></value></block></value><statement name=""DO1""><block id=""6=mvJ%:D4qf|CDFfAg[z"" type=""node_object_set""><value name=""object_field""><shadow id=""ABbAcS^Mj_]u:G0bmbxl"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""to=(u!-hoz(ZB|X@F7;"" type=""text""><field name=""TEXT"">payload</field></shadow></value><value name=""value_field""><shadow id=""6?#earD4R8~?M5_1Y1va"" type=""text""></shadow><block id=""gSN[vp0Vp@iiKOCKXZxO"" type=""logic_boolean""><field name=""BOOL"">FALSE</field></block></value><next><block id=""8Lt@[lrf:,v#bz#My!,~"" type=""node_return_message""><field name=""OUTPUT_NR"">2</field><value name=""MESSAGE_INPUT""><shadow id=""ac^):!N/SuXK+m#l6G{e"" type=""node_msg""></shadow></value></block></next></block></statement><value name=""IF2""><block id="":%iB^77hKA%5#Y]m3(KI"" type=""logic_compare""><field name=""OP"">EQ</field><value name=""A""><block id=""bZZ%2UXkY4qB_Fmae68"" type=""node_object_get""><mutation action=""GET""></mutation><field name=""action"">GET</field><value name=""object""><shadow id=""O;dMHWtpMY{zN1](^WQa"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""C0O}w0bo=c,,_#.[I9Gf"" type=""text""><field name=""TEXT"">command</field></shadow></value></block></value><value name=""B""><block id=""e5e|,AqRBMdDQ|~s?uv9"" type=""text""><field name=""TEXT"">TurnOnRequest</field></block></value></block></value><statement name=""DO2""><block id=""|DY5/yaj[#aVyjA:qNS"" type=""node_object_set""><value name=""object_field""><shadow id=""ee@E0k_unaE#!Ss=xdAB"" type=""node_msg""></shadow></value><value name=""field_name""><shadow id=""h]@6ikfpmr#ni-9FWDmN"" type=""text""><field name=""TEXT"">payload</field></shadow></value><value name=""value_field""><shadow id=""6?#earD4R8~?M5_1Y1va"" type=""text""></shadow><block id=""c3@@`D0S$O}J_N]-B5lf"" type=""logic_boolean""><field name=""BOOL"">TRUE</field></block></value><next><block id=""%R}_.z4(NfAy?#=Gv44"" type=""node_return_message""><field name=""OUTPUT_NR"">2</field><value name=""MESSAGE_INPUT""><shadow id=""}z$f11Tsy#/HuS(JG_Z"" type=""node_msg""></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];
} -
Nur zu, im Prinzip weist du ja jetzt wie es geht
-
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"]]}]
-
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?
-
Hi,
genau so…..
-
Hi,
genau so….. `
Na wie wäre es, wenn du den von Alexa kommenden Wert 0-1 einfach mit 100 multiplizierst ?
-
Hi,
ja auf die Idee bin ich auch gekommen, finde nur nirgendwo wie ich das mache.
Gruß
Lars
-
Sollte so gehen:
-
Range-node (Standard)
-
Range-node (Standard) `
Klar geht das. Der Sinn will sich mir aber nicht erschließen, wo er den change doch schon drin hat;-)