IKEA BILRESA Zigbee2MQTT
Articolo

IKEA BILRESA (E2489): Customize every action of the 2-button remote control with Zigbee2MQTT

Learn how to fully customize the IKEA BILRESA remote control (E2489) via Zigbee2MQTT in Home Assistant. Assign scripts, scenes and more to each

IKEA BILRESA Zigbee2MQTT is at the center of the novelty: The IKEA BILRESA remote control (E2489) is a two-button device which, when paired via Zigbee2MQTT, offers an unprecedented level of customization thanks to a new blueprint forhomeAssistant. Unlike standard solutions that are limited to controlling lights, this blueprint uses "Action Selectors" to allow the user to assign any action available in Home Assistant to each button event: single, double and long press (hold). It has been tested with the latest firmware (1.8.5) of the device, ensuring full compatibility and functionality.

What is the IKEA BILRESA remote control (E2489)?

IKEA BILRESA Zigbee2MQTT - The IKEA BILRESA remote control (E2489) is a compact device designed to simplify the control of smart home devices. Equipped with two distinct buttons, it offers the possibility of performing different actions depending on how it is pressed. Its true potential emerges when it is integrated into an advanced home automation ecosystem such as Home Assistant, especially if managed via Zigbee2MQTT, which unlocks its deeper customization capabilities.

Advanced customization with Zigbee2MQTT and Home Assistant

The real strength of this remote control lies in its flexibility. The blueprint developed for Home Assistant allows you to map any type of button interaction – single press, double press and long hold – to scripts, scenes, switch control, media players or any other entity present in your home automation system. This opens the door to complex and highly customized automation scenarios, going far beyond predefined functionality.

Installation requirements

To take full advantage of this blueprint, some hardware and software components are needed:

  • Hardware:The IKEA BILRESA 2-button remote control (model E2489).
  • Integration:Zigbee2MQTT must be installed and running in your Home Assistant system.
  • Controllers:A compatible Zigbee coordinator connected to the system.

Blueprint import and configuration

Once you make sure you have all the requirements, the setup process is relatively simple:

  1. Make sure your BILRESA remote control is properly paired with Zigbee2MQTT.
  2. Import the blueprint into Home Assistant.
  3. Create a new automation by selecting your BILRESA remote control from the list of available devices.
  4. Assign desired actions to various triggers (single, double, long press) for both buttons.

The blueprint is designed to be "Device-Based", which means you won't have to search for hidden "action" entities, but will be able to select your device directly.

IKEA BILRESA Zigbee2MQTT corpo

How the Blueprint works

The blueprint defines a series of triggers based on Zigbee2MQTT device events. These triggers are then linked to different user-defined action sequences via the "Action Selectors". In practice, when you press the remote control button, Home Assistant receives the event via Zigbee2MQTT and, based on the type of pressure (single, double, long), performs the action you have previously configured. A specific action for releasing the button is also included, useful for example to interrupt dimming or movement processes.

Here is the YAML configuration of the blueprint:

blueprints:
  name: IKEA BILRESA (Z2M) - Full Custom Actions
  description: "Assign any action to every button of the BILRESA remote via Zigbee2MQTT (Single, Double, and Long press supported)."
  domain: automation
  inputs:
    remote_device:
      name: Bilresa Remote
      description: Select your Bilresa remote from the Zigbee2MQTT list.
      selector:
        devices:
          integration: mqtt
          manufacturer: IKEA
          model: BILRESA remote control with buttons
          multiple: false
    action_on_single:
      name: "Button I - Single Click"
      default: []
      selector:
        action: {}
    action_on_double:
      name: "Button I - Double Click"
      default: []
      selector:
        action: {}
    action_on_long:
      name: "Button I - Long Press (Hold)"
      default: []
      selector:
        action: {}
    action_off_single:
      name: "Button O - Single Click"
      default: []
      selector:
        action: {}
    action_off_double:
      name: "Button O - Double Click"
      default: []
      selector:
        action: {}
    action_off_long:
      name: "Button O - Long Press (Hold)"
      default: []
      selector:
        action: {}
    action_stop:
      name: "Button Released (Stop)"
      default: []
      selector:
        action: {}

mode: restart
max_exceeded: silent

triggers:
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: 'on'
  id: 'on'
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: 'on_double'
  id: 'on_double'
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: 'off'
  id: 'off'
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: 'off_double'
  id: 'off_double'
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: brightness_move_up
  id: up
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: brightness_move_down
  id: down
- platform: device
  domain: mqtt
  device_id: !input remote_device
  type: action
  subtype: brightness_stop
  id: stop

action:
- choose:
  - conditions: '{{ trigger.id == "on" }}'
    sequence: !input action_on_single
  - conditions: '{{ trigger.id == "on_double" }}'
    sequence: !input action_on_double
  - conditions: '{{ trigger.id == "up" }}'
    sequence: !input action_on_long
  - conditions: '{{ trigger.id == "off" }}'
    sequence: !input action_off_single
  - conditions: '{{ trigger.id == "off_double" }}'
    sequence: !input action_off_double
  - conditions: '{{ trigger.id == "down" }}'
    sequence: !input action_off_long
  - conditions: '{{ trigger.id == "stop" }}'
    sequence: !input action_stop

Demonstration values ​​such as `action_on_single`, `action_on_double`, `action_on_long`, `action_off_single`, `action_off_double`, `action_off_long`, and `action_stop` must be replaced by the user with the specific actions or scripts they want to run in their Home Assistant system.

DS

Dario Scarfina

Founder and author of TecnologiaDigitale.net

Founder of TecnologiaDigitale.net. Passionate about technology, cybersecurity, artificial intelligence, smart home and digital innovation.

View author profile

Commenti

Ancora nessun commento. Sii il primo a partecipare.

L'email non verrà pubblicata. Il commento sarà visibile solo dopo approvazione.