Ikea Bilresa scroll wheel blueprint (Matter) - The Original

I am not sure what you mean by “WLED controller”. With the standard scroll wheel actions you can control a light entity if it supports attributes like brightness or color_temp for example. You can check the automation trace if something went wrong.

If you want to control other entity types or different attributes you can use a user defined action, check the examples how this can be done.

If you have a nice user defined solution please share it here.

Thanks for the blueprint. It works like a charm.
I’ve added the functionality to change the scroll wheel mode with a double click without changing the blueprint.

To have the same functionality follow these steps:
Add an input helper → Dropdown and add the preferred modes. I.e.

  • lights: dim
  • lights: color temp only

I’ve named it ‘bilresa_scroll_mode’

To toggle between these states add a script

alias: toggle_bilresa_ch1_scroll_mode
mode: single
sequence:
  - target:
      entity_id: input_select.bilresa_scroll_mode
    data:
      option: |
        {% if states('input_select.bilresa_scroll_mode') == 'lights: dim' %}
          lights: color temp only
        {% else %}
          lights: dim
        {% endif %}
    action: input_select.select_option
description: ""

Then in the blueprint add the script execution on a double click, tripple click or whatever you like.

action: script.toggle_bilresa_channel_1_scroll_mode
metadata: {}
data: {}

Set the scroll wheel mode to ‘user defined’ and add the following yaml to the user defined scroll wheel action block. Make sure to replace your entity_id and target_light

choose:
  - conditions:
      - condition: state
        entity_id: input_select.bilresa_scroll_mode
        state:
          - "lights: dim"
    sequence:
      - action: light.turn_on
        metadata: {}
        target:
          entity_id: light.kajplats_e14_ws_globe_806lm
        data:
          brightness_step_pct: |
            {{ scroll_clicks * (-5 if scroll_direction == 'left' else 5) }}
  - conditions:
      - condition: state
        entity_id: input_select.bilresa_scroll_mode
        state:
          - "lights: color temp only"
    sequence:
      - action: script.light_color_temp_helper
        metadata: {}
        data:
          min_color_temp: 2200
          max_color_temp: 4000
          color_temp_step: "{{ scroll_clicks * 300 }}"
          mode: |
            {{ 'down' if scroll_direction == 'left' else 'up' }}
          target_light: light.kajplats_e14_ws_globe_806lm

2 Likes

@rneurink that’s a really nice idea! :+1:

I added direct support for the input_select-helper to Version: 2026-02-07 now, see

with input_select-helper

as toggle logic for the input_select I would suggest the following snippet, e.g. in double-click:

action: input_select.select_next
metadata: {}
target:
  entity_id: input_select.bilresa_scroll_wheel_mode_light1
data:
  cycle: true
1 Like

Love your blueprint!
My attempts at create automation based on events were hopeless. You did great job! Finally my Bilresa remote has any reason to exist.
I was so desperate to make it work that I almost powered my IKEA DIREGERA hub just to make it work :slight_smile:

1 Like

I can turn down the brightness but not turn it back up again. Simple dimming. Anyone have any ideas?

double check the entity names of your sensors, see Ikea Bilresa scroll wheel blueprint (Matter) - The Original - #63 by jhol-byte and Ikea Bilresa scroll wheel blueprint (Matter) - The Original - #80 by Inhaps

Everything was correct. Removing Bilresa and re-learning it helped. Now it works, for whatever reason.

1 Like

Now I am confused, where to put two helper script YAMLs? When selected anything other than dim, automation based on BluePrint creates error.

the comment you referred to is something different, for the two helper scripts see Ikea Bilresa scroll wheel blueprint (Matter) - The Original - #4 by jhol-byte

1 Like

instead of SCRIPTS, I tried to create those two helper script entries it in AUTOMATIONS section and got error message. Thank you you for clarification!

Hello, i have an issue. When i trun the wheel it registers max 4 ticks, than if i do full circle it does nothing. I really would like to quickly go form some brightness to another. Turning it slow is a pain

Best tip I can give is to increase Dimmer step percentage in global settings. BTW are you using relaxed or instant mode?

Hi,
thank you for the amazing blueprint! It works very well for me for color temperature change and volume control. However, I cannot get the scroll wheel to dim or brighten my light. I check everything in here multiple times and I cannot find a mistake. I was about to give the user-defined scroll wheel mode a shot, but the settings look different in my HA version, so I got stuck… Any chance you could help me with that? Thank you!

What I can see from the screenshot looks fine on first glance. Could be that brightness_step_pct needs to be above some threshold, so please try to multiply by 10.

Is the scroll wheel triggering at all on the used channel? Maybe the problem is not about brightness but about the channel, see discussion about that in some previous comments.

Always a good idea: check the traces of your automation if you got some error messages.

I have the same problem. told my wife she must have placed something on the wheel and thats why the lamp was on… Then i discovered this also. Any idea how to fix this?

Had to remove the condition trigger.event.data.new_state.state == '1' for the instant mode, because it barely registers as it is, and when it does register, it doesn’t always have the state set to 1.

Is that a common scroll wheel experience?

If you use developer tools/events and subscribe to state_changed you should always get two events for sensor.bilresa_xxx while scrolling only one click:

one with old_state=0 and new_state=1 and
one with old_state=1 and new_state=0

If not I would say you lose some events as they come always in pairs.

Oh, so it still only works one click at a time. I was expecting it to continuously fire.

it is “continually” firing if you scroll not too fast (about 2 clicks per second), see Ikea Bilresa scroll wheel blueprint (Matter) - The Original - #53 by jhol-byte

@jhol-byte

It WORKS thank you ! … IKEA BILRESA - Matter, using Sonoff dongle

BUT I found the instruction contusing, you mention “helper” but I understood as a “variable” to store data - called as “helper” in HA → Settings → Devices & scenes → Helpers

The screen shots made even more confusing, made me though you was in “Create New Helper” screen, but you was in fact creating a script,

My kind suggestion I think would be better to remove the screenshot, rename light_color_hs_helper to something that does not use the word ‘helper’, add the steps in the message above in the main post.

.
Sharing options that worked for me for

IKEA BILRESA scroll wheel (Matter) - Yet another blueprint

IKEA Bilresa Scrollwheel (Matter) – Ultimate Light Controller (Atomic Edition)

1 Like