Roon Extension: Roon Web Controller v1.2.0

Nice update @Mike_Plugge. The addition of the library browser is very useful when working on a Linux PC.


Have you read about my Roon Extension Manager? Its goal is to provide an easy way for installing/updating community extensions (till Roon takes over). You have to get dirty once to get it up and running but after that you can stay within the Roon UI to manage your extensions (provided they are in the repository). I hope you like it.

Yes with a caveat. The now playing screen works very well with multiple controllers. The library works, but each time you switch clients you need to click the refresh button at the top. See this link for an explanation why: Roon Extension: Roon Web Controller v1.1.1

I like this idea - depending on the licensing. All of my code is MIT license, so I use the Material Design icons which are also MIT license.

The App Store idea has been hinted at. There is another extension called Extension Manager that tries to provide that capability. EDIT: see @Jan_Koudijs post!

Thanks @Jan_Koudijs!

The Linux client aspect was the main driver for me, too.

@hifi_swlon - BTW - I generally have one copy of this extension running on node, then have multiple web browsers pointing to it. For IOS, the code is included to make it a full screen web app. Just save a bookmark to your home screen and it will open full screen without an address bar.

I have not tested having multiple instances of node running this extension, but it should work as long as they are on different hosts OR listen on different ports.

I was only thinking multiple web browsers on different iPads around the house… thanks, and for the other answers. And for the extension!

@Jan_Koudijs yeah I’d seen the extension manager. I’m of the opinion that if someone can install your manager, they can install an extension. That’s not to undermine it, I just think it will be limited in its impact on the wider non-technical audience, for which it has to be as simple and intuitive as clicking in the Roon UI. Until then all this great work will only reach a handful of people which is a great shame. All IMO. (Apologies btw for taking this off-track - back to this amazing extension!)

This applies to the work of all extension developers, the current user base is indeed small. If I will lose interest in extension development it will probably be for this reason.

1 Like

For me, this started as a project to fit a need that I had. The fact that other people use it and like it was just icing on the cake.

The only remaining thing missing that I would like is play queue management, but the current Roon API does not support that…

This looks very interesting, but I’m totally lost on how on earth I install it on a Windows PC. I’ve installed Node.js and the Git Desktop manager, but issuing npm install at the Node.js Command prompt just gives reams of errors…

I’m sure it’s all very simple to those who are familiar with this stuff, but it’s all Greek to me…

Hi @Geoff_Coupe,

Others reported success on Windows by issuing the npm install command from the Git CMD prompt.

I haven’t used Windows for years, so I am not sure how much I can help.

But it looks like the “git” command is not in the executable path.

Thanks guys, turned out I hadn’t installed the correct Git package. Now seeing the web controller correctly.


Need help please.
I’ve done everything right (I believe) but the extension is not loaded/showing on any of my Roon client. The service is not loaded on my core (at least I can’t see it in my processes).

Core is Ubuntu server.


What version of Node JS are you running? You need version 6 or higher.

That typed array error makes it look like you are running Node 5 or lower

Hi @Mike_Plugge,

I ran into an issue with your web controller while transferring zones.

Steps to reproduce

  • Open the playing zone in the web controller (I was playing internet radio)
  • Transfer the playing zone to another zone using a Roon remote
  • The web controller reports that there is nothing playing on the zone
  • If you now click on the zone name, the zone is no longer listed and can’t be controlled anymore.

The only way I found to recover from this is to restart the extension.

Please let me know if you can reproduce this.

Thanks but how do I make sure I have Node version 6+ running. I simply ran sudo apt install node.js believing the latest version will be pulled and installed.
Solved the node.js problem, forgot google is a friend, version 6.1 installed.
Now another problem

Why is it pinging (successfully) non-stop!!.
And I still can’t access the web-controller and stopping the pings.


@kayo the ping is normal. Its best to ether run it as a service or background… After you have it successfully running which it seems you do, Go to Roon Settings -> Extensions and enable the new extension :slight_smile:

Thanks friend.
I assume you meant background.

@kayo Yes. I meant background :face_with_head_bandage: Long days…

Sorry for the long day.
Confirmed it’s running now.
But running command & DOES NOT put it in the background. Will not respond to ctrl+Z so I can do a bg. How else to send this guy or run it in the background.
Yes I could ignore it and open another ssh windows but closing this terminal will terminate the program.

1 Like