Roon Extension: Deep Harmony - rich feature set for Logitech Harmony

Sorry Tal I do not know the extension, but I was able to answer your last email.
It means that the users does not have permission to something, but beyond my knowledge with this extension.
Good luck and hopefully somebody else picks this up and helps you.

1 Like

Redo the executable change and be more permissible with permissions.
Make sure you’re in the directory of run.sh

chmod 777 run.sh

That does not fix the problem, as he can already run run.sh by giving the +x permission
I thought it was downloading the extension, but I can see that it is there already

@Tal_Herman
It appears that you might want to do the following commands

sudo chmod +x roon-extension-deep-harmony
and then
sudo ./run.sh

It looks like the problem was that I didn’t make the roon-extension-deep-harmony executable as well. Having done that and re-run ./run.sh, i’ve now got a process running in terminal and see the Deep Harmony extension in Roon.

Unfortunately I have to go back to work before I can test this out any more, but I’m making progress, thanks to you all. Might come back with more questions, though.

Tal looks like we crossed over.
When I was a child in the UNIX world (late 80s) the answer to every problem was

chmod 777 *

It was never really the answer, but it did fix a lot of installation issues, while leaving a lot of security issues behind. But they were a problem for another day :rofl:

1 Like

Glad it’s working. Strange that you needed to mess with the deep harmony executable as that’s what run.sh does. Open in text edit and see it is setting perms to 777.

I am guessing that it extracted without the permissions on the file being set (though once again just a guess).
I have packed my harmony remote away and not used it in the last 2 years, otherwise I would be running this myself.

I did have a look at the script in run.sh, and I see it’s supposed to set permissions to 777. I wonder if the script couldn’t move the file without it already being executable, though that doesn’t really make sense. In any event, it seems to be working now as intended, so I’m not going to complain :~)

Thanks for the help.

1 Like

Glad to hear that Tal.

Does anyone know if you can specify the IP of the hub?
My harmony devices are on a separate vlan, so discovery doesn’t work.

This may be possible by hand editing the configuration file which can be downloaded and uploaded via the extension’s built in web UI, but it is not something I have ever tested as it is not an intended mode of use.

When extension page in Roon is open, click on the blue Deep Harmony link. This should open a small web page with some menu options:

Click on export configuration which will download a .json file. Open this in a text editor and search for a line similar to:

"hub_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_ip": "192.168.x.x",

(The long xxxxx is the ID of your hub, if you have multiple hubs then you may have multiple similar hub_xxxxx sections, I suggest looking at the activity or hub names to see which is which).

Change the ip address, save the file and then upload using the import configuration.

Note - if deep harmony discovers the hub at a different address, it will over write this.

This may or may not work. If it doesnt, then I am unlikely to do anything about it in the near future unless Roon itself also starts to support such use.

1 Like

Thanks for that suggestion!
I was about to try it out, but realised, if the hub is on a different subnet, it wouldn’t be able to issue commands back to the roon device anyway!

I’m guessing it uses mDNS for discovery. If that is the case you should be able to allow that across subnets/VLANs which will then make discovery work. I do this to allow printing and casting (Chromecast and Airplay) from my guest network to another subnet (where my printer and AirPlay/CC capable TV is).

You will need to allow the traffic through any ACLs sitting between the subnets and then it should work.

Well actually that is a good point.

Roon discovery I believe is using multicast, harmony discovery uses a local broadcast that is done as a subnet directed broadcast directed at the subnet that is determined to contain the default gateway be the internet (found to work much better with harmony for most people than a local broadcast) and roku discovery uses multicast via SSDP (from harmony). Once discovery is done, then everything is then using normal TCP connections. Harmony will attempt to rediscovery the roku device when it cant connect to it, or when it is forced to scan. Harmony discovery of devices is often problematic I find (often struggles with my philips hue). Discovery of harmony by the extension is on startup or when it cannot connect to it.

Fixing the hub IP address only make sense if the hub is also setup with a fixed IP address in DHCP. You may still run into the problem of harmony probably not being able to find the roku device depending on you multicast setup.

Hey guys, I’m running my Roon Server in a Docker container on my main unraid Server. Everything just works fine. In my living room I’m using a Harmony remote to control my TV/Mediaplayer. Next step is to add a Roon Endpoint (RPi4, DAC, RoPieeeXL+Display) to the living room.
How to get my Harmony remote working with this constillation? Just installing the Deep Harmony Docker to my unraid Server ?

See:
roon-extension-deep-harmony-release/README.md at master ¡ Khazul/roon-extension-deep-harmony-release ¡ GitHub

1 Like

Anything to know about that Docker is v. 2.6.0 and console applications 2.6.7 ?

It will update itself.

Since today the deep Harmony extension can’t find my Harmony Hub. It keeps displaying “Status: awaiting Harmony”. It used to work fine up until today. I rebooted everything, reconfigured the docker container and also the Harmony app but no dice. What’s going on?

Edit: I thought it might be valuable to add that the extension stopped working while me sitting on the couch enjoying my music. Not interfering with the hub, Roon core or internet devices. It just suddenly stopped working.

Edit 2: I tried installing the (docker) extension on my Synology NAS and it works flawlessly. So something is up with the Pi extension. I reinstalled a few times on the Pi but still no dice. Any idea how to solve this? I would much rather run the extension on my Pi.

I used the following command to install the extension on my Pi:

sudo docker run --detach --restart unless-stopped --network host khazul/roon-extension-deep-harmony

Any ideas? @Adam_Goodfellow