-
Notifications
You must be signed in to change notification settings - Fork 3
Services Provided
The following custom services are provided by this integration.
- Follow Artists
- Follow Playlist
- Follow Users
- Get Album
- Get Album Favorites
- Get Album New Releases
- Get Artist
- Get Artists Albums
- Get Artists Followed
- Get Browse Categories
- Get Category Playlists
- Get Featured Playlists
- Get Player Devices
- Get Player Now Playing
- Get Player Playback State
- Get Player Queue Info
- Get Player Recent Tracks
- Get Playlist
- Get Playlist Favorites
- Get Show
- Get Show Episodes
- Get Show Favorites
- Get Spotify Connect Devices
- Get Track Favorites
- Get Users Top Artists
- Get Users Top Tracks
- Player Activate Devices
- Player Media Play Context
- Player Media Play Track Favorites
- Player Media Play Tracks
- Player Resolve Device Id
- Player Set Repeat Mode
- Player Set Shuffle Mode
- Player Set Volume Level
- Player Transfer Playback
- Playlist Change
- Playlist Cover Image Add
- Playlist Create
- Playlist Items Add
- Playlist Items Clear
- Playlist Items Remove
- Save Album Favorites
- Save Track Favorites
- Remove Album Favorites
- Remove Track Favorites
- Search Albums
- Search Artists
- Search Audiobooks
- Search Episodes
- Search Playlists
- Search Shows
- Search Tracks
- Unfollow Artists
- Unfollow Playlist
- Unfollow Users
- ZeroConf Device Connect
- ZeroConf Device Disconnect
- ZeroConf Device GetInformation
- ZeroConf Discover Devices
Add the current user as a follower of one or more artists.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify artist id's (e.g.2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk
). A maximum of 50 id's may be specified. If omitted, the currently playing track artist uri id value is used.
Follow the specified artists.
service: spotifyplus.follow_artists
data:
entity_id: media_player.spotifyplus_john_s
ids: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk
Follow the currently playing track artist.
service: spotifyplus.follow_artists
data:
entity_id: media_player.spotifyplus_john_s
Add the current user as a follower of a playlist.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g.37i9dQZF1E39vTG3GurFPW
). -
public
(optional) - If true the playlist will be included in user's public playlists, if false it will remain private. Default isTrue
.
Follow the specified playlist (public).
service: spotifyplus.follow_playlist
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 37i9dQZF1E39vTG3GurFPW
public: true
Follow the specified playlist (private).
service: spotifyplus.follow_playlist
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 37i9dQZF1E39DIjrju3A9t
public: false
Add the current user as a follower of one or more users.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
- A comma-separated list of the Spotify user IDs (e.g.smedjan,3758dfdsfjk435hjk6k79lm0n3c4
). A maximum of 50 IDs can be sent in one request.
Follow the specified users.
service: spotifyplus.follow_users
data:
entity_id: media_player.spotifyplus_john_s
ids: smedjan,3758dfdsfjk435hjk6k79lm0n3c4
Get Spotify catalog information for a single album.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
album_id
- The Spotify ID of the album. example:6vc9OTcyd3hyzabCmsdnwE
-
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
service: spotifyplus.get_album
data:
entity_id: media_player.spotifyplus_john_s
album_id: 6vc9OTcyd3hyzabCmsdnwE
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AnAlbum
object that contains the album details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a list of the albums saved in the current Spotify user's 'Your Library'.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_album_favorites
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AnAlbumPageSaved
object that contains the album details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a list of new album releases featured in Spotify.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
country
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_album_new_releases
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AAlbumPageSimplified
object that contains album information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information for a single artist.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
artist_id
- The Spotify ID of the artist. Example:6APm8EjxOHSYM5B4i3vT3q
service: spotifyplus.get_artist
data:
entity_id: media_player.spotifyplus_john_s
artist_id: 6APm8EjxOHSYM5B4i3vT3q
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AAlbumPageSimplified
object that contains album information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about an artist's albums.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
artist_id
- The Spotify ID of the artist. Example:6APm8EjxOHSYM5B4i3vT3q
-
include_groups
- A comma-separated list of keywords that will be used to filter the response. If not supplied, all album types will be returned. Valid values arealbum
,single
,appears_on
,compilation
. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_artist_albums
data:
entity_id: media_player.spotifyplus_john_s
artist_id: 6APm8EjxOHSYM5B4i3vT3q
include_groups: album
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AAlbumPageSimplified
object that contains album information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get the current user's followed artists.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
after
- The last artist ID retrieved from the previous request, or null for the first request. example: "6APm8EjxOHSYM5B4i3vT3q" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_artists_followed
data:
entity_id: media_player.spotifyplus_john_s
after: 6APm8EjxOHSYM5B4i3vT3q
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AArtistPage
object that contains artist information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a sorted list of ALL categories used to tag items in Spotify.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
country
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. -
locale
- The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For examplees_MX
, meaningSpanish (Mexico)
. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). -
refresh
- True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached value.
service: spotifyplus.get_browse_categorys_list
data:
entity_id: media_player.spotifyplus_john_s
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: ACategoryPage
object that contains the list category details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a list of Spotify playlists tagged with a particular category.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
category_id
- Spotify category ID (not name) for the category. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
country
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_category_playlists
data:
entity_id: media_player.spotifyplus_john_s
category_id: dinner
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylistPageSimplified
object that contains playlist information. -
message
: A string that describes what was returned (e.g. 'Popular Playlists').
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
message:
message: Popular Playlists
Get a list of Spotify featured playlists.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
country
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
locale
- The desired language, consisting of a lowercase ISO 639-1 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore. For examplees_MX
, meaningSpanish (Mexico)
. Provide this parameter if you want the results returned in a particular language (where available). Note that if locale is not supplied, or if the specified language is not available, all strings will be returned in the Spotify default language (American English). -
timestamp
- A timestamp in ISO 8601 format (yyyy-MM-ddTHH:mm:ss). Use this parameter to specify the user's local time to get results tailored for that specific date and time in the day. If not provided, the response defaults to the current UTC time. -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_featured_playlists
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylistPageSimplified
object that contains playlist information. -
message
: A string that describes what was returned (e.g. 'Popular Playlists').
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get information about a user's available Spotify Connect player devices. Some device models are not supported and will not be listed in the API response.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
refresh
- True to return real-time information from the spotify web api and update the cache; otherwise, False to just return the cached values.
service: spotifyplus.get_player_devices
data:
entity_id: media_player.spotifyplus_john_s
refresh: true
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: A list ofDevice
objects that contain the device details, sorted by name.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get the object currently being played on the user's Spotify account.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. -
additional_types
- A comma-separated list of item types that your client supports besides the default track type. Valid types are 'track' and 'episode'. Example: "episode"
service: spotifyplus.get_player_now_playing
data:
entity_id: media_player.spotifyplus_john_s
additional_types: episode
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlayerPlayState
object that contains the player state details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get information about the user's current playback state, including track or episode, progress, and active device.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. -
additional_types
- A comma-separated list of item types that your client supports besides the default track type. Valid types are 'track' and 'episode'. Example: "episode"
service: spotifyplus.get_player_playback_state
data:
entity_id: media_player.spotifyplus_john_s
additional_types: episode
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlayerPlayState
object that contains the player playback state details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get the list of objects that make up the user's playback queue.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API.
service: spotifyplus.get_player_queue_info
data:
entity_id: media_player.spotifyplus_john_s
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlayerQueueInfo
object that contains the player queue information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get tracks from the current user's recently played tracks; currently doesn't support podcast episodes, and only 50 items may be returned due to spotify limits.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
after
- Returns all items after (but not including) this cursor position, which is a Unix timestamp in milliseconds. Ifafter
is specified,before
must not be specified. Use with limit to get the next set of items. Default is0
(the first item). Example: 1706218456821 -
before
- Returns all items before (but not including) this cursor position, which is a Unix timestamp in milliseconds. Ifbefore
is specified,after
must not be specified. Use with limit to get the next set of items. Default is0
(the first item). Example: 1706218467821 -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and after / before parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_player_recent_tracks
data:
entity_id: media_player.spotifyplus_john_s
after: 1706218456821
limit_total: 50
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlayHistoryPage
object that contains play history information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a playlist owned by a Spotify user.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist. Example: "5v5ETK9WFXAnGQ3MRubKuE" -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. -
fields
- A comma-separated list of fields to return from the Spotify Web API. All fields are returned if omitted. Limiting fields results can improve performance. Example:description,id,name,public,snapshot_id,type,uri,tracks(limit,next,offset,previous,total,items(track(id,name,track_number,type,uri,album(id,images,name,total_tracks,type,uri,artists(id,name,type,uri)))))
-
additional_types
- A comma-separated list of item types that your client supports besides the default track type. Valid types are 'track' and 'episode'. Example: "episode"
service: spotifyplus.get_playlist
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 5v5ETK9WFXAnGQ3MRubKuE
fields: >-
description,id,name,public,snapshot_id,type,uri,tracks(limit,next,offset,previous,total,items(track(id,name,track_number,type,uri,album(id,images,name,total_tracks,type,uri,artists(id,name,type,uri)))))
additional_types: episode
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylist
object that contains the playlist details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a list of the playlists owned or followed by the current Spotify user.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_playlist_favorites
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylistPageSimplified
object that contains the playlist information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information for a single show identified by its unique Spotify ID.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
show_id
- The Spotify ID for the show. Example:5CfCWKI5pZ28U0uOzXkDHe
-
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter.
service: spotifyplus.get_show
data:
entity_id: media_player.spotifyplus_john_s
show_id: 5CfCWKI5pZ28U0uOzXkDHe
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AShow
object that contain the show details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about a show's episodes.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
show_id
- The Spotify ID for the show. Example:6kAsbP8pxwaU2kPibKTuHE
-
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_show_episodes
data:
entity_id: media_player.spotifyplus_john_s
show_id: 6kAsbP8pxwaU2kPibKTuHE
limit_total: 20
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AEpisodePageSimplified
object that contains the show episodes.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get a list of the shows saved in the current Spotify user's 'Your Library'.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_show_favorites
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AShowPageSaved
object that contains playlist information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get information about all available Spotify Connect player (both static and dynamic) devices.
This service is similar to the Get Player Devices service, but it contains ALL available Spotify Connect devices that are known to the local network (versus just the devices known to a specific user).
This service gathers Spotify Connect device information from Zeroconf (for static devices) as well as the Get Player Devices service (for dynamic devices). Dynamic devices are Spotify Connect devices that are not found in Zeroconf discovery process, but still exist in the player device list. These are usually Spotify Connect web or mobile players with temporary device id's.
Note that only certain properties of the returned Device
objects are populated, as the information is gathered from both static and dynamic devices. The populated properties are: id
, name
, and type
.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API.
service: spotifyplus.get_spotify_connect_devices
data:
entity_id: media_player.spotifyplus_john_s
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: A list ofDevice
objects that contain the device details, sorted by name.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
- id: 30fbc80e35598f3c242f2120413c943dfd9715fe
is_active: true
is_private_session: false
is_restricted: false
name: Bose-ST10-1
supports_volume: false
type: SPEAKER
volume_percent: 0
- id: 5d4931f9d0684b625d702eaa24137b2c1d99539c
is_active: true
is_private_session: false
is_restricted: false
name: Bose-ST10-2
supports_volume: false
type: SPEAKER
volume_percent: 0
- id: 3756903295ba7b47f8c36fc9a4ff7d833431a667
is_active: true
is_private_session: false
is_restricted: false
name: Bose-ST300
supports_volume: false
type: SPEAKER
volume_percent: 0
- id: 753b8ed0c25b783c48c4dea784cd4ce8c29030f5
is_active: true
is_private_session: false
is_restricted: false
name: Web Player (Chrome)
supports_volume: false
type: Computer
volume_percent: 0
Get a list of the tracks saved in the current Spotify user's 'Your Library'.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
limit_total: 100
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: ATrackPageSaved
object that contains playlist information.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get the current user's top artists based on calculated affinity.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
time_range
- Over what time frame the affinities are computed. Valid values arelong_term
(calculated from several years of data and including all new data as it becomes available),medium_term
(approximately last 6 months), andshort_term
(approximately last 4 weeks). Example: "long_term" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_users_top_artists
data:
entity_id: media_player.spotifyplus_john_s
time_range: long_term
limit_total: 20
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AnArtistPage
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get the current user's top tracks based on calculated affinity.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
time_range
- Over what time frame the affinities are computed. Valid values arelong_term
(calculated from several years of data and including all new data as it becomes available),medium_term
(approximately last 6 months), andshort_term
(approximately last 4 weeks). Example: "long_term" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.get_users_top_tracks
data:
entity_id: media_player.spotifyplus_john_s
time_range: long_term
limit_total: 20
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: ATrackPage
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Activates all static Spotify Connect player devices, and (optionally) switches the active user context to the current user context.
A Zeroconf discovery process is initiated to search for all Spotify Connect devices connected to the local network. A Spotify Zeroconf API getInfo
call is then issued for each device that was found to retrieve device information. A Spotify Zeroconf API addUser
call is also issued for each device that does not have an active user context established, OR if the currently active user context does not match the Spotify Connect Username
value specified in the integration configuration options and the verify_user_context
argument is True.
The user context switch is bypassed if the verify_user_context
argument is False. If the user context is to be switched, then a Disconnect will be issued if a user context is active on the device followed by a Connect to the user context specified in the integration configuration options.
Dynamic Spotify Connect devices are not processed by this method, as they are temporary devices and are already active and in the device list. These devices are not found in Zeroconf discovery process, and only exist in the player device list. These are usually Spotify Connect web or mobile players with temporary device id's.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
verify_user_context
(optional) - If True, the active user context of the resolved device is checked to ensure it matches the specified Spotify Connect user context. If False, the user context will not be checked. Default is False. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 0.50; value range is 0 - 10.
Activate all Spotify Connect player devices on the local network and switch the device user context to our user context. This will disconnect other users from all spotify connect player devices defined to the local network.
service: spotifyplus.player_activate_devices
data:
entity_id: media_player.spotifyplus_john_s
verify_user_context: true
delay: 0.5
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: Astring
object that contains result details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result: >
- Device Name="Bose-ST10-2", ID="5d4931f9d0684b625d702eaa24137b2c1d99539c",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, user context switch
not needed
- Device Name="Bose-ST10-1", ID="30fbc80e35598f3c242f2120413c943dfd9715fe",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, user context switch
not needed
- Device Name="Bose-ST300", ID="3756903295ba7b47f8c36fc9a4ff7d833431a667",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, user context switch
not needed
Activate all Spotify Connect player devices on the local network without switching the device user context.
service: spotifyplus.player_activate_devices
data:
entity_id: media_player.spotifyplus_john_s
verify_user_context: false
delay: 0.5
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: Astring
object that contains result details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result: >
- Device Name="Bose-ST10-2", ID="5d4931f9d0684b625d702eaa24137b2c1d99539c",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, caller bypassed user
context switch
- Device Name="Bose-ST10-1", ID="30fbc80e35598f3c242f2120413c943dfd9715fe",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, caller bypassed user
context switch
- Device Name="Bose-ST300", ID="3756903295ba7b47f8c36fc9a4ff7d833431a667",
ActiveUser="3758dfdsfjk435hjk6k79lm0n3c4", Status=ACTIVE, caller bypassed user
context switch
Start playing one or more tracks of the specified context on a Spotify Connect device.
Valid contexts are albums, artists & playlists - Audiobooks and Shows (aka podcasts) are currently not supported (Spotify Web API limitation).
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
context_uri
- Spotify URI of the context to play. Valid contexts are albums, artists & playlists. Example: "spotify:album:6vc9OTcyd3hyzabCmsdnwE" -
offset_uri
- Indicates from what Uri in the context playback should start. Only available when contextUri corresponds to an artist, album or playlist. The offsetPosition parameter will be used if this value is null. Example: "spotify:track:1301WleyT98MSxVHPZCA6M" -
offset_position
- Indicates from what position in the context playback should start. The value is zero-based, and can't be negative. Only available when contextUri corresponds to an album or playlist. Example: 3 -
position_ms
- The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. Example: 0 -
device_id
- The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Play the specified album, starting at the first track (zero offset) on the SpotifyPlus default device.
service: spotifyplus.player_media_play_context
data:
entity_id: media_player.spotifyplus_john_s
context_uri: spotify:album:6vc9OTcyd3hyzabCmsdnwE
offset_position: 0
device_id: "*"
Play the specified album, starting at the fourth track (zero offset).
service: spotifyplus.player_media_play_context
data:
entity_id: media_player.spotifyplus_john_s
context_uri: spotify:album:6vc9OTcyd3hyzabCmsdnwE
offset_position: 3
Play the specified playlist, starting at the specified track URI.
service: spotifyplus.player_media_play_context
data:
entity_id: media_player.spotifyplus_john_s
context_uri: spotify:playlist:6M8n0Sp9895BXEE0MbGPde
offset_uri: spotify:track:6zb0RH9FmYB8Ronad1uK02
Play the specified playlist, starting at the first track at the 50 second seek position.
service: spotifyplus.player_media_play_context
data:
entity_id: media_player.spotifyplus_john_s
context_uri: spotify:playlist:6M8n0Sp9895BXEE0MbGPde
position_ms: 50000
Play the specified show (aka. podcast) on the SpotifyPlus default device.
service: spotifyplus.player_media_play_context
data:
entity_id: media_player.spotifyplus_john_s
context_uri: spotify:show:3IM0lmZxpFAY7CwMuv9H4g
device_id: "*"
Start playing track favorites on a Spotify Connect device.
This service simply calls the GetTrackFavorites
method to retrieve the current users favorite tracks (200 max), then calls the PlayerMediaPlayTracks
method to play them. The desired shuffle mode is also set before tracks are played.
For Sonos devices, the tracks (up to 200 max) are loaded to a local queue on the Sonos device and played from there. This can be a lengthy operation, depending on the number of track favorites that you have. It takes about 1 second to load 5 tracks, give or take based upon the speed of your network.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
device_id
(optional) - The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
shuffle
(optional) - True to set player shuffle mode to on; otherwise, False for no shuffle. Default is True. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Play the specified tracks.
service: spotifyplus.player_media_play_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
device_id: "*"
shuffle: true
delay: 0.50
Start playing one or more tracks on a Spotify Connect device.
Valid contexts are albums, artists & playlists - Audiobooks and Shows (aka podcasts) are currently not supported (Spotify Web API limitation).
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
uris
- A list of Spotify track URIs to play; can be track or episode URIs. Example: "spotify:track:4iV5W9uYEdYUVa79Axb7Rh,spotify:episode:512ojhOuo1ktJprKbVcKyQ". -
position_ms
- The position (in milliseconds) to seek to; must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next track. Example: 0 -
device_id
- The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Play the specified tracks.
service: spotifyplus.player_media_play_tracks
data:
entity_id: media_player.spotifyplus_john_s
uris: spotify:track:6zd8T1PBe9JFHmuVnurdRp,spotify:track:1kWUud3vY5ij5r62zxpTRy
Play the specified tracks, starting at the 50 second seek position.
service: spotifyplus.player_media_play_tracks
data:
entity_id: media_player.spotifyplus_john_s
uris: spotify:track:6zd8T1PBe9JFHmuVnurdRp,spotify:track:1kWUud3vY5ij5r62zxpTRy
position_ms: 50000
Resolves a Spotify Connect device identifier from a specified device id, name, alias id, or alias name. This will ensure that the device id can be found on the network, as well as connect to the device if necessary with the current user context.
A Zeroconf discovery process is initiated to search for all Spotify Connect devices connectedto the local network. A Spotify Zeroconf API getInfo
call is then issued for each device that was found, searching for a match on the device_value
argument. Depending on the format of the device_value
, the search will match on either a Device ID or RemoteName as well as any alias ID's or Names that are in use (for multi-room configurations).
The device ID value is returned if a match is found; otherwise, null is returned.
A user context switch will also be performed if a device id is resolved AND the active user of the device does not match the Spotify Connect Username
value specified in the integration configuration options. The user context switch is bypassed if the verify_user_context
argument is False, or if the Spotify Connect Username
was not supplied in the integration configuration options. If the user context is to be switched, then a Disconnect will be issued if a user context is active on the device followed by a Connect to the user context specified in the integration configuration options.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
device_value
- The device id (e.g. '0d1841b0976bae2a3a310dd74c0f337465899bc8') or name (e.g. 'Bose-ST10-1') value to resolve. -
verify_user_context
(optional) - If True, the active user context of the resolved device is checked to ensure it matches the user context specified in the integration configuration options. If False, the user context will not be checked. Default is True. -
verify_timeout
(optional) - Time delay (in seconds) to wait AFTER issuing the final Connect command (if necessary). This delay will give the spotify web api time to process the device list change before another command is issued. Default is 5.0; value range is 0 - 10.
Resolve Spotify Connect player device by it's name value.
service: spotifyplus.player_resolve_device_id
data:
entity_id: media_player.spotifyplus_john_s
device_value: Bose-ST10-1
verify_user_context: true
verify_timeout: 5
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: Astring
object that contains result details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result: 30fbc80e35598f3c242f2120413c943dfd9715fe
Resolve Spotify Connect player device by it's ID value.
service: spotifyplus.player_resolve_device_id
data:
entity_id: media_player.spotifyplus_john_s
device_value: 30fbc80e35598f3c242f2120413c943dfd9715fe
verify_user_context: true
verify_timeout: 5
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: Astring
object that contains result details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result: 30fbc80e35598f3c242f2120413c943dfd9715fe
Set repeat mode for the specified Spotify Connect device.
Use this service instead of the media_player.repeat_set
when you want to set the repeat mode for a specific Spotify Player device id.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
state
- The repeat mode state to set:-
track
- will repeat the current track. -
context
- will repeat the current context. -
off
- will turn repeat off.
-
-
device_id
(optional) - The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Set repeat mode to repeat the currently playing track for the "Bose-ST10-1" player.
service: spotifyplus.player_set_shuffle_mode
data:
entity_id: media_player.spotifyplus_john_s
state: track
device_id: Bose-ST10-1
Set repeat mode to repeat the currently playing playlist for the "Bose-ST10-1" player.
service: spotifyplus.player_set_shuffle_mode
data:
entity_id: media_player.spotifyplus_john_s
state: context
device_id: Bose-ST10-1
Set repeat mode to off for the "Bose-ST10-1" player.
service: spotifyplus.player_set_shuffle_mode
data:
entity_id: media_player.spotifyplus_john_s
state: off
device_id: Bose-ST10-1
Set shuffle mode for the specified Spotify Connect device.
Use this service instead of the media_player.shuffle_set
when you want to set the shuffle mode for a specific Spotify Player device id.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
state
- True to set player shuffle mode to on; otherwise, False for no shuffle. -
device_id
(optional) - The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Set shuffle mode to true for the "Bose-ST10-1" player.
service: spotifyplus.player_set_shuffle_mode
data:
entity_id: media_player.spotifyplus_john_s
state: true
device_id: Bose-ST10-1
Set volume level for the specified Spotify Connect device.
Use this service instead of the media_player.volume_set
when you want to set the volume level for a specific Spotify Player device id.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
volume_level
- The volume level to set, expressed as a percentage value (e.g. 25). Must be a value from 0 (muted) to 100 (max volume) inclusive. -
device_id
(optional) - The id of the device this command is targeting. If not supplied, the user's currently active device is the target. If no device is active (or an "*" is specified), then the SpotifyPlus default device is activated. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Set volume level to 25 for the "Bose-ST10-1" player.
service: spotifyplus.player_set_volume_level
data:
entity_id: media_player.spotifyplus_john_s
volume_level: 25
device_id: Bose-ST10-1
Transfer playback to a new Spotify Connect Player device and optionally begin playback.
The following log message will be generated if the device_id
was supplied, but could not be resolved to a Spotify Connect device.
Device value 'X' could not be resolved to an active Spotify Connect device, which denotes subsequent operations for the device will probably fail; please ensure that the specified device is available on the network.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
device_id
- The id or name of the Spotify Connect Player device on which playback should be started/transferred. If no device is specified, then the SpotifyPlus default device is activated. For Sonos devices, use the device name instead of the device id. -
play
(optional) - True (default) to start playback on the new device; otherise, False to keep the current playback state on the existing device. -
delay
(optional) - Time delay (in seconds) to wait AFTER issuing the command to the player. This delay will give the spotify web api time to process the change before another command is issued. Default is 0.50; value range is 0 - 10.
Transfer playback to the "Bose-ST300" Spotify Connect Player device id.
service: spotifyplus.player_transfer_playback
data:
entity_id: media_player.spotifyplus_john_s
device_id: 6f66ef4fbf687bbba393d8c38599aad484b30901
play: true
Transfer playback to the "Bose-ST300" Spotify Connect Player device name.
service: spotifyplus.player_transfer_playback
data:
entity_id: media_player.spotifyplus_john_s
device_id: "Bose-ST300"
play: true
Transfer playback to the "Sonos-Office" Spotify Connect Player device name.
service: spotifyplus.player_transfer_playback
data:
entity_id: media_player.spotifyplus_john_s
device_id: "Sonos-Office"
play: true
Change a playlists details (name, description, and public / private state).
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g.5AC9ZXA7nJ7oGWO911FuDG
). -
name
- The updated name for the playlist (e.g.My Updated Playlist
). This name does not need to be unique; a user may have several playlists with the same name. -
description
- The playlist description, as displayed in Spotify Clients and in the Web API. -
public
- If true, the playlist will be public; if false, it will be private. -
collaborative
- If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set thepublic
parameter to false. -
image_path
(optional) - The fully-qualified path of the image to be uploaded (e.g.www/images/spotify_playlist_default_image.png
). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to update the existing playlist image.
service: spotifyplus.playlist_change
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4ug187aPQTkPhD6Apa8d07
name: My Updated Playlist
description: A Playlist updated by the SpotifyPlus integration
public: false
collaborative: false
image_path: www/images/spotify_playlist_default_image.png
Replace the image used to represent a specific playlist.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g. 2hFfHs68giBGT4eMVnqVPt). -
image_path
- The fully-qualified path of the image to be uploaded (e.g.www/images/spotify_playlist_default_image.png
). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size.
service: spotifyplus.playlist_cover_image_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 2hFfHs68giBGT4eMVnqVPt
image_path: www/images/spotify_playlist_default_image.png
Create an empty playlist for a Spotify user. The playlist will remain empty until you add tracks.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
user_id
(optional) - The user's Spotify user ID (e.g. 32k99y2kg5lnn3mxhtmd2bpdkjfu). Omit this parameter to use the Spotify User ID of the player entity_id. -
name
- The name for the new playlist (e.g.My New Playlist
). This name does not need to be unique; a user may have several playlists with the same name. -
description
- The playlist description, as displayed in Spotify Clients and in the Web API. -
public
- If true, the playlist will be public; if false, it will be private. -
collaborative
- If true, the playlist will be collaborative (other users can modify it). To create a collaborative playlist you must also set thepublic
parameter to false. -
image_path
(optional) - The fully-qualified path of the image to be uploaded (e.g.www/images/spotify_playlist_default_image.png
). The image must be in PNG or JPEG format, and cannot exceed 256KB in Base64 encoded size. Omit this parameter if you do not wish to add a playlist image.
service: spotifyplus.playlist_create
data:
entity_id: media_player.spotifyplus_john_s
name: My New Playlist
description: A Playlist created by the SpotifyPlus integration
public: false
collaborative: false
image_path: www/images/spotify_playlist_default_image.png
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylist
object that contains result details.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
collaborative: false
description: A Playlist created by the SpotifyPlus integration
external_urls:
spotify: https://open.spotify.com/playlist/4ug187aPQTkPhD6Apa8d07
href: https://api.spotify.com/v1/playlists/4ug187aPQTkPhD6Apa8d07
id: 4ug187aPQTkPhD6Apa8d07
images: []
name: My New Playlist
public: true
snapshotId: MjgsZDYxNDczOGYyOTc0OTYyMmNiYTc4M2YwOGQ4ODIzMTkwODMwNTQ4Yw==
tracks:
href: https://api.spotify.com/v1/playlists/4ug187aPQTkPhD6Apa8d07/tracks
limit: 100
next: null
offset: 0
previous: null
total: 0
items: []
type: playlist
uri: spotify:playlist:4ug187aPQTkPhD6Apa8d07
followers:
href: null
total: 0
Add one or more items to a user's playlist. Items are added in the order they are listed in the uris
parameter.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). -
uris
(optional) - A comma-separated list of Spotify URIs to add; can be track or episode URIs (e.g. spotify:track:4iV5W9uYEdYUVa79Axb7Rh). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. -
position
- The position to insert the items, a zero-based index. For example, to insert the items in the first position use a value of zero; to insert the items in the third position use 2. Use -1 to append the items to the end of the playlist.
Add specified track to the beginning of the playlist.
service: spotifyplus.playlist_items_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
uris: spotify:track:0NL83oUQmHLErXLOuvhgNX
position: 0
Insert the specified track in the 3rd position of the playlist.
service: spotifyplus.playlist_items_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
uris: spotify:track:0NL83oUQmHLErXLOuvhgNX
position: 2
Add specified track to the end of the playlist.
service: spotifyplus.playlist_items_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
uris: spotify:track:0NL83oUQmHLErXLOuvhgNX
Add currently playing track to the end of the playlist.
service: spotifyplus.playlist_items_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
Add currently playing track to the beginning of the playlist.
service: spotifyplus.playlist_items_add
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
position: 0
Removes (clears) all items from a user's playlist.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG).
service: spotifyplus.playlist_items_clear
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 2hFfHs68giBGT4eMVnqVPt
Remove one or more items from a user's playlist.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g. 5AC9ZXA7nJ7oGWO911FuDG). -
uris
(optional) - A comma-separated list of Spotify URIs to remove; can be track or episode URIs (e.g. spotify:track:0NL83oUQmHLErXLOuvhgNX). A maximum of 100 items can be specified in one request. If nothing is specified, then the track (or episode) uri currently playing is used. -
snapshot_id
(optional) - The playlist's snapshot ID against which you want to make the changes (e.g.MzgsMWVkNDY3MTQ5YjVjYWE0MzAyNjkyZWMyOThjNjE3YWMwOTY0ZmJjYg==
). The API will validate that the specified items exist and make the changes, even if more recent changes have been made to the playlist. If parameter is omitted, the current playlist is updated.
Remove specified tracks from the playlist.
service: spotifyplus.playlist_items_remove
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
uris: spotify:track:0NL83oUQmHLErXLOuvhgNX,spotify:track:1HynOdAoMmGmkZOzafy492
Remove currently playing track from the playlist.
service: spotifyplus.playlist_items_remove
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 4yptcTKnXjCu3V92tVVafS
Remove one or more albums from the current user's 'Your Library'.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify album id's (e.g.6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX
). A maximum of 50 id's may be specified. If omitted, the currently playing track album uri id value is used.
Remove specified albums to current user favorites.
service: spotifyplus.remove_album_favorites
data:
entity_id: media_player.spotifyplus_john_s
ids: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX
Remove currently playing track album to current user favorites.
service: spotifyplus.remove_album_favorites
data:
entity_id: media_player.spotifyplus_john_s
Remove one or more tracks from the current user's 'Your Library'.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify track id's (e.g.1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK
). A maximum of 50 id's may be specified. If omitted, the currently playing context uri id value is used.
Remove specified tracks from current user favorites.
service: spotifyplus.remove_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
ids: 0NL83oUQmHLErXLOuvhgNX,1HynOdAoMmGmkZOzafy492
Remove currently playing track from current user favorites.
service: spotifyplus.remove_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
Save one or more albums to the current user's 'Your Library'.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify album id's (e.g.6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX
). A maximum of 50 id's may be specified. If omitted, the currently playing track album uri id value is used.
Save specified albums to current user favorites.
service: spotifyplus.save_album_favorites
data:
entity_id: media_player.spotifyplus_john_s
ids: 6vc9OTcyd3hyzabCmsdnwE,382ObEPsp2rxGrnsizN5TX
Save currently playing track album to current user favorites.
service: spotifyplus.save_album_favorites
data:
entity_id: media_player.spotifyplus_john_s
Save one or more tracks to the current user's 'Your Library'.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify track id's (e.g.1kWUud3vY5ij5r62zxpTRy,4eoYKv2kDwJS7gRGh5q6SK
). A maximum of 50 id's may be specified. If omitted, the currently playing context uri id value is used.
Save specified tracks to current user favorites.
service: spotifyplus.save_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
ids: 0NL83oUQmHLErXLOuvhgNX,1HynOdAoMmGmkZOzafy492
Save currently playing track to current user favorites.
service: spotifyplus.save_track_favorites
data:
entity_id: media_player.spotifyplus_john_s
Get Spotify catalog information about Albums that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_albums
data:
entity_id: media_player.spotifyplus_john_s
criteria: Welcome to the New
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AAlbumPageSimplified
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Artists that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_artists
data:
entity_id: media_player.spotifyplus_john_s
criteria: MercyMe
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AArtistPage
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Audiobooks that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_audiobooks
data:
entity_id: media_player.spotifyplus_john_s
criteria: The Elfstones of Shannara
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AAudiobookPageSimplified
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Episodes that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_episodes
data:
entity_id: media_player.spotifyplus_john_s
criteria: Armchair Anonymous
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AEpisodePageSimplified
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Playlists that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_playlists
data:
entity_id: media_player.spotifyplus_john_s
criteria: Daily Mix
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: APlaylistPageSimplified
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Shows that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_shows
data:
entity_id: media_player.spotifyplus_john_s
criteria: Dax Shepard
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AShowPageSimplified
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Get Spotify catalog information about Tracks that match a keyword string.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
criteria
- The criteria to search for (e.g. "Daily Mix"). Example: "Daily Mix" -
limit
- The maximum number of items to return in a page of items. Default is 20, Range is 1 to 50. -
offset
- The page index offset of the first item to return. Use with limit to get the next set of items. Default is 0 (the first item). -
market
- An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned. The country associated with the user account will take priority over this parameter. example:US
-
include_external
- If 'audio' is specified it signals that the client can play externally hosted audio content, and marks the content as playable in the response. By default externally hosted audio content is marked as unplayable in the response. Allowed values are 'audio'. Example: "audio" -
limit_total
- The maximum number of items to return for the request. If specified, this parameter overrides the limit and offset parameter values and paging is automatically used to retrieve all available items up to the specified limit total.
service: spotifyplus.search_tracks
data:
entity_id: media_player.spotifyplus_john_s
criteria: Dear Younger Me
include_external: audio
limit_total: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: ATrackPage
object of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
... <data truncated for brevity - same results as Spotify Web API returns>
Remove the current user as a follower of one or more artists.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
(optional) - A comma-separated list of Spotify artist id's (e.g.2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk
). A maximum of 50 id's may be specified. If omitted, the currently playing track artist uri id value is used.
Unfollow the specified artists.
service: spotifyplus.unfollow_artists
data:
entity_id: media_player.spotifyplus_john_s
ids: 2CIMQHirSU0MQqyYHq0eOx,1IQ2e1buppatiN1bxUVkrk
Unfollow the currently playing track artist.
service: spotifyplus.unfollow_artists
data:
entity_id: media_player.spotifyplus_john_s
Remove the current user as a follower of a playlist.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
playlist_id
- The Spotify ID of the playlist (e.g.37i9dQZF1E39vTG3GurFPW
).
Unfollow the specified playlist.
service: spotifyplus.unfollow_playlist
data:
entity_id: media_player.spotifyplus_john_s
playlist_id: 37i9dQZF1E39vTG3GurFPW
Remove the current user as a follower of one or more users.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus service that will make the request to the Spotify Web API. -
ids
- A comma-separated list of Spotify user IDs (e.g.smedjan,3758dfdsfjk435hjk6k79lm0n3c4
). A maximum of 50 IDs can be sent in one request.
Unfollow the specified users.
service: spotifyplus.unfollow_users
data:
entity_id: media_player.spotifyplus_john_s
ids: smedjan,3758dfdsfjk435hjk6k79lm0n3c4
Calls the addUser
Spotify Zeroconf API endpoint to issue a call to SpConnectionLoginBlob. If successful, the associated device id is added to the Spotify Connect active device list for the specified user account. This will also issue a resetUsers
call prior to the addUser
call.
Use the ZeroConf Discover Devices service to retrieve the various parameters for this method.
This service will return service response data.
The login (on the device) is performed asynchronously, so the return result only indicates whether the library is able to perform the login attempt. You should issue a call to the Spotify Web API Get Available Devices
endpoint to check the current device list to ensure that the device id was successfully added or not.
Note that if you don't have a password setup for your Spotify account (e.g. you utilize the "Continue with Google" or other non-password methods for login), then you will need to define a "device password" in order to use the ZeroConf Connect service; use the Spotify Set Device Password page to define a device password. You will then use your Spotify username and the device password to Connect to the device.
The loginid
value can be obtained by calling the ZeroConf Device Get Information service. The Spotify loginid value (aka canonical user id) is returned in the user_profile
\ id
value. It is also the suffix of the Spotify User uri
(e.g. spotify:user:xxxxxxxxxxxx
) value.
Use the verifyDeviceListEntry
argument to check if the device is currently listed in the Spotify Connect device list. If True, a GetInformation
call is issued to get the device id, and a GetPlayerDevice
call is made to check if the device id is in the Spotify Connect device list. If the device id is found in the Spotify Connect device list then the Connect command is not issued; if the device id is NOT found in the Spotify Connect device list then the Connect command is issued
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. -
host_ipv4_address
- IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. '192.168.1.81'). -
host_ip_port
- Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). -
cpath
- Spotify Connect Zeroconf API CPath property value (e.g. '/zc'). -
version
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. '1.0'). Default is '1.0'. -
use_ssl
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. False). Default is False. -
username
- Spotify user name to login with; this can be a standard username (e.g. '[email protected]') or a canonical userid (e.g. '31l77y75hfnhk79f7gk6jkk878mg'). This MUST match the account name (or one of them) that was used to configure Spotify Connect on the manufacturer device. -
password
- Spotify user password to login with. -
loginid
- Spotify Connect login id to login with (e.g. '31l77fd87g8h9j00k89f07jf87ge'). This is also known as the canonical user id value. This MUST be the value that relates to theusername
argument. -
pre_disconnect
- (optional) True if a Disconnect should be made prior to the Connect call. This will ensure that the active user is logged out, which must be done if switching user accounts; otherwise, False to not issue a Disconnect call. Default is False. -
verify_device_list_entry
- (optional) True to ensure that the device id is present in the Spotify Connect device list before issuing a call to Connect; Connect will not be called if the device id is already in the list; otherwise, False to always call Connect to add the device. Default is False.
service: spotifyplus.zeroconf_device_connect
data:
entity_id: media_player.spotifyplus_john_s
host_ipv4_address: 192.168.1.81
host_ip_port: 8200
cpath: /zc
version: 1
use_ssl: false
username: [email protected]
password: yourpassword
loginid: yourspotifyloginid
pre_disconnect: true
verify_device_list_entry: true
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AZeroconfResponse
object that contains the response.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
SpotifyError: 0
Status: 101
StatusString: OK
ResponseSource: null
Calls the resetUsers
Spotify Zeroconf API endpoint to issue a call to SpConnectionLogout. The currently logged in user (if any) will be logged out of Spotify Connect, and the device id removed from the active Spotify Connect device list.
Use the ZeroConf Discover Devices service to retrieve the various parameters for this method.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. -
host_ipv4_address
- IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. '192.168.1.81'). -
host_ip_port
- Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). -
cpath
- Spotify Connect Zeroconf API CPath property value (e.g. '/zc'). -
version
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. '1.0'). Default is '1.0'. -
use_ssl
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. False). Default is False.
service: spotifyplus.zeroconf_device_disconnect
data:
entity_id: media_player.spotifyplus_john_s
host_ipv4_address: 192.168.1.81
host_ip_port: 8200
cpath: /zc
version: 1
use_ssl: false
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AZeroconfResponse
object that contains the response.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
SpotifyError: 0
Status: 101
StatusString: OK
ResponseSource: null
Calls the getInfo
Spotify Zeroconf API endpoint to return information about the device.
Use the ZeroConf Discover Devices service to retrieve the various parameters for this method.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. -
host_ipv4_address
- IPV4 address at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. '192.168.1.81'). -
host_ip_port
- Port number at which the Spotify Connect Zeroconf API can be reached on the Spotify Connect device (e.g. 8200). -
cpath
- Spotify Connect Zeroconf API CPath property value (e.g. '/zc'). -
version
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. '1.0'). Default is '1.0'. -
use_ssl
- (optional) Spotify Connect Zeroconf API version number that the device supports (e.g. False). Default is False.
service: spotifyplus.zeroconf_device_getinfo
data:
entity_id: media_player.spotifyplus_john_s
host_ipv4_address: 192.168.1.81
host_ip_port: 8200
cpath: /zc
version: 1
use_ssl: false
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: AZeroconfGetInfo
object that contains the response.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
SpotifyError: 0
Status: 101
StatusString: OK
ResponseSource: null
AccountReq: DONTCARE
ActiveUser: 31l77y2123456789012345678901
Aliases: []
Availability: ""
BrandDisplayName: Bose
ClientId: 12345678901234567890123456789012
DeviceId: 30fbc80e35598f3c242f2121234567890d9715fe
DeviceType: SPEAKER
GroupStatus: NONE
LibraryVersion: 3.88.29-gc4d4bb01
ModelDisplayName: Soundtouch
ProductId: 70001
PublicKey: xxxxxxxxx
RemoteName: Bose-ST10-1
ResolverVersion: "0"
Scope: streaming
SupportedCapabilities: null
SupportedDrmMediaFormats: []
TokenType: accesstoken
Version: 2.7.1
VoiceSupport: "YES"
Discover Spotify Connect devices on the local network via the ZeroConf (aka MDNS) service, and return details about each device.
This service will return service response data.
All parameters are required unless otherwise noted.
-
entity_id
- Entity ID of the SpotifyPlus device that will make the request to the ZeroConf service. -
timeout
- Maximum amount of time to wait (in seconds) for the discovery to complete. Default is 5, range is 1 thru 10.
service: spotifyplus.zeroconf_discover_devices
data:
entity_id: media_player.spotifyplus_john_s
timeout: 2
A dictionary that contains the following keys:
-
user_profile
: A (partial) user profile that retrieved the result. -
result
: An array ofZeroconfDiscoveryResult
objects of matching results.
user_profile:
country: US
display_name: John Smith
email: [email protected]
id: 3758dfdsfjk435hjk6k79lm0n3c4
product: premium
type: user
uri: spotify:user:3758dfdsfjk435hjk6k79lm0n3c4
result:
- DeviceName: Bose-ST10-1
Domain: .local
HostIpv4Address: 192.168.1.81
HostIpPort: 8200
HostTTL: 120
Key: bose-st10-1._spotify-connect._tcp.local.
Name: Bose-ST10-1._spotify-connect._tcp.local.
Priority: 0
OtherTTL: 4500
Server: Bose-SM2-341513fbeeae.local.
ServerKey: bose-sm2-341513fbeeae.local.
ServiceType: _spotify-connect._tcp.local.
Weight: 0
Properties:
- Name: CPath
Value: /zc
- Name: VERSION
Value: "1.0"
SpotifyConnectCPath: /zc
SpotifyConnectIsInDeviceList: false
SpotifyConnectVersion: "1.0"
ZeroconfApiEndpointAddUser: http://192.168.1.81:8200/zc?action=addUser&version=1.0
ZeroconfApiEndpointGetInformation: http://192.168.1.81:8200/zc?action=getInfo&version=1.0
ZeroconfApiEndpointResetUsers: http://192.168.1.81:8200/zc?action=resetUsers&version=1.0
- DeviceName: Bose-ST300
Domain: .local
HostIpv4Address: 192.168.1.80
HostIpPort: 8200
HostTTL: 120
Key: bose-st300._spotify-connect._tcp.local.
Name: Bose-ST300._spotify-connect._tcp.local.
Priority: 0
OtherTTL: 4500
Server: Bose-SM2-d43639610922.local.
ServerKey: bose-sm2-d43639610922.local.
ServiceType: _spotify-connect._tcp.local.
Weight: 0
Properties:
- Name: CPath
Value: /zc
- Name: VERSION
Value: "1.0"
SpotifyConnectCPath: /zc
SpotifyConnectIsInDeviceList: false
SpotifyConnectVersion: "1.0"
ZeroconfApiEndpointAddUser: http://192.168.1.80:8200/zc?action=addUser&version=1.0
ZeroconfApiEndpointGetInformation: http://192.168.1.80:8200/zc?action=getInfo&version=1.0
ZeroconfApiEndpointResetUsers: http://192.168.1.80:8200/zc?action=resetUsers&version=1.0