jishi / node-sonos-http-api

An HTTP API bridge for Sonos easing automation. Hostable on any node.js capable device, like a raspberry pi or similar.
http://jishi.github.io/node-sonos-http-api/
MIT License
1.83k stars 462 forks source link

Discovery issues #881

Open CFenner opened 5 months ago

CFenner commented 5 months ago

My Sonos system is not detected by the application. The speakers are in my home network (x.x.1.x).

The app itself is running on a my nas (also x.x.1.x) in a docker container which is mapped to my docker vlan (x.x.5.x). Can I configure the app that it does not rely on discovery but rather lets me point it to the speakers? Do I need to do any network settings to support the app as is?

jishi commented 5 months ago

I know we had some discussion about supporting entering a fixed IP to one of the players to do the discovery, but I don't think I ever did that, because there were always workarounds for it. Also, it's problematic since players will eventually end up on a different IP (deliberate or by mistake) and people would be confused.

When you say docker vlan, do you mean the internal docker network, or have you done something special to map containers to a vlan (that is actually routable outside of the host?). Normally the suggestion with docker has always been to use network=host. If you have actual routable vlans, there are ways to forward the SSDP packets between them most of the time (it is multicast packets), I use IGMP proxy in my router to do it, but I think avahi and similar relay software also supports it.

CFenner commented 5 months ago

As I have multiple containers running on it, I added a macvlan so that each container get it's own specific IP and I don't need to mess around with the port settings. I have a Unifi UDM, where I can device routing, that should probably be able to do that.