Quick-Response Blueprint for Ikea Bilresa Scroll Wheel Remote
I created this blueprint to get the best possible performance out of the IKEA Bilresa Scroll Wheel Remote using Zigbee2MQTT.
I wasn’t happy with the response time using other methods, so I built this to make it feel responsive and smooth. Instead of triggering a new automation for every single step (which causes lag), this blueprint uses a repeat/while loop that stays alive while you scroll.
Note: While designed for the Bilresa, this may also work with similar scroll wheel remotes connected through Zigbee2MQTT.
Features:
Quick Response: Uses a continuous loop for smooth scrolling without the usual lag.
Smart Limits: Automatically detects the top and bottom limits so you never get stuck at 0% or 100%.
Interruptible: You can click the button anytime—even while scrolling—and it reacts immediately.
Universal Media Control: Uses Volume Up/Down commands for compatibility with TVs and Soundbars.
Multi-Mode: Supports Brightness, Color Temp, Color Wheel, Volume, and Climate.
How to Setup
Get Your Device Name:
Check what your device is named in Zigbee2MQTT (e.g., Office_Remote).
Configure the Blueprint:
MQTT Topic: This is pre-filled. Just replace FRIENDLY_NAME_HERE with your device name (e.g., zigbee2mqtt/Office_Remote).
Entity: Pick the Light, Media Player, or Climate entity you want to control.
Mode: Choose what you want to control (Brightness, Volume, etc.).
For Fine Tuning: If you want to adjust how “fast” or responsive the physical wheel feels, go to Zigbee2MQTT → Your Device → Settings (Specific). You can adjust the Action Interval and Delta values there to fine-tune the scroll behavior to your liking.
I am not sure whether it’s firmware related, the firmware of the remote I’m testing is 1.8.5, which firmware does your remote have?
The blueprint accesses the scroll value via payload_json.brightness. The payload my remote sends doesn’t have this field. However, just changing payload_json.brightness to payload_json.action_level addresses this issue.
Another problem I am facing is that the payload for single-pressing the button which doubles as the scroll wheel behaves strangely. It changes between "action": "on" and "action": "off" for each single-press of the scroll wheel button. I expected it to repeatedly send the “on” action, which is not the case.
With this blueprint I set the “Single on” option to toggle a light. Since the payload toggles between the “on” and “off” state when pressing the same button twice this has the effect that the light only toggles on every other click. Does your remote behave the same?
And lastly, this is just a suggestion, my use case would be to dim multiple lights at once, which doesn’t seem possible with just a single instance of this automation.
Regarding multiple lights i have not tested have you tried adding a lighting group instead of just one light entity, or edit the blueprint to add ‘multiple’ to the entity selector will allow this
Is this the remote you have or do you have tne 2 button version without scrollwheel??