IKEA Bilresa Dual Button Light Control with Smooth Dimming

A Blueprint to quickly and easily set up a Bilresa dual button to control a light or light group.

The Press and Hold dimming lets the hardware handle the transition. This results in the dimming being smooth and responsive while avoiding the stuttering that comes with other approaches such as looping light on commands.
This feature does require the light selected to support transitions and so it may not work as expected on some devices.

Installation:

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Source on GitHub: HA-Blueprints/IKEA/IKEA_Bilresa_Dual_Button.yaml at main · Kaito-Mez/HA-Blueprints · GitHub

Configuration:

  • Single Presses turn the light(s) on/off.

  • Double Presses and Press and Holds can be configured to either adjust brightness or trigger custom actions.

  • Double Press brightness control steps the brightness up or down by a configurable percentage.

  • Press and Hold brightness control smoothly brightens or dims the light while the button is held, the speed can be configured. There are also options to help compensate for issues that arise due to latency.

Please feel free to leave any feedback you have or suggest improvements!

I find the approach interesting to work around missing HA features, although ideally it should not be needed: Zigbee and Matter lights have native move / stop commands to start the dimming and stop the dimming so no need to track time or levels.

In Zigbee lights using Z2M it’s easy since there’s a brightness_move action (with speed 0 to stop) so just calling brightness_move(60) to increase, or -60 to decrease, in the automation when long pressed and brightness_move(0) when released is enough, the light does everything.

In Matter, the HA integration does not expose the move/stop commands so can’t be used without tinkering with the core integration. While I’ve not tested the blueprint, conceptually it’s way better than a loop repeating steps and a good workaround for the lack of move/stop actions in the automations.

1 Like