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

1 Like

@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