Bose retired the SoundTouch cloud in 2026. The side-effect: every TuneIn preset, the SoundTouch app, and the LOCAL_INTERNET_RADIO source on the speaker became dead. Spotify Connect and AUX still work, but the six physical preset buttons on top of the speaker are stuck on "Service not available."
I built a small Home Assistant add-on that brings the buttons back. No firmware mod, no rooting — pure local network.
How it works
Speaker still exposes a local WebSocket notification stream (ws://<ip>:8080, subprotocol gabbo) — emits an event for every preset press.
Speaker still exposes a local UPnP MediaRenderer on port 8091 with a working AVTransport service.
The add-on listens to the WebSocket. When you press preset N, it pushes the URL you configured for slot N via UPnP SetAVTransportURI + Play.
End result: press preset 1 → plays whatever icecast/MP3 URL you put in slot 1. Six independent slots. Configure URLs per slot in the add-on's Configuration tab.
Plain HTTP audio streams only (icecast / direct MP3 / AAC). Token-protected commercial streams need their own proxy and are out of scope.
One bridge per speaker right now (multi-speaker on the roadmap).
The speaker's display still shows whatever preset content is stored on it; the add-on works regardless of what's stored there. Pressing the button is the only thing that matters.
Tested on
SoundTouch 20, firmware 27.0.6
Home Assistant OS 2026.5.0
If you've got a different model or firmware, please try it and let me know — happy to expand support.
Feedback / issues / PRs welcome on the GitHub repo.
Works great on my Soundtouch 10. Many thanks Sander great work! Waiting for the Multi-speaker support update. I have 4 speakers and 1 pair speakers in stereo connected.
Any change that stereo connecting will be supported by 3 party. Connected pair is still working. But new stereo connection not possible.
I am waiting for my new NAS to arrive. Then I will test this out. I have a SoundTouch 30 III. I have set up Radio 538, NPO SterrenNL, and JOE Radio using buttons 1, 2, and 3. I am very curious if this will work.
I tested your Bose SoundTouch Bridge add-on successfully with one SoundTouch 10 speaker: the physical preset buttons work again with HTTP radio streams.
In my setup, I have several SoundTouch speakers, so the current “one bridge per speaker” limitation is a blocker for daily use.
I’m really looking forward to multi-speaker support in a future version. It would be very useful to manage multiple SoundTouch speakers from a single add-on instance.
Thanks for your work — this is exactly the kind of solution we needed after the Bose cloud shutdown.
Hey @sandervg, great work on this, exactly what I was looking for after the shutdown.
I forked the repo and added a few extensions while getting it running:
Multi-speaker support: one config fans out to all discovered speakers, or per-speaker overrides via name
Global preset shortcut: PRESET_1_URL ... PRESET_6_URL env vars as a zero-config wildcard. Set the presets, and all discovered Soundtouch devices can use them.
SSDP-authoritative UPnP discovery: description URL taken from the SSDP LOCATION: header instead of a hardcoded path
Fairly new to HA and struggling with the configuration. I've put in the speaker host as the 192.186 etc number for the Bose, URL, name and favicon from radio browser but its not working. Help. Thanks.
**New to HA. Installed Bridge and modified configuration with streaming URLs, matching the internet radios I had on my SoundTouch units. When pressing a preset button, the log shows errors:
[192.168.1.125] physical preset button 1 detected
[192.168.1.125] reporting preset 1 to Home Assistant
[192.168.1.125] playing local preset 1: https://stream.wqxr.org/wqxr
[192.168.1.125] play error: (402, "Can't play. No URI supplied.")
Seems the add-on is capturing the physical key press, but cannot move on. Is this because the "https" URLs are not supported ("out of scope") with this add-on? Please confirm/advise. Either way, thank you for your help to the community.
Sincerely, Kevin
Nice project! For anyone in this thread who'd rather not keep a Home Assistant add-on or any always-on device running, here's a different angle: STR (SoundTouch Reborn), an open-source tool I make.
Instead of bridging from a server, it sets the speaker up once via a USB stick (free Windows/Mac app) and then runs locally on the speaker itself. No Pi, no NAS, no HA instance, no networking knowledge needed. Internet radio and the hardware preset buttons 1–6 come back, fully local, no account or Bose server.
Not a replacement for a HA workflow if you're already deep in HA. Just a no-infrastructure option for people who want the buttons back and nothing to maintain. Disclosure: I'm the author, MIT license, not affiliated with Bose. https://st-reborn.de
First of all, thank you very much for this amazing project. After the SoundTouch shutdown, your Bridge has brought my Bose speakers back to life and allowed me to continue using the physical preset buttons locally with Home Assistant. The multi-speaker support in v1.8.x is especially impressive and works great in my setup.
I have a question regarding the physical buttons on the SoundTouch remote and speaker.
The preset buttons (1-6) are detected perfectly and I can see entries such as:
"physical preset button X detected"
"reporting preset X to Home Assistant"
in the logs.
However, I was wondering whether the SoundTouch WebSocket/API exposes any events for the "Thumbs Up" and "Thumbs Down" buttons.
I have been monitoring Home Assistant state changes and the Bridge logs, but so far I have not seen any events related to these buttons.
Do Bose devices send any WebSocket notifications for Thumbs Up / Thumbs Down that are currently not implemented in the Bridge, or are these buttons simply not exposed by the local SoundTouch API at all?
I would love to use them as additional Home Assistant triggers if the underlying API supports them.
Thank you again for all your work on this project!