Question

Sonos and Alexa Smart Groups Integration

  • 3 November 2017
  • 32 replies
  • 6684 views


Show first post
This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

32 replies

I think a lot depends on your definition of cloud.

Many manufacturers are using it to really just describe the ability to gain an entry point into your network without you having to setup your own dynamic DNS.



For Hue, when used with Apple Homekit, Apple use their Apple TV device as the remote entry point, along with your iCloud ID with 2 factor authentication mandatory. The local device (Apple TV) then communicates directly with the Hue bridge, and through the Apple Home app, you can turn your Hue lights on and off and also query the status of Hue sensors. None of this requires a Hue login to be active.


I don't think that's really the case. I could be off on this, but I'd be surprised if the connection between Apple and Hue decides that it doesn't need your Hue login, or that it doesn't communicate through the cloud when Apple and Hue or on the same wifi network.


So I think it's very much an Amazon policy that they do their processing for Alexa in the cloud. Hue can provide remote access to your lights via their app if you create a Hue login and I suspect that they provide simply an entry point to your network to access the Hue Bridge.


Yes and No. For smart skills, Amazon's policy definitely seems to be that they process it before passing it on to whatever vendor cloud needs to act on it. That's partly because they have to figure out where to send it to, otherwise you'd have to say "Alexa, tell Phillips to turn off my bedroom light'. As well, I am sure they want to know exactly what you're asking for so they can communicate state back to you, and for their own research data.

For normal skills, they just pass it to the right vendor cloud and be done with it. As an example, my pool is controllable by wifi. I can change settings from an app, at home or remotely. A couple months ago, an Alexa skill was created. To use it, I have to say, "Alexa, tell Hayward to turn on the filter pump". The Alexa cloud doesn't know what that means and probably doesn't care. Alexa can't tell my whether the pump is running or not, it can only pass to the vendor. And I can't do any routines to turn on the porch light at the same time and stuff like that.


So I think Sonos do have choices here. I don't know if there is enough CPU left on Play speakers (they do seem to run Linux after all) to run some kind of Sonos server app that Alexa and other voice assistants could use for pertinent information as that would be the least disruptive solution to users.


Sonos has had API out for awhile now, so that other devices could control Sonos, and people could write their own control apps. People on this forum have done so, there are a few smart hubs (Smartthings, Lutron) that can control Sonos. So I believe that you are correct in the at the Sonos CPU can handle requests. It was limited in a lot of ways, but possible. One limitation was that whatever hub or program was making the request to Sonos had to be on the same wifi network...because Sonos didn't have a cloud.

I don't know what kind of choices Sonos had in how the interface was created. Maybe they could have create a normal, non-smart skill. But that has limitations. Maybe Amazon wasn't going to approve such a skill, I don't know. Maybe Sonos didn't want competitors creating a smart skill while their skill wasn't.


Cloud IMO makes it harder to integrate local Sonos function as then Sonos Cloud is collecting information about *all* Sonos systems and potentially what's playing on them and maybe all the local libraries. That's a lot of info to hold centrally at Sonos and process in a timely fashion so that response times are acceptable in response to commands. The logic may not be that hard, but what happens if Sonos have issues?


I don't really know where cloud processing and local processing is divided when it comes to Sonos. Most smart devices are relatively dumb when compared to Sonos devices, because they never needed to be smarter. Sonos predates smart devices and thus is capable of more. I have seen Sonos staff say though, that if Alexa could request music from your local library, your local library would need to be indexed in the cloud.


It's interesting how Sonos has developed from being primarily a local music multi-room playback system to now more internet/cloud based. The Amazon model isn't the only one out there, and if Sonos are to maintain their position of audio service integrator, I'm not sure copying Amazon and going all cloud will make that the easiest way.


I don't think they're going all cloud at all. From what I've seen, the cloud only exists as a means of control from external sources only. I doubt they are going to start moving any core functions to the cloud, so that t can't function without an internet connection.
Userlevel 2
Badge +3
FYI i asked the same thing in this forum.

https://en.community.sonos.com/amazon-alexa-and-sonos-229102/renaming-issue-using-alexa-smart-home-groups-and-sonos-6793628/index1.html#post16164005

What Jgatie says is right we need Amazon to release an SDK that allows Sonos to integrate with alexa more closely to do the smart home groups (which is what they are called). Right now the sonos one is not considered an "alexa enabled device". I sent an email to amazon and they told me this:

"Thank you for writing in.

I understand your inquiry regarding Sonos one smart speaker. I will be glad to help you with

I did check at my end and please be informed that at this time Sonos speaker alone is not an Alexa enabled device however you can control Sonos compatible smart home speaker through Alexa with smart home skills.

Miguel, this smart speaker directly cannot work with Alexa as you will need a Sonos skill, Sonos companion app and a Sonos compatible speaker with it.

Please be informed that you can also use Sonos One’s alexa speaker in a smart home group.

Now in Open Beta, wirelessly connect all of your Sonos speakers to any Amazon Alexa enabled device, like the Echo or Echo Dot, then just ask for the music you love.

Just enable this skill and you’ve got quick, hands-free control of your favorite music and more. Currently, you'll need to say the name of the room when you start music or control the volume. "Alexa, play jazz in the living room." "Alexa, turn up the volume in the kitchen." This is temporary, and will improve throughout the beta.

You can check the Sonos system requirements here: https://sonos.custhelp.com/app/answers/detail/a_id/127/~/sonos-system-requirements

For any further queries or assistance, feel free to contact us again."

Albeit the Amazon support usually goes off on a tangent by assuming something else which is what they did by assuming that i didn't know i could use an echo dot to control sonos, but they did answer my question by saying sonos is not an alexa enabled speaker becuase it needs a skill. Also you can verify this as you see in your app the sonos one creates 2 devices in settings one is an alexa and another is the speaker itself.

I'm just trying to steer this conversation back to the smart home groups which was answered by jgatie early on 🙂
Userlevel 4
Badge +1
The API's and SDK mentioned are not the answer... they are about controlling audio speaker grouping and provide two methods, one for companies like Sonos who have their own proprietary grouping and audio syncing and then the second method for companies that want to use Amazon methods and sync with Echo based speakers.

None of which is what I'm asking about which is for the Amazon/Sonos logic (where-ever it is) to use the new Alexa-enabled smart group information to allow commands to be given more naturally, and for it to also use this information for more intelligent ducking.

Once that works, then it would obviously be very good if you could control Sonos groups through Alexa commands (this would require the API/SDK) and if you're in a room that also has a speaker that's in an active group, your commands would default to any active group in that room controlled by Alexa. That however is very much an extension, and not the underlying issue.
Userlevel 4
Badge +1
I don't think that's really the case. I could be off on this, but I'd be surprised if the connection between Apple and Hue decides that it doesn't need your Hue login, or that it doesn't communicate through the cloud when Apple and Hue or on the same wifi network.Well, given that I have Hue setup with Homekit, and you don't enter your Hue ID anywhere in the process, and that Apple's iCloud is mostly about storing rather than processing, we'll have to respectfully disagree :)

I don't really know where cloud processing and local processing is divided when it comes to Sonos. Most smart devices are relatively dumb when compared to Sonos devices, because they never needed to be smarter. Sonos predates smart devices and thus is capable of more. I have seen Sonos staff say though, that if Alexa could request music from your local library, your local library would need to be indexed in the cloud.But that is by Sonos' own choice though... The homebrew Sonos skill that's been mentioned several times doesn't run in the cloud, but does need a local server device that creates the Sonos requests to pump to the Sonos devices. It can then control the local library without it needing to be in some cloud.

The advantage Sonos have is they could, if it's not too resource hungry, build that server query function into the speakers instead. If they either wanted to or can. They could definitely create a Boost type device to do that, if they wanted to.

If their primary market has changed to streaming services, well, they don't work if the internet is broken, so any Sonos user with no local library is out of music if they're out of internet, so not being able to control it in that scenario doesn't really matter. Likewise any smart device that relies on out of home processing. No internet no control...

But getting way off topic now... Between them, Sonos and Amazon have enough information to use Alexa enabled smart groups where-ever it is, to make the experience more intelligent and less wordy, or more natural. It would be good to see the skill improve in that way and also for the Sonos One to gain full Alexa enabled device status in those groups. Else Alexa enabled Sonos speakers will be second class devices for smart home control.

Well, given that I have Hue setup with Homekit, and you don't enter your Hue ID anywhere in the process, and that Apple's iCloud is mostly about storing rather than processing, we'll have to respectfully disagree :)


Nah. I'll take your word for it. I don't recall why it's relevant anyway.


But that is by Sonos' own choice though... The homebrew Sonos skill that's been mentioned several times doesn't run in the cloud, but does need a local server device that creates the Sonos requests to pump to the Sonos devices. It can then control the local library without it needing to be in some cloud.


Again, I can't assume Sonos made all the choices here. Amazon certainly had some say in how the integration was going to work. Even then, from a support perspective, I'm sure Sonos would rather support a cloud than thousands of servers. It's find for homebrew freeware because they don't have an obligation to provide support. And the homebrew Sonos skills are not smart skills. You can't setup one of these homebrew skills and see your devices listed in Alexa, much less put them into a smart group.



The advantage Sonos have is they could, if it's not too resource hungry, build that server query function into the speakers instead. If they either wanted to or can. They could definitely create a Boost type device to do that, if they wanted to.


That functionality is already there. You can run search queries with the Sonos app without being using any cloud resources.


But getting way off topic now... Between them, Sonos and Amazon have enough information to use Alexa enabled smart groups where-ever it is, to make the experience more intelligent and less wordy, or more natural. It would be good to see the skill improve in that way and also for the Sonos One to gain full Alexa enabled device status in those groups. Else Alexa enabled Sonos speakers will be second class devices for smart home control.


I don't think there is any disagreement here. We just disagree on how it gets done I suppose.

BTW (off-topic), I am generally disappointed in Amazon's implementation of the smart groups. It's really rather useless to me, given my setup which I think would be rather common. Each of my bedrooms has both a light and an overhead fan, both controlled by switches. Amazon assumes that every switch I put in a smart group is a light. So when I ask to turn off the light, it turns off both the light and the fan. There is no way for me to tell Alexa that that is a light, and that is a fan. If I had plugs in the room, same issue, I couldn't further define what it is. I am better off just just using the full name of the device.

When setting it up, I thought I would be allowed to create the group 'Jill', and then add the device's 'light' and 'fan', and the related echo to the group. Therefore, when I asked the related echo to turn off the fan, it would do just that. From the other echo's, I could ask to 'turn off Jill's fan' and it would know I meant the device called fan in the Jill group. But no, the smart group doesn't work that way. Perhaps it will allow smarter functionality in the future.

Back on topic though...I don't see that being an issue when a Sonos speaker is added to a smart group and Alexa is programmed to know what it is and what to do with it. It's more of an issue for generic devices like switches and plugs.
Ditto. We would love the ability to add the Beam (in my case) to a Smart Home group.
For sure. This is a huge missing feature. I have to buy a dot for every room I have a Sonos just for this. Starting to become a Sonos hater..:.