SpotifyPlus Integration

Separate item noticed. If shuffle is on and I select a song, if seems to implement the shuffle (i.e. it plays a different song). I would have expected it to play the song selected on them shuffle.

Steps:

Turn on shuffle.
Select playlist favorites
Select a song, a different song plays
Turn off shuffle
Select playlist favorites
Select a song, the selected song plays

@kbrown01
The media tiles for song selection support tap and hold as well as single tap. The bottom footer icons only support single tap.

I still think you are going to have issues, because of your dual displays. 1 monitor is reporting itself as touch, and the other monitor is reporting itself as non-touch.

Please open a new GitHub bug report so I can track this. Too many issues going on right now to solve it in the forum. Thanks

@kbrown01
Just released an SP+ card update v1.0.30.

Can you install the new version and change the following card configuration settings:

  1. For the SP+ card that is not playing the media content when the image tile is clicked, add the following card configuration to that card:
touchSupportDisabled: true
  1. You should NOT change the configuration of the card that is working; just the card that is not working.

Give your test scenario another try after that, and let me know how it goes.

Thanks.

[ 1.0.30 ] - 2025/01/12

  • Added touchSupportDisabled config option to disable touch events and force mouse events for media browser items. More info can be found on the wiki docs.

@kbrown01
If shuffle is on and I select a song, if seems to implement the shuffle (i.e. it plays a different song). I would have expected it to play the song selected on then shuffle.

Are you selecting a song? or are you selecting a playlist? If you are selecting a playlist, then it will apply the shuffle immediately since the playlist is made up of selected songs. This is expected behavior, otherwise the first song in the playlist would play first every time with shuffle enabled.

OK, 1.0.30 acts exactly as expected:

  1. Phone or Pad, touch works
  2. PC with no touch, click works
  3. PC with touch, both touch or click works

Note: #3 was not expected by me but that is the result.

Thanks for the work!

I am selecting a song not a playlist from “Track Favorites”. It plays a different random song from the favorites. I will toss that into GitHub issues

Hi, first thank you for the great integration :slight_smile:

I got some trouble setting up the save track favorites.

the integration itself is working. i managed to get the play favorites playlist to work without any problems but saving the current playing track on my sonos speakers to my favorites is not working

Thanks!

@BRTK
The save track favorites service saves the specified track to your Spotify Track Favorites, not the Sonos (device) Favorites.

Sonos Favorites are not supported by SpotifyPlus.

This is due to the Sonos device being a restricted device. The current track is probably playing under the control of the Sonos device and not the Spotify player.

Ok I understand… Too bad.
I know that if I’m playing Spotify connect it’s not shown at the Spotify app what’s currently playing I have to go to the sonos app.

Thanks

Edit: When i open my spotify app on my android device, play a playlist and cast it to my sonos speaker then the save track to favorites option works. so maybe there is a workaround with a helper or something to first start a playlist then cast to the speaker.

@BRTK
The Spotify Apps have full control of all features, so they understand how to control Sonos devices. The problem is that the Spotify Web API does not have those same controls, and only reports the Sonos device as “restricted” which also means you cannot use the Spotify Web API to control the device (play, pause, resume, etc). One would think that the Spotify Web API would have the same level of control, but it does not.

SpotifyPlus only understands what the Spotify Web API reports back as to what’s playing. The SP+ sees that it’s a Sonos device and that the Spotify Web API reports it as “restricted” (e.g. uncontrollable via the Web API); SP+ will then utilize the SoCo API (e.g. Sonos API) to perform the basic control functions (play, pause, resume, etc).

Hope that makes sense.

@SIW1973 @rml
Hi Simon - I am in the process of adding Chromecast device support to SpotifyPlus, and was wondering if I could get your help in that effort. I purchased a single Google Nest speaker device over the holidays (Merry Christmas to me), and have been successful in activating it / transferring playback (without Spotcast).

What I am looking to do now is the following:

  1. see what Zeroconf info looks like for other types of Chromecast devices.
  2. see what Zeroconf info looks like for Chromecast speaker group definitions.

Do you have any / different Chromecast devices that might fit those criteria?

If so, can I get you to run the following discovery command and provide the output?

> for windows users:
dns-sd -B _googlecast._tcp. local.
> for Linux users:
avahi-browse _googlecast._tcp. -vv

More info can be found on the Spotify Connect Zeroconf Troubleshooting - Google Cast

I appreciate the help.

Great to hear that you’re working on Google Cast integration! That would make the addon super convenient for me. :slight_smile:

Currently trying to get Spotify to cast to my Chronecast speakers via the Sonos card, but cant get it to work at all. Looking forward to seeing what you can do!

2 Likes

@Hetoft
Thanks. Any chance you can provide the information that I asked @SIW1973 for in the above post? I only have 1 cast device, and would like to see what Zeroconf publishes for other types of cast devices (AVR, TV, etc) besides a Nest speaker.

For example, a cast device that supports Spotify on a TV or AV receiver may appear differently than a cast device that supports Spotify on a speaker. Same for Google Mini, versus a Nest.

The more data I have, the better the end result.

Hi there, just got to this !

From Windows :

Browsing for _googlecast._tcp…local.
Timestamp A/R Flags if Domain Service Type Instance Name
14:47:43.187 Add 2 2 local. _googlecast._tcp. Chromecast-Audio-a88ab5547739057930b53bec74f6eb85
14:47:43.189 Add 2 2 local. _googlecast._tcp. Google-Home-466ada8f0578415ed6e59f93cb921989
14:47:43.194 Add 2 2 local. _googlecast._tcp. Google-Nest-Mini-0e2f7c76a142bace188b77fb7bd13e73
14:47:43.196 Add 2 2 local. _googlecast._tcp. Google-Home-Mini-efd192caf44118dd2cce7acf82923810
14:47:43.513 Add 2 2 local. _googlecast._tcp. Android-TV-8d637792680cfec6b9f8f1ee390c85c7
14:47:47.733 Add 2 2 local. _googlecast._tcp. Chromecast-ef180395ca210a4d64515f8858fa9335

Fron Ubuntu Desktop :

Server version: avahi 0.8; Host name: SJW-UBUNTU-DESKTOP.local
E Ifce Prot Name Type Domain

  • ens33 IPv6 Google-Home-Mini-efd192caf44118dd2cce7acf82923810 _googlecast._tcp local
  • ens33 IPv6 Google-Home-466ada8f0578415ed6e59f93cb921989 _googlecast._tcp local
  • ens33 IPv6 Android-TV-8d637792680cfec6b9f8f1ee390c85c7 _googlecast._tcp local
  • ens33 IPv6 Google-Nest-Mini-0e2f7c76a142bace188b77fb7bd13e73 _googlecast._tcp local
  • ens33 IPv6 Chromecast-ef180395ca210a4d64515f8858fa9335 _googlecast._tcp local
  • ens33 IPv4 Chromecast-ef180395ca210a4d64515f8858fa9335 _googlecast._tcp local
  • ens33 IPv4 Google-Nest-Mini-0e2f7c76a142bace188b77fb7bd13e73 _googlecast._tcp local
  • ens33 IPv4 Chromecast-Audio-a88ab5547739057930b53bec74f6eb85 _googlecast._tcp local
  • ens33 IPv4 Google-Home-466ada8f0578415ed6e59f93cb921989 _googlecast._tcp local
  • ens33 IPv4 Google-Home-Mini-efd192caf44118dd2cce7acf82923810 _googlecast._tcp local
  • ens33 IPv4 Android-TV-8d637792680cfec6b9f8f1ee390c85c7 _googlecast._tcp local
    : Cache exhausted
    : All for now

I have :

  • 1 x Chromecast Audio (ancient)
  • 1 x Google Home (old)
  • 1 x Google Home Mini (old)
  • 1 x Google Nest Mini (not new)
  • 1 x Chromecast 4K (new)
  • 1 x Android TV (new)
2 Likes

@SIW1973
That is an excellent variety of cast device types, which is exactly what I am looking for. It’s a bigger ask, but can you possibly do the following for me as well?

Can you issue the following command (for each device) to display the service info details for each instance name (e.g. Chromecast-Audio-a88ab5547739057930b53bec74f6eb85)? I’m looking for how the service info TXT record data differs between the devices, specifically the “id=x, cd=x, rm=x, ve=x, md=x, fn=x, ca=x, st=0, bs=x, nf=x, rs=x” values. I basically have to determine what services a device supports, and only add devices to the Spotify Connect list that support audio.

Example command to list instance service info:
dns-sd -L "Chromecast-Audio-a88ab5547739057930b53bec74f6eb85" _googlecast._tcp local.

Using my Nest-Audio-8ad2e6fca165624583327c6a9cbc97d instance as an example, this would product output like the following:

MS-DOS Output:
C:\>dns-sd -L "Nest-Audio-8ad2e6fca165624583327c6a9cbc97df" _googlecast._tcp local.
Lookup Nest-Audio-8ad2e6fca165624583327c6a9cbc97df._googlecast._tcp.local.
13:30:31.295  Nest-Audio-8ad2e6fca165624583327c6a9cbc97df._googlecast._tcp.local. can be reached at 8ad2e6fc-a165-6245-8332-7c6a9cbc97df.local.:8009 (interface 5)
 id=8ad2e6fca165624583327c6a9cbc97df cd=77AEA6098A4CFD170C6333FE84A74133 rm= ve=05 md=Nest\ Audio ic=/setup/icon.png fn=Nest\ Audio\ 01 ca=199172 st=0 bs=FA8FCA55E054 nf=1 rs=

Per the command output, this device instance has the following attributes:

  • Instance Name = Nest-Audio-8ad2e6fca165624583327c6a9cbc97df
  • IP Alias = 8ad2e6fc-a165-6245-8332-7c6a9cbc97df.local.
  • IP Port = 8009
  • md = Nest Audio ← device type classification
  • fn = Nest Audio 01 ← device friendly name
    … etc

Will be a couple of hours, but will get done later this evening :+1:

1 Like

@SIW1973
Thanks Simon - I know it’s a bigger ask, and I appreciate your time.