LinkPlay Binding

[Add-on] LinkPlay Binding (v1.0.0-beta2)

This binding integrates LinkPlay-based audio devices (such as WiiM, Arylic, and many others) with openHAB 4.3+.
It provides playback controls, volume management, multiroom audio grouping, and device monitoring—all from the openHAB UI.

Features

  • Playback Control: Play, pause, stop, next/previous track, plus viewing track metadata (title, artist, album).
  • Volume & Mute: Set volume levels in percent or toggle mute on/off.
  • Multiroom Audio: Create or leave groups, set master/slave roles, and synchronize playback across multiple devices.
  • Device Monitoring: View firmware version, network info, and WiFi signal strength.
  • Auto Discovery: Discovers devices via UPnP, or you can configure them manually by IP.

What’s New in v1.0.0-beta2

  • Stability improvements in multiroom setup
  • Various bug fixes for volume commands
  • Tested on openHAB 4.3.2

Documentation

For detailed usage instructions and troubleshooting info, see the LinkPlay Binding README.

Installation

  1. Download the JAR:
    org.openhab.binding.linkplay-1.0.0-beta2.jar
  2. Place the JAR into the addons/ folder of your openHAB installation.
  3. (Optional) Restart openHAB if the binding does not auto-load.
  4. Search for new “LinkPlay” things in the Main UI, or add them manually if needed.
3 Likes

It is actually interesting that you have provided this binding because I had started the same thing (for my WiiM) 2 months ago until, during the implementation I noticed that there is already the generic upnp binding that does it for me.

It seems that your adds a bit more features Multiroom mgmt and monitoring and why did you not just use the upnp binding (just curious)?

Btw, I would recommend to link Linkplay, WiiM, Arylic in the binding docs, so in case, someone is interested, they can follow the link and see what devices these are.

1 Like

The UPnP implementation is inconsistent across link play devices and often quits and craps out. The home assistant community has gone to an HTTP implementation as it’s rock solid. And I needed multi room control. I have 4 of these in my home and another 4 at that cottage. They are great

1 Like

@mjcumming I had the same behaviour as you on using the UPnP with my Linkplay. Didn’t always work so I ended up not making it available in openHAB.
I’m glad you developed this binding. I own a Linkplay Muzo Cobblestone and once I have some time I will will be testing it.

1 Like

Let me know how it works…

Thanks @mjcumming can’t wait to try it! I was just trying to build the project locally, it looks like the git repo is missing a few files? There are missing import errors for

LinkPlayBindingConstants
LinkPlayHttpClient

and maybe others (i stopped there).

fixed - had some git issues between my laptop and desktop…

1 Like

Hi,

First of all thanks for binding :ok_hand:

Before, I was using http binding to connect Wiim Amp to openhab, and now I tried the binding.

I have some observations:

  1. Wifi Signal Strength is not showing anything
  2. For shuffle and repaat are you using this: Arylic Audio HTTP API ? - I’m asking because as you see there are separate options for loop and loop once. I “implemented” that as an single channel with several states.
  3. I think that it will be a good idea to add “preset” channel

Hi Andy,

  1. WiFi seem ok here - it might be a linkplay version issue
  2. I updated to use all 3 loop options - you need to stop openhab clear the cache and restart to see the new channels
  3. I added the preset and play URL endpoints.

Do you mind targeting this then to become an official binding? I would love to see that.

I will soon try out the binding instead the upnp. Thanks again for the effort!

I definitely would submit it as an official binding - I really need some additional testing against other setups and linkplay devices. I have the Wiim and Arylic devices and it seems good with that - however, I am certain we will find various problems somewhere :slight_smile:

1 Like

Does it already implement the auto-discovery feature, so the binding would be detected automatically when being part of the official distribution.

Yes, it uses standard UPnP device discovery followed by HTTP(S) to confirm the discovered device is a LinkPlay device. Note, if a device is a slave device during discovery, the slave will not be seen by UPnP.

First of all, I can confirm that binding works nicely with my WiiM Pro C490. So, good job :smiley:

When I mentioned “auto-discovery” I actually meant discovering the binding as a proposed binding to be installed by scanning the network during startup of openHAB so it it will be shown under “Suggested Bindings”.

1 Like

Ah, got it - the main issue I see is that determining if a device is a LinkPlay device just the UPnP discovery seems consistent - currently, the binding takes all UPnP renderers and then does an HTTP check for an endpoint on the device. I’ll look and see if there is away to discover common versions WiiM, Arylic (which I have)>

First, thank you so much for developing the binding. I’ve used the httpapi commands in OpenHAB so far, but this is so much easier!

I’ve tested with two Audio Pro units, A10 and Link 1, and discovery worked perfectly.

Regarding channels, I tested all but three: NotificationSound, PlayM3U, PlayURL.
For the others, the majority worked as expected.

I had some issues and I guess it has to do with how much of the syntax that is implemented in the Audio Pro units.

  • GroupName, MasterIP, SlaveIPs show blank
  • MACaddress shows NULL
  • SetGroupVolume shows 0, reverts when changed
  • GroupRole only shows “standalone”
  • Ungroup did not work, responded “device is standalone” (httpapi command setPlayerCmd:multiroom:Ungroup doesn’t work either)
  • SetGroupMute does not work (httpapi command setPlayerCmd:mute:1 works)
  • KickOut does not work (httpapi command multiroom:SlaveKickout works)

A small practical comment: The wording “Media Title” is used both for the track title and the album title, which is a bit confusing.

Again, thanks for the great work!

Hi,

The HDMI input on Wiim Amp is not recognized.

@MagnusN just back from VK, I’ll look this weekend - I may need more log details. Thank you for taking the time to test.

1 Like

Try beta 2!

Try beta2 - you’ll need to delete the thing and recreate it.