This setup should allow your Bose SoundTouch speakers to continue playing Internet radio locally after Bose discontinues its cloud services (February 2026).
This method is experimental until confirmed after the official EOL.
It replaces the soon-to-be-retired TuneIn integration while keeping local playback working.
Note: Based on recent community testing, SoundTouch presets will likely stop working after the Bose cloud shutdown in February–March 2026 unless a workaround is found.
08-12-2025 — Removed most of this Gist because there’s a much simpler solution than using the Gerbera media server: hosting a JSON description of the radio station on an HTTP server (thanks to user gmuth).
19-11-2025 — Added testing notes:
thlucas1/homeassistantcomponent_soundtouchplus#37 (comment)
Testing strongly indicates that even for “local” services like UPnP (STORED_MUSIC), Bose SoundTouch devices still rely heavily on the Bose cloud for initial setup and for enabling/persisting certain features.
This means that once the Bose cloud services are truly shut down, it is highly likely that:
- Factory-reset devices will not be able to register new UPnP or other music services via the API or the app.
- Existing configurations may disappear, especially presets, if the device attempts to “re-authenticate” or periodically sync with the now-absent cloud.
This reinforces the need to have SoundTouch devices fully configured and cloud-registered before the EOL date, hoping that existing configurations will continue to work for local playback afterward.
- Reverse-engineering the cloud interaction and simulating the required responses locally
- Using an external device on AUX IN (e.g., a streamer or Raspberry Pi) to provide radio and other sources independent of the SoundTouch cloud
You can host a JSON description of the radio station on any HTTP server, e.g. bbc1.json.
Create a file such as bbc1.json containing:
{
"audio": {
"hasPlaylist": false,
"isRealtime": true,
"streamUrl": "http://bbc.com/stream/..."
},
"imageUrl": "",
"name": "BBC 1",
"streamType": "liveRadio"
}Place this file on your HTTP server.
Now store the station to preset 1 using:
curl -d @- http://soundtouch:8090/storePreset << XML
<preset id="1">
<ContentItem source="LOCAL_INTERNET_RADIO" type="stationurl" location="http://yourserver/bbc1.json">
<itemName>BBC 1</itemName>
</ContentItem>
</preset>
XML- Stream URLs must use HTTP, not HTTPS.
- Sometimes the SoundTouch does not start the preset immediately — a reboot usually fixes it.
- This method remains experimental until confirmed after the SoundTouch cloud EOL in February 2026.
- Also check out soundcork, which aims to intercept SoundTouch API calls and may offer a long-term solution:
https://github.com/deborahgu/soundcork
Uh oh!
There was an error while loading. Please reload this page.