To contribute to this page, edit the following file

IKEA E1524/E1810 #

Model E1524/E1810
Vendor IKEA
Description TRADFRI remote control
Exposes battery, action, linkquality
Picture IKEA E1524/E1810

Notes #

Pairing #

Pair the remote to Zigbee2MQTT by holding it close to the coordinator and pressing the inside button, next to the CR2032 battery, 4 times. The red light on the (front of the) remote will now flash a few times.

Troubleshooting: no battery level #

It may help to remove the battery for a few seconds and after that reconfigure it via Configure. Right before executing the Configure make sure to wake up the device by pressing a button on it.

Binding #

The remote can be bound to groups using binding since firmware 2.3.014. It can only be bound to 1 group at a time. Use the group name as TARGET_DEVICE_FRIENDLY_NAME. By default this remote is bound to the default bind group which you first have to unbind it from. This can be done by sending to zigbee2mqtt/bridge/request/device/unbind payload {"from": "DEVICE_FRIENDLY_NAME", "to": "default_bind_group"}. Wake up the device right before sending the commands by pressing a button on it.

Once bound to a group/bulb you will notice that the toggle and brightness buttons will work, but scenes/color temperature most likely won’t work. This appears to be a missing piece of functionality (discussion), but via a workaround this can be managed;

  1. Create a group with ID 65289 (name it ie. Trafri_scenes) and add the device(s) you control with the remote.
  2. Add/store scenes for the created group
  3. Once you click left/right on the remote, the scenes will be called sequentially (should there be a device off sync in scenes, hold the toggle button for 3 sec.).

Note #

This device with old firmware < 2.3.014 does not support binding (limitation of the device). A workaround is to first get the group ID where the remote is sending it’s commands to and add bulbs to the same group (discussion).

  1. Pair the IKEA TRADFRI remote control to Zigbee2MQTT.
  2. Enable debug logging (log_level: debug) (documentation).
  3. You will get log output like this: 10/3/2019, 9:28:02 AM - debug: Received Zigbee message from '0x90fd9ffffe90d778' of type 'commandToggle' with data '{}' from endpoint 1 with groupID 57173.
  4. Retrieve the group from the log output, which is 57173 in the above example.
  5. Add this group to configuration.yaml and add your device (e.g.) bulb to this group. (documentation).

Device type specific configuration #

How to use device type specific configuration

Toggle button #

When clicking the middle (center) button on the remote it will send a {"click": "toggle"}, when holding it it will also send a {"click": "toggle_hold"}. It is not possible to skip the toggle when the button is hold. Also the remote won’t send anything when the button is released. See link for more details.

OTA updates #

This device supports OTA updates, for more information see OTA updates.

Exposes #

Battery (numeric) #

Remaining battery in %. Value can be found in the published state on the battery property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Action (enum) #

Triggered action (e.g. a button click). Value can be found in the published state on the action property. It’s not possible to read (/get) or write (/set) this value. The possible values are: brightness_down_release, toggle_hold, toggle, arrow_left_click, arrow_right_click, arrow_left_hold, arrow_right_hold, arrow_left_release, arrow_right_release, brightness_up_click, brightness_down_click, brightness_up_hold, brightness_up_release.

Linkquality (numeric) #

Link quality (signal strength). Value can be found in the published state on the linkquality property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 255. The unit of this value is lqi.

Manual Home Assistant configuration #

Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.battery }}"
    unit_of_measurement: "%"
    device_class: "battery"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.action }}"
    icon: "mdi:gesture-double-tap"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.linkquality }}"
    unit_of_measurement: "lqi"
    icon: "mdi:signal"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:update"
    value_template: "{{ value_json['update']['state'] }}"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_on: true
    payload_off: false
    value_template: "{{ value_json.update_available}}"