Z2M IKEA Tradfri Shortcut Button E1812 Universal Actions

This is a blueprint for the IKEA Tradfri Shortcut Button E1812.
The states of the action are internal send as on/off/brightness_move_up/brightness_stop.

I transformed them into single press, double press, long_press and released.
For each of them you can select actions that will be performed.

Shortcut

Because I am quite new to home assistant I am happy for useful feedback for improving the code.

Blueprint Code

Click the badge to import this Blueprint: (needs Home Assistant Core that supports zigbee2mqtt)

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

Or import this Blueprint by using the forum topic URL:

blueprint:
  name: 'Z2M IKEA Shortcut Button E1812'
  description: "Blueprint for Ikea Tradfri Shortcut Button E1812. You can put several actions to each single press, double press and long press."
  domain: automation
  source_url: https://community.home-assistant.io/t/z2m-ikea-tradfri-shortcut-button-e1812-universal-actions/522409
  input:
    button:
      name: Remote
      description: IKEA Shortcut Button to use (e.g sensor.kitchen_remote_action)
      selector:
        entity:
          integration: mqtt
          domain: sensor
          multiple: false
          
    single:
      name: Action when On sended
      description: Action to run when SHORT press
      default: []
      selector:
        action: {}
    double:
      name: Action when Off sended
      description: Action to run when DOUBLE SHORT press
      default: []
      selector:
        action: {}
    long:
      name: Action when Brightness_move_up sended
      description: Action to run when LONG press
      default: []
      selector:
        action: {}
    released:
      name: Action when Brightness_stop sended
      description: Action to run when LONG press RELEASED
      default: []
      selector:
        action: {}  
mode: restart
max_exceeded: silent
trigger:
  - platform: state
    entity_id:
      - !input button
    to: "off"
    id: "off"
  - platform: state
    entity_id:
      - !input button
    to: "on"
    id: "on"
  - platform: state
    entity_id:
      - !input button
    to: "brightness_move_up"
    id: "long_down"
  - platform: state
    entity_id:
      - !input button
    to: "brightness_stop"
    id: "stop"
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "off"
        sequence: !input double
      - conditions:
          - condition: trigger
            id: "on"
        sequence: !input single
      - conditions:
          - condition: trigger
            id: "long_down"
        sequence: !input long
      - conditions:
          - condition: trigger
            id: "stop"
        sequence: !input released

The template looks like that:

3 Likes

i cant get it in my Blueprint list .
When i try i get this massage: No valid blueprint found in the topic. Blueprint syntax blocks need to be marked as YAML or no syntax.

Thanks for that feedback.
I fixed the error.

Here is the yaml code only for 3 actions.
The reason is, that when you hold the button, it sends brightness_move_up and as soon you release it sends a brightness_stop. If that is a trigger, than the automation restarts and actions might not be fully executed.

Blueprint Code

Click the badge to import this Blueprint: (needs Home Assistant Core that supports zigbee2mqtt)

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

Or import this Blueprint by using the forum topic URL:

blueprint:
  name: 'Z2M IKEA Shortcut Button E1812 3 Universal Actions'
  description: "Blueprint for Ikea Tradfri Shortcut Button E1812. You can put several actions to each single press, double press and long press."
  domain: automation
  source_url: https://community.home-assistant.io/t/z2m-ikea-tradfri-shortcut-button-e1812-universal-actions/522409/3
  input:
    button:
      name: Remote
      description: IKEA Shortcut Button to use (e.g sensor.kitchen_remote_action)
      selector:
        entity:
          integration: mqtt
          domain: sensor
          multiple: false
          
    single:
      name: Action when On sended
      description: Action to run when SHORT press
      default: []
      selector:
        action: {}
    double:
      name: Action when Off sended
      description: Action to run when DOUBLE SHORT press
      default: []
      selector:
        action: {}
    long:
      name: Action when Brightness_move_up sended
      description: Action to run when LONG press
      default: []
      selector:
        action: {}
        
mode: restart
max_exceeded: silent

trigger:
  - platform: state
    entity_id:
      - !input button
    to: "off"
    id: "off"
  - platform: state
    entity_id:
      - !input button
    to: "on"
    id: "on"
  - platform: state
    entity_id:
      - !input button
    to: "brightness_move_up"
    id: "long_down"

condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "off"
        sequence: !input double
      - conditions:
          - condition: trigger
            id: "on"
        sequence: !input single
      - conditions:
          - condition: trigger
            id: "long_down"
        sequence: !input long


1 Like

Thanks for this! Is there some way to make HA detect the long press and incrementally increase a light brightness until released?

1 Like