Themed LED Lights Are Ready for Halloween!

I just finished my automation to update the LED color theme for whichever holiday we are on throughout the house. Holloween is a pretty simple one and looks pretty cool with Orange LED status lights on all the switches on the main floor!


(looks better in person)

Bonus picture for December just around the corner:

10 Likes

Willing to share code? Depending on platform it might help us to replicate!

1 Like

Will do! It is kind of a rats nest of code right now so let me get something written up on Sunday and I will post it.

I’m really hoping you have Hubitat. Because setting individual LED parameters for each switch is getting old. For the life of me, I can’t find the startNotification or setColor in Rule Machine option. I’ve been trying to think the best way to change this and unfortunately, Hubitat doesn’t seem to have a “Date” set option in Rule Machine. It’d be easier IF they did to support 01-31 OCT change Parameter 5/13 to Orange; IF-ELSE 01-31 DEC change params to Red/Green, else rest of the year or any other holidays change params to XYZ color.

How did you get the color gradient? Is that one of the special effects? I didn’t even realize it had such a thing until going back to look at the manual and noticing the tiny led strip effect line in the chart. It doesn’t appear to be exposed in Hubitat, which I have my dimmers connected to.

It may be his dimmers are set to half way?

Hey guys - sorry for the delay.

The automation to set the house colors were done with Home Assistant (Sorry @harjms!) and the Node-Red integration. @BGP, @harjms was right, the gradient is just the dimmers set partway up. The effect was done setting the LED colors (parameter 13) to a certain value.

I started with a Home Assistant input_select helper with house themes (I call my house Ranchview).

From there, I want to Node-Red and created a trigger state node that watches to see if that input_select helper changed. If it does, it calls a subflow that sets the corresponding colors on the switches.

That subflow I created works as follows. First, it gets a list of every zwave inovelli switch that I have and pulls out the node id (zwave node number). Then it loops through each of those switches, with a pause of 250 ms in between (so the zwave network is not flooded) and sets parameter 13 of the correct color. The call to set the color is a call service node, using the z-wave set_config_paramter call.

This process took a little tuning because the switches on the wallplates did not align exactly to the node ids, i.e. if I wanted to do every other color on a faceplate for Christmas, it would not be 2 = red, 3 = green, 4 = red, etc but instead, I needed logic that looked up the node id and associated that to what color it should be. That is what the bottom part of the code below does. Here is what the flow ended up looking like:

Let me know if you guys want me to post the full code, I can export some of these subflows for you and even though it won’t match your config perfectly, it may help. In either case, hopefully, the logic helps someone out.

Cheers!

6 Likes

This is awesome! I was hoping you could share your full code so I could import it and take a deeper look into it. I’ve been having some issues with setting the colors on mine and I think this would help a lot!

Sure! Here you go, friend! Happy to share. Import this subflow and hack around in it. This subflow also calls some of my other subflows and I am not sure if they get exported also with this but let me know and I can add the others.

[{"id":"243eaceb.c3da94","type":"subflow","name":"LED Human Colors","info":"Switches a human readable color to an Inovelli LED color.\n\nPass in payload.color with the human readable color.\n\nPasses back payload.color_number","category":"","in":[{"x":60,"y":60,"wires":[{"id":"a5ee2675.939828"}]}],"out":[{"x":900,"y":380,"wires":[{"id":"97589893.949e08","port":0},{"id":"4c1cb8f4.c35a98","port":0},{"id":"3f26fb2.6852504","port":0},{"id":"afa7bdf3.f83af","port":0},{"id":"55860835.7c6af8","port":0},{"id":"3be3c984.481f26","port":0},{"id":"b1d89248.360c7","port":0},{"id":"756946db.7d0838","port":0},{"id":"f6bf6264.26ea1","port":0},{"id":"209e7f47.6f95d","port":0}]}],"env":[{"name":"color","type":"str","value":""}],"color":"#DDAA99"},{"id":"a14380e2.5c471","type":"switch","z":"243eaceb.c3da94","name":"Notification Color","property":"payload.color","propertyType":"msg","rules":[{"t":"eq","v":"red","vt":"str"},{"t":"eq","v":"green","vt":"str"},{"t":"eq","v":"purple","vt":"str"},{"t":"eq","v":"blue","vt":"str"},{"t":"eq","v":"pink","vt":"str"},{"t":"eq","v":"yellow","vt":"str"},{"t":"eq","v":"aqua","vt":"str"},{"t":"eq","v":"white","vt":"str"},{"t":"eq","v":"orange","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":10,"x":390,"y":380,"wires":[["97589893.949e08"],["4c1cb8f4.c35a98"],["3f26fb2.6852504"],["afa7bdf3.f83af"],["55860835.7c6af8"],["3be3c984.481f26"],["b1d89248.360c7"],["756946db.7d0838"],["f6bf6264.26ea1"],["a9c8e07b.6ff36"]]},{"id":"97589893.949e08","type":"change","z":"243eaceb.c3da94","name":"Set Red","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":200,"wires":[[]]},{"id":"4c1cb8f4.c35a98","type":"change","z":"243eaceb.c3da94","name":"Set Green","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"81","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":240,"wires":[[]]},{"id":"3f26fb2.6852504","type":"change","z":"243eaceb.c3da94","name":"Set Purple","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"180","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":280,"wires":[[]]},{"id":"55860835.7c6af8","type":"change","z":"243eaceb.c3da94","name":"Set Pink","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"218","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":360,"wires":[[]]},{"id":"afa7bdf3.f83af","type":"change","z":"243eaceb.c3da94","name":"Set Blue","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"170","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":320,"wires":[[]]},{"id":"3be3c984.481f26","type":"change","z":"243eaceb.c3da94","name":"Set Yellow","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"45","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":400,"wires":[[]]},{"id":"a9c8e07b.6ff36","type":"function","z":"243eaceb.c3da94","name":"Throw Color Error","func":"throw(\"Invalid Set Inovelli Switch Color: \" + msg.payload.effect_type)\nreturn msg;","outputs":0,"noerr":0,"x":650,"y":600,"wires":[]},{"id":"b1d89248.360c7","type":"change","z":"243eaceb.c3da94","name":"Set Aqua","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"150","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":440,"wires":[[]]},{"id":"756946db.7d0838","type":"change","z":"243eaceb.c3da94","name":"Set White","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"255","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":480,"wires":[[]]},{"id":"f6bf6264.26ea1","type":"change","z":"243eaceb.c3da94","name":"Set Orange","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"6","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":520,"wires":[[]]},{"id":"209e7f47.6f95d","type":"change","z":"243eaceb.c3da94","name":"Set Brown","rules":[{"t":"set","p":"payload.color_number","pt":"msg","to":"5","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":560,"wires":[[]]},{"id":"a5ee2675.939828","type":"switch","z":"243eaceb.c3da94","name":"Check payload.color","property":"payload.color","propertyType":"msg","rules":[{"t":"nempty"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":260,"y":60,"wires":[["a14380e2.5c471"],["3dc779c4.c289d6"]]},{"id":"3dc779c4.c289d6","type":"switch","z":"243eaceb.c3da94","name":"Check env color","property":"color","propertyType":"env","rules":[{"t":"nempty"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":60,"wires":[["bf1187e0.d29c28"],["c421b0f3.ffdf5"]]},{"id":"c421b0f3.ffdf5","type":"function","z":"243eaceb.c3da94","name":"Throw Color Error","func":"throw(\"Invalid Set Inovelli Switch Color: No color selected in either payload.color or env variable color.\")\nreturn msg;","outputs":0,"noerr":0,"initialize":"","finalize":"","x":570,"y":140,"wires":[]},{"id":"bf1187e0.d29c28","type":"change","z":"243eaceb.c3da94","name":"Set payload.color","rules":[{"t":"set","p":"payload.color","pt":"msg","to":"color","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":100,"wires":[["a14380e2.5c471"]]},{"id":"ccc7d4cc.bded08","type":"subflow","name":"Set All Switch Colors","info":"","category":"","in":[{"x":40,"y":100,"wires":[{"id":"8bb5625f.7562a"}]}],"out":[{"x":1180,"y":220,"wires":[{"id":"d44065aa.9fd228","port":0}]}],"env":[{"name":"color","type":"str","value":""}],"color":"#DDAA99","status":{"x":220,"y":40,"wires":[{"id":"7f90a8c4.9b2018","port":0}]}},{"id":"7f90a8c4.9b2018","type":"status","z":"ccc7d4cc.bded08","name":"","scope":null,"x":80,"y":40,"wires":[[]]},{"id":"15646c96.5e9143","type":"switch","z":"ccc7d4cc.bded08","name":"Notification Color","property":"color","propertyType":"env","rules":[{"t":"eq","v":"christmas","vt":"str"},{"t":"eq","v":"thanksgiving","vt":"str"},{"t":"eq","v":"patriotic","vt":"str"},{"t":"eq","v":"easter","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":5,"x":150,"y":220,"wires":[["b4d795e.311b268"],["3296529.e4968ae"],["19a44260.f7105e"],["2d1dbf79.6788b"],["ad432249.f3aaa"]]},{"id":"8bb5625f.7562a","type":"ha-get-entities","z":"ccc7d4cc.bded08","server":"db33d3d6.a05ce","name":"Get all Switches","rules":[{"property":"attributes.product_name","logic":"is","value":"LZW31-SN Dimmer Red Series","valueType":"str"}],"output_type":"array","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":160,"y":100,"wires":[["6b0ec1c5.65f61"]]},{"id":"6b0ec1c5.65f61","type":"split","z":"ccc7d4cc.bded08","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":330,"y":100,"wires":[["b5379ccf.7ed5e"]]},{"id":"b5379ccf.7ed5e","type":"delay","z":"ccc7d4cc.bded08","name":"","pauseType":"rate","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"0.25","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":490,"y":100,"wires":[["59303aab.eff524"]]},{"id":"59303aab.eff524","type":"change","z":"ccc7d4cc.bded08","name":"Set Node Id in Payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\t    \"node_id\": msg.payload.attributes.node_id\t}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":190,"y":140,"wires":[["15646c96.5e9143"]]},{"id":"fc6556fb.e27108","type":"switch","z":"ccc7d4cc.bded08","name":"Entryway Wallplates","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"17","vt":"num"},{"t":"eq","v":"28","vt":"str"},{"t":"eq","v":"21","vt":"str"},{"t":"eq","v":"16","vt":"str"},{"t":"eq","v":"22","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":500,"y":540,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"],["4ec05f7b.fe236"],["7bd7dc70.9e8104"],["4ec05f7b.fe236"]]},{"id":"bbae0fa3.50e6b","type":"switch","z":"ccc7d4cc.bded08","name":"Mainfloor Hallway Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"24","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":520,"y":600,"wires":[["4ec05f7b.fe236"]]},{"id":"59354f0d.80877","type":"switch","z":"ccc7d4cc.bded08","name":"Kitchen Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"26","vt":"num"},{"t":"eq","v":"23","vt":"num"},{"t":"eq","v":"27","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":490,"y":660,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"],["4ec05f7b.fe236"]]},{"id":"ba7f6da4.7d109","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Lower Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"25","vt":"num"},{"t":"eq","v":"18","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":720,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"]]},{"id":"8a1973b9.35462","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"19","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":540,"y":760,"wires":[["4ec05f7b.fe236"]]},{"id":"e0638077.1e83","type":"switch","z":"ccc7d4cc.bded08","name":"Downstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":550,"y":800,"wires":[["4ec05f7b.fe236"]]},{"id":"a03b0aa7.97cf38","type":"switch","z":"ccc7d4cc.bded08","name":"Activty Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"7","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":840,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"]]},{"id":"2fa26a4.40f0096","type":"switch","z":"ccc7d4cc.bded08","name":"Theater Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"9","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":880,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"]]},{"id":"dd5efc01.cb3ed","type":"switch","z":"ccc7d4cc.bded08","name":"Office Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":480,"y":480,"wires":[["4ec05f7b.fe236"]]},{"id":"71f98881.1f5988","type":"switch","z":"ccc7d4cc.bded08","name":"Master  Bedroom Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":920,"wires":[["4ec05f7b.fe236"],["7bd7dc70.9e8104"]]},{"id":"bada3af7.cc6cb8","type":"switch","z":"ccc7d4cc.bded08","name":"Garage Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":960,"wires":[["4ec05f7b.fe236"]]},{"id":"b4d795e.311b268","type":"switch","z":"ccc7d4cc.bded08","name":"Christmas Colors","property":"payload.node_id","propertyType":"msg","rules":[{"t":"lt","v":"255","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":210,"y":760,"wires":[["dd5efc01.cb3ed","fc6556fb.e27108","bbae0fa3.50e6b","59354f0d.80877","ba7f6da4.7d109","8a1973b9.35462","e0638077.1e83","a03b0aa7.97cf38","2fa26a4.40f0096","71f98881.1f5988","bada3af7.cc6cb8"]]},{"id":"7bfb0c3c.c70c34","type":"api-call-service","z":"ccc7d4cc.bded08","name":"Set LED Color","server":"db33d3d6.a05ce","version":1,"debugenabled":false,"service_domain":"zwave","service":"set_config_parameter","entityId":"","data":"{\t   \"node_id\":msg.payload.node_id,\t   \"parameter\":13,\t   \"value\":msg.payload.color_number\t}","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":880,"y":220,"wires":[["d44065aa.9fd228"]]},{"id":"e41bb333.d24b2","type":"switch","z":"ccc7d4cc.bded08","name":"Entryway Wallplates","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"17","vt":"num"},{"t":"eq","v":"28","vt":"str"},{"t":"eq","v":"21","vt":"str"},{"t":"eq","v":"16","vt":"str"},{"t":"eq","v":"22","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":500,"y":1100,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"],["e8ad0e8d.1f2ca"],["cb62b874.bb9438"],["359b260e.f92b9a"]]},{"id":"fd4d06d6.8b4208","type":"switch","z":"ccc7d4cc.bded08","name":"Mainfloor Hallway Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"24","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":520,"y":1160,"wires":[["cb62b874.bb9438"]]},{"id":"9bb13106.335fb","type":"switch","z":"ccc7d4cc.bded08","name":"Kitchen Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"26","vt":"num"},{"t":"eq","v":"23","vt":"num"},{"t":"eq","v":"27","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":490,"y":1220,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"],["e8ad0e8d.1f2ca"]]},{"id":"b8b64fbc.dbe01","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Lower Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"25","vt":"num"},{"t":"eq","v":"18","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":1280,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"]]},{"id":"6b7ca091.8c226","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"19","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":540,"y":1320,"wires":[["cb62b874.bb9438"]]},{"id":"9556e28d.a371d","type":"switch","z":"ccc7d4cc.bded08","name":"Downstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":550,"y":1360,"wires":[["cb62b874.bb9438"]]},{"id":"1dcc41c8.af2d8e","type":"switch","z":"ccc7d4cc.bded08","name":"Activty Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"7","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":1400,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"]]},{"id":"504ff7b2.59d168","type":"switch","z":"ccc7d4cc.bded08","name":"Theater Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"9","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":1440,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"]]},{"id":"3d622ae2.861256","type":"switch","z":"ccc7d4cc.bded08","name":"Office Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":480,"y":1040,"wires":[["cb62b874.bb9438"]]},{"id":"66c4f618.6b76b8","type":"switch","z":"ccc7d4cc.bded08","name":"Master  Bedroom Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":1480,"wires":[["359b260e.f92b9a"],["cb62b874.bb9438"]]},{"id":"f19e0754.804ec8","type":"switch","z":"ccc7d4cc.bded08","name":"Garage Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":1520,"wires":[["359b260e.f92b9a"]]},{"id":"3296529.e4968ae","type":"switch","z":"ccc7d4cc.bded08","name":"Thanksgiving Colors","property":"payload.node_id","propertyType":"msg","rules":[{"t":"lt","v":"255","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":200,"y":1260,"wires":[["3d622ae2.861256","e41bb333.d24b2","fd4d06d6.8b4208","9bb13106.335fb","b8b64fbc.dbe01","6b7ca091.8c226","9556e28d.a371d","1dcc41c8.af2d8e","504ff7b2.59d168","66c4f618.6b76b8","f19e0754.804ec8"]]},{"id":"2d1dbf79.6788b","type":"switch","z":"ccc7d4cc.bded08","name":"Easter Colors","property":"payload.node_id","propertyType":"msg","rules":[{"t":"lt","v":"255","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":200,"y":1840,"wires":[["9e34c816.152ea8","a15a76e0.de5678","d9155fdc.7afb6","a19c25b4.04c508","3b73fa88.ba0506","b1ab3256.d795","299d311.80232ce","5ef00bdc.2675f4","5f376007.5df67","3383ab5d.cbd1b4","96077c77.ca8c5"]]},{"id":"4ec05f7b.fe236","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Green LED Color","env":[{"name":"color","value":"green","type":"str"}],"x":900,"y":680,"wires":[["7bfb0c3c.c70c34"]]},{"id":"7bd7dc70.9e8104","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Red LED Color","env":[{"name":"color","value":"red","type":"str"}],"x":890,"y":720,"wires":[["7bfb0c3c.c70c34"]]},{"id":"359b260e.f92b9a","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Orange LED Color","env":[{"name":"color","value":"orange","type":"str"}],"x":900,"y":1220,"wires":[["7bfb0c3c.c70c34"]]},{"id":"e8ad0e8d.1f2ca","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Red LED Color","env":[{"name":"color","value":"red","type":"str"}],"x":890,"y":1300,"wires":[["7bfb0c3c.c70c34"]]},{"id":"cb62b874.bb9438","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Yellow LED Color","env":[{"name":"color","value":"yellow","type":"str"}],"x":900,"y":1260,"wires":[["7bfb0c3c.c70c34"]]},{"id":"a15a76e0.de5678","type":"switch","z":"ccc7d4cc.bded08","name":"Entryway Wallplates","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"17","vt":"num"},{"t":"eq","v":"28","vt":"str"},{"t":"eq","v":"21","vt":"str"},{"t":"eq","v":"16","vt":"str"},{"t":"eq","v":"22","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":500,"y":1660,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"],["2ba3fe3f.892022"],["495f0780.bb2f18"],["a2fefa0f.520088"]]},{"id":"d9155fdc.7afb6","type":"switch","z":"ccc7d4cc.bded08","name":"Mainfloor Hallway Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"24","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":520,"y":1720,"wires":[["495f0780.bb2f18"]]},{"id":"a19c25b4.04c508","type":"switch","z":"ccc7d4cc.bded08","name":"Kitchen Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"26","vt":"num"},{"t":"eq","v":"23","vt":"num"},{"t":"eq","v":"27","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":490,"y":1780,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"],["2ba3fe3f.892022"]]},{"id":"3b73fa88.ba0506","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Lower Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"25","vt":"num"},{"t":"eq","v":"18","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":1840,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"]]},{"id":"b1ab3256.d795","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"19","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":540,"y":1880,"wires":[["495f0780.bb2f18"]]},{"id":"299d311.80232ce","type":"switch","z":"ccc7d4cc.bded08","name":"Downstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":550,"y":1920,"wires":[["495f0780.bb2f18"]]},{"id":"5ef00bdc.2675f4","type":"switch","z":"ccc7d4cc.bded08","name":"Activty Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"7","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":1960,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"]]},{"id":"5f376007.5df67","type":"switch","z":"ccc7d4cc.bded08","name":"Theater Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"9","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":2000,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"]]},{"id":"9e34c816.152ea8","type":"switch","z":"ccc7d4cc.bded08","name":"Office Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":480,"y":1600,"wires":[["495f0780.bb2f18"]]},{"id":"3383ab5d.cbd1b4","type":"switch","z":"ccc7d4cc.bded08","name":"Master  Bedroom Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":2040,"wires":[["a2fefa0f.520088"],["495f0780.bb2f18"]]},{"id":"96077c77.ca8c5","type":"switch","z":"ccc7d4cc.bded08","name":"Garage Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":2080,"wires":[["a2fefa0f.520088"]]},{"id":"a2fefa0f.520088","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Purple LED Color","env":[{"name":"color","value":"purple","type":"str"}],"x":900,"y":1780,"wires":[["7bfb0c3c.c70c34"]]},{"id":"2ba3fe3f.892022","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Red LED Color","env":[{"name":"color","value":"red","type":"str"}],"x":890,"y":1860,"wires":[["7bfb0c3c.c70c34"]]},{"id":"495f0780.bb2f18","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Pink LED Color","env":[{"name":"color","value":"pink","type":"str"}],"x":890,"y":1820,"wires":[["7bfb0c3c.c70c34"]]},{"id":"19a44260.f7105e","type":"switch","z":"ccc7d4cc.bded08","name":"Patriotic Colors","property":"payload.node_id","propertyType":"msg","rules":[{"t":"lt","v":"255","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":200,"y":2380,"wires":[["de0b1480.2e51e8","72e0c74d.373578","a46f9d9e.b1ea7","48cf4b3d.3825b4","ffea2626.952358","431ce3e9.308dcc","31ddfd1b.24ef72","4420cc6e.7fb714","da2db95f.c737c8","fc7aeff0.bc052","49e244d7.dd7afc"]]},{"id":"72e0c74d.373578","type":"switch","z":"ccc7d4cc.bded08","name":"Entryway Wallplates","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"17","vt":"num"},{"t":"eq","v":"28","vt":"str"},{"t":"eq","v":"21","vt":"str"},{"t":"eq","v":"16","vt":"str"},{"t":"eq","v":"22","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":500,"y":2220,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"],["478d8ed9.7a5f"],["fd7b83b1.f4f0a"],["620f29af.cda178"]]},{"id":"a46f9d9e.b1ea7","type":"switch","z":"ccc7d4cc.bded08","name":"Mainfloor Hallway Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"24","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":520,"y":2280,"wires":[["fd7b83b1.f4f0a"]]},{"id":"48cf4b3d.3825b4","type":"switch","z":"ccc7d4cc.bded08","name":"Kitchen Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"26","vt":"num"},{"t":"eq","v":"23","vt":"num"},{"t":"eq","v":"27","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":490,"y":2340,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"],["478d8ed9.7a5f"]]},{"id":"ffea2626.952358","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Lower Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"25","vt":"num"},{"t":"eq","v":"18","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":2400,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"]]},{"id":"431ce3e9.308dcc","type":"switch","z":"ccc7d4cc.bded08","name":"Upstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"19","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":540,"y":2440,"wires":[["fd7b83b1.f4f0a"]]},{"id":"31ddfd1b.24ef72","type":"switch","z":"ccc7d4cc.bded08","name":"Downstairs Stairwell Upper Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":550,"y":2480,"wires":[["fd7b83b1.f4f0a"]]},{"id":"4420cc6e.7fb714","type":"switch","z":"ccc7d4cc.bded08","name":"Activty Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"7","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":2520,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"]]},{"id":"da2db95f.c737c8","type":"switch","z":"ccc7d4cc.bded08","name":"Theater Room Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"9","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":2560,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"]]},{"id":"de0b1480.2e51e8","type":"switch","z":"ccc7d4cc.bded08","name":"Office Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":480,"y":2160,"wires":[["fd7b83b1.f4f0a"]]},{"id":"fc7aeff0.bc052","type":"switch","z":"ccc7d4cc.bded08","name":"Master  Bedroom Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":2600,"wires":[["620f29af.cda178"],["fd7b83b1.f4f0a"]]},{"id":"49e244d7.dd7afc","type":"switch","z":"ccc7d4cc.bded08","name":"Garage Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"20","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":2640,"wires":[["620f29af.cda178"]]},{"id":"620f29af.cda178","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Red LED Color","env":[{"name":"color","value":"red","type":"str"}],"x":890,"y":2340,"wires":[["7bfb0c3c.c70c34"]]},{"id":"478d8ed9.7a5f","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get Blue LED Color","env":[{"name":"color","value":"blue","type":"str"}],"x":890,"y":2420,"wires":[["7bfb0c3c.c70c34"]]},{"id":"fd7b83b1.f4f0a","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get White LED Color","env":[{"name":"color","value":"white","type":"str"}],"x":890,"y":2380,"wires":[["7bfb0c3c.c70c34"]]},{"id":"e54caaeb.9a0728","type":"subflow:243eaceb.c3da94","z":"ccc7d4cc.bded08","name":"Get LED Color","env":[],"x":630,"y":220,"wires":[["7bfb0c3c.c70c34"]]},{"id":"ad432249.f3aaa","type":"change","z":"ccc7d4cc.bded08","name":"Set payload.color","rules":[{"t":"set","p":"payload.color","pt":"msg","to":"color","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":220,"wires":[["e54caaeb.9a0728"]]},{"id":"d44065aa.9fd228","type":"join","z":"ccc7d4cc.bded08","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":"false","timeout":"","count":"","reduceRight":false,"x":1050,"y":220,"wires":[[]]},{"id":"db33d3d6.a05ce","type":"server","z":"","name":"Home Assistant","addon":true},{"id":"a73b3a09.57d1f8","type":"subflow:ccc7d4cc.bded08","z":"67ecad77.73f614","name":"Set Switches Blue","env":[{"name":"color","value":"blue","type":"str"}],"x":1190,"y":60,"wires":[[]]}]
1 Like

Also, here is a subflow to set the LED intensity that I recently implemented. Found for when I have the theme lights on, I wanted the on intensity set to 100% and off intensity to 20% to let the colors pop some more vs the defaults of 50% and 10% respectively.

[{"id":"ab675880.3db5e8","type":"subflow","name":"Set LED Intensity","info":"","category":"","in":[{"x":60,"y":120,"wires":[{"id":"611ffcba.0f23d4"}]}],"out":[{"x":980,"y":560,"wires":[{"id":"49c1b9cb.5148a8","port":0}]}],"env":[{"name":"on_intensity","type":"str","value":""},{"name":"off_intensity","type":"str","value":""},{"name":"dark_bedroom","type":"bool","value":"true"}],"color":"#DDAA99","status":{"x":240,"y":60,"wires":[{"id":"b2bc36df.7243e8","port":0}]}},{"id":"cf95246b.560468","type":"function","z":"ab675880.3db5e8","name":"Throw Value Error","func":"throw(\"Invalid Set Inovelli LED On Intensity.  Value must be a string between 0% and 100% in 10% increments\")\nreturn msg;","outputs":0,"noerr":0,"initialize":"","finalize":"","x":470,"y":360,"wires":[]},{"id":"b2bc36df.7243e8","type":"status","z":"ab675880.3db5e8","name":"","scope":null,"x":100,"y":60,"wires":[[]]},{"id":"611ffcba.0f23d4","type":"ha-get-entities","z":"ab675880.3db5e8","server":"db33d3d6.a05ce","name":"Get all Switches","rules":[{"property":"attributes.product_name","logic":"is","value":"LZW31-SN Dimmer Red Series","valueType":"str"}],"output_type":"array","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":160,"y":180,"wires":[["c8469638.022498"]]},{"id":"c8469638.022498","type":"split","z":"ab675880.3db5e8","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":330,"y":180,"wires":[["ffdf3cad.0c263"]]},{"id":"ffdf3cad.0c263","type":"delay","z":"ab675880.3db5e8","name":"","pauseType":"rate","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"0.25","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":490,"y":180,"wires":[["e607bba3.560dd8"]]},{"id":"e607bba3.560dd8","type":"change","z":"ab675880.3db5e8","name":"Set Node Id in Payload","rules":[{"t":"set","p":"payload.node_id","pt":"msg","to":"payload.attributes.node_id","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":180,"wires":[["d0057e95.6052d"]]},{"id":"d0057e95.6052d","type":"switch","z":"ab675880.3db5e8","name":"Check On Inensity Level","property":"on_intensity","propertyType":"env","rules":[{"t":"eq","v":"0%","vt":"str"},{"t":"eq","v":"10%","vt":"str"},{"t":"eq","v":"20%","vt":"str"},{"t":"eq","v":"30%","vt":"str"},{"t":"eq","v":"40%","vt":"str"},{"t":"eq","v":"50%","vt":"str"},{"t":"eq","v":"60%","vt":"str"},{"t":"eq","v":"70%","vt":"str"},{"t":"eq","v":"80%","vt":"str"},{"t":"eq","v":"90%","vt":"str"},{"t":"eq","v":"100%","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":12,"x":190,"y":320,"wires":[["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["ddeae9cb.7af9d8"],["cf95246b.560468"]]},{"id":"765dd1ed.8e693","type":"function","z":"ab675880.3db5e8","name":"Throw Color Error","func":"throw(\"Invalid Set Inovelli LED Off Intensity.  Value must be between 0 and 10.\")\nreturn msg;","outputs":0,"noerr":0,"initialize":"","finalize":"","x":1050,"y":360,"wires":[]},{"id":"e6640e89.36383","type":"switch","z":"ab675880.3db5e8","name":"Master  Bedroom Wallplate","property":"payload.node_id","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":480,"y":480,"wires":[["29d4d00c.0fd57"],["29d4d00c.0fd57"],["b256257e.c2e7e8"]]},{"id":"6c8f096e.4cc138","type":"comment","z":"ab675880.3db5e8","name":"Deault On = 50%, Default Off = 10%","info":"","x":930,"y":80,"wires":[]},{"id":"7396969d.728d68","type":"delay","z":"ab675880.3db5e8","name":"","pauseType":"delay","timeout":"250","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":410,"y":560,"wires":[["9ee3462a.b68128"]]},{"id":"ddeae9cb.7af9d8","type":"change","z":"ab675880.3db5e8","name":"Set On Itensity Payload","rules":[{"t":"set","p":"payload.on_intensity","pt":"msg","to":"on_intensity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":320,"wires":[["29ced586.2adf5a"]]},{"id":"78783872.21bb68","type":"change","z":"ab675880.3db5e8","name":"Set Off Itensity Payload","rules":[{"t":"set","p":"payload.off_intensity","pt":"msg","to":"off_intensity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":1070,"y":320,"wires":[["59d756b9.03fc88"]]},{"id":"b256257e.c2e7e8","type":"api-call-service","z":"ab675880.3db5e8","name":"Set LED Off Intensity","server":"db33d3d6.a05ce","version":1,"debugenabled":false,"service_domain":"zwave","service":"set_config_parameter","entityId":"","data":"{\t   \"node_id\":msg.payload.node_id,\t   \"parameter\":15,\t   \"value\":msg.payload.off_intensity\t}","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":180,"y":560,"wires":[["7396969d.728d68"]]},{"id":"9ee3462a.b68128","type":"api-call-service","z":"ab675880.3db5e8","name":"Set LED On Intensity","server":"db33d3d6.a05ce","version":1,"debugenabled":false,"service_domain":"zwave","service":"set_config_parameter","entityId":"","data":"{\t   \"node_id\":msg.payload.node_id,\t   \"parameter\":14,\t   \"value\":msg.payload.on_intensity\t}","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":640,"y":560,"wires":[["49c1b9cb.5148a8"]]},{"id":"49c1b9cb.5148a8","type":"join","z":"ab675880.3db5e8","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":850,"y":560,"wires":[[]]},{"id":"59d756b9.03fc88","type":"switch","z":"ab675880.3db5e8","name":"Dark Bedroom Intensity","property":"dark_bedroom","propertyType":"env","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":190,"y":480,"wires":[["e6640e89.36383"],["b256257e.c2e7e8"]]},{"id":"29ced586.2adf5a","type":"switch","z":"ab675880.3db5e8","name":"Check Off Inensity Level","property":"off_intensity","propertyType":"env","rules":[{"t":"eq","v":"0%","vt":"str"},{"t":"eq","v":"10%","vt":"str"},{"t":"eq","v":"20%","vt":"str"},{"t":"eq","v":"30%","vt":"str"},{"t":"eq","v":"40%","vt":"str"},{"t":"eq","v":"50%","vt":"str"},{"t":"eq","v":"60%","vt":"str"},{"t":"eq","v":"70%","vt":"str"},{"t":"eq","v":"80%","vt":"str"},{"t":"eq","v":"90%","vt":"str"},{"t":"eq","v":"100%","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":12,"x":770,"y":320,"wires":[["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["78783872.21bb68"],["765dd1ed.8e693"]]},{"id":"29d4d00c.0fd57","type":"change","z":"ab675880.3db5e8","name":"Set Off Itensity Payload","rules":[{"t":"set","p":"payload.off_intensity","pt":"msg","to":"0%","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":480,"wires":[["b256257e.c2e7e8"]]},{"id":"db33d3d6.a05ce","type":"server","z":"","name":"Home Assistant","addon":true},{"id":"35aec3ce.e991ec","type":"subflow:ab675880.3db5e8","z":"67ecad77.73f614","name":"Set Intensity 100% on 20% off","env":[{"name":"on_intensity","value":"100%","type":"str"},{"name":"off_intensity","value":"20%","type":"str"}],"x":910,"y":540,"wires":[[]]}]
1 Like

This is great, thank you so much!!

1 Like

This is really cool, thanks for sharing! I have a slightly different approach to my use case, but with some minor tweaks your flow it fit my needs perfectly! Very clever project/approach :slight_smile:

This is such a cool application of our LED Bars! I hoped to see our switches match the holidays :slight_smile: Thank you for sharing!