Hi, I had the same issue with my somrig remote. What worked for me in the end was:
I had to first start the search for new Zigbee devices in Home Assistant.
Than I pushed the pairing button on the somrig remote 4 times, so that it starts flashing red.
When HA finds the device, I waited till the interview was complete and HA starts the configuration.
Lastly I pushed and held the pairing button on the somrig remote for 10 seconds. HA than finished the configuration (the window turned green) and finally both buttons worked.
I aslo held the somrig remote really close to the Zigbee gateway during the process.
It could be possible that the procedure did nothing and it just started work somehow, but I have tried for some time and after I did the above it worked
@cecche thank you for creating this Blueprint
I added some things I find usefull. If you find them usefull too, you can update your blueprint with it.
Because the single_press event has a native delay, I added the initial_press event as an alternative since it is send by the remote first without delay on any type of press. This also means if an action is provided for initial_press and single_press/long_press/long_release/double_press, both are going to be executed. For that I added an option, which lets you choose wether or not you want to execude the initial_press action only, without having to remove your already defined actions for the other events, if you change your mind later.
I also added cluster_id: 64640 so that the automation only triggers for button presses and not the checkin events.
blueprint:
name: ZHA - IKEA Somrig remote dot-buttons control
description: Fully customisable dot-buttons, with options for single, double and
long press for each one.
domain: automation
input:
remote:
name: Remote
description: IKEA Somrig remote to use
selector:
device:
integration: zha
manufacturer: IKEA of Sweden
model: SOMRIG shortcut button
multiple: false
single_dot_initial_press:
name: Single dot (Initial press)
description: Action to run on any single dot press.
Runs first on any type of press.
Does not have the delay of a single press.
default: []
selector:
action: {}
single_dot_initial_only:
name: Single dot (Initial press only mode)
description: Choose whether or not to only execute the provided fast initial press actions
and not the single, double, long and long release.
Limits the single dot button, to one type of press.
default: false
selector:
boolean: {}
single_dot_single_press:
name: Single dot (Single press)
description: Action to run on single dot press
default: []
selector:
action: {}
single_dot_double_press:
name: Single dot (Double press)
description: Action to run on single dot double press
default: []
selector:
action: {}
single_dot_long_press:
name: Single dot (Long press)
description: Action to run on single dot long press
default: []
selector:
action: {}
single_dot_long_release:
name: Single dot (Release after long press)
description: Action to run on releasing after a long press on the single dot
default: []
selector:
action: {}
double_dot_initial_press:
name: Double dot (Initial press)
description: Action to run on any double dot press.
Runs first on any type of press.
Does not have the delay of a single press.
default: []
selector:
action: {}
double_dot_initial_only:
name: Double dot (Initial press only mode)
description: Choose whether or not to only execute the provided fast initial press actions
and not the single, double, long and long release.
Limits the double dot button, to one type of press.
default: false
selector:
boolean: {}
double_dot_single_press:
name: Double dot (Single press)
description: Action to run on double dot press
default: []
selector:
action: {}
double_dot_double_press:
name: Double dot (Double press)
description: Action to run on double dot double press
default: []
selector:
action: {}
double_dot_long_press:
name: Double dot (Long press)
description: Action to run on double dot long press
default: []
selector:
action: {}
double_dot_long_release:
name: Double dot (Release after long press)
description: Action to run on releasing after a long press on the double dot
default: []
selector:
action: {}
source_url: https://community.home-assistant.io/t/ikea-somrig-remote-e2213-zha/668671
mode: parallel
max_exceeded: silent
trigger:
- platform: event
event_type: zha_event
event_data:
device_id: !input remote
cluster_id: 64640
action:
- variables:
single_dot_initial_only: !input single_dot_initial_only
double_dot_initial_only: !input double_dot_initial_only
command: '{{ trigger.event.data.command }}'
cluster_id: '{{ trigger.event.data.cluster_id }}'
endpoint_id: '{{ trigger.event.data.endpoint_id }}'
args: '{{ trigger.event.data.args }}'
- choose:
- conditions:
- '{{ command == ''initial_press'' }}'
- '{{ endpoint_id == 1 }}'
sequence: !input single_dot_initial_press
- conditions:
- '{{ not single_dot_initial_only }}'
- '{{ command == ''short_release'' }}'
- '{{ endpoint_id == 1 }}'
sequence: !input single_dot_single_press
- conditions:
- '{{ not single_dot_initial_only }}'
- '{{ command == ''multi_press_complete'' }}'
- '{{ endpoint_id == 1 }}'
sequence: !input single_dot_double_press
- conditions:
- '{{ not single_dot_initial_only }}'
- '{{ command == ''long_press'' }}'
- '{{ endpoint_id == 1 }}'
sequence: !input single_dot_long_press
- conditions:
- '{{ not single_dot_initial_only }}'
- '{{ command == ''long_release'' }}'
- '{{ endpoint_id == 1 }}'
sequence: !input single_dot_long_release
- conditions:
- '{{ command == ''initial_press'' }}'
- '{{ endpoint_id == 2 }}'
sequence: !input double_dot_initial_press
- conditions:
- '{{ not double_dot_initial_only }}'
- '{{ command == ''short_release'' }}'
- '{{ endpoint_id == 2 }}'
sequence: !input double_dot_single_press
- conditions:
- '{{ not double_dot_initial_only }}'
- '{{ command == ''multi_press_complete'' }}'
- '{{ endpoint_id == 2 }}'
sequence: !input double_dot_double_press
- conditions:
- '{{ not double_dot_initial_only }}'
- '{{ command == ''long_press'' }}'
- '{{ endpoint_id == 2 }}'
sequence: !input double_dot_long_press
- conditions:
- '{{ not double_dot_initial_only }}'
- '{{ command == ''long_release'' }}'
- '{{ endpoint_id == 2 }}'
sequence: !input double_dot_long_release
This effectively reduces the number of button press types to one per button in exchange for a fast single press (initial_press). Since you can set this seperatly for the single and double dot buttons of the remote, it is possible to combine both.
E.g. the single dot button as a fast light switch and the double dot button for other actions that aren’t that time sensitive.