Sonos makes some of the best wireless speakers you can buy. The hardware is excellent, the sound quality punches well above its price class, and the multi-room capabilities are hard to beat when they work. The problem has never been the speakers themselves. It's always been the software.
The Sonos app redesign in May 2024 was, to put it mildly, a disaster. Features disappeared overnight, speakers dropped off networks mid-playback, and volume controls became unresponsive. It was bad enough that it factored into the CEO stepping down, and the company's market value tanked by nearly $500 million. Over a year later, Sonos has admitted that the app is still fundamentally inadequate, and they're planning yet another rebuild. I'm not holding my breath.
Here's the thing, though. I recently picked up a Sonos Era 100, and I've been running it through Home Assistant for a while now. I genuinely think the Home Assistant experience is better than what Sonos offers natively. It's not perfect, and there are quirks you'll need to work around, but between the Home Assistant integration, Music Assistant, and the Era 100's USB-C line in, I've built a setup that the Sonos app simply can't match.
Home Assistant gives you controls the Sonos app buries
Everything is in one place, and it actually responds
When you add a Sonos speaker to Home Assistant, it shows up as a media player entity with a surprising amount of granular control. You get number sliders for bass and treble, toggles for loudness and crossfade, switches for the status light and touch controls, and even alarm management that mirrors what's set up in the Sonos app. If you have a home theater setup, you also get night sound, speech enhancement, and audio delay controls. It's all there, right alongside the rest of your smart home.
What makes this better than the Sonos app isn't necessarily the features themselves, but the fact that everything actually works reliably and is all in the one place. Volume changes happen straight away, the dashboard loads instantaneously, and I can see the currently-playing track from Home Assistant. I know that sounds like a low bar, and honestly, it is, but after dealing with the Sonos app for any length of time, reliability starts to feel like a pretty high-end feature.
On top of that, because this is Home Assistant, you can build automations around your Sonos speakers that go well beyond what Sonos allows natively. I can have my Era 100 announce when a package arrives using text-to-speech, lower the volume automatically during certain hours, or trigger specific playlists based on time of day. The Sonos app treats your speaker as a music player. Home Assistant treats it as a smart home device that happens to play music, and that distinction matters quite a bit.
Music Assistant fills in the small number of gaps
Spotify, YouTube Music, local files, no subscription required
My Sonos Era 100 setup is relatively simplistic, but there are very few products on the market that cover my use case appropriately. I have a SteelSeries Arctis Nova Pro Wireless base station, which receives an audio input from my GoXLR Mini before relaying it to my headphones. When my headphones are off, the audio is routed one more time to the Era 100 over USB-C. With this setup, I can have a seamless hand-off to my speakers on my computer, without needing to manually disconnect or reconnect anything. I also designed a mount for the speaker that's built into a case for a MAX7219, which changes to scrolling text on the screen with the currently playing track, switching between the two every 20 seconds.
The other key integration is Music Assistant. Home Assistant can broadcast audio to Sonos speakers natively, which includes text to speech, though the speaker also natively supports Spotify and will be surfaced as a Spotify Connect device in the Spotify app. For other music streaming services, though, you'd normally need to connect via Bluetooth. However, Music Assistant connects to all sorts of streaming services, like Spotify, Apple Music, Tidal, YouTube Music, Deezer, and Qobuz, playing them across any supported speaker in your home, Sonos included.
Music Assistant supports gapless playback, crossfade, and volume normalization across all players, which are features that the Sonos app technically offers, but not integrated across a huge number of services in this way. Even if you use Spotify, Music Assistant is still worth trying out. My library from Spotify shows up in Music Assistant's interface alongside any local music I have, and I can build playlists that mix streaming tracks with files sitting on my NAS or even tracks from other services, too. Sonos wants you to live inside their ecosystem, but Music Assistant doesn't care where your music comes from. It just plays it.
Even better, Music Assistant integrates very well with Sonos speakers. It works by streaming regularly to Sonos speakers, but if you have an AirPlay-enabled speaker, Music Assistant can use the AirPlay 1 RAOP protocol to synchronize music playback across multiple speakers. This is not supported by the Era 100, Era 300, Move 2, or the Arc Ultra, so you can just use Sendspin for that instead.
Sonos speakers are some of the best for Home Assistant
They're very well integrated
If you don't want to go all out and build an ESP32-powered playback device with ESPHome, then a Sonos speaker is the next best thing for Home Assistant. It integrates perfectly, and while it doesn't support native voice assistant capabilities with anything other than Alexa, you can build an ESP32-powered device with a microphone and use the esphome.tts_uri event to capture the response and play it back over your Sonos speaker. That way, you get the best of both worlds.
The Sonos Era 100 that I'm using here is one of the most versatile speakers I've ever used, and a big part of that is its Home Assistant support. However, USB-C line-in and Bluetooth bolster its capabilities, and make it so I don't need to buy separate speakers or rewire my audio setup whenever I want to use it with another device.
With all of that that said, I should be clear that the Sonos integration with Home Assistant isn't flawless. There's a known quirk with TTS and speaker groups where announcements sometimes only play on the primary speaker instead of the whole group. And setting up Music Assistant alongside the native Sonos Home Assistant integration requires a bit of care, as running both the Home Assistant provider and the Sonos S1 provider on the same host can cause conflicts. These are solvable problems, but they're worth knowing about going in.
The Sonos Era 100 is a great speaker held back by software that has been, for lack of a better phrase, a mess. Home Assistant and Music Assistant pick up where the Sonos app falls short, and then some, turning a good speaker into something that fits naturally into a broader smart home setup. If you already run Home Assistant, adding your Sonos speakers to it is one of those things that makes you wonder why you ever bothered with the official app in the first place.
