Feature Request: Relative Brightness control / Step Dimming for Lights and Groups

Over the years, the community of smart button users has been looking for workarounds so a button can increase or decrease the brightness level of lights. From complex routines checking current values to custom drivers for the lights to virtual devices like the scene switcher or the recently published virtual dimmer with steps.

Feels like it’s about time to make increase / decrease brightness a stock feature. Google Home supports relative brightness in their script editor (ironically they don’t support buttons yet) and Alexa has increase / decrease brightness routine actions (hardcoded to 25% though, please don’t hardcode it - like the Sonos driver for relative volume actions which are harcoded to 5% and not even exposed to the mobile app).

Since the idea would be to make it available to every light and group with dimmer level control, a good strategy would be:

  • For cloud devices add the desired step to the current cached dimmer level and change the absolute level. The integration would not be affected.
  • For groups, use the group dimmer level as reference, add the step and set the absolute level, again, integrations not affected.
  • For Zigbee and Matter devices it would be nice to use the native Step level command, which is better as it’s the light running the action and does not depend on the cached state. It would require just a few new lines in the Zigbee and Matter driver.
6 Likes

I hired an UX/UI designer and he came up with this idea for the device presentation:

1 Like

That’s a good idea so it’s the same “language” everywhere (app/routines). In the app an increase and decrease button and in routines an increase and decrease action, with the actual step size in settings which can be a sensible default.

Although, being realistic, they could start with routine actions, adding a stepLevel(size) command to the switchLevel capability for instance, so at least users can use the Rules API with smart buttons even if there’s no UI at all. Then expose it to the routines in the app with a nice slider.

2 Likes