Setup docs

This commit is contained in:
2025-10-17 17:33:04 +02:00
parent 57c60dd462
commit b777f4fd00
12 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
# 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="200" viewBox="0 0 800 200" role="img" aria-labelledby="title desc">
<title id="title">Bonob Subsonic Logo</title>
<desc id="desc">A blue music-note icon with family dots on the left, followed by stacked text Bonob Navidrome in blue.</desc>
<!-- Icon (scaled and positioned) -->
<g transform="translate(20,20) scale(4)">
<rect x="0" y="0" width="40" height="40" rx="6" ry="6" fill="#1976d2"/>
<circle cx="11.5" cy="15.5" r="1.6" fill="#ffffff"/>
<circle cx="11.5" cy="22.5" r="1.6" fill="#ffffff"/>
<circle cx="22" cy="26" r="4" fill="#ffffff"/>
<rect x="24" y="10" width="1.6" height="16" rx="0.8" fill="#ffffff"/>
<path d="M25.6 11.2 C29.0 10.6 30.2 13.6 27.4 14.6 C29.2 15.4 27.6 16.6 25.6 15.8 Z" fill="#ffffff"/>
</g>
<!-- Text stacked in two lines -->
<text x="240" y="90" font-family="Arial, Helvetica, sans-serif" font-size="80" fill="#1976d2">Bonob</text>
<text x="240" y="160" font-family="Arial, Helvetica, sans-serif" font-size="80" fill="#1976d2">Navidrome</text>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="180" height="20" viewBox="0 0 180 20" role="img" aria-labelledby="title desc">
<title id="title">Bonob Subsonic Logo</title>
<desc id="desc">A blue music-note icon with family dots, followed by the text Bonob Subsonic in blue.</desc>
<!-- Icon scaled down to fit height -->
<g transform="scale(0.45) translate(0,0)">
<rect x="0" y="0" width="40" height="40" rx="6" ry="6" fill="#1976d2"/>
<circle cx="11.5" cy="15.5" r="1.6" fill="#ffffff"/>
<circle cx="11.5" cy="22.5" r="1.6" fill="#ffffff"/>
<circle cx="22" cy="26" r="4" fill="#ffffff"/>
<rect x="24" y="10" width="1.6" height="16" rx="0.8" fill="#ffffff"/>
<path d="M25.6 11.2 C29.0 10.6 30.2 13.6 27.4 14.6 C29.2 15.4 27.6 16.6 25.6 15.8 Z" fill="#ffffff"/>
</g>
<!-- Text -->
<text x="28" y="15" font-family="Arial, Helvetica, sans-serif" font-size="12" fill="#1976d2">
Bonob Subsonic
</text>
</svg>

After

Width:  |  Height:  |  Size: 950 B

View File

@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" role="img" aria-labelledby="title desc">
<title id="title">Bonob Navidrome Music Server</title>
<desc id="desc">Blue rounded square with a white music note and two small circles representing family.</desc>
<!-- Blue rounded background -->
<rect x="0" y="0" width="40" height="40" rx="6" ry="6" fill="#1976d2"/>
<!-- Family dots (simple, symbolic) -->
<circle cx="11.5" cy="15.5" r="1.6" fill="#ffffff"/>
<circle cx="11.5" cy="22.5" r="1.6" fill="#ffffff"/>
<!-- Note head -->
<circle cx="22" cy="26" r="4" fill="#ffffff"/>
<!-- Note stem -->
<rect x="24" y="10" width="1.6" height="16" rx="0.8" fill="#ffffff"/>
<!-- Note flag (simple, filled shape) -->
<path d="M25.6 11.2 C29.0 10.6 30.2 13.6 27.4 14.6 C29.2 15.4 27.6 16.6 25.6 15.8 Z" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 877 B