Sonos WebSocket Edge Driver

I’ve recently noticed that a sonos commands via routines (not moved to Edge according to the IDE), don’t appear to be executing. For instance, I’ve got the routine configured to set the volume low when it is first turned on (as using sonos beam for streaming and a TV cause very different volume levels to be set as the initial volume). This approach had been working effectively before, but not in the last week or so, this no longer appears to be working. Is this related to the other issues noted here?

Although I wouldn’t trust the IDE for much of anything these days, unless you downloaded the Edge driver manually, it’s reasonable to assume you’re still on the DTH. Still, you can easily check by looking for the “driver” option in the device presentation if you want to be sure.

Unless your devices were somehow migrated, it seems unlikely that your issue is related, as the problems noted above been ongoing for much longer, but honestly I don’t think anyone here not employed by SmartThings can answer that definitively.

Both the sonos and ecobee have C2C integrations- and in my case, they both appear to have been moved, but neither show “driver” should driver show up for C2C integrations that are running under edge?

cloud to cloud intergrations do not use Edge drivers and Driver would not appear under the 3 dots (More options) for them

1 Like

so at this point, the place holder indicator is the best indicator that these have been moved to the new architecture?

instead of IDE, this may be a better choice to find info:

yes, Placeholder can indicate: (1) it is using an Edge Driver or (2) it is a cloud to cloud integration using the new architecture

An update to the Sonos driver posted yesterday eliminates the onboarding issue wherein every “scan for nearby devices” would repeatedly onboard the secondary speaker(s) in a bonded set.

As for the issue with speakers going offline due to a stale connection or some other cause, the PR that was merged does not address this issue. At present, there are no pending requests or open discussions that I am aware of that address this issue specifically.

The favorites issue (allowing routines & rules to use names instead of IDs to play favorites), is currently marked as “won’t fix,” but I hope this can still be addressed down the road, along with the ability to set audio notification volume.

Maybe someone can develop those features and do a PR to get them added to the stock driver.


Not fixing the favourites issue is appalling. Why bother having it at all when the ID’s are simply not visible on the interfaces… and Ikea manage it perfectly!

The “won’t fix” means they won’t be fixing the Edge driver to resolve the issue because the problem lies elsewhere.

1 Like

I should have been clearer.

From my discussions with one of the engineers, I didn’t get the impression that they would never address this issue. The “won’t fix” tag on GitHub means they “won’t fix for the time being” and that’s all. It’s a way of closing the issue for administrative purposes. And, if this is, as I was told, an “upstream” issue and not solely driver-related, leaving it open as a driver issue doesn’t make sense.

FWIW, it’s my understanding that as part of the groovy migration the software engineers have been instructed to prioritize parity with the old DTH drivers before adding new features and capabilities. Once those priorities have been met, I’m hopeful they will move forward with new capabilities.

Ahh that all males a lot more sense, thanks for the further explanations, much appreciated and glad I can remain hopeful :+1::nerd_face:

Another driver update posted overnight with two mostly technical changes:

Does anybody know where the favorite IDs can be found? I would really like to trigger a favorite from a routine.

The easiest method is via the CLI, using the smartthings devices:capability-status command line, choosing a Sonos device, then choosing Option 7 - mediaPresets. You can copy/paste the output to a text file or spreadsheet or pipe the JSON output directly to a text file.

One other possible method is to use the Sonos Control API and make a GET request to{{householdID}}/favorites

This is a bit more time-consuming to set up as you have to go through the authorization steps to get a bearer token, then refresh that token every 24 hours, but I prefer this because the entire process, including parsing the names and Id’s can be automated and the favorites are always current.

There’s also an easy solution for those running Hubitat in parallel with ST, but that’s for another day.


@pomartel, there is a Sonos stock ST edge driver which works well (search the forum for a few threads that discuss it). Currently favourites are not available through stock as ID’s are transparent but it is possible to access favourites with @schwark 's Sonos driver (which can run alongside ST stock). Then you can access favourites by name:

(‘Kitchen’ being ST stock and ‘Kitchen Sonos (Old)’ being @schwark 's driver)

Again, search forum for the driver invites (ST driver is on beta channel)

(UK v2 Hub)


Thank you very much @bthrock and @TheHundredthIdiot for your help! I ended up using the smartthings CLI and it worked like a charm. Is the favorite ID permanent or should I worry that it might change and I will have to reprogram the routine?

1 Like

The favoriteID is permanent so long as the favorite is not removed and replaced in the Sonos app.

1 Like

Now the SONOS is driver is out of Beta, it seems very flakey.
I’m running SONOS V1 with some older devices like 1s,3s,AMP and Connect plus newer ones like PLAYBASE,PLAY ONE and MOVE.
Operating grouped devices with pause/play from one device through ST is not very reliable…I’ve had to remove and readd devices to make it work, after either no pause operation visible or server error msgs when trying to pause…Anyone else experiencing issues…
Plus something else has changed which stops ACTIONTILES from seeing SONOS devices (Alex is looking into the problem)