As standard I think the functionality of the button only half exploits the potential of this device. So I created a Node-Red flow to make this button multi functional! To be honest, I think that in terms of usability not much more should be added as you wouldn’t want to have to use a manual to operate it ![]()
Functionality, copy paste from the repo readme:
Functionality can pretty much be divided in 3 parts:
Light buttons
Buttons 1, 2 and 3 can control 3 different light groups. On, off and scenes. I created this so that you can add as many scenes you like. Cycling through them will automatically adapt to the number of scenes you configred. Controls:
- Turn on with a single press of a button
- Pressing again within 10 seconds means you’ll change to the next scene
- Turning the ring within 10 seconds changes brightness of the selected group
- Turn off by keeping the button pressed
- Pressing a button when more than 10 seconds have passed since the last button press will select the light group. Nothing visible will happen but you will once again be able to cycle through scenes and use the ring for dimming the group you selected.
Button 4 - activate stuff
Use button 4 to activate scripts, devices etcetera, depending on the amount of clicks. The flow will output the amount of clicks. For example, I control home ventilation preset and the robot vacuum cleaner.
The ring
There is a reason why after 10 seconds since the last press the ring won’t change brightness anymore. After those 10 seconds it becomes available for other functionality. In this flow I control my AV receiver. Functionality:
- Change volume in different speeds
- Turn it on by doing a swift turn to the right when it’s off
- Turn it off by setting volume to the lowest possible level
- Built in protection for setting the volume too loud. You can specify the maximum volume the receiver can play before defaulting back to a number that can also be specified by the user.
More information in the repo