deCONZ - IKEA SYMFONISK

Blueprint for using the IKEA SYMFONISK remote, connected using deCONZ, for controlling anything in Home Assistant. Each function of the controller can be linked to a separate event.

Currently Supported Features:

  • Single, double, and triple press
  • Start and stop rotation clockwise
  • Start and stop rotation anti-clockwise

If you’re going to control only lights, I’d recommend you use this blueprint instead deConz - IKEA Symfonisk for lights.

Blueprint to import:

blueprint:
  name: deCONZ - IKEA SYMFONISK remote 
  description: |
    Control anything using IKEA SYMFONISK remote

  domain: automation
  input:
    remote:
      name: Remote
      description: IKEA remote to use
      selector:
        device:
          integration: deconz
          manufacturer: IKEA of Sweden
          model: SYMFONISK Sound Controller
    button_single_press:
      name: Controller Single Press
      description: Action to run on controller single press
      default: []
      selector:
        action:
    button_double_press:
      name: Controller Double Press
      description: Action to run on controller double press
      default: []
      selector:
        action:
    button_triple_press:
      name: Controller Triple Press
      description: Action to run on controller triple press
      default: []
      selector:
        action:
    rotate_clockwise_start:
      name: Rotation Clockwise Started
      description: Action to run when rotation clockwise started
      default: []
      selector:
        action:
    rotate_clockwise_stopped:
      name: Rotation Clockwise Stopped
      description: Action to run when rotation clockwise stopped
      default: []
      selector:
        action:
    rotate_anticlockwise_start:
      name: Rotation Anti-Clockwise Started
      description: Action to run when rotation anti-clockwise started
      default: []
      selector:
        action:
    rotate_anticlockwise_stopped:
      name: Rotation Anti-Clockwise  Stopped
      description: Action to run when rotation anti-clockwise stopped
      default: []
      selector:
        action:

mode: restart
max_exceeded: silent

trigger:
  - platform: event
    event_type: deconz_event
    event_data:
      device_id: !input "remote"

action:
  - variables:
      event: "{{ trigger.event.data.event }}"
  - choose:
      - conditions:
           - "{{ event == 1002 }}"
        sequence: !input button_single_press

      - conditions:
           - "{{ event == 1004 }}"
        sequence: !input button_double_press

      - conditions:
           - "{{ event == 1005 }}"
        sequence: !input button_triple_press

      - conditions:
           - "{{ event == 2001 }}"
        sequence: !input rotate_clockwise_start

      - conditions:
           - "{{ event == 2003 }}"
        sequence: !input rotate_clockwise_stopped

      - conditions:
           - "{{ event == 3001 }}"
        sequence: !input rotate_anticlockwise_start

      - conditions:
           - "{{ event == 3003 }}"
        sequence: !input rotate_anticlockwise_stopped

Thanks to the developers deCONZ - IKEA five button remote and deConz - IKEA Symfonisk for lights as I have reused their code to make this.

3 Likes

You’re welcome :wink: Well done m8!

1 Like

Thanks for the blueprint! I went out to buy some after seeing this. I think I found a decent way to keep repeating an action while the dial is turning. It helps that the automation mode is set to repeat. I used the repeat action under the Start rotating triggers and the Stop rotating triggers I left empty.

The Stop rotating trigger will cut the repeat function early. The amount of repeats is tied to time instead of the distance turned but it seems to work well enough.

Here is copy of the yaml section from my setup:

use_blueprint:
  path: L-Carslake/deconz-ikea-symfonisk.yaml
  input:
    remote: f8832f88ffedf1a13549e30a177dc807
    button_single_press:
      - service: light.toggle
        data: {}
        entity_id: light.desk_lamp
    rotate_clockwise_start:
      - repeat:
          count: '20'
          sequence:
            - service: light.turn_on
              data:
                brightness_step_pct: 5
              entity_id: light.desk_lamp
            - delay: '00:00:00.025'
    rotate_anticlockwise_start:
      - repeat:
          count: '20'
          sequence:
            - service: light.turn_on
              data:
                brightness_step_pct: -5
              entity_id: light.desk_lamp
            - delay: '00:00:00.025'
2 Likes

Is there a way to control multiple devices individually with E1744. I.e. dimming a light and after pressing button it controls volume of media instead.
Like:
Dim kitchen-light -> press button -> raise volume -> press button -> dim kitchen-light

Searched, but found nothing.
I, for example, want to control two Squeezeboxes independently, and switch between them with pressing the rotary switch.

1 Like

You could have an input_select with the things you want to control: Brightness/Volume/etc.

A single button press could go to the next option in the input_select. Then on a turn you would have to evaluate the state of the input select. If brightness selected change that, of volume selected change that.

Thank you for this blueprint, it helped in the setup of mine.

I did something like this with our two controllers.
One is to control the media in the living room and the other is for the kitchen.
But if we triple press that gives us 10 seconds to control the other room.

So if the kids run from the living room to the kitchen for dinner we can still pause/control the volume from the kitchen.
It’s a great feature.

I am wondering if I should buy this one or not. I would like to have it working like this; single button click groups 4-5 Sonos speakers and plays preset radio station and different volume for each speaker. Is that possible?

I managed to get it working in the Ikea app for the shorcut button (Except individual volume %)

It’s probably possible.

If you have one as the main speaker. Then you can set the volume based on the main.

Main speaker volume cotroll

{{ state_attr('media_player.main','volume') + 0.05 }}

Other speaker volume cotroll

{{ state_attr('media_player.main','volume') + 0.2 + 0.05 }}

The above means “other” is playing 20% louder than main.
The issue that could happen is that when you reach 0 or 1 as volume you need to adjust for that.
If main is 0 you probably want other also to be 0.