ZHA - IKEA Tradfri on/off switch (incl dimmer)

I had the same need actually, So I have made what we both needed. :slight_smile:
you can find it in the Gist mentioned a few posts earlier.

1 Like

Looks like just the thing I’m after - thanks for your input.
I have the above error coming up. Thoughts?
Cheers.

Reminder for me to do a dry-run on the import.
it is fixed now.

1 Like

Someone on the discord server asked for a version of this that sets the color to white every time it turns it on, so I made a quick tweak for them. I figured I’d share it here too. I don’t actually have one to test, so I’m assuming this will work. If it doesn’t let me know and I’ll take it down in shame lol.

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

blueprint:
  name: ZHA - IKEA Tradfri on/off switch
  description: |
    "Control your light(s) with IKEA Tradfri on/off switch
    
    Select the Tradfri remote and your lights.
    You can turn the lights On / Off, or hold the buttons to dim the lights"
  domain: automation
  input:
    remote:
      name: Remote
      description: The remote that will control the lights
      selector:
        device:
          integration: zha
          manufacturer: 'IKEA of Sweden'
          model: 'TRADFRI on/off switch'
    light:
      name: Light
      description: The lights that will be controlled
      selector:
        target:
          entity:
            domain: light
    color:
      name: Turn on Color
      description: What color should it turn on as? (Use a Color Name)
      default: white
mode: restart
trigger:
- platform: event
  event_type: zha_event
  event_data:
    device_id: !input 'remote'
action:
- variables:
    command: "{{ trigger.event.data.command }}"
    cluster_id: "{{ trigger.event.data.cluster_id }}"
    endpoint_id: "{{ trigger.event.data.endpoint_id }}"
- choose:
  - conditions:
    - "{{ command == 'on' }}"
    - "{{ cluster_id == 6 }}"
    - "{{ endpoint_id == 1 }}"
    sequence:
    - service: light.turn_on
      target: !input 'light'
      color_name: !input color
      data:
        transition: 1
  - conditions:
    - "{{ command == 'off' }}"
    - "{{ cluster_id == 6 }}"
    - "{{ endpoint_id == 1 }}"
    sequence:
    - service: light.turn_off
      target: !input 'light'
      data:
        transition: 1
  - conditions:
    - "{{ command == 'move_with_on_off' }}"
    - "{{ cluster_id == 8 }}"
    - "{{ endpoint_id == 1 }}"
    sequence:
      repeat:
        while:
        - condition: template
          value_template: "{{ repeat.index < 10 }}"
        sequence:
        - service: light.turn_on
          target: !input 'light'
          color_name: !input color
          data:
            transition: 1
            brightness_step_pct: 10
        - delay: 1
  - conditions:
    - "{{ command == 'move' }}"
    - "{{ cluster_id == 8 }}"
    - "{{ endpoint_id == 1 }}"
    sequence:
      repeat:
        while:
        - condition: template
          value_template: "{{ repeat.index < 10 }}"
        sequence:
        - service: light.turn_on
          target: !input 'light'
          color_name: !input color
          data:
            transition: 1
            brightness_step_pct: -10
        - delay: 1
  - conditions:
    - "{{ command == 'stop' }}"
    - "{{ cluster_id == 8 }}"
    - "{{ endpoint_id == 1 }}"
    sequence:
    - service: light.turn_on
      color_name: !input color
      target: !input 'light'

Have not tested it, but the color_name should be in the data:

    sequence:
    - service: light.turn_on
      target: !input 'light'
      data:
        transition: 1
        color_name: !input color

I made a Blueprint based on this that allows any of the actions of the 4 types of presses (on/off/hold-on/hold-off) to be overridden with custom actions. I wanted a light control button that mostly behaved like normal, but could use a long-press to turn the light on to full brightness instead of the last value. It can be found here: ZHA - Ikea Tradfri wireless dimmer with options for custom actions

Hi All!

After adding on of these switches to an automation controlling a Philips Hue light everything works flawlessly. However, when I add a second switch for a different Philips Hue light that second automation does not work, only the first one.

Have anyone of you run into this issue?