While still deciding whether I will throw out all Google speakers after Google decided to just delete features instead of paying royalties to SONOS, I found a way to re-enable Volume control commands via voice. (Yeah, Paulus I know, local control first…)
TL:DR:
- with a recent change users aren’t able to control speaker volume of speaker groups (slider or voice) within the google ecosystem because of patent issues with sonos
- using Universal Media Player, 2 scripts and 2 google routines I was able to get the voice commands back
- in my use home I only play one media at the same time and normally control all groupes speakers at once. You would need to add more scripts if you:
**play various sources at the same time in your home
** want to change speaker volume of groups in other rooms
** want commands like “20% louder”. This tutorial only covers volume up/volume down commands in predefined steps. (This will add a lot of different scripts for many different volume levels, though.)
Tutorial:
- Use Universal media player to create a new entity containing all your speakers.
(this goes to your configuration.yaml)
media_player:
- platform: universal
name: universal_player
children:
- media_player.speaker_group_1
- media_player.speaker_group_2
- media_player.speaker_a
I added all speakers as a list starting with the group having most/all speakers, adding smaller groups afterwards and having individual speakers at the end. (Universal media player inherits the volume and playing media of the first children playing something)
-
After reloading universal media player
(Settings -> Settings -> server Controls -> reload universal media player)
you should have a new entity with the chosen name which inherits played media and volume from your speakers. Changes in volume here will be reflected on the individual speaker/group. -
Create two scripts. One called something like volume up and another (obviously) volume down. The only action of these scripts are
call service -> media_player-volume_down
ormedia_player-volume_up
using your newly created universal media player as target.
-
Expose those two scripts to Google Assistant. Easy with Nabu Casa Cloud.
-
Make sure to syn entities to Google assistant via Cloud Settings and also syncing your Google Assistant to look for changes by
shouting "Hey Google, just pay sonos and give me my f***** basic feature back!saying “Hey Google, sync smart home devices” -
Create 2 routines from your google home app. As a trigger use a voice command of your liking (“louder” , “increase volume” …) and as an action go to
adjust home devices -> adjust scenes
and you should see your scripts you have configured via home assistant -
Save, try your new commands and be happy that you are a HA user + regret that you invested a lot of €€€ in Google. Home assistant will now control the volume, no more “sorry, I can’t control the volume of this group”
Tried to make it as detailed as possible, most users probably won’t need all the details but I hope it’s easy to follow.