Files
bonob/sonos_service/SONOS_SERVICE.adoc
2025-10-17 17:35:25 +02:00

83 lines
2.3 KiB
Plaintext

= Setting up Sonos Service
* Prerequisites
** In your Sonos App get your Sonos ID (About my Sonos System)
+ image::images/about.png
** Navidrome running and available from the Internet. E.g. via https://music.mydomain.com
** Bonob running and available from the Internet. E.g. via https://bonob.mydomain.com
You can use any method to make these URLs available. Cloudflare Tunnels, Pangolin, reverse proxy, etc.
* Log into https://play.sonos.com
* Once logged in go to https://developer.sonos.com/s/integrations
* Create a *New Content Integration*
** General Information
*** Service Name: Navidrome
*** Service Availability: Global
*** Checkbox checked
*** Website/Social Media URLs: https://music.mydomain.com (Some URL - e.g. your Navidrome server)
** Sonos Music API
*** Integration ID: com.mydomain.music (your domain in reverse)
*** Configuration Label: 1.0
*** SMAPI Endpoint: https://bonob.mydomain.com/ws/sonos
*** SMAPI Endpoint Version: 1.1
*** Radio Endpoint: empty
*** Reporting Endpoint: https://bonob.mydomain.com/report/v1
*** Reporting Endpoint Version: 2.3
*** Authentication Method: OAuth
*** Redirect: https://bonob.mydomain.com/login
*** Auth Token Time To Life: Empty
*** Browse/Search Results Page Size: 100
*** Polling Interval: 60
** Brand Assets
Just upload the various assets from the `sonos_artwork` directory.
** Localization Resources
Write something about your service in the various fields (except Explicit Filter Description).
** Integration Capabilities
Check the first two (*Enable Extended Metadata* and *Enable Extended Metadata for Playlists*) and nothing else.
** Image Replacement Rules
No changes
** Browse Options
No changes
** Search Capabilities
*** API Catalog Type: SMAPI Catalog
*** Catalog Title: Music
*** Catalog Type: GLOBAL
Add Three Categories with ID and Mapped ID:
Albums - albums
Artists - artists
Tracks - tracks
** Content Actions
No changes
** Service Deployment Settings
*** Sonos ID: Your Sonos ID (from About my system). This is how only your controller sees the new service.
*** System Name: Whatever you want
** Service Configuration
Click on *Refresh* and then *Send*. You should get a success message that you can dismiss with *Done*.
* In your app search for your service name and add Service in your app as usual.