SONOS sans App

Coarse Fabric, black, this is the front grill of the speaker

SONOS speakers seem to be decent hardware. So when a friend mentioned the IKEA branded, SONOS produced Symfonisk speakers, I had to take a look. At 130€ for a single speaker, they are not exactly cheap, but they are certainly a lot cheaper than anything SONOS would usually offer. The build quality is good, audio quality is supposedly good. But the important question for me is: can I use them at a decent level of privacy? Is it possible to make these speakers useful without the SONOS app and a SONOS account and without sending usage information over to SONOS every couple of minutes? Let’s find out!

Some Specs

The speaker in question is sold as IKEA article No. 505.065.73, this is the black edition of the “Generation 2” shelf speakers. I received mine in July 2024. It was shipped with firmware 69.0-25115-manufacturing which appears to be from 2022-01-11 – over two years old. I have no way of updating them.

Screenshot from the /status/zp endpoint. It s a barely styled HTML table in lavender and gray. It lists the ZoneName as Unnamed Room, shows some IDs that are not important to the image and the SoftwareVersion as 69.0-25115-manufacturing. This is also dated to 2022-01-11.

App, Account and Refusal

The manual wants you to install a ~200MB app, which I find ridiculous. Also the first thing that app does is ask you to accept their terms of service and their privacy policy. After that it goes straight to account creation (or login for those who already have one). I want none of this. No app. No account. So this way is not going to work for me.

Some Mild Network Exploration

The speaker has a LAN port, so at least I don’t have to worry about setting up Wifi. After connecting, it requests an IP address and we can run a portscan. Ports 1400, 1410, 1443 and 1843 are open with 1400 being a very normal HTTP server and 1443 being the same thing but TLS encrypted. They give us some information like the version number above. People have written about this endpoint already (for example _nico from loggn (german) and @turbotas on Github (english)), so I won’t go into too much detail.

I thought that their AirPlay support might work, but at least in this current state, neither PipeWire (with pactl load-module module-raop-discover) nor an Apple device list this speaker as target. Both list another AirPlay device, so I’m pretty confident that the speaker is to blame.

I am able to put web radio on it with Noson (5.6.7). I can also play various sources via DLNA/UPnP app Jupii (2.14.4). This even extends to sending system audio from the computer itself – but this only works for about a second. Then there’s a project offering an API for some of the most common actions with the very fitting name node-sonos-http-api. None of these can group speakers in any way. My speaker is still in an “Unnamed Room”. I am not confident in buying more speakers unless I can really actually group them meaningfully.

Screenshot of the Jupii window. It lists two devices in a panel on the left side. The Unnamed Room (the speaker in question) is selected. To the right are a couple of properties like its IP address and a couple of upnp properties.
Jupii showing some details about the speaker

Music Assistant To The Rescue

Since I can play something on this speaker, I set up Music Assistant (2.1.1), which pairs nicely with Home Assistant. Its SONOS integration can connect to the speaker without a problem and I can use it to play any music from a Subsonic-Style server (Navidrome, in my case). This is a major breakthrough because from this point forward the speaker is actually somewhat useful to me. I can’t create stereo-groups (partly because I only have one speaker, but also there’s no interface to accomplish this. I’m pretty sure it can’t be done without the App).

When connected to MusicAssistant, the buttons at the front of the device are useless. In fact, they are worse than useless, because they play a loud sound and then put the speaker in a weird state. I haven’t spent much time with the buttons, maybe there’s a simpler fix. I just resorted to power-cycling the whole speaker. Another thing that straight up does not work: pause/play starts the song over (I’m not entirely sure if Music Assistant is to blame or the speaker) and, probably related, I can’t seek in a song. It will always start from the beginning.

Screenshot of Music Asisstant's "Now Playing" UI. It shows two cards, each with play/pause control, mentioning artist, track album and the speaker name.
Music Assistant with two parallel playlists

Music Assistant itself is pretty useful so far. I was able to play two separate playlists on two different devices (a Denon AVR supporting AirPlay and the SONOS box). It is not bug-free, but works well enough that I find it useful already. I can also group the two devices into one universal speaker group, but since they speak different protocols, you don’t get synchronized playback. In my setup the two players are more than a second apart and there does not seem to be a manual way of correcting this either.

Screenshot of the "now playing" screen of Music Assistant. To the right there is also the list of playback devices. It shows a universal speaker group consisting of two different devices.
Music Assistant shows two devices in a universal speaker group

Power Draw

Standby power is roughly 2.5W for me, which is quite a lot. I wonder if this would improve once they are fully configured by the app. When playing music very quiet (almost as quiet as they go, nighttime small room quiet), they draw 4.4W. With 3 hours of music a day, this would roughly equal 24kWh in a year – that is 8,85€ per year just for a speaker mostly doing nothing.

Chart of power draw over time. X axis is time, Y axis is power in Watts. A yellow squiggly line shows a couple of areas that draw pretty much exactly 2.5W and another couple of areas show a power draw of roughly 4.5W.
Power draw measured by a Shelly Plug S, visualized in Grafana

The Verdict

Without app and account, these speakers are very hard to use. You give up Wifi, Stereo-Groups, Naming of Zones and the front buttons. Standby power is also not great, especially given that I would need a Raspberry Pi running on opt of a number of speakers.

If this test had played out differently, I would likely have bought eight speakers (three stereo rooms and two mono rooms), but that’s not going to happen now. I might tear one up and see if I can use some part of the speaker instead.

I wish to emphasize that the very same speakers might still be great for you. But if you want to use them without a SONOS account and without the app, these speakers are not for you.

Further Exploration

Things I need to write about, or that I need to try later or that you might want to try yourself:


Leave a Reply


Author

Claudius Coenen is a tech-enthusiast. He's writing on all kinds of topics, including programming, technology, gadgets and media.

This site features his occasional articles, findings, documentations.

Categories

Connect

RSS Recent Bookmarks

Legal