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

Hey guys,

I was thinking of picking one of these up. Does anyone have it controlling Spotify volume though Alexa?

Does it work ok?

Thanks

Hi.
Thanks for this blueprint, all funktions are fine and working, but i get this error message in the log.

Can anyone help me finding the error?

Logger: homeassistant.components.automation
Source: components/automation/init.py:640
Integration: Automatisering (documentation, issues)
First occurred: 08.11.05 (1 occurrences)
Last logged: 08.11.05

Blueprint Controller - IKEA E1744 SYMFONISK Rotary Remote generated invalid automation with inputs OrderedDict([(ā€˜integrationā€™, ā€˜ZHAā€™), (ā€˜controller_deviceā€™, ā€˜490c4d4ed891a9597fdec15ddf243897ā€™), (ā€˜helper_last_controller_eventā€™, ā€˜input_text.ikea_sound_controleā€™), (ā€˜action_rotate_leftā€™, [OrderedDict([(ā€˜device_idā€™, ā€˜334729b3c4920d8a4fdb3bfc095976c0ā€™), (ā€˜domainā€™, ā€˜numberā€™), (ā€˜entity_idā€™, ā€˜number.kokken_trebleā€™), (ā€˜typeā€™, ā€˜set_valueā€™)])])]): required key not provided @ data[ā€˜valueā€™]. Got None

Continuously spinning the wheel only results in on incremental change in volume. Is there any way to change this, so that continuously spinning the wheel will result in a continuous increase of the volume?

Thanks @sparkydave ! Somewhat more complicated to set up, but it works well for me.

I would still be interested if the Symfonisk Sound Controller for media blueprint can be improved so that one can continuously increase/decrease the volume.

Hi, If I have deCONZ, can I use this one? do I need a different version/code. I tried the import, but that doesnt find my remote

You would need to modify the blueprint to the deconz integration and check the rest of the code based on what you see in your deconz_events

Hi Thomas

I have used your blueprint with a lot of pleasure over the last year, but sadly core-2022.4.x partly broke this blueprint. i.e. button presses are not recognized anymore. Something changed in ZHA adding some arguments to the events. The args variable now evaluates to something like:
args: '[<StepMode.Up: 0>, 1, 0, <bitmap8.0: 0>, <bitmap8.0: 0>]'.
in stead of:
args: '[0, 1, 0]'
This issue is related: ZHA ikea tradfri button up/down buttons service calls are not recognized anymore Ā· Issue #69375 Ā· home-assistant/core Ā· GitHub

It would be great to have an official fix for that. I temporary replaced the four args checks by a param attribute check (step_mode or move_mode) in the conditions part. That fixed it for me:

  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.step_mode == 0 }}'
#    - '{{ args == [0, 1, 0] }}'
    sequence: !input 'double_press'
  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.step_mode == 1 }}'
#    - '{{ args == [1, 1, 0] }}'
    sequence: !input 'triple_press'
  - conditions:
    - '{{ command == ''move'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.move_mode == 0}}'
#    - '{{ args == [0, 195] }}'
    sequence:
    - service: media_player.volume_up
      target: !input 'media_player'
    - delay: 1
  - conditions:
    - '{{ command == ''move'' }}'
    - '{{ cluster_id == 8 }}'
    - '{{ endpoint_id == 1 }}'
    - '{{ trigger.event.data.params.move_mode == 1 }}'
#    - '{{ args == [1, 195] }}'

regards
Eric

4 Likes

I canā€™t find my controller to test it at the minute, but it sounds like you have it working for now.

Yep, works perfect again

Will @erkr 's edit be included as an update to the ā€˜officialā€™ Blueprint?

You do realise that blueprints are created by community members, so not official?

Anyone is free to create and modify blueprints as they need, and they are shared to benefit the rest of the community.

Thats EXACTLY why i put ā€˜officialā€™ in quotesā€¦

But other users canā€™t edit the post on here to include the changes so anyone that tries to add the blueprint via the URL will get a Blueprint that doesnā€™t work until YOU edit the original post.

Hi Thomas
@seamus65: As you are the original author, deserving the credits, and with a lot referenced links towards your blueprint; I thought it makes sense you would publish an update with this small fix, instead of me published just another copy. The more copies, the harder to find a working one :wink:
Regards
Eric

Eric,

I am just back from being away for a wedding, but I will get a look at updating this as soon as I can.

Thank you

And sorry Dave for being short with you. A lot going on at the minute.

Great, thx!

Updated as per your modifications as that is a good way of doing it.

Sorry for the delay.

3 Likes

ZHA was messing up these attributes, and now Itā€™s broken again :disappointed_relieved:

I made a more radical rewrite of this nice blueprint using the symfonisk device events instead of the raw ZHA events. This version is compatible with the configuration of the original blueprint:

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

    Single press will toggle Play/Pause on your selected media player.

    You can set functions for double press and triple press.

    Rotating left/right will change the volume smoothly of the selected media player,
    if that function is possible.'
  domain: automation
  input:
    remote:
      name: Remote
      description: IKEA Symfonisk controller to use
      selector:
        device:
          integration: zha
          manufacturer: IKEA of Sweden
          model: SYMFONISK Sound Controller
    media_player:
      name: Media Player
      description: The media player to control
      selector:
        target:
          entity:
            domain: media_player
    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://community.home-assistant.io/t/zha-ikea-symfonisk-sound-controller-for-media-the-spinny-one/266130
mode: single
max_exceeded: silent
trigger:
- device_id: !input 'remote'
  id: press_single
  domain: zha
  platform: device
  type: remote_button_short_press
  subtype: turn_on
- device_id: !input 'remote'
  id: press_double
  domain: zha
  platform: device
  type: remote_button_double_press
  subtype: turn_on
- device_id: !input 'remote'
  id: press_triple
  domain: zha
  platform: device
  type: remote_button_triple_press
  subtype: turn_on
- device_id: !input 'remote'
  id: rotate_right
  domain: zha
  platform: device
  type: device_rotated
  subtype: right
- device_id: !input 'remote'
  id: rotate_left
  domain: zha
  platform: device
  type: device_rotated
  subtype: left
action:
- choose:
  - conditions:
    - condition: trigger
      id: press_single
    sequence:
    - service: media_player.media_play_pause
      target: !input 'media_player'
  - conditions:
    - condition: trigger
      id: press_double
    sequence: !input 'double_press'
  - conditions:
    - condition: trigger
      id: press_triple
    sequence: !input 'triple_press'
  - conditions:
    - condition: trigger
      id: rotate_right
    sequence:
    - service: media_player.volume_up
      target: !input 'media_player'
    - delay: 1
  - conditions:
    - condition: trigger
      id: rotate_left
    sequence:
    - service: media_player.volume_down
      target: !input 'media_player'
    - delay: 1

Note1: For me it only works when selecting a media player entity not as a device
Note2: Change the delay (is in seconds) if you want to adapt sensitivity for volume control (Iā€™m using delay: 0.2)

2 Likes

Today I shared my own extended version via github gist:

This version is not compatible with the configuration settings of the blueprint on this page. So please recreate your automations. Differences:

  • added configuration input for adapting the volume delay
  • added configuration input for adapting the number of volume steps
  • added option to either pause (default) or mute for single press action
  • restricted the player selection to entities only
1 Like

Eric, many thanks, much appreciated! This seems to be currently the only working blueprint for controlling a media player with the Symfonisk Sound Controller.

Just in case you need an additional challengeā€¦ It would be great if this blueprint could be improved to continously increase/decrease the volume the wheel is being rotated in the same direction :slight_smile:

The Ikea sound controller blueprint which is part of the ā€œAwesome HA Blueprintsā€ supports this, but that blueprint is currently also broken due to the ZHA changes in core-2022.4.x