Skip to content

Instantly share code, notes, and snippets.

@DIYtechie
Last active October 5, 2020 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DIYtechie/1949af43de3db8133b039dac706372bd to your computer and use it in GitHub Desktop.
Save DIYtechie/1949af43de3db8133b039dac706372bd to your computer and use it in GitHub Desktop.
Hue/Trådfri deCONZ dimmer (subflow)

Subflow to be used with node-red-contrib-deconz

Subflow Trådfri deconz dimmer

Example flow (the subflow needs two inputs and one output as shown) Single button deCONZ

The deCONZ TRÅDFRI on/off switch input node should be configured as follows: Single button deCONZ

The deCONZ light input node should be configured as follows (this is the default): Single button deCONZ

The deCONZ light output node should be configured as follows (same light entity as input): Single button deCONZ

The subflow is preconfigured for use with the IKEA Trådfri on/off (dimmer) switch. If you are using a Hue dimmer switch instead, the subflow should be configured as follows: Single button deCONZ

For best performance, use the same brand of bulbs in the same room.


Copy the subflow below to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option

[
{
"id": "384850fa.534dc",
"type": "subflow",
"name": "Hue/TRÅDFRI deCONZ dimmer",
"info": "",
"category": "",
"in": [
{
"x": 90,
"y": 140,
"wires": [
{
"id": "4c575ae3.fcb5e4"
}
]
}
],
"out": [
{
"x": 880,
"y": 180,
"wires": [
{
"id": "fdd31551.94abb8",
"port": 0
},
{
"id": "70340ea1.f6e8f",
"port": 0
},
{
"id": "c3f9e831.664d28",
"port": 0
},
{
"id": "26e1c3e3.493d8c",
"port": 0
},
{
"id": "64598704.d68ab8",
"port": 0
},
{
"id": "cc20f5d4.ec2078",
"port": 0
}
]
}
],
"env": [
{
"name": "On",
"type": "str",
"value": "1002"
},
{
"name": "Off",
"type": "str",
"value": "2002"
},
{
"name": "Increase",
"type": "str",
"value": "1001"
},
{
"name": "StopIncreasing",
"type": "str",
"value": "1003"
},
{
"name": "Decrease",
"type": "str",
"value": "2001"
},
{
"name": "StopDecreasing",
"type": "str",
"value": "2003"
},
{
"name": "TransitionTime",
"type": "num",
"value": "30",
"ui": {
"label": {
"en-US": "Transition time (10-100)"
},
"type": "input",
"opts": {
"types": [
"num"
]
}
}
},
{
"name": "On state",
"type": "str",
"value": "Resume",
"ui": {
"type": "select",
"opts": {
"opts": [
{
"l": {
"en-US": "Resume"
},
"v": "Resume"
},
{
"l": {
"en-US": "Full brightness"
},
"v": "Full brightness"
}
]
}
}
}
],
"color": "#E6E0F8",
"icon": "node-red/light.svg",
"status": {
"x": 880,
"y": 370,
"wires": [
{
"id": "ceeb50b5.1b93f",
"port": 0
}
]
}
},
{
"id": "88efce3b.9b11",
"type": "comment",
"z": "384850fa.534dc",
"name": "instructions + link to latest version of this subflow",
"info": "Latest version of this subflow can be found at\nhttps://flows.nodered.org/flow/1949af43de3db8133b039dac706372bd\n\nto the input add:\n1) button sending different pressed/released commands\n2) deCONZ in node with the light you want to dim and choose \"complete state payload\" + send state on start\n\nto the output add:\n1) \"deCONZ out\" node with the light you want to dim and choose command \"object json\". Leave transition time empty.",
"x": 340,
"y": 40,
"wires": []
},
{
"id": "b51c0caa.bc903",
"type": "change",
"z": "384850fa.534dc",
"name": "save snapshot",
"rules": [
{
"t": "set",
"p": "LightTurnedOn",
"pt": "flow",
"to": "payload.on",
"tot": "msg"
},
{
"t": "set",
"p": "oldBrightness",
"pt": "flow",
"to": "payload.bri",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 560,
"y": 370,
"wires": [
[
"ceeb50b5.1b93f"
]
]
},
{
"id": "4c575ae3.fcb5e4",
"type": "switch",
"z": "384850fa.534dc",
"name": "Input filter",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "On",
"vt": "env"
},
{
"t": "eq",
"v": "Off",
"vt": "env"
},
{
"t": "eq",
"v": "Decrease",
"vt": "env"
},
{
"t": "eq",
"v": "StopDecreasing",
"vt": "env"
},
{
"t": "eq",
"v": "StopIncreasing",
"vt": "env"
},
{
"t": "eq",
"v": "Increase",
"vt": "env"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 7,
"x": 130,
"y": 230,
"wires": [
[
"6fb3dc3c.0b7494"
],
[
"fdd31551.94abb8"
],
[
"26e1c3e3.493d8c"
],
[
"f74a70bc.42f5e"
],
[
"f74a70bc.42f5e"
],
[
"d99f3b08.8335b8"
],
[
"6a9b3f24.05d0b"
]
]
},
{
"id": "fdd31551.94abb8",
"type": "change",
"z": "384850fa.534dc",
"name": "Off",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "{\"on\":false}",
"tot": "json"
},
{
"t": "set",
"p": "oldPowerstate",
"pt": "flow",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 330,
"y": 160,
"wires": [
[]
]
},
{
"id": "70340ea1.f6e8f",
"type": "change",
"z": "384850fa.534dc",
"name": "Resume",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "{\"on\":true}",
"tot": "json"
},
{
"t": "set",
"p": "LightTurnedOn",
"pt": "flow",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 660,
"y": 140,
"wires": [
[]
]
},
{
"id": "6a9b3f24.05d0b",
"type": "switch",
"z": "384850fa.534dc",
"name": "check payload",
"property": "payload.bri",
"propertyType": "msg",
"rules": [
{
"t": "istype",
"v": "number",
"vt": "number"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 360,
"y": 370,
"wires": [
[
"b51c0caa.bc903"
]
]
},
{
"id": "c3f9e831.664d28",
"type": "change",
"z": "384850fa.534dc",
"name": "Full brightness",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "{\"on\":true, \"bri\":255}",
"tot": "json"
},
{
"t": "set",
"p": "LightTurnedOn",
"pt": "flow",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 100,
"wires": [
[]
]
},
{
"id": "6fb3dc3c.0b7494",
"type": "switch",
"z": "384850fa.534dc",
"name": "Resume or full brightness?",
"property": "On state",
"propertyType": "env",
"rules": [
{
"t": "eq",
"v": "Full brightness",
"vt": "str"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 400,
"y": 120,
"wires": [
[
"c3f9e831.664d28"
],
[
"70340ea1.f6e8f"
]
]
},
{
"id": "64598704.d68ab8",
"type": "function",
"z": "384850fa.534dc",
"name": "start increasing brightness",
"func": "if (flow.get(\"allow\") !== false)\n{\nflow.set(\"allow\", false);\nvar oldBrightness = flow.get(\"oldBrightness\")||1;\nvar TransitionTime = env.get(\"TransitionTime\")||40;\nvar CalculatedTime = Math.round((TransitionTime/255*(255-oldBrightness)))\nif (CalculatedTime < 10) {CalculatedTime = 10;}\nmsg.payload = { on:true, bri: 255, transitiontime: CalculatedTime}\nreturn msg;\n}",
"outputs": 1,
"noerr": 0,
"x": 700,
"y": 280,
"wires": [
[]
]
},
{
"id": "26e1c3e3.493d8c",
"type": "function",
"z": "384850fa.534dc",
"name": "start decreasing brightness",
"func": "if (flow.get(\"allow\") !== false)\n{\nflow.set(\"allow\", false);\nvar oldBrightness = flow.get(\"oldBrightness\")||1;\nvar TransitionTime = env.get(\"TransitionTime\")||40;\nvar CalculatedTime = Math.round((TransitionTime/255*oldBrightness))\nif (CalculatedTime < 10) {CalculatedTime = 10;}\nmsg.payload = { on:true, bri: 0, transitiontime: CalculatedTime}\nreturn msg;\n}",
"outputs": 1,
"noerr": 0,
"x": 400,
"y": 200,
"wires": [
[]
]
},
{
"id": "f74a70bc.42f5e",
"type": "template",
"z": "384850fa.534dc",
"name": "Stop increasing/decreasing brightness",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\"bri_inc\":0}",
"output": "json",
"x": 430,
"y": 240,
"wires": [
[
"cc20f5d4.ec2078"
]
]
},
{
"id": "66caff59.dfe67",
"type": "change",
"z": "384850fa.534dc",
"name": "Start from brightness = 0",
"rules": [
{
"t": "set",
"p": "oldBrightness",
"pt": "flow",
"to": "0",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 390,
"y": 330,
"wires": [
[
"64598704.d68ab8"
]
]
},
{
"id": "d99f3b08.8335b8",
"type": "switch",
"z": "384850fa.534dc",
"name": "LightTurnedOn?",
"property": "LightTurnedOn",
"propertyType": "flow",
"rules": [
{
"t": "true"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 360,
"y": 280,
"wires": [
[
"64598704.d68ab8"
],
[
"66caff59.dfe67"
]
]
},
{
"id": "ceeb50b5.1b93f",
"type": "function",
"z": "384850fa.534dc",
"name": "share status",
"func": "msg.payload = { on:flow.get(\"LightTurnedOn\"), bri: flow.get(\"oldBrightness\")}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 750,
"y": 370,
"wires": [
[]
]
},
{
"id": "cc20f5d4.ec2078",
"type": "change",
"z": "384850fa.534dc",
"name": "allow increase/decrease",
"rules": [
{
"t": "set",
"p": "allow",
"pt": "flow",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 710,
"y": 240,
"wires": [
[]
]
}
]
@bramhendriks
Copy link

bramhendriks commented May 22, 2020

Hi DIYTechie, first of all, cool flow! Really works like a charm. Love how you integrated the different options for full brightness/old state. I've integrated it with an Friends of Hue smart switch (basically a hue tap in a different package).

I tried to integrate it with the IKEA 5 button remote, bit i ran into a snag. The 5 button remote uses the single center button as the on/off switch. But a single press results in the output button output of "1002" every time. This means that it needs a toggle action to switch the lights. Unfortunately this is not possible with the current setup of your sub flow.

Would it be an option to add a toggle option in the sub flow properties tab? Setting this toggle option to Yes will set the sub flow to toggle the light with a single button output of 1002. `

Hope this is somehow of interest to you. I could help you test the flow, i have a IKEA 5 button remote.

@DIYtechie
Copy link
Author

Thank you :) Should be easy to add an extra option for that. And I guess some people would also like to use a single button for dim up and down instead of two. I'll consider if it makes sense to incorporate into this flow or if I should make a new one for that. When I have the time :)

@DIYtechie
Copy link
Author

In the meantime, you can easily add this functionality yourself by using a switch node and combine the above flow with my single button deconz dimmer, or edit the subflow template by merging the two flows :)

@bramhendriks
Copy link

Been trying to add the funtionality to your current flow. But i can't get it to work. This is what i have so far, Maby im close...
[{"id":"da969b17.584dd8","type":"subflow","name":"Hue/TRÅDFRI deCONZ dimmer","info":"","category":"","in":[{"x":50,"y":30,"wires":[{"id":"ca8e8a58.8bed48"}]}],"out":[{"x":1440,"y":180,"wires":[{"id":"36dbb82.bd0b348","port":0},{"id":"27f5192.7319fe6","port":0},{"id":"a6236fb3.e669a","port":0},{"id":"a54b08d1.d23788","port":0},{"id":"eafda994.7f4468","port":0},{"id":"e8b761de.d504d","port":0},{"id":"a596fbad.febc88","port":0},{"id":"f82d5da4.52509","port":0}]}],"env":[{"name":"On","type":"str","value":"1002"},{"name":"Off","type":"str","value":"2002"},{"name":"on/off","type":"str","value":"1002"},{"name":"Increase","type":"str","value":"1001"},{"name":"StopIncreasing","type":"str","value":"1003"},{"name":"Decrease","type":"str","value":"2001"},{"name":"StopDecreasing","type":"str","value":"2003"},{"name":"Step","type":"num","value":"20","ui":{"label":{"en-US":"Step (1-255)"},"type":"input","opts":{"types":["num"]}}},{"name":"On state","type":"str","value":"Resume","ui":{"type":"select","opts":{"opts":[{"l":{"en-US":"Resume"},"v":"Resume"},{"l":{"en-US":"Full brightness"},"v":"Full brightness"}]}}},{"name":"on-off-toggle","type":"str","value":"toggle","ui":{"type":"select","opts":{"opts":[{"l":{"en-US":"Toggle"},"v":"toggle"},{"l":{"en-US":"on/off"},"v":"on-off"}]}}}],"color":"#E6E0F8","icon":"node-red/light.svg","status":{"x":1440,"y":140,"wires":[{"id":"36dbb82.bd0b348","port":0},{"id":"27f5192.7319fe6","port":0},{"id":"a54b08d1.d23788","port":0},{"id":"a6236fb3.e669a","port":0},{"id":"eafda994.7f4468","port":0},{"id":"e8b761de.d504d","port":0},{"id":"a596fbad.febc88","port":0},{"id":"f82d5da4.52509","port":0}]}},{"id":"3baefac9.8769f6","type":"comment","z":"da969b17.584dd8","name":"instructions + link to latest version of this subflow","info":"Latest version of this subflow can be found at\nhttps://flows.nodered.org/flow/1949af43de3db8133b039dac706372bd\n\nto the input add:\n1) button sending different pressed/released commands\n2) deCONZ in node with the light you want to dim and choose \"complete state payload\" + send state on start\n\nto the output add:\n1) \"deCONZ out\" node with the light you want to dim and choose command \"object json\". In my testing transition time = 8 worked best (despite the fact that new brightnesslevel is resent every 500 ms)","x":360,"y":20,"wires":[]},{"id":"74c2cdc2.cff0e4","type":"change","z":"da969b17.584dd8","name":"save snapshot","rules":[{"t":"set","p":"oldPowerstate","pt":"flow","to":"payload.on","tot":"msg"},{"t":"set","p":"oldBrightness","pt":"flow","to":"payload.bri","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":520,"wires":[[]]},{"id":"24f234d8.1756ac","type":"switch","z":"da969b17.584dd8","name":"Sort inputs","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"On","vt":"env"},{"t":"eq","v":"Off","vt":"env"},{"t":"eq","v":"Decrease","vt":"env"},{"t":"eq","v":"StopDecreasing","vt":"env"},{"t":"eq","v":"StopIncreasing","vt":"env"},{"t":"eq","v":"Increase","vt":"env"},{"t":"else"}],"checkall":"true","repair":false,"outputs":7,"x":330,"y":400,"wires":[["9efee56f.4d7f28"],["36dbb82.bd0b348"],["c375670b.43f148"],["a25a5d2.23deba"],["a25a5d2.23deba"],["1436d62b.34428a"],["e3bdffc1.c7747"]]},{"id":"cd626b3a.d81208","type":"trigger","z":"da969b17.584dd8","op1":"Step","op2":"0","op1type":"env","op2type":"str","duration":"-500","extend":false,"units":"ms","reset":"","bytopic":"all","name":"","x":1100,"y":480,"wires":[["a54b08d1.d23788"]]},{"id":"2fd0bd8d.515c72","type":"trigger","z":"da969b17.584dd8","op1":"Step","op2":"0","op1type":"env","op2type":"str","duration":"-1000","extend":false,"units":"ms","reset":"","bytopic":"all","name":"","x":1100,"y":400,"wires":[["a6236fb3.e669a"]]},{"id":"a25a5d2.23deba","type":"change","z":"da969b17.584dd8","name":"stop increase/decrease","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":440,"wires":[["cd626b3a.d81208","2fd0bd8d.515c72"]]},{"id":"c9a843d8.f0eab","type":"change","z":"da969b17.584dd8","name":"","rules":[{"t":"set","p":"newBrightness","pt":"flow","to":"oldBrightness","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":480,"wires":[["cd626b3a.d81208"]]},{"id":"36dbb82.bd0b348","type":"change","z":"da969b17.584dd8","name":"payload = {\"on\":false}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":false}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":360,"wires":[[]]},{"id":"27f5192.7319fe6","type":"change","z":"da969b17.584dd8","name":"payload = {\"on\":true}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":true}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":320,"wires":[[]]},{"id":"1436d62b.34428a","type":"switch","z":"da969b17.584dd8","name":"oldPowerstate true/false?","property":"oldPowerstate","propertyType":"flow","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":730,"y":530,"wires":[["c9a843d8.f0eab"],["6bd3c0fb.c8c5"]]},{"id":"6bd3c0fb.c8c5","type":"change","z":"da969b17.584dd8","name":"newBrightness = 0","rules":[{"t":"set","p":"newBrightness","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":580,"wires":[["cd626b3a.d81208"]]},{"id":"a6236fb3.e669a","type":"function","z":"da969b17.584dd8","name":"decrease brightness","func":"var newBrightness = flow.get(\"newBrightness\") - env.get(\"Step\")||1;\nif (newBrightness < 2) { newBrightness = 2; }\nflow.set(\"newBrightness\", newBrightness);\nmsg.payload = { on:true, bri: newBrightness }\nreturn msg;","outputs":1,"noerr":0,"x":1120,"y":440,"wires":[[]]},{"id":"a54b08d1.d23788","type":"function","z":"da969b17.584dd8","name":"increase brightness","func":"var newBrightness = flow.get(\"newBrightness\") + env.get(\"Step\")||1;\nif (newBrightness > 252) { newBrightness = 255; }\nflow.set(\"newBrightness\", newBrightness);\nmsg.payload = { on:true, bri: newBrightness }\nreturn msg;","outputs":1,"noerr":0,"x":1110,"y":540,"wires":[[]]},{"id":"e3bdffc1.c7747","type":"switch","z":"da969b17.584dd8","name":"check payload","property":"payload.bri","propertyType":"msg","rules":[{"t":"istype","v":"number","vt":"number"}],"checkall":"true","repair":false,"outputs":1,"x":340,"y":480,"wires":[["74c2cdc2.cff0e4"]]},{"id":"c375670b.43f148","type":"change","z":"da969b17.584dd8","name":"","rules":[{"t":"set","p":"newBrightness","pt":"flow","to":"oldBrightness","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":400,"wires":[["2fd0bd8d.515c72"]]},{"id":"eafda994.7f4468","type":"change","z":"da969b17.584dd8","name":"{\"on\":true, \"bri\":255}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":true, \"bri\":255}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":280,"wires":[[]]},{"id":"9efee56f.4d7f28","type":"switch","z":"da969b17.584dd8","name":"Resume or full brightness?","property":"On state","propertyType":"env","rules":[{"t":"eq","v":"Full brightness","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":740,"y":300,"wires":[["eafda994.7f4468"],["27f5192.7319fe6"]]},{"id":"12627b98.820764","type":"change","z":"da969b17.584dd8","name":"save snapshot","rules":[{"t":"set","p":"oldPowerstate","pt":"flow","to":"payload.on","tot":"msg"},{"t":"set","p":"oldBrightness","pt":"flow","to":"payload.bri","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":320,"wires":[[]]},{"id":"9bf38a2b.7b0da8","type":"switch","z":"da969b17.584dd8","name":"toggle","property":"oldPowerstate","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":490,"y":140,"wires":[["e8b761de.d504d"],["7aa322ae.1e69cc"]]},{"id":"e8b761de.d504d","type":"change","z":"da969b17.584dd8","name":"{\"on\":false}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":false}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":140,"wires":[[]]},{"id":"a596fbad.febc88","type":"change","z":"da969b17.584dd8","name":"{\"on\":true, \"bri\":255}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":true, \"bri\":255}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":200,"wires":[[]]},{"id":"28f5a6cc.7f3e5a","type":"switch","z":"da969b17.584dd8","name":"check payload","property":"payload.bri","propertyType":"msg","rules":[{"t":"istype","v":"number","vt":"number"}],"checkall":"true","repair":false,"outputs":1,"x":340,"y":280,"wires":[["12627b98.820764"]]},{"id":"7aa322ae.1e69cc","type":"switch","z":"da969b17.584dd8","name":"Resume or full brightness?","property":"On state","propertyType":"env","rules":[{"t":"eq","v":"Full brightness","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":780,"y":180,"wires":[["a596fbad.febc88"],["f82d5da4.52509"]]},{"id":"f82d5da4.52509","type":"change","z":"da969b17.584dd8","name":"{\"on\":true}","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"on\":true}","tot":"json"},{"t":"set","p":"oldPowerstate","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1020,"y":240,"wires":[[]]},{"id":"2b3f153e.c4d79a","type":"switch","z":"da969b17.584dd8","name":"Sort inputs","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on/off","vt":"str"},{"t":"eq","v":"Decrease","vt":"env"},{"t":"eq","v":"StopDecreasing","vt":"env"},{"t":"eq","v":"StopIncreasing","vt":"env"},{"t":"eq","v":"Increase","vt":"env"},{"t":"else"}],"checkall":"true","repair":false,"outputs":6,"x":330,"y":180,"wires":[["9bf38a2b.7b0da8"],["c375670b.43f148"],["a25a5d2.23deba"],["a25a5d2.23deba"],["1436d62b.34428a"],["28f5a6cc.7f3e5a"]]},{"id":"ca8e8a58.8bed48","type":"switch","z":"da969b17.584dd8","name":"on-off-toggle","property":"on-off-toggle","propertyType":"env","rules":[{"t":"eq","v":"Toggle","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":120,"y":160,"wires":[["2b3f153e.c4d79a"],["24f234d8.1756ac"]]}]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment