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.