Sonos Extras

I created a device driver to control additional Sonos settings from smartthings. The primary focus currently is surround setup to enable/disable night mode, dialog level, and surround mode.

Check out the code GitHub - rym002/smartthings-sonos-extras: Additional controls for Sonos devices

Check or use the invite SmartThings. Add a little smartness to your things. to install it


How do you use this? I accepted the invite and installed the drivers, does this update my sonos soundbar in smartthings? I don’t see the extra settings when I try an automation?

@Robert_Singh Install the driver(s) from the channel, select add device → scan for nearby devices in the app and they will be discovered and added to ‘No room assigned’.

Job done :blush::+1:

thanks for the reply it added the virtual sync switch but not a sonos extra control device? is that what would normally happen? you don’t change anything with your existing sonos device in smartthings?

It should have picked it up I think. I installed both (but one at a time) and have only kept the Sonos driver which is working well and no, no changes elsewhere…

hmm thats weird, maybe because I am using smartthings wifi its not compatible? only the virtual edge switch shows up. There is a driver option for Sonos extras when I edit that virtual switch and choose driver but I can’t do anything with it, oh well I gave it a shot, that option to schedule night mode would be sweet.

It should discover the Sonos devices when you scan for a nearby device. It does the scan using UPnP which would require the Sonos and Smartthings on the same LAN. The currently supported devices are beam(14) and playbar (s9). I tested with a playbar. The device types were listed here Sonos Services - Sonos API.

It would be nice if you can get the logs using the CLI GitHub - SmartThingsCommunity/smartthings-cli: Command-line Interface for the SmartThings APIs..

1 Like

hey, thanks for the reply! no need for the logs as I have the Sonos arc, which is not supported yet, oh well hopefully, they update their API soon

Do you think it would be possible to add a feature to play a favorite Sonos playlist? I am asking since Speaker Companion is being removed.

1 Like

I could update for the arc if I had the model number. Access http://{ip}:1400/xml/device_description.xml and provide the modelNumber.

e.g.mine is:


Seems possible based on the available API’s. I would be happy to accept a PR if you implement the feature.

Cheers thanks for that much appreciated!
It looks like mine is S19

Hi @rym002

Many thanks for the dev work on this driver, it is proving very useful.

Would it be possible to surface a TV indicator maybe with the media format as well:

Would be very useful to coordinate lighting scenes as well as sound settings :blush:

I updated the driver and pushed the change to the release channel.

Are you looking for something to use in automation or more informational? I am trying to understand the use case around having this info in ST.

Hi @rym002 ,

Many thanks for looking at this change. The prime UC’s for me are on the automation side…

If TV is on change lighting,
If TV on and past a set time set night mode but not if music,
Potentially, if Hue Sync is to be integrated if dolby adjust lighting and begin sync,

also I occasionally have a satellite receiver auto on after a power cut so, again, if TV and away > turn satellite off

that kind of thing. Specially useful with loss of Harmony > ST integration.

Will the driver auto update or do I need to intervene somehow?

thanks, I uninstalled the drivers, then unenrolled
Then enrolled and reinstalled the drivers; however, it still did not work only the virtual switch creator shows up.
I tried installing the smartthings cli but I couldn’t get the .msi or the windows version to work.

I double checked and it says the new version is published.

does it have to be connected by ethernet? or are there any other requirements?

It does a UPnP discovery by sending a broadcast to the network. This works if the hub and speakers are on the same subnet. The code filters out any UPnP devices that do not look like a supported sonos device.