Sonos - How does yours look?

@VMCosco
I’m close to having this working…
Can you explain what the “Visible User” lines are for in your sonos view yaml?

Got it working!.. Holy balls this was a PITA to do, but well worth it.
I’ll have to massage the code some more to simplify this. I’m not as split up in configs as you are, but I see where I might need to! Thanks for the files and a great start!

Guessing you are using a round-corner theme?.. I need to look into those too!

I’m glad you got it working. I use the Google Dark theme with a few of my own colors added.

Yes, the coding for this is a pain in the butt. I am sure there is an easier/cleaner/more condensed way to do it, but that is the issue with a lot of my HA config. I know enough to get things accomplished but not enough to me super efficient.

This is really awesome! Got it up and running as well. Got one small question, at the bottom with the grouping. I’ve just 2 speakers, so when I group them together, is it the idea that on selecting the other speaker, at the bottom the “other” grouped speaker is turning yellow as well? Or isn’t it supposed to work that way?

Thanks. Whichever master speaker you have selected in the top section should be greyed out with a lock in the bottom section. This so that you don’t inadvertently try to group a speaker with itself. Any additional speakers that you select to group with the master should be highlighted.

Yeah, that lock is working fine. But if you have speaker 1 and 2.
Say, you select speaker 1 at the top, and at the bottom, you can’t select speaker 1 (which is locked as expected), but there you select speaker 2. So both speakers are grouped.

If you switch over at the top to speaker 2, at the bottom you see the lock appearing at speaker 2 (as expected), but it’s also yellow, and the speaker 1 is grey. Is that how it’s supposed to work? Because they’re still grouped right? So isn’t it supposed to say that 1 is yellow as well, cause of they’re grouped together?

I get a similar experience…
In this example, If I click kitchen, it does not group. (notice the speaker description says Bedroom Sonos and not Bedroom Sonos +1)

In this example, I simply selected the Kitchen speaker up top… then selected Bedroom and now I have a group

I then have to click back over to Bedroom speaker up top… then unselect Kitchen speaker in Group to make this work.

In this picture… you can see that no matter if I on the Bedroom speaker and I click Kitchen it does not say Bedroom Sonos +1… It will not group

The 2nd speaker just doesn’t allow to be grouped, but the 1st speaker does.

At my place, the grouping works fine on both. But the issue is the visual bottom “group” buttons. When I should’ve clicked Kitchen at the top, and I group Bedroom to it, it’s working as expected and grouped everything.

When I then will go to Bedroom speaker, I still see that it’s grouped at the player itself, but at the bottom, I don’t see the “Kitchen” in yellow as well, only the locked (as expected) Bedroom.

@jvalst @fireheadman

I am not quite sure how to help with the issues that you are having. If I do what you both are doing, I have the same issue but I am not sure why you would do what you are doing. You are trying to set a speaker as the “master” that is already part of another group.

Bottom line is that this is intended to select the master speaker (top) and then select a speaker(s) to group with that master (bottom). If you want to set another speaker as the master, you probably need to ungroup your existing group and start over with another master.

1 Like

HI GUys,

sorry iam a beginner, but what meens this one:

The decluttering_templates.yaml is copied on the root, thats right?

I hope anyone can Help me?

The decluttering templates need to go directly in the YAML file for the UI (ui-lovelace.yaml or another Lovelace dashboard) or you can have a central YAML anywhere and simply link to it using !include. The latter is how I did it as you can see below:

image

1 Like

It looks great.
But how can help this beginner to make it?

thx

MLux

Hey guys look for any help anyone one here can provide. Hoping that @VMCosco may be able to also help out. Prior to coming across this thread I had been trying to setup a dynamic sonos view on a wall devices. They way I had envisioned it was very much like the one, but that has not been a success. So I have pivot to the method that you guys are using. The issue I am having is with my script. I have checked all my templates in Dev>templates and I get all the correct responses, no erros, but no matter what I do I am not able to get any type of music playback. When I check it in the Trace timeline that is now available for scripts is get this error messageStopped because an error was encountered at September 22, 2021, 5:51:15 PM (runtime: 0.02 seconds) not a valid value for dictionary value @ data['entity_id']

Here is my Script:

source_favorites:
#    alias: Play Pandora Favortes 
    sequence:
      - service: input_select.select_option
        target:
          entity_id: "input_select.pandora_station"
        data:  
          option: "{{ source_list }}"
      - service: media_player.shuffle_set
        data_template:
          entity_id: "{{ states.input_select.media_player.state }}"
          shuffle: "{{shuffle}}"
      - service: media_player.select_source
        data_template:
          entity_id: "{{ states.input_select.media_player.state}}"
          source: "{{ states.input_select.pandora_station.state}}"

This is my dynamic interface , the should change to show the players that are “Playing”. Currently I am using the custom:select-list-card. This has not worked so far so I am willing to go button cards, but just need the script to work before I make the interface changes.

Hey guys!

After few years of understanding HA, yaml, integrations etc, I’ve been able to find a bit of time to setup a “good-looking” dashboard/card for my Sonos (I have two speakers atm).

Here is the dashboard for my “GROUP / ALL” speakers:

and this is for one of the two:

Everything achieved with mini-media-player

2 Likes


I’ve been trying so long to get the track list of the chosen playlist on the right, but still no luck :slight_smile:
The drop down is list of users in my family subscription of sonos. On the top it’s easy to pick radiostation. Grouping is done using the button on the top

Kr,

Bart

Care to share how you can group and ungroup your Sonos? I have mine showing but cannot ungroup them. I think I read somewhere they have to be ungrouped from the Sonos app first?

As you can see I have them showing but the buttons do nothing.

Capture

coming back to this thread… noticed I was getting some errors on grouping/ungrouping due to changes in HA code…

Error executing script. Service not found for call_service at pos 2: Unable to find service sonos.join Error executing script. Service not found for call_service at pos 2: Unable to find service sonos.unjoin
see here as a start: https://community.home-assistant.io/t/migrating-sonos-join-to-media-player-join/449446/3
https://community.home-assistant.io/t/errors-when-using-media-player-join-with-sonos/427559

Had to update all occurrences of sonos.join / sonos.unjoin to media_player_join / unjoin
but that pushed me to the next issue:

Error executing script. Invalid data for call_service at pos 2: extra keys not allowed @ data['master']
…Still looking for how to correct this one…

Found the solution… here is is.
Here is the before code:

  group_sonos_table_lamp_1:
    value_template: "{{  is_state('input_boolean.group_sonos_table_lamp_1', 'on')  }}"
    turn_on:
      - service: input_boolean.turn_on
        entity_id: input_boolean.group_sonos_table_lamp_1
      - service: sonos.join
        data_template:
          master: "{{ states.input_select.sonos_master.state }}"
          entity_id:
            - media_player.table_lamp_1_sonos
      - service: media_player.volume_set
        data:
          entity_id: media_player.table_lamp_1_sonos
          volume_level: 0.2
    turn_off:
      - service: input_boolean.turn_off
        entity_id: input_boolean.group_sonos_table_lamp_1
      - service: sonos.unjoin
        data:
          entity_id: media_player.table_lamp_1_sonos

Here is the after code:

  group_sonos_table_lamp_1:
    value_template: "{{  is_state('input_boolean.group_sonos_table_lamp_1', 'on')  }}"
    turn_on:
      - service: input_boolean.turn_on
        entity_id: input_boolean.group_sonos_table_lamp_1
      - service: media_player.join
        target:
          entity_id: "{{ states.input_select.sonos_master.state }}"
        data:
          group_members: media_player.table_lamp_1_sonos
      - service: media_player.volume_set
        data:
          entity_id: media_player.table_lamp_1_sonos
          volume_level: 0.2
    turn_off:
      - service: input_boolean.turn_off
        entity_id: input_boolean.group_sonos_table_lamp_1
      - service: media_player.unjoin
        data:
          entity_id: media_player.table_lamp_1_sonos