ZHA - IKEA Symfonisk sound controller for lights (the spinny one)

Blueprint to support the Ikea Symfonsik sound controller and allow it to control lights, and other devices.

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

The Symfonisk sound controller supports:

  • Single press
  • Double press
  • Triple press
  • Rotate left
  • Rotate right

Blueprint screen:

Blueprint to import:

blueprint:
  name: ZHA - IKEA Symfonisk sound controller for lights
  description: 'Control lights with an IKEA Symfonisk sound controller (the spinny ones).

    You can set functions for single press, double press and triple press. This allows you to assign, 
    e.g., a scene or anything else.

    Rotating left/right will change the brightness smoothly of the selected light.'

  domain: automation
  input:
    remote:
      name: Remote
      description: IKEA Symfonisk controller to use
      selector:
        device:
          integration: zha
          manufacturer: IKEA of Sweden
          model: SYMFONISK Sound Controller
    light:
      name: Light(s)
      description: The light(s) to control
      selector:
        target:
          entity:
            domain: light
    single_press:
      name: Single press
      description: Action to run on single press
      default: []
      selector:
        action: {}
    double_press:
      name: Double press
      description: Action to run on double press
      default: []
      selector:
        action: {}
    triple_press:
      name: Triple press
      description: Action to run on triple press
      default: []
      selector:
        action: {}
  source_url: https://gist.github.com/seamus65/0cd586edfee2e245e0b7e8081c5865f1
mode: restart
max_exceeded: silent
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 }}'
    args: '{{ trigger.event.data.args }}'
- choose:
  - conditions:
    - '{{ command == ''toggle'' }}'
    - '{{ cluster_id == 6 }}'
    - '{{ endpoint_id == 1 }}'
    sequence: !input 'single_press'
  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ args == [0, 1, 0] }}'
    sequence: !input 'double_press'
  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ args == [1, 1, 0] }}'
    sequence: !input 'triple_press'
  - conditions:
    - '{{ command == ''move'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ args == [0, 195] }}'
    sequence:
    - repeat:
        count: 10
        sequence:
        - service: light.turn_on
          target: !input 'light'
          data:
            brightness_step_pct: 10
            transition: 1
        - delay: 1
  - conditions:
    - '{{ command == ''move'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ args == [1, 195] }}'
    sequence:
    - repeat:
        count: 10
        sequence:
        - service: light.turn_on
          target: !input 'light'
          data:
            brightness_step_pct: -10
            transition: 1
        - delay: 1

3 Likes

It would be great if you were able to create a version of this for volume control and use the click options for play/pause, skip track etc.

Let me know how you get on with it, I haven’t extensively tested it.

Thanks for the blueprint!

My automation is really unstable, it’s jumping around, and the click button is flashing instead of toggle. Any ideas why?

I think the symfonisk controller has some issues with ZHA in sending multiple actions.

any news about it?

I haven’t seen anything as yet. Sorry

The rotate/dimming function does not work in this blueprint. Any ideas why?

I second this, I would love anyone to help with the dimming not working.

I just tested with mine and the dimming is working.

One of my lamps was not connecting to ZHA, so I had to fix that, but now both the zigbee one and the wifi one are dimming fine.

I must be doing something wrong then, how can I troubleshoot it?

If you go into developer tools in the Home Assistant dashboard, Events tab, then listen to zha_event

You should be able to see exactly what is being sent through as you interact with your device.

@sinnertie, @wwill
I modified the blueprint a bit and uploaded as a separate file to config/blueprints/automations/.
Clicks and dimming work fine.

Added to variables:

  command: "{{ trigger.event.data.command }}"
  move_mode: "{{ trigger.event.data.params.move_mode }}"
  step_size: "{{ trigger.event.data.params.step_size }}"
  step_mode: "{{ trigger.event.data.params.step_mode }}"

Changed conditions accordingly to:

      - conditions:
          - "{{ command == 'toggle' }}"
        sequence: !input "single_press"
      - conditions:
          - "{{ command == 'step' and step_size == 1 and step_mode == 'StepMode.Up' }}"
        sequence: !input "double_press"
      - conditions:
          - "{{ command == 'step' and step_size == 1 and step_mode == 'StepMode.Down' }}"
        sequence: !input "triple_press"
      - conditions:
          - "{{ command == 'move' and move_mode == 'MoveMode.Up' }}"
        sequence: ...
      - conditions:
          - "{{ command == 'move' and move_mode == 'MoveMode.Down' }}"
        sequence: ...

@rokoto Could you post the file? I’ve tried implementing it, but the automation disappear from automations list when I save.

I modified mine and also added a step control slider for changing how fast the brightness changes.

Thanks! Works flawlessly :slight_smile: