Hi folks, I’d like to find a way to have a music playlist fire off on a device based off a SmartThings routine, ideally without falling back to Alexa devices. I had a working automation through the old Yonomi-Sonos integration years ago, but have had very poor luck with direct Sonos-SmartThings integration since as soon as I’m off that local network I have no direct control over the Sonos devices through the first party Sonos app.
Are there other speakers out there that would have better luck through a more direct SmartThings integration? I realize there’s an endless array of hardware, but just looking for some help in narrowing the field and understanding how others may have integrated things into their ecosystem and/or newer integration I may have missed.
If you already have Somos then I have success with the Sonos ST LAN driver integration which can fire off a Sonos favourite from a routine. It also gives you off network control of the speakers.
There are some issues with local library (and other?) playlist creation in the Songs app itself at present but for existing favourites I have had no issue’s with the recent Sonos updates - check posts either side of this:
Not an aversion to Alexa: I have them multiple active in another rental property, but sharing a single Amazon account across multiple properties with separate triggers is a recipe for guests in one location issuing voice commands that end up impacting gusts in another location. I haven’t found a great way to firewall them off from each other and while I could certainly setup multiple Alexa accounts for each location, managing them all would be a logistical nightmare when all I really want to do is ensure there’s some relaxing music playing when a guest checks in.
Thanks @TheHundredthIdiot. I’m not aware of any way of remotely adding my prior Sonos speakers without physical access to that WiFi network, but I can certainly give that a shot the next time I’m there. That remote management challenge remains my biggest challenge with Sonos’ ecosystem since they too often get bumped offline when so much as a power outage hits and I end up with no easy way to get them back online remotely.
I thought I recalled something about some SmartTV automations that I may look into as well, which could potentially offer a means of remote launching a music channel, which would be functionally equivalent to triggering a smart speaker to play a particular station/playlist.
@clifster The ST Sonos driver should add any speakers on the remote LAN on triggering device scan for a location regardless of you being on the same network. As long as the speakers and ST hub share the same remote network and you have access to the location in the app you should be good to go…
Once speakers are known to ST you then have remote control through the ST stock driver:
Thanks again. I think we may be talking about different connection conditions. Because of Sonos’ insistence that I be on the local network where the speakers are located to detect them in app, once I’m off network the speakers trying to add the speakers from within the SmartThings mobile app detects nothing.
I think what you’re saying is if I was local and had previously added the speakers into SmartThings at some point in the past that the connection between Sonos and SmartThing would persist even off network, but neither has that been my experience. Whether that’s the result of guests in the property unplugging the device, a power outage, or other changes in the environment, the connections I have previously established between Sonos and SmartThings are just too fragile and eventually fail after several months’ time. That’s precisely why I’m asking about alternatives: I simply don’t trust the Symfonisk Sonos speakers to maintain connectivity over time and (frankly) grown tired of the need to continually re-add my Sonos speakers based on some kind of speaker disconnect and proximity requirement.
@clifster Well that is a shame, although I have no experience with the Ikea speakers specifically I have found the ST → Sonos LAN integration and discovery pretty reliable, on or off network… although I am probably not using off network to the extent you are! I appreciate that is no real consolation for you though
The trouble with these situations is that there are so many variables at play (a small network tweak for example can make a big difference) that it is virtually impossible to suggest a possible cause. I have had to occasionally reboot my ST hub (v2) to ‘refresh’ a LAN device connection that dropped but not recently (that’s probably jinxed it now ).
you find a satisfactory solution, I’m sure there is one out there…
Yes, under the assumption you need access to the local app/network to initially add the Sonos speaker into ST.
If we are we saying that there is in fact a way to add a Sonos speaker linked to a Sonos account as a controllable device into SmartThings from off that speaker’s local network then I am not aware of it, but certainly all ears.
@clifster Weeellllll… On the device you are running your app on:
Turn off WiFi
Disable automatic WiFi network connection
Point ST app to your remote location (using your mobile network)
Ask ST to add device
Now, when ST app prompts to turn on Bluetooth and join a WiFi network select ‘turn on’, toggle WiFi switch to on and proceed to point where ST presents available WiFi networks:
Then, without selecting a network to join, select ‘Done’…
ST will then put hub into discovery mode and your app device will have no WiFi and so no local network connection . ST will then discover devices on your remote network LAN… hopefully
The mandatory WiFi connection is a change from the last time I tried this but I have just tried on my home location across my mobile network with no WiFi connected:
on a deleted Sonos speaker without any issue. I know this is not exactly your setup but I only have one location at present and this was effectively a remote device discovery, which itself was pretty much immediate
I can only assume and hope it will be good in your situation too?
This does of course assume that you have the current ST beta channel Sonos LAN driver installed (as previous screenshot) on your remote hub. This can be done off network via app or web interface though. It is a LAN driver and requires no cloud interaction or authorisation with Sonos. It is totally independent of your Sonos account which is no longer required to be a linked service.
Appreciate the write up here. From what I can tell it looks like iOS SmartThings works a bit differently than Android or maybe there’s just something different about your configuration than mine. I’ve confirmed the Sonos driver’s what looks like a similar version: “2024-10-14T21:55:52.13961577” going through the steps below for device discovery:
Confirm Sonos speaker’s active in remote router’s active WiFi devices.
Turn off iPhone WiFi & bluetooth.
Open SmartThings iOS app.
Tap “+” to add new device.
Tap Add Partner device.
Select Sonos from the list.
Click Next to continue.
Wait ~5 minutes for the “Prepare your device” screen to time out and come back with the “Something went wrong” message.
For comparison, I’ve also tried the same device discovery from within the iOS Alexa app, which does have the courtesy of anticipating that discovery will fail by asking simply, “can you see your speaker in the Sonos app?” Which, of course is, no.
function Discovery.discover(driver, _, should_continue)
log.info("Starting Sonos discovery")
driver.found_ips = {}
while should_continue() do
local known_devices_dnis = {}
local device_list = driver:get_devices()
for _, device in ipairs(device_list) do
local id = device.device_network_id
known_devices_dnis[id] = true
end
ssdp.search(SONOS_SSDP_SEARCH_TERM, function(group_info)
ssdp_discovery_callback(driver, group_info, known_devices_dnis, driver.found_ips)
end)
cosock.socket.sleep(0.1)
end
log.info("Ending Sonos discovery")
end
The first thing that cought my eye is the cosock.socket.sleep(0.1) - 0.1 is really short.
Hmmmm, I did a scan nearby rather than take the add partner device route. I’m not sure if these two methods are the same or if the partner device route is a linked account method.
It has been a long time since I initially set up my Sonos devices but I am pretty sure I have never gone through the partner device route and I definitely do not have Sonos as a linked account. For LAN drivers, as long as the devices are active on the same LAN as the hub anything else should be irrelevant - I think . I’d guess the visibility prompt is another way of ensuring the speaker is on and active.
To validate validate local network settings, I’ve just tried triggering the same workflow as above on my home network: different routers, different config, same Ikea-Sonos speaker, but with the newer “rounded” SmartThings hub with the built-in WiFi versus the older Volvo boxy hub with Ethernet only that I have at the remote location.
Same result “no devices found” on the other network. So basically no Sonos speakers anywhere to be found through SmartThings, even while staring at the blinking green lights on the hub clearly looking for devices on the network and positioned 5’ from the Sonos speakers.
To further validate this exercise, I went back through the same Add Device scan/steps while on my network and can’t see either the Sonos S1 speaker or the Ikea Symfonisk speaker that are already setup and on the same network, show up in the Sonos app, and are working just fine with computer-based Sonos play apps.
So interestingly, it seems likely this is something specific with SmartThings that’s simply not finding my Sonos devices when in discovery mode.
FWIW, in my version of the SmartThings Sonos drive the “Channel” field is blank (not showing the same SmartThings Drivers (Beta) as show in the screenshot above. Unfortunately, ST also says I can’t delete it because it’s in use. That’s funny since it doesn’t seem to be doing very much right now!
Are you running Sonos s1 as mentioned above or s2? This may(?) be relevant (I’m on s2).
Otherwise I’m afraid I am out of ideas. If ST simply can not see any Sonos devices at either location it would seem to suggest either the driver is not installed correctly or a potential network issue/configuration choice at the router.
It is also odd your driver information seems incomplete… and that you can not delete it, which should be possible if it is actually not in use .
You are definitely enrolled in the beta channel, have that channel driver installed and don’t have the speakers hiding in an ST room anywhere?
Thanks for all the suggestions here. I am on the S2 app. After spending way too much time on this this week, I’ve come to the conclusion there must just simply be something wrong with this specific remote Sonos speaker. Given it’s at a remote property, it’s entirely possible that a guest may have reset the device by trying to connect it to their own Sonos account. I have confirmed that the other speakers I have local access to on a different network can be added to ST when I am on a cellular data connection. This other speaker at the remote location, no matter what I do and which changes I make to the router and network settings, simply never shows up as discoverable from outside of that network. This could entirely be due to the fact that it is on the routers’ separate guest network, however, I have enabled cross guest-primary network communication and tweaked quite a few settings to ensure that communications across the networks can occur with no luck.
I did manage to get the Sonos beta drivers added to both the remote and local network by deleting the existing Sonos driver I had installed and manually re-adding the drivers through the web interface, but that’s done nothing to improve the remote speaker’s discoverability so I’ll just keep it offline until the next time I can get onsite.