The new Symfonisk gen2 sound remote is pretty cool. Full media control with six extra controls using the two extra buttons with dots on them. I personally call them dot-buttons, so that is what I am talking about in the title. However, mine came with a firmware version that does not create an event in ZHA for these buttons. This was firmware version 0x00010012. As of 11th of April there is a newer firmware version available (0x01000035). For anyone interested, you can find the updates on this webpage: RELEASE NOTES.
I followed this excellent guide (ZHA OTA Firmware Update / Upgrade) by user victorigualada on how to update the firmware if you donāt know how.
Using the ZHA blueprint by James Crook (ZHA - Ikea Symfonisk sound controller GEN2 (the square one)) as the base and the naming convention from the Z2M blueprint (Z2M - IKEA Symfonisk Gen2 [E2123] Media Control), now I only had to figure out which events to listen to. After figuring out which events were called throught the event listerener, I just had to make sure I use the ones that make sense and avoid double triggering. So this is the resulting blueprint:
blueprint:
# Needs the updated firmware: version 0x01000035 (mine came with version 0x00010012)
# Added dot-button support by Atlantis_One
# Based on https://gist.github.com/cooljimy84/f1f2da3a6b214879b82bf06a68d89264 by James Crook
name: ZHA - IKEA Symfonisk sound controller GEN2 for media 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.'
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
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 media_player
- 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 media_player
- 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
This the first time creating a blueprint based on events myself, so while I did test it, I cannot guarantee it works perfectly. So please let me know if you have any problems or feedback.
Please forgive my noobiness, Iām just getting started with HA and I donāt understand all the concepts.
I bought 2 TRADFRI GU10 color bulbs (345lm), and one symfonisk gen2 remote.
My goal is to control everything in the living room with that remote (lights, computer, AV receiver, TV).
Is it doable ?
Hereās what I achieved so far :
Pair the remote and the light bulbs to ZHA using a skyconnect usb key
Update the remote to the latest FW version (took more than 1 hour !).
Added @Atlantis_One blueprint and configured the dot buttons to switch the tradfri lights on/off
Nothing happens when I press the buttons
Is there a log where I can check whatās going on ? Can I control several devices with a single remote ? (this blueprint seems to only allow pairing media buttons with a media playerā¦is it so ?)
Here you can adjust the increments in volume. For some speakers that I have linked the chrome cast audio to, the 10% increment is too much, the lowest setting is either too loud or you zero. So with this one I can devide it into 20 passes or even more if I would like to. This way the volume, especially the lower volume, can be regulated more precisely to a comfortable level.
Would it be possible to implement this as well in your blueprint?
Did you manage to fix it?
If not, Home Assistant does have a Logbook (should be on the tabs on the left), but you can also go to the device itself (Settings ā Devices & Services ā Devices (Top row tabs) and click on the Symfonisk device you connected). It should have a device logbook on the right side. This way you can check if the button presses are being registered on Home Assistant. If not, the problem is on the connection between the device and HA, otherwise it is with the translation from event to action.
If you are still having this issue, can you let me know what you are seeing in the logbook when pressing the buttons?
As for the question if you can control everything with one remote, I designed it to have the media control buttons control a single media player and have full choice of what to do with the dot buttons. As for controlling multiple devices with one remote, it is possible but you would have to think of how it works. What should it do if the devices have different volumes? Change both, make them the same? And if they are not all media players, the actions have to be adjusted accordingly. This is hard to make into a blueprint that can be used easily by everyone. Iām willing to look into it if you have a good idea on how to deal with those kind of situations.
Let me know if you still need help, Iāll try to check in quicker this time!
I had the same idea myself when creating the blueprint, however I was not sure on how to implement it. You have to know the volume level in order to set it and I did not know how. As my devices go up and down with 5%, it worked for me and I left it like it is. However, I think the addition is great and with the example you linked I think I can include something similar. I will see if I can make some time coming week(end) to sit down and work on it. Iāll be sure to let you know when I do!
My dot buttons donāt work either with this blueprintā¦ even after deleted/adding the symfonisk and restarting HAā¦
They work however with manual configurationā¦ @Atlantis_One Here is what I get in the logbook when I press the 1-dot button, once and twice:
IKEA of Sweden SYMFONISK sound remote gen2 Remote Button Short Press - Button 1 event was fired with parameters: {'shortcut_button': 1, 'shortcut_event': 1}
IKEA of Sweden SYMFONISK sound remote gen2 Remote Button Double Press - Button 1 event was fired with parameters: {'shortcut_button': 1, 'shortcut_event': 2}
Thanks, my remote has the firmware versio ā0x00010012ā on it, but it creates events in ZHA now (maybe a ZHA update?). Made multiple automations for the buttons, but now I can transfer them to this blueprint. Thatās a lot cleaner!
Nevermind, after updating the firmware it broke, re-added the remote after the ota (0x01000035) and now everything works. Thanks, I hope youāll be able to come up with a solution for the 5% volume steps.
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
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.
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).
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.
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.
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: