ZHA - Ikea Symfonisk sound controller GEN2 (the square one) with dot-button support for new firmware

I’m wondering if there’s a way to add an action to one of the dots button that would change the media player. Like “short press one dot” = media player 1, “short press 2 dots” = media player 2, etc

In the meantime My small contribution to improving this remote :slight_smile:

1 Like

If you have an Ikea Tradfri hub and the Ikea Home Smart app you can update the firmware by pairing the remote to the Tradfri hub, the update starts automatically. When you’re done you reset the remote and pair with your Zigbee controller.

1 Like

Just want to say thank you, this blueprint works like a charm. In addition to controlling a Roon media player, I turn the lights on/off and can control lights dimming (by using the long press actions). :slight_smile:

1 Like

Big thanks to @Atlantis_One for the base blueprint and @Pavoni for updating it to work properly (with mine at least) dots.

I’ve got a question for the group tho - I’m using the single dot, and double dot, to add/remove a second speaker from the group. When I add the second speaker, the volume control only controls the original speaker selected in the first line of the automation. Any ideas on a smooth way to control the group volume? On a semi-related thought, I’d also like to have a script execute to bring the volumes in line with each other when joining the groups. But that can be phase 2 of my goals.

1 Like

The roon api only provides access to an individual volume control - so for a grouped zone you need to adjust each volume individually.

You’d need to change the blueprint to do this. I have a little logic in one of my automations that depends on whether the zone is grouped - here is the code in case it helps you get started.

 - condition: template
   value_template: >-
      {{ not is_state_attr("media_player.shower", "group_members", []) }}
1 Like

Thank you - this was really useful and inspired me to create my own version which supports holding down the volume buttons and also configurable step amounts when single tapping the volume:

2 Likes

@danieldurrans I just tried it and it works very good, i just have one question.
For sonos system is it possible to control the volume of all grouped speakers?

Unfortunately I can’t answer that question. I don’t use my Sonos speakers in groups (my use-case is to control a single speaker in the kitchen). Having read a few other threads I understand it may be necessary to extend the code of the blueprint to determine if the speaker is part of a group and then iterate through the group to control the volume. This isn’t something I am able to test.

has anyone had issues with the blueprint not finding any matching devices?
The device is added via zigbee2mqtt. SYMFONISK sound remote gen2

As the title says ZHA I would assume you should have issues.
You need to find a blueprint for Z2M or just create an automation yourself.

1 Like

thanks that makes sense

Hi, I’ve been trying to update my remote from 0x00010012 to 0x01000035, but getting nowhere. I’ve updated some other Ikea remotes (with some difficulty) before, but this one seems to be completely refusing. The buttons besides the dots work, but none of the steps in the linked ZHA OTA guide work. The service call goes through (only if I’m pressing buttons on the remote while calling), but alas, no update seems to start.
Also, checking the current version via the cluster gives me “None”:


Any ideas?

Why do you need to update it?
I only see updates as a risk of something failing.

Because, as the OP mentioned, updating the firmware is necessary to get the dot buttons to work with ZHA (or at least, to get them to work with this blueprint)

They work fine for me.
I have not updated my remote

Edit:
I see that mine already have the update.
0x01000035

Well dang. Maybe I’ll try another method of updating… Z2M perhaps?

If it helps anybody, I edited this blueprint to suit my situation of having a separate amplifier/receiver and media player. I only use my Denon AVR as an amp, none of the media funtions are used as I play media using my Nvidia Shield TV Pro. As such, I’ve split out the volume and media controls since the shield was making the amp change volume in bizarre ways.

blueprint:
# Needs the updated firmware: version 0x01000035 (mine came with version 0x00010012)
# Added dot-button support by Atlantis_One
# Added amplifier control by Luke Mellor
# Based on https://gist.github.com/cooljimy84/f1f2da3a6b214879b82bf06a68d89264 by James Crook
  name: ZHA - IKEA Symfonisk sound controller GEN2 for media, amplifier and dot-buttons control
  description: 'Control media with an IKEA Symfonisk sound controller GEN2 (Square one).
    Full media control with the media buttons (play/pause, volume up/down and skip/previous track).
    Fully customisable dot-buttons, with options for single, double and long press for each one.
    Added separate amplifier control.'
  domain: automation
  input:
    remote:
      name: Remote
      description: IKEA Symfonisk controller GEN2 to use
      selector:
        device:
          integration: zha
          manufacturer: IKEA of Sweden
          model: SYMFONISK sound remote gen2
          multiple: false
    media_player:
      name: Media Player
      description: The media player to control
      selector:
        target:
          entity:
            domain: media_player
    amplifier:
      name: Amplifier
      description: The amplifier to control
      selector:
        target:
          entity:
            domain: media_player
    single_dot_single_press:
      name: Single dot (Single press)
      description: Action to run on single dot press
      default: []
      selector:
        action: {}
    single_dot_double_press:
      name: Single dot (Double press)
      description: Action to run on single dot double press
      default: []
      selector:
        action: {}
    single_dot_long_press:
      name: Single dot (Long press)
      description: Action to run on single dot long press
      default: []
      selector: 
        action: {}
    double_dot_single_press:
      name: Double dot (Single press)
      description: Action to run on double dot press
      default: []
      selector:
        action: {}
    double_dot_double_press:
      name: Double dot (Double press)
      description: Action to run on double dot double press
      default: []
      selector:
        action: {}
    double_dot_long_press:
      name: Double dot (Long press)
      description: Action to run on double dot long press
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/zha-ikea-symfonisk-sound-controller-gen2-the-square-one-with-dot-button-support-for-new-firmware/573802
mode: single
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:
    - service: media_player.media_play_pause
      target: !input media_player
  - conditions:
    - '{{ command == ''move_with_on_off'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.move_mode == 0}}'
    sequence:
    - service: media_player.volume_up
      target: !input amplifier
    - delay: 0.1
  - conditions:
    - '{{ command == ''move_with_on_off'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.move_mode == 1 }}'
    sequence:
    - service: media_player.volume_down
      target: !input amplifier
    - delay: 0.1
  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.step_mode == 0 }}'
    sequence:
    - service: media_player.media_next_track
      target: !input media_player
  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.step_mode == 1 }}'
    sequence:
    - service: media_player.media_previous_track
      target: !input media_player
  - conditions:
    - '{{ command == ''short_release'' }}'
    - '{{ endpoint_id == 2 }}'
    sequence: !input single_dot_single_press
  - conditions:
    - '{{ command == ''multi_press_complete'' }}'
    - '{{ endpoint_id == 2 }}'
    sequence: !input single_dot_double_press
  - conditions:
    - '{{ command == ''long_press'' }}'
    - '{{ endpoint_id == 2 }}'
    sequence: !input single_dot_long_press
  - conditions:
    - '{{ command == ''short_release'' }}'
    - '{{ endpoint_id == 3 }}'
    sequence: !input double_dot_single_press
  - conditions:
    - '{{ command == ''multi_press_complete'' }}'
    - '{{ endpoint_id == 3 }}'
    sequence: !input double_dot_double_press
  - conditions:
    - '{{ command == ''long_press'' }}'
    - '{{ endpoint_id == 3 }}'
    sequence: !input double_dot_long_press

(realised that I’d messed up, edited my post with the latest revision)

After the firmware updates, my button now shows this:

Firmware: 0x01000035

And the 1-dot and 2-dot buttons no longer do anything. They used to, but not anymore. Both of mine are like this.

A good reason to stop updating stuff that don’t need updates.
I know one of mine had this when I bought it, I just removed it and paired it again a few times and it just started working.

I didn’t remove mine, but I did reconfigure and readd it a few times. Same issue.

Are you saying that completely removing the button and re-adding it will fix the 1- and 2-dot button issue?

My battery is also showing 200% on both devices. Pretty sure that’s also wrong.


In terms of firmware updates, I just wanted the messages to go away. But also, I don’t know exactly what needs updating. Maybe it’s a security fix, maybe it reduces battery usage. But in this case, maybe it breaks things.