Roon Extension: Roon Web Controller v1.0.0 (on GitHub)

@Mike_Plugge just reporting… From my Debian Jessie x86_64 with the webui looks perfect (Using chrome).
From my Mac OS Sierra it looks like this…

The zones repeat them self…

That is weird…

I just checked it out with Safari on my Sierra system and it is not doing that. It is weird because the code that populates that section intentionally blanks out the previous HTML to prevent that from happening…

Can you try stopping the extension, restarting your Roon server, then starting the extension to see if that resolves it?

Restarting the extension via systemctl did the trick…

I saw that once as I was writing the parser for the node-roon-api zone feed. Restarting the extension fixed it for me, too…

Thought it was a fluke, though.

Glad it worked for you

I’m just trying to say that for extensions to used it’s not a doddle to get it running for the average joe. This is where it needs to get to for the API to bo of use to the general basic users…the geeks among us can all cope with it I think, but it’s not something I could expect many of my friends to cope with.

@wizardofoz - that is a fair statement. You are absolutely right. And I think that the Roon Labs folks acknowledge this fact. In the “About the Roon API Category” thread, they mention that it lacks packaging. So as the API solidifies, that should get addressed as well.

I have been tracking another thread which discusses extension distribution and when things solidify or there is an official documented way to work with the distribution of extensions, I will work to make this extension compliant.

1 Like

I am just loving this extension!

Thanks @Tech_Whisky_Lab ! I definitely appreciate that!

If you are curious, you can track my development more closely with the “dev” branch. This evening, I have moved the theme setting into a new menu (top right) and have a place holder page for the upcoming work on the library. I am looking into the volume controls, repeat and shuffle controls, and enabling/disabling auto-radio mode. I will start diving into the browser API soon.

I have a new theme in mind too - but I will keep that under wraps for now! :stuck_out_tongue:

You can get the “dev” branch by running:
git clone -b dev roon-web-controller-dev

This will create a new directory for the dev version. Note that since the main version and the dev version listen on the same port, you will have to stop one to run the other.

1 Like

@Mike_Plugge YES! Ill git clone it tomorrow AM. Late right now, I have to be at work at 5AM… UGH


I too will get this plugged into my setup…the best thing about this is that it might give a new lease on life for some old iPad’s that can run roon or control it but can perhaps at least manage a web based interface and thats a good thing. :smiley:

Happy Days

You are in luck there, then. The code to make it a native web app on an IOS device is already there!

Open the site in IOS Safari, click the share icon, then click “Add to Home Screen”. This app has all the header information to have a nice icon and to allow it to run full screen.

+1. I’ll definitely give it a whirl tonight. It’d be great to be able to use the Linux desktop for selection and playback control.

1 Like

is there a simple way to add this to an existing Node start up or does one have to have 2 instances of node running…

i.e. is you are running Alarm clock extension now how does one add another to the environment outside of rooms interface.

Im using W10Pro 64bit with node and git installed…

While I am feeling a bit of a git :blush: asking this its going to be worth the embarrassment I hope.

Unfortunately you will need two instances of node running.

There are some node modules out there that let you do process management including running multiple products. But I have not messed with them so I cannot speak to how or how well they work.

Got the dev running on my dev setup. Looking good!
Oh cant wait for the library function! :smiley:

@Mike_Plugge Is happening again. I think I found the issue… For each connection I make to the application (WebUI) it replicates my zone list. So is not handeling multiple concurrent connections to the WebUI very well… IE: Browsing from my laptop and from my desktop… This is a bug :slight_smile:
Just a heads up.

Note: The restart does fix it because it resets the web call, As soon as I refresh my second system they replicate again…


When I get home from work I will take a look at how the zoneList is sent over the web socket. That is the only place I can think of that this could be happening…

1 Like

Are you seeing this on the dev branch?

Do you have any steps that I can use to replicate this?

One of my first steps will be to create a debug page to help narrow down the problem. But any details you can provide would definitely help me to track this down…

@Mike_Plugge this is with both stable and dev branch. Stable runs as a system service and the dev runs manually. When I run ether or and make my initial request to the website via Chrome or even Firefox the zones look just fine… When I move to a secondary machine no matter the OS or browser when I browse to the page the zones duplicate. I will post a couple of examples soon.

nodejs server Debian Jessie x86_64:

ffuentes@biO10:~$ uname -a
Linux biO10 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux

nodejs user: node

node application: roon-web-controller-dev

For each connection I make to the application (WebUI) it replicates my zone list. So is not handling multiple concurrent connections to the WebUI very well… IE: Browsing from my laptop and from my desktop.

Both clients:
Chrome: Version 56.0.2924.87 (64-bit)
FireFox ESR 45.9.0 (64-Bit)

Clients are both on Debian Jessie same kernel as server:
Desktop single connection:

Two Desktops: