Velleman / python-linkplay

LinkPlay library for Python
MIT License
1 stars 0 forks source link

Use Zeroconf instead of UPNP/SSDP for discovery #12

Open benbender opened 1 month ago

benbender commented 1 month ago

I'm also looking into linkplay right now and I noticed that you are using UPNP for device-discovery with urn:schemas-upnp-org:device:MediaRenderer:1 as filter.

This is a general device-type in UPNP and will match far too many devices. For example I'm also using a Libratone Zipp 2-Speaker which also provides this device-type on UPNP while not being a linkplay-device.

A better approach, in my opinion, would be to discover via Zeroconf and filter for _linkplay._tcp.local. as this should be unique to real linkplay-devices.

dukeofphilberg commented 3 weeks ago

I'm also looking into linkplay right now and I noticed that you are using UPNP for device-discovery with urn:schemas-upnp-org:device:MediaRenderer:1 as filter.

This is a general device-type in UPNP and will match far too many devices. For example I'm also using a Libratone Zipp 2-Speaker which also provides this device-type on UPNP while not being a linkplay-device.

A better approach, in my opinion, would be to discover via Zeroconf and filter for _linkplay._tcp.local. as this should be unique to real linkplay-devices.

Hey, thanks for the suggestion! We'll look to implement this through both Zeroconf and SSDP, using SSDP as a fallback.