Feature Request: Easy configuration for multiple networks

  • 16 January 2020
  • 9 replies
  • 164 views

Badge +1

There are numerous posts here about connecting to Sonos speakers when on a different local network (eg, 192.168.1.0/24 ↔ 192.168.2.0/24). Solutions offered involve opening ports, repeating broadcast traffic across the router, and maybe other steps. There are a few posts offering solutions, but they’re unofficial, disorganized, and often contradictory.

Due to the inherent security issues with IoT devices, it has become standard practice to segment such devices into their own network. Many home routers now have the ability to create multiple networks, and it has become common to see advice for home users to implement this configuration.

The rest of my IoT devices use an an online account which allows communication regardless of network configuration. In my case, Philips Hue, Lutron Caseta, Pentair Screenlogic (pool), August smart lock, Ring doorbell, Ryobi Garage Door Opener, Nest thermostats and smoke detectors, Rain Bird irrigation system, and Amazon Alexa all work just fine across my networks with no configuration, just integration with an online account.

Sonos already provides users with an account, and the data traffic between the controller/app and the speakers should be minimal.

In short, the request is that Sonos implement a system to use the online account to route commands between the controller/app and the speakers so the users can control the system regardless of the network configuration. This would additionally allow for off-site control, which might be of interest to some users.


This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

9 replies

Badge +1

Example article urging home users to segment their networks:
https://www.zdnet.com/article/fbi-recommends-that-you-keep-your-iot-devices-on-a-separate-network/

A quick search will yield numerous such articles. 

 

 

Userlevel 7
Badge +26

Thanks for reaching out! I’ll pass along the suggestion for you to the team. We don’t talk about what’s coming much, so I don’t have any news I can let you in on, but I’ll make sure the team hears the request.

In short, the request is that Sonos implement a system to use the online account to route commands between the controller/app and the speakers so the users can control the system regardless of the network configuration. This would additionally allow for off-site control, which might be of interest to some users.

 

For some reason, I have mixed feelings about this.  And I can’t exactly put my finger on why.  As you stated, other smart devices operate this way, and Sonos APIs allow third party software to control Sonos (Lutron app for example). Sonos control is more complex than many of those devices for sure, and it cannot be quite as easily done as light switches for example.  If Sonos did do this, it would probably be a separate app that only does standard control functions, not configurations and such.

 

I guess a part of me is concerned about the growth of cloud computing in general.  I’d prefer to see a method where your IoT is on a separate network and only controllable with a related/tied network, not full offsite control...at least as an option.

the idea is interesting and it could inspire SONOS to offer a cloud service where each user could define its VPN for multi-site connectivity and control

Wonder what the costs would be for cloud access and storage?

I think that depends on what connectivity means in this context.  Control shouldn’t be a big deal as it wouldn’t be a whole lot of data.  There are plenty of smart devices that offer control for free.  I believe already does this to some extent to enable Alexa and Google.

 

If Connectivity means that you can play a single stream in two sonos systems, different homes, at the same time (or near sync) then I think that would be rather cumbersome.  Not sure it would be that useful either, unless you’re using a local music library that you don’t want to store in two places.

 

 

Badge +1

My request is merely for control, allowing the app to send instructions and receive status data (album art, track position, etc). I haven’t tried capturing traffic between a controller and a speaker to determine how much data is used, but unless something weird is going on it shouldn’t be enough to be problematic. Routing music such that it can play simultaneously at different sites would, I suspect, require fundamental changes to how the system works, and isn’t something I’m looking for. But hey, maybe someone else will make that feature request. :sweat_smile:

I am hoping for something that would not change the appearance or behavior of the current methods of using the system, just transparently allowing it to work without being reliant on local network broadcast traffic.

[One potential objection is that this would require internet access to control the speakers, and that does not sound like a good idea. However, I don’t think that’s how these systems typically work - I don’t think my Philips Hue or Lutron Caseta apps actually send their on/off/etc instructions out to the internet and back down to my lights. I’m under the impression that the account allows the hub to keep the cloud updated on its IP, and the app uses that information to find the hub. While I’ve been an IT admin my whole adult life I’ve never looked under the hood to see how these systems operate. I’d be happy to be enlightened.]

So the system would need to be able to still use local broadcast traffic; I see a few ways of that working:

  1. The app could attempt to connect as it does now, but attempt to connect through the internet if it can’t find the local system via broadcast. Perhaps if it fails to find the speakers it would offer that option, or just try automatically.
  2. The app could try to connect via the online account, and if that fails it could try broadcasting as it does now. Or if I’m right in my guess about how these cloud accounts typically work, it would still work if the internet is down as long as the IP configuration of the speakers hasn’t changed.
  3. Upon first launch the user could be presented with a choice (eg “Connect locally” and “Connect Remotely”) which would be remembered until the selected method fails, then the alternative would be offered. (My Pentair pool control offers this choice upon launch, but doesn’t remember it - it asks every time at launch, which seems sub-optimal)

Controlling multiple distinct systems from one app is indeed an interesting use-case I had not thought of, but should be straightforward if the app used a Sonos user account to find the speakers -- the app could just allow for multiple such accounts and the capability to switch among them.

Because I’m an inveterate optimist, I’m choosing to read “We don’t talk about what’s coming much, so I don’t have any news I can let you in on” as “we’re working on this but I can’t admit it, :wink::wink:

Userlevel 7
Badge +21

Devices set up on network segments are easily controllable by the Sonos Cloud API. Sadly that API is lacking in so much functionality a half-decent controller cannot be built using it. The “fix” to this problem is to expand the Cloud API to include the most important parts of the LAN API, most critically music selection.

  1. The app could attempt to connect as it does now, but attempt to connect through the internet if it can’t find the local system via broadcast. Perhaps if it fails to find the speakers it would offer that option, or just try automatically.
  2. The app could try to connect via the online account, and if that fails it could try bro
  3. adcasting as it does now. Or if I’m right in my guess about how these cloud accounts typically work, it would still work if the internet is down as long as the IP configuration of the speakers hasn’t changed.
  4. Upon first launch the user could be presented with a choice (eg “Connect locally” and “Connect Remotely”) which would be remembered until the selected method fails, then the alternative would be offered. (My Pentair pool control offers this choice upon launch, but doesn’t remember it - it asks every time at launch, which seems sub-optimal)

 

This last bit had me scratching my head for a few minutes trying to remember in what interface I’d seen exactly this before. It was with the Blackberry “Blend” software portion of the desktop suite for BB10 OS, used as an interface for control of most native phone functions, e.g. text messaging, email, calendaring, on a desktop gui but calling to the actual device. It was very slick, especially in its day. Each time you’d fire up the application it would first attempt either remote or local, whichever was used last, and you could specify either manually (if you were connected via USB and then moved to LAN connectivity, or even if it was at another location connected via mobile data and you were at home on broadband). Not that this has that much to do with what you’re requesting, other than it made me remember something long forgotten (and similar in some ways). :)