Alexa + Sonos: How it Works



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.

179 replies

Userlevel 2
Badge +2

Ryan, after reading your opening post, I can only say that Alexa and Sonos do not always “just work.”

 

I have had numerous times where Alexa stops responding to my Sonos Ones/Sonos Beam setup. There is not always a Sonos app software update (software updates sometimes cause Alexa glitches; I am not sure why, but I now always check if Alexa is acting glitchy to see if an update is needed). Sometimes there is a Sonos software update, but it doesn’t always fix Alexa’s lack of response to my Sonos Ones and Sonos Beam. 

 

The only sure-fire way I have found to get Alexa functioning again is the nuclear option: deregistering all devices via the alexa.amazon.com website, disabling the Sonos skill, removing Alexa from all rooms/Sonos speakers, signing out of all Sonos and Amazon products, restarting my phone … and painstakingly adding it all back again. But why is this necessary?

 

Again, why is this necessary? I have seen numerous complaints on here about these issues--Alexa and Sonos not communicating properly.  Alexa was working fine, but now she doesn’t respond to Sonos. 

 

The fix is for the Sonos developers to take these complaints seriously and work with the appropriate Amazon dev team to get to the bottom of why these glitches happen. In my case, sometimes they appear to affect one or two skills, but if left unchecked, it ends up affecting all skills; i.e., a nonresponsive Alexa that needs the nuclear option in order to once again function with Sonos.

Userlevel 3
Badge
Great new feature, but I don't see any way to play from my music library. Is that in the works?

Some interesting discussion in this podcast with Patrick Spence: https://www.recode.net/2018/2/2/16961978/sonos-patrick-spence-apple-homepod-alexa-virtual-assistants-too-embarrassed-swisher-goode-podcast

Right around :32 minute mark, he teases about Alexa controlling everything Sonos does, evens hints at Apple Music being controlled by Alexa. Possible? Maybe...


I highly doubt it given the Sonos One still seems incapable of playing audio for any added Alexa skills. She responds like she will play the request but then you get silence. A bit like the Sonos support team, it looks like they're going to respond to this issue (since October) but then silence...


It must be your pleasant attitude when dealing with people on the forum - Reap what you sow!


Interesting theory. So you're saying that my antagonistic posts are the cause of the Sonos One not working as advertised? Wouldn't that cause a temporal paradox? How would they know I would respond that way when they're not working, and how can I be sure my response was not triggered by the fact they're not working? Maybe Alexa can time travel?

Yes guilty m'laud for some snippy posts, but there are several threads asking about this, some have been going since October, and in at least one of those it is stated that this functionality indeed does not yet work on the Sonos One (see below).

https://en.community.sonos.com/amazon-alexa-and-sonos-229102/sonos-one-not-playing-alexa-output-6792472

Despite this, there are other threads that suggest if you get the silent treatment from Alexa, reset everything and delete everything, and disable and re-enable everything, clear your caches, browse in private mode and change your social security number and... it won't change a thing!

So that was the reason I was grumpy... honestly I am not a complete douche, but it's kind of like when you call tech support for your internet service provider and they make you clear your cache, reset your browser (and forget everything) and reinstall Windows/macOS and buy a new laptop and go on a diet for 3 weeks... and then after you've tried everything they ask, they finally say "there's an outage in your area"... If that doesn't frustrate you, I bow to your superior disposition, I really do.

-Peace
Badge
I've run into one problem.. I ask Alexa to play a radio station on the Sonos (in the kitchen). And it does! But then I can't get Alexa to stop it. It plays from Tunein, and shows up in the Sonos app and I can end it from there. What do I need to say to Alexa to get her to stop it?
Userlevel 7
Badge +26
I've run into one problem.. I ask Alexa to play a radio station on the Sonos (in the kitchen). And it does! But then I can't get Alexa to stop it. It plays from Tunein, and shows up in the Sonos app and I can end it from there. What do I need to say to Alexa to get her to stop it?
Hi Mike, try "Alexa, stop." If that doesn't work, "Alexa, stop in the ...."

You can also use "pause" instead of "stop".
Userlevel 7
Badge +26
This is more of a hardware question - for people with in-ceiling speakers where you have say a Connect:Amp, will the new Alexa integration benefit you as well? Or is this only for the physical Sonos speakers?

So for example: I am running a connect amp, into a receiver which powers my in-ceiling speakers. I also have an echo/dot somewhere in the house. Can I say, Alexa, play "xxx" in the kitchen?

Because in theory, Alexa now communicates via wi-fi to the Sonos cloud. So does that work with the amp? Or only physical speakers? Hopefully this makes sense?

Makes total sense. The commands are sent to the Sonos cloud, then down to your players over the internet and network. Strictly speaking, Alexa doesn't even know the difference between your Kitchen CONNECT:AMP or a PLAY:1 called Kitchen. It's just looking for a Sonos player with that name.

Those commands will work great for you. The Alexa device in the Kitchen just needs to be online, same as your CONNECT:AMP.
Userlevel 7
Badge +26
Airgetlam beat me to it.
Userlevel 2
Badge +1
Playing with it, this is freaking awesome... And more flexible/powerful than I thought it would be for the first generation of integration.
Wow!
npompei,

Yes, if you have an Alexa device that can hear you, you can control any of your associated sonos devices.


Awesome news! Thank you Airgetlam and Ryan S!
I'm unable to enable the Alexa skill. Despite going through the Amazon and then Sonos dognon pages it still doesnt appear as an enabke skill. Any ideas?
Been waiting a long time for this - it's really great! My question for someone in the know:

I can enable two rooms to play from Pandora if I ask Alexa separately, i.e., one at a time. Is there something I'm missing to play in each room with just one command?

Thanks.


Grouping functionality is not in this release, though it may be planned for the future. For now, you need to Group via the app, then you can use a voice command to either room and it will play in both. Or vice versa, voice to play in a room, then Group via the app.
Ok. so after adding skill and scanning. If I say "Alexa, play jazz on Couch" it plays jazz on Alexa. But if I say. Alexa, play Music on Couch" it plays music on Sonos. So what should I be saying to have some... ANY control on what I hear on Sonos right now? 🙂
3 Questions:

Is there an Alexa command to have Sonos "TV" audio play?
Is it possible to tell Alexa to play the same music/song/playlist in multiple rooms or "all"?
Is it possible to tell Alexa to play a *Sonos* playlist?
3 Questions:

Is there an Alexa command to have Sonos "TV" audio play?
Is it possible to tell Alexa to play the same music/song/playlist in multiple rooms or "all"?
Is it possible to tell Alexa to play a *Sonos* playlist?


1. No. Alexa doesn't understand that your player has a TV input right now.
2. Not yet, but we'd love to add that one day.
3. Nope. Again, something we'd like to see for the future. Alexa doesn't have direct access right now to your favorites or library.


#1 is really unfortunate. The main thing I do is swap between TV and Music/Live Radio audio on my Sonos speakers.
I hope that comes in a future update.

Glad to see my employer, iHeartRadio is there and that feature works really well. 🙂
It sounds to me as if Alexa doesn't pass 'search' commands to the Sonos cloud. It only passes exact commands if that makes sense.

In other words, if you say 'Alexa, play Tom Petty". Alexa will see that you Tom Petty Songs in your Amazon library, then tell Sonos to play Tom Petty songs from your Amazon library. On the other hand, if you want to don't have Amazon Prime, but have Tom Petty in your NAS library, Alexa doesn't know this, so can't tell Sonos what to do (even though Sonos would know what to do if you searched on the Sonos app)

That makes me think that there are, or will be, some more 'stated' features, that the interface isn't completely stateless.
Userlevel 4
Will the voice control on the Sonos One have more access?
Userlevel 3
Badge

If I ask Alexa to start playing music in the bedroom all the Sonos speakers will play. Should it be possible to just start playing on one speaker or do I need to group/ungroup in the app before giving the play command?
It'll start playing in all the rooms that are grouped with that player. If you just want to play in that room, you'll need to separate the group out. We'd love to add some grouping features one day, so stay tuned. The skill will get better and have more features over time.


I get that grouping/ungrouping is not yet available through voice, but I have to say that this seems like the wrong default behavior. I'd much rather have it be that if I specifically tell Alexa to play music in a given room that it would play in that room and that room alone (breaking any existing groups if necessary) and then I could use the app or the new long-press feature on the speakers to add additional rooms to create a new group if I want.

I know that, at least in my household, if someone says "Alexa, play rock music in the kitchen" and music starts playing in the bedrooms upstairs, they are going to think that something is broken.

More importantly, we've got a lot of people in our house using Sonos throughout the day, so I'm not usually in a position to know or remember how the speakers are grouped at any given time. Even if I understand how the functionality works, I'm not going to feel comfortable saying "Alexa, play rock music in the kitchen" if there is a risk that it might start blaring music upstairs where a kid might be napping or my spouse might be working, etc. So it seems like with this default behavior, I'm going to need to launch the Sonos app to check the grouping before issuing any voice commands, which kind of defeats the purpose of voice control...
Userlevel 3
Badge
Yep - agreed.

Note that the way I thought grouping would work is that the Sonos speakers would integrate with the Alexa's own multi-room playback grouping.

https://www.theverge.com/2017/8/29/16219978/amazon-echo-multi-room-music-playback-how-to

Those groups do look like they are intended to be static (e.g., a "Downstairs" group with multiple devices).

Personally, that would be ideal for me. I don't actually need to ability to create custom groups on-the-fly using the voice interface. But I would like the ability to issue commands to start playing music in only a single room (i.e., "play X in the kitchen") or among commonly grouped sets of rooms (i.e., "play X downstairs," "play X everywhere," ...).
Actually, it was stated that the the Alexa integration would workwith Echo enabled services "at the least."
Userlevel 4
Badge +3
Yes, this is version 1.0 of the release. They've stated rather clearly that they're continuing to work on adding features. Would you have preferred if they didn't release it until everything was ship shape and tidy for every user? I'd look at it this way, all the people (like me) who are using it right now are making it better for you when it gets released for Apple music. Think of all the bugs we'll be able to discover, features that we can suggest, before you get your Apple music. It'll be perfect by then!

To be honest, I don't stream much, but I play a lot from an NAS, which isn't yet fully supported by this release. But I'm pleased. I can do 90% of what I need to do via voice, and the rest works in the controller, the same as it did before. As has been pointed out, volume, next, previous, start, pause, all work via voice, if you've already started playing on the app.

Is it perfect right now? Nope, don't think so. But it's a huge step forward, and what they're going to learn based on the thousands/millions of users now using it will be very helpful in the long term.

I hope you can wait it out to bear the benefits.


How can you do 90% now from a NAS when a local
Library is not supported by Alexa, sort, amazon
I start play of a playlist from the controller app, and then use the voice controls for everything else. Louder, softer, pause, resume, skip, repeat all work.
Pardon me for asking a question that may have been answered.

I notice the with Dot, Sonos will only work in the few countries where Amazon has released Alexa.

Does this limitation apply to Sonos One as well?

And seeing how alike the One is to the play 1, are the heard of music sound quality improvements carried over to installed play 1 units?

And Bruce, many thanks for the PM heads up!
I listen to music via RadioTunes, which is not a music service listed by Sonos as is Pandora, etc. My RadioTunes stations were added via the "Manage" + "Add radio station." These stations wind up in the "My Radio Stations" menu. Will the Dot be able to call up these added stations, or do commands work only with the built-in music sources provided by Sonos?

No, play cannot be initiated via voice control for unsupported services. However, once you initiate playback via the Sonos app, basic play/pause/skip/volume controls work via voice for any service and or source.
Userlevel 5
Badge +3
What's really needed now more than ever is the ability to add Sonos speakers to more than one room, or create permanent addressable groups.

For example I should be able to have a stereo pair in my Living Room, a single speaker in my kitchen and another in my bedroom. I should be able to say Alexa play music in entire house (or something similar) and have all 4 speakers play.


If you want to group ungroup rooms etc, then you will need to follow the guides that have been published in the past by these two people:
https://github.com/rgraciano/echo-sonos
https://github.com/jishi/node-sonos-http-api

Requires some work to set up, but once done you will have all the functionality you want. Grouping, ungrouping, spotify etc.

I am quite astounded that the multi million dollar companies Amazon and Sonos spent a year in development and announced with much fanfare, a system that has only half the functionality of the one above which was put together by amateur programmers and released over a year ago.

This isnt some form of "entitlement" either, its just that with amateur programming able to deliver the functionality of grouping and ungrouping, accessing local music and spotify, I was obviously expecting the release from in house professionals to match the existing amateur functionality in a slicker more straight forward setup. How very wrong I was.

Ill be back to setting up the systems above again, because they offer MUCH more functionality than this official release.

Heck, Amazon and Sonos could have just bought this setup off the amateur programmer, wrapped it in their own systems to avoid the need for people to set it up themselves, delivered lots more functionality and released it six months ago. Did they even bother to look what people were currently doing?
Userlevel 2
Badge +3
With the new Sonos skill, can I include a Sonos speaker in an Alexa multi room group along with echo devices and play music across them all I.e. does the Sonos speaker appear as an emulated echo speaker? Thx

From what I saw from my alexa app, the Sonos doesn't appear on the Alexa multiroom group, though the Sonos system(room name), appeers on the Alexa Devices.
So I assume initially, it cannot be group to an alexa multiroom group along side with the echo devices.

hope this helps
Userlevel 5
Badge +3

Did this amateur code also allow Alexa to work with users music libraries as well? Currently that is a pathetic deal breaker for me with the new Alexa feature


Yes it does.

Full current list of abilities from this github code is below.

(read and then wonder as I do why giants like Amazon and Sonos couldn't have this in their official release after working on it for a year - when anyone who follows this code can have it working in about an hour or so).

List of features below taken from here: https://github.com/rgraciano/echo-sonos


Music Services

echo-sonos supports Apple Music, Spotify, Deezer, Deezer Elite, Sonos playlists, Sonos favorites, SiriusXM, the local Sonos music library, and configurable node-sonos-http-api presets.

Sonos Playlists: "Alexa, ask sonos to start playlist MY PLAYLIST in the ROOM"

Sonos Favorites: "Alexa, ask sonos to play favorite MY FAVORITE in the ROOM"

Music services: "Alexa, ask sonos to change music to SERVICE" (SERVICE = Presets, Library, Apple, Spotify, Deezer, or Elite)

SiriusXM: "Alexa, play SiriusXM channel CHANNEL in the ROOM"

SiriusXM: "Alexa, play SiriusXM station STATION in the ROOM"

node-sonos-http-api Presets: "Alexa, ask sonos to play Rock" (queues a node-sonos-http-api macro that sets up speaker/volume/service configuration)

Sonos Rooms and Groups

echo-sonos can default to controlling a specific room, to save you some talking. It will also remember the last room that was used in a normal command, and use that room in future commands.

Change room: "Alexa, ask sonos to change room to ROOM"
Change room and service: "Alexa, ask sonos to change room to ROOM and music to SERVICE"
Add room to the group: "Alexa, ask sonos to join NEW_ROOM to the ROOM"
Remove room from the group: "Alexa, ask sonos to ungroup ROOM"

Playing Music

Play songs from an artist: "Alexa, ask sonos to play ARTIST NAME in the ROOM"
Play songs from an album: "Alexa, ask sonos to play album ALBUM NAME in the ROOM"
Play a song: "Alexa, ask sonos to play the song SONG NAME in the ROOM"
Play "radio" songs like this artist: "Alexa, ask sonos to play ARTIST NAME radio in the ROOM"
Play more "radio" songs like this song: "Alexa, play more songs by this artist in the ROOM"
Play more "radio" songs like this track: "Alexa, play more songs like this in the ROOM"
Next: "Alexa, ask sonos go to the next track in the ROOM"
Previous: "Alexa, ask sonos to go back in the ROOM"
Clear queue: "Alexa, ask sonos to clear the queue in the ROOM"
What's playing: "Alexa, ask sonos what's playing in the ROOM"

Controlling Music

Pause: "Alexa, ask sonos to pause in the ROOM"
Pause all: "Alexa, ask sonos to pause all"
Resume: "Alexa, ask sonos to resume in the ROOM"
Resume all: "Alexa, ask sonos to resume all"
Mute: "Alexa, ask sonos to mute in the ROOM"
Unmute: "Alexa, ask sonos to unmute in the ROOM"
Repeat: "Alexa, ask sonos to turn repeat [on,off] in the ROOM"
Shuffle: "Alexa, ask sonos to turn shuffle [on,off] in the ROOM"
Crossfade: "Alexa, ask sonos to turn crossfade [on,off] in the ROOM"
Volume up or down (single room): "Alexa, ask sonos to turn it [up,down] in the ROOM"
Volume up or down (all in group): "Alexa, ask sonos to turn it [up,down] in the ROOM group"
Set volume (single room): "Alexa, ask sonos to change the volume to 22 in the ROOM"
Set volume (all in group): "Alexa, ask sonos to change the volume to 22 in the ROOM group"