🎮 ZHA, deCONZ, Zigbee2MQTT - Ikea E1743 On/Off Switch & Dimmer Universal blueprint - all actions + double click events - usage examples

Tags: #<Tag:0x00007f325ee44548> #<Tag:0x00007f325ee44430> #<Tag:0x00007f325ee441b0> #<Tag:0x00007f325ee44020> #<Tag:0x00007f3259143d80>

Blueprint updates will be published on Awesome HA Blueprints . :rocket:
Docs are also fully reported in this post.

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

Click the badge to import this Blueprint: (needs Home Assistant Core 2021.3 or higher)

Blueprint docs: https://epmatt.github.io/awesome-ha-blueprints/blueprints/controllers/ikea_e1743

Blueprint URL. Copy this if you want to use this blueprint in your installation:https://github.com/EPMatt/awesome-ha-blueprints/blob/main/blueprints/controllers/ikea_e1743/ikea_e1743.yaml



This blueprint provides universal support for running any custom action when a button is pressed on the provided IKEA E1743 remote controller. Supports remotes integrated with either Zigbee2MQTT, deCONZ or ZHA. Just specify the integration used to connect the remote to Home Assistant when setting up the automation, and the blueprint will take care of all the rest.

In addition of being able to provide custom actions for every kind of button press supported by the remote, the blueprint allows to loop the long press actions while the corresponding button is being held. Once released, the loop stops. This is useful when holding down a button should result in a continuous action (such as lowering the volume of a media player, or controlling a light brightness).

The blueprint also adds support for virtual double button press events, which are not exposed by the controller itself.

Moreover, automations created with this blueprint can be connected with one or more Hooks supported by this controller.

Hooks allow to easily create controller-based automations for interacting with media players, lights, covers and more. See the list of Hooks available for this controller for additional details.


(Optional) Zigbee2MQTT

If you plan to integrate the E1743 2-button remote with Zigbee2MQTT, you must have this integration set up. Installation methods differ between different installation types. Check the documentation for this integration for full details on the required hardware and how to set up Zigbee2MQTT on your system.

Zigbee2MQTT Docs

(Optional) ZHA Integration

If you plan to integrate the E1743 2-button remote with ZHA, you must have this integration set up. The integration can be setup from the Home Assistant UI. Check the documentation for this integration for full details on the required hardware.

ZHA Integration Docs

(Optional) deCONZ Integration

If you plan to integrate the E1743 2-button remote with deCONZ, you must have this integration set up. The integration can be setup from the Home Assistant UI and requires an additional container to run deCONZ on. Head over to the documentation for this integration for full details on the required hardware and how to set up deCONZ on your system.

deCONZ Integration Docs

(Optional) Input Text Integration

This integration provides the entity to store the last button event, which is needed when using ZHA or Zigbee2MQTT to integrate the remote and determining which button has been released. This should be activated by default so unless you tweaked the default configuration you’re good to go.

Input Text Integration Docs


See the full list of inputs for this blueprint in the docs.

Available Hooks


Please enable double press events for the Up and Down button to use all the available actions.

  • Up button short press -> Turn on
  • Up button long press & hold -> Brightness up (continuous, until release)
  • Up button double press -> Color Up
  • Down button short press -> Turn off
  • Down button long pres & hold -> Brightness down (continuous, until release)
  • Down button double press -> Color Down

Light Hook docs

Media Player

Please enable double press events for the Up and Down button to use all the available actions.

  • Up button short press -> Volume up
  • Up button long press & hold -> Volume up (continuous, until release)
  • Up button double press -> Next track
  • Down button short press -> Volume down
  • Down button long pres & hold -> Volume down (continuous, until release)
  • Down button double press -> Play/Pause

Media Player Hook docs

Additional Notes

The reason why a text input is required to store the last long press event when using a remote with ZHA or Zigbee2MQTT is because of the actions mapping for the controller with these integrations. Natively, the controller doesn’t allow to distinguish between different button release events, so the blueprint must store the previous clicked button, using the text input. Make sure the input text is not altered by any other agents, since this could break the automation.

It’s also important to notice that the controller doesn’t natively support double press events. This blueprint provides virtual double press events by relying on the text input, used to store the last short press event, and a delay, which represents the maximum time gap between the first and second short press required to trigger the virtual double press.

When a double press action is defined for a specific button, clicking the button results in the automation first waiting for the second button press, then, if none is received within the provided delay, executing the short press action.

If a double press action is not set for a specific button, the corresponding single press action will be executed immediately when the button is pressed.


  • 2021-02-07: fix a issue on Zigbee2MQTT triggering rules
  • 2021-02-07: fix an issue which prevented to create automations for ZHA or deCONZ (thanks @kks36! :tada: ) .
  • 2021-02-08: update example, fix an issue which executed actions twice when the remote was connected via Zigbee2MQTT.
  • 2021-02-23:
    • add support for virtual double press events
    • block automation runs for empty and repeated messages
    • reduce input_text helper writes
  • 2021-03-03: moved the blueprint in the Controllers-Hooks Ecosystem. See announcement here. :tada:

Happy automating to everyone! :rocket:

My other blueprints:


Thanks for this, looks good. Is it possible to add double click events similar to the 5 button remote?

1 Like

Hi @koconut,
you’re welcome, thank you for your feedback!

Sure, in the next days I’ll apply the latest updates which were deployed for the 5-button remote blueprint, so that the double click feature will be available also for this controller.

I’ll let you know as soon as the feature is implemented. :slight_smile:

1 Like

Hi there!

News for @koconut and anyone interested in the double clicks feature, I’ve just pushed an update which adds the support for this functionality, plus a few optimizations inherited from the Ikea 5-button remote blueprint. Docs have been updated too to reflect the additional blueprint inputs. :tada:

Please notice that we’re really pushing the limits of this controller here, by implementing virtual double press events. Under the hood, the blueprint relies on the previous button press and a delay.
This means that if you provide an action for a double click event, when a button is pressed the automation will first wait for the second short press event, then, if none is received within the provided delay, the action for the single short press will be executed. This will result in a slight delay between the short press and the action execution.

My tests suggest that this controller, in contrast with the E1524/E1810 5-button remote, is able to handle clicks which are pretty close in time. If you have issues with triggering the double press actions, try to wait a few moments before pressing the button. If even after clicking the button a little slower you’re still getting the short press action triggered instead of the double press one, increase the value for the Helper - Double Press delay input.

I’d also like to point out that this is not a breaking change: anyone who is currently using the blueprint can safely update it without having to reconfigure the related automations. No performance reductions to existing automations will be caused by these new features.

If you have any suggestions or you notice that something is not working as it should with this update, please reach out here, I’d be glad to help. :slight_smile:

Happy automating! :fire:

1 Like

Hi there!

I’m happy to inform you that I’ve just updated the Awesome HA Blueprints project with two new blueprint categories: Controllers and Hooks. :tada:

Controllers are blueprints which allow to easily integrate a wide range of controllers (wall switches, remotes, dimmers, etc.) and use them to run a set of actions when interacting with them. They consist of a practical abstraction layer for easily building controlled-based automations without worrying about the handling of raw controller events, and the integration used to connect controllers to Home Assistant (Zigbee2MQTT, ZHA, deCONZ, ZWave, proprietary hubs, etc.).
Most importantly, beside providing action sequences to Controller blueprints to build a custom controller-based automation, you can connect Controllers with Hooks .

Hooks are blueprints which seamlessly integrate with Controllers to enable control of lights, media players and much more, without you ever writing a single line of code.

For further details please read this annoucement post on the Awesome HA Blueprints project thread.

To reflect these changes, this blueprint has now been moved to the Controllers category. The original post on this thread has been updated with new links to docs and blueprint code. Examples have been removed since the functionality can now be implemented with the Light Hook. :+1:

Happy automating to everyone! :fire:

Hey Matteo,

first of all thanks for creating these awesome blueprints. I have just tried to add the blueprint into my HA instance, but it did not work with the following error:

Invalid blueprint: Unknown selector type select found for dictionary value @ data['blueprint']['input']['integration']['selector']. Got OrderedDict([('select', OrderedDict([('options', ['Zigbee2MQTT', 'deCONZ', 'ZHA'])]))])

Could you please look into this or give me a pointer into what I’m doing wrong?


Hi @lukkigi, thank you very much for your feedback!

This blueprint uses the new select selector, which was introduced in Home Assistant Core 2021.03.0.

Please update your Home Assistant instance, then try again. This should solve your issue. :smiley:

It’s working perfectly now, thank you!

1 Like

Hi @lukkigi, I’m happy to hear that, you’re welcome! :smiley: