Sonos and Spotify Integration

  • 29 January 2021
  • 9 replies
  • 2619 views

Userlevel 1

@Sonos and @Spotify should get their acts together and work to solve the API discrepancies between the two systems. 

One issue I’m having right now:

If you exercise Spotify’s api and get a list of the players they can see you do *not* get the Sonos players back but only devices which apparantly have trully implemented Spotify Connect, e.g. Marantz surround amplifiers and the like.  

You claim to be Spotify Connect compliant - how can that be when you are not?

This issue makes it absolutely impossible to seamlessly integrate Sonos and Spotify in e.g. Home Assistant and other automation platforms since the desktop and phone apps will not know about what state Sonos devices are in.


I can start a Spotify playlist if it’s marked as a favorite in the Sonos app. But Spotify won’t know it’s playing on a Sonos device so I’m left with the choice of using Sonos’ really shoddy Spotify UX or going to Spotify and doing everything from scratch instead of just picking up from where the state of things are right now - the latter completely shorting what I’m trying to do with automation!

E.g. Home Assistant explicitly states that Sonos is not supported by their Spotify integration which I find totally embarrassing on your part.

From what I can tell this issue is due to the way Sonos expose itself to Spotify. The funny part is that Sonos devices are available as playback targets from within the Spotify apps which means that the two of you have talked and found out how to expose Sonos to Spotify but for some obscure reason you do not want Sonos exposed to Spotify’s api.

Sigh...

I’m having a really hard time understanding why we in 2021 still have to put up with this kind of obnoxiousness.

 

I’m on Sonos S2 by the way - and I really hate to have spent and obscene amount of money on this crap when it does not work as advertised on the tin.

This thread also sums all those issues up nicely - and you still have done nothing to fix these issues.

 

 


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.

9 replies

Badge

Yes Spotify Connect has been broken since it launched, and it has never gotten any better.

Using Spotify within the Sonos app is more reliable, but I wouldn’t call it reliable. It’s also extremely out of date with Spotify features and user interface.

A plain old Sony amp with Spotify Connect I’m sure works well. Heck, I remember using a normal amp with Airport Express and an aux cable 15 years ago worked better than Sonos ever has.

I regret buying into this system so bad.

 

If you exercise Spotify’s api and get a list of the players they can see you do *not* get the Sonos players back but only devices which apparantly have trully implemented Spotify Connect, e.g. Marantz surround amplifiers and the like.  

You claim to be Spotify Connect compliant - how can that be when you are not?

 

Works fine for me - I use the native Spotify app all the time and move the music to a Sonos unit which is seen by its name in the list of players in the Spotify app. I am on S1, but that should not be relevant. Why can you not use it in this manner?

There are occasional reports on here of users not being able to see all Sonos devices, but on past experience a bug affecting even a tiny proportion of users results in an avalanche of posts.  I don’t believe there is any evidence of a general problem in the implementation of Spotify Connect on Sonos speakers.  I no longer use Spotify but when I did, I occasionally used Spotify Connect with no issues.

Edit: thinking back over the occasional threads that there have been on the issue of Spotify not finding any or some Sonos speakers, I seem to recall some weird and implausible ‘solutions’ claimed in individual cases, including enabling mobile data, turning off Bluetooth and shutting down an Apple watch.

and shutting down an Apple watch.

Lol.

After posting, I thought on a re read that OP is trying to do more than just listen to music when he refers to “exercising Spotify API” and “automation platforms”, so perhaps my use case that works fine for just simple music play is not relevant to him.

and shutting down an Apple watch.

Lol.

After posting, I thought on a re read that OP is trying to do more than just listen to music when he refers to “exercising Spotify API” and “automation platforms”, so perhaps my use case that works fine for just simple music play is not relevant to him.

On a re-read I think you are right Kumar.  I suspect the vast majority of potential Sonos customers are happy to understand ‘Spotify Connect compliant’ to mean you can play from the Spotify app.  In fact, this information sheet talks only of being able to control Sonos from the Spotify app, the expression ‘Spotify Connect compliant’ is not used here.  Perhaps it is used elsewhere…..?

https://support.sonos.com/s/article/1153?language=en_US

Maybe the OP could point us to where Sonos make the clam he refers to?

Or perhaps he can explain what else does Spotify connect compliant achieve in addition to music play from the Spotify app.

Userlevel 1

 

If you exercise Spotify’s api and get a list of the players they can see you do *not* get the Sonos players back but only devices which apparantly have trully implemented Spotify Connect, e.g. Marantz surround amplifiers and the like.  

You claim to be Spotify Connect compliant - how can that be when you are not?

 

Works fine for me - I use the native Spotify app all the time and move the music to a Sonos unit which is seen by its name in the list of players in the Spotify app. I am on S1, but that should not be relevant. Why can you not use it in this manner?

@Kumar It can’t be working fine if you use the Spotify API - not the app, the programatic interface Spotify expose to the world. The Sonos players are not exposed by Spotify on the API and thus can’t be controlled properly from say home automation platforms.

It is a major problem.

For instance, I am using Home Assistant to integrate and automate the "things" I have in my home.

As I have had massive problems controlling the Sonos / Spotify combo in a deterministic manner I wanted to get to the bottom of these problems.

As an experiment I therefore just installed Moode Audio (an open source Linux based audio product) on an old Raspberry PI 1 I had lying around and it showed up as a Spotify Connect renderer immediately.

I can control the Moode Audio player just fine from both Spotify and HA so this surely is a Sonos induced problem as they don't expose the speakers to Spotify as Spotify Connect renderers. This is also evident if I query Spotify via their API - the Sonos devices are not shown as devices.

Why that is - and how the Spotify apps can connect to them anyway is a mystery.

I'm guessing Spotify has decided to be the better sport and use Sonos UPnP protocol to enable Sonos speakers as Spotify endpoints and that Sonos support therefore is somewhat hardcoded in Spotify as it is certainly not a Spotify Connect compliant implementation.

If you start a Spotify playlist from Sonos' app, Spotify won't even know about it for 30 odd seconds and you can therefore end up in a situation where you have two players (or more?) devices playing different things at the same time for at little while. In that situation I think one of the two platforms is infringing artist rights.

I fail to understand why Sonos can't get their act together and be a team player in the same way as just about everyone else is and just expose their speakers to whoever want to play on the Sonos speakers. 

The end of the matter will be that I'm thinking about selling the Sonos Port I just bought to get the S2 platform (have 4 One 2. gen too) and go with a RPI + a good Spotity Connect compliant audio software instead (will try 3-4 different products to pick one that suits my needs best).

And on top of all that I’ll add some HiFi hardware add-on to the RPI to make it a high-end’ish renderer - the only thing missing is that Spotify will start to deliver proper lossless CD quality...

Anyway, going this route, I'll loose Sonos multi room - but Spotify can do that for me and either way I don't use that feature a lot. For live radio station playback I’ll figure something out using Home Assistant or voice control. Sonos’ UI is a mess anyway.

I'll be damned if Sonos is going to be the judge of how I use my gear. They are going to loose that battle and I will find other solutions to my problems.

Userlevel 1

and shutting down an Apple watch.

Lol.

After posting, I thought on a re read that OP is trying to do more than just listen to music when he refers to “exercising Spotify API” and “automation platforms”, so perhaps my use case that works fine for just simple music play is not relevant to him.

On a re-read I think you are right Kumar.  I suspect the vast majority of potential Sonos customers are happy to understand ‘Spotify Connect compliant’ to mean you can play from the Spotify app.  In fact, this information sheet talks only of being able to control Sonos from the Spotify app, the expression ‘Spotify Connect compliant’ is not used here.  Perhaps it is used elsewhere…..?

https://support.sonos.com/s/article/1153?language=en_US

Maybe the OP could point us to where Sonos make the clam he refers to?

@John B 

Look, I’m not after a war of words. In my book they claim to be Spotify Connect capable. This would mean one would be able to use the Spotify API to control the Sonos devices. This is not the case and they fail to meet a simple 2021 requirement: Interoperability.

I’m simply after getting Sonos to play ball and let the user decide how the gear he owns and paid good money for should be used in his own settings.

The best way to do that is to let the system be open and transparent and it is neither.

I’ve been digging a little deeper into these musings.

From the Spotify side of things:

When I pick a Sonos device from the Spotify app as a playback target Spotify interacts with Sonos using the Sonos API endpoint, similar to this sequence:

  1. Spotify queries the Sonos device it’s “info” using a seemingly undocumented /spotifyzc API endpoint
  2. Spotify makes a http POST request to Sonos with a so-called “HTML Form URL Encoded” Form containing the information Sonos should use to log into my Spotify account.
    The important part of the FORM is encrypted seemingly using a certificate. This means that Sonos and Spotify dev teams must have agreed on what the encrypted information contains and how it must be interpreted, i.e. the contract between the two of them. And they have exchanged their public keys. Either will use the counterparts public key + their own private key to encrypt messages and the counterpart will do the opposite to decrypt the information. This is considered a safe method of exchanging information over an insecure network. But it depends (on the encryptions strength) and further, in this case, we’ll have to assume that the private keys are present in both the Sonos devices and possibly bundled with the apps (Sonos, Spotify, ...).
  3. From there on, Sonos seems to take over the control and apparently logs into my Spotify account - possibly to use the encrypted information to get a hold of the byte stream and to setup the playback control stuff.
  4. Sonos starts streaming and notifies the UPnP network of this.

I don’t know enough about the possible security implications to know if it’s ok that Sonos impersonate me and use my Spotify account in this way.

I’m sure I’ve accepted it in the EULA at some point though ;-)

I have also just found a possible workaround to have e.g. Home Assistant see the Sonos devices as Spotify renderers - it’s just a lot of yak shaving, when Sonos might as well just play nice - after all, I do pay them quite a bit of money to solve and not make problems for me...

Please find below an email exchange with Sonos. A bit strange that Home Assistant was unknown! Hopefully something will come out of it! It’s in reverse order so start reading at the bottom

Hi Jos,

Thank you for your reply regarding 02721051.

Thanks very much for the clarification, I have not come across this type of home automation before. I have also shared knowledge about Home Assistant with my colleagues in case they were not aware. 

We do work closely with Spotify and are always happy to receive improvement suggestions like this. Because of this, I have taken your valuable feedback about improving how Spotify Connect and Sonos operate with a view towards interoperability with Home Assistant and have passed it on internally to the relevant team. 

Thanks again for your clarification and bringing this to our attention. If you have any further suggestions or queries to raise to us, don't hesitate to contact us. 

With best regards,

Lauri G.
Sonos | Customer Care | Contact Us
Ask questions, find answers, and share your thoughts on the Sonos Community.


--------------- Original Message ---------------
From: *** [***@***.com]
Sent: 3/24/2021 3:29 PM
To: support@sonos.com
Subject: Re: Spotify
 

Hi Lauri,

There seems to be a misunderstanding. I do not use Google Home or Google Assistant, instead I use Home Assistant an home automation software that it used by a huge home automation community: https://www.home-assistant.io

Many of us are trying to use the Sonos application of Home Assistant to import playlists from Spotify and play songs on one or more Sonos products. If you use Spotify’s api and get a list of the players they can see you do NOT get any Sonos speakers back but only devices which apparently have truly implemented Spotify Connect which Sonos has not while many, significantly cheaper speakers, do have the ability. So my question still is why does Sonos not implement Spotify Connect in the software of the speakers so that Spotify and Sonos can talk to each other? I am sure that you would make a lot of Sonos users very happy!

Best regards,

Jos 

From: <noreply@salesforce.com> on behalf of Sonos Support <support@sonos.com>
Date: Tuesday, 23 March 2021 at 13:33
To: 
 *** [***@***.com]
Subject: RE: Spotify

Hi Jos, 

My name is Lauri G. and I am responding on behalf of our CEO, Patrick Spence.

Thanks very much for contacting us. 

Reading through your message I understand you are using Google Home or Google Assistant to automate certain aspects of your home. However, you cannot play Spotify through your Sonos system.

Just to make sure: When I did testing, you can only play music via the Google Home app on Google devices, so for example I can play Spotify via my Chromecast on Google Home but not through Sonos.

You can also play music directly through the Spotify app by selecting the device available. This allows you to select either S1 and S2 devices. You can read more and how to from this page: Spotify and Sonos.

I tested Google Assistant as well, and you can direct via the Google Assistant app to play music to a non voice enabled Sonos speaker by directing it, for example by saying"Okay Google, play music on Living Room TV". This way it knows to play music from your default music service in Google Assistant to the room as seen in the Google Assistant or Google Home apps. You can read more on the following pages. Please note you can only have Google Assistant interact with one S1 or S2 Sonos system such, but not both at the same time.
Link: Set up a Google Assistant device to control Sonos
Link: Control Sonos with Google Assistant
Link: Known limitations with separate S1 and S2 Sonos systems (See stream limitations and voice services)

There is also IFTTT, which allows you to build routines between different devices including Sonos. However, as it's a third party product and I suggest contacting IFTTT for any questions relating to it directly as they know more about its functions than we do. 
Link: IFTTT and Sonos

If you have any further queries based on the topic, please let me know, and I'll be happy to explore them with you further. 

Your reference number for this inquiry is 02721051.

With best regards,

Lauri G.
Sonos | Customer Care | Contact Us
Ask questions, find answers, and share your thoughts on the Sonos Community.

--------------- Original Message ---------------
From: 
 *** [***@***.com]
Sent: 3/22/2021 12:48 PM
To: ceo@sonos.com
Subject: Spotify

Good morning,

I am sure that you have had questions about this subject before. I am trying to use Home Assistant to automate certain aspects in my home. However I cannot play Spotify on my many Sonos products because Sonos and Spotify do not seem to communicate with each other as Sonos isn't a "connect" product. Apparently the problem lies in the API. I have read numerous, and I really mean an enormous number, of chats about this topic and it is clear that there is a lot of frustration by very many Sonos users. And most of these people have heavily invested in Sonos products and upgraded to S2, spending a significant amount of money, and to their and my surprise other products do communicate with Spotify. 

Can you please explain to me, and many other Sonos addicts, why the two companies can not or are not willing to make it work. Or if there is a timeline to solve the issue when that will be.

Best regards,

Jos

 

*Moderator note: Please refrain from posting personal information, such as email addresses*