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

Thanks, it’s GLIBC 2.13.
Unfortunately docker can not be installed.
Where can i find Deep Harmony 1.x console app to try if it works with my NAS. ?

Thanks for posting the detail, every little bit helps to understand quirks.

There are definitely some oddities going on under the hood with multiple controls. TBH I think Roon needs a more robust way of managing control instances than it currently has as currently it really does not like it if you create 3 devices, then get rid of the first one for eg, or simple restart and recreate them in a different order.

There is no console app for v1. V1 was an 800Mb Linux x64 docker image only - hence switch over to compiled instead for V2.

I take it you don’t have a use/need for a Raspberry PI for use as a Roon DAC bridge? I think I paid about 60quid for the PI 3B+ I use as a build machine with full desktop on it, docker etc on it as well as Roon bridge into a dragonfly USB DAC.

As for now, no need for a PI.
I have the
all in one KEF LS50W.
I think i’ll wait for Rock to allow extensions installation on my NUC :slight_smile:

Just as follow up.

I think I have a fix for controls getting rearranged and/or otherwise going AWOL however the fix depends on quite significant changes to the Roon SDK for volume and source controls.

I have also tried to recreate the scenario you describe with this new build.
Zone A being my main R-PI based zone, Zone B being another R-PI based zone.
Zone A being couple to a Harmony activity, Zone B not so.

Play track in zone A, select zone B, play another track in Zone B. Now I can hear both tracks (because they are both playing to sound systems in the same room).
I transfer from Zone B to A - the transfer seems to go through fine with no interruption of play.

I have also been testing zone transfer quite a bit with this new build where the transfer requires a Harmony activity switch and that seems fine as well - ie Roon is automatically switching the activity and no interruption of play - that was even between a RAAT zone (R-PI+DAC) and an Airplay zone (Yamaha AVR).

Fantastic work on the extension and extensive documentation. I was able to get the Deep Harmony up and running on my OS X network quite easily. I love being able to quickly unpause music without having to find a ‘screen’ to unlock etc.

Next step for me is to wrap the run.sh in an Automator app so that I don’t have to have a terminal window open at all times.

Any chance of adding the extension to @Jan_Koudijs manager?

Thank you.

I hope to do daemon and services installers for it eventually - just lack of time to do so along side everything else.

As for extension manager, I have no idea. AFAIK that is for node js extensions distributed as such where there is a definite need for something to manage install and update.
This is the reason I have gone down the compiled executable route as it removes all the hassle of for end users of dealing with node js and especially updates (which are a complete pain and take ages with node).

It also makes updates really easy as it can make a quick check against a web server and pull and install them in seconds even within docker. On the docker side it reduces the docker image size from around 800Mb down to 95-155Mb depending on the platform (because there is no need for a standard node base image and in fact I can use the tiny slim OS images instead) which is especially important for Raspberry PI. Also the specific version of node, npm etc and other bits being used is invisible to the user as well and importantly is invisible to other uses of node on the same host, so no cases where the user get stuck because all the foundations need to be updated (npm etc).

Node js is a great development environment these days especially for home automation focussed services, but it mostly remains a pain for non-developers to deal with. Of course with tool chains like those I am using, then that is certainly changing for the better. Also packaged desktop apps for chrome are becoming a lot more common now as well. What we have in this extension is the service side equivalent as it also uses the chrome v8 compiler.

1 Like

That make a lot of sense, thanks for explaining. I had been quite lazy and assumed this was a node js machine.
The quick selection of radio stations is gold and is inspiring me to put work into local playlists again. It will be fantastic to have my daughter pick up the hard remote, choose music and select her own playlist.

Do you by any chance have another extension running on your mac?

@Adam_Goodfellow

Fraid not, well not that I know of, Roon doesn’t detect any other extensions, yours is the only one.

I tried searching on my iPhone, iPad and Mac (with the remote connected to the Mac via a usb cable) and each time no wifi device is found at the harmony setup stage.

I might be being a bit dense here, but I don’t understand what wifi device it is actually trying to locate. I gather its trying to find a Roku emulation that is the actual connection between Roon and Harmony hub. Roon is on the server and the setup in Roon already detects the harmony hub via wifi, isn’t the rook emulator on the server? I don’t see what else it needs to detect via wifi as there isn’t another wifi device. I just don’t understand what I’m looking for in order to try and assist in why it isn’t working properly.

Harmony is trying to find the roku emulator on your mac (ie where the extension is running).

If your mac firewall switched on? (Apple icon, system preferences, privacy and security, firewall tab).

This extension is just what I was looking for. My Roon core is running on a Mac Mini, and while basic play/pause worked using my Harmony hub/remote paired to my Mini as a bluetooth keyboard for some reason trying to send keyboard commands to Roon through it to do anything else like Command+J and such doesn’t work. You extension fixed this right up for me. The only thing missing for me now is the ability to switch to the queue or the large artwork view since the view is reset when I turn off my avr.

@Adam_Goodfellow

Harmony is trying to find the roku emulator on your Mac

This I where I think the problem is then. No wonder it can’t find it, I installed it on the nuc running ubuntu and Roon server. The Mac is only in the equation as I use terminal to ssh into the nuc. Might also explain why when I close the terminal session the extension disappears from Roon.

I came to this thread late on only after v2 was released and didn’t read the stuff about v1. Where should I have installed it on a separate computer on the network? I don’t have another one on 24/7 only the nuc.

Paul

If its running on the NUC, then it is looking for the roku emulator on your NUC then, not your Mac. I have just assumed you were running it on a Mac from the screen shot.

The networking requirement for installation are that it must have direct access on your LAN/WiFi - ie it must NOT be on another subnet. This applies to locating Harmony, and being located by Harmony. Roon has the same requirements as I believe it uses the same basic protocols to locate other components of the system.

Other than that, you can install it on pretty much whatever you like assuming there is nothing else on there that might cause a port use conflict, which I doubt.

For installation on Linux, it is probably easier to install it under docker right now. I am looking into daemon/service installers but it not something I will have available soon.

If it helps, there is information on setting up docker here: https://docs.docker.com/install/linux/docker-ce/ubuntu/

Unlike running a Linux docker on windows/mac, running on Linux is very light weight for hosting other Linux docker images as it does not involve a full virtual machine. I even have it running on my Raspberry PI.

BTW - what else do you have running on the NUC? Is that where Roon core is running?

Installed on my Raspberry Pi, working perfectly.
Only challenge I have is not seeing the channels (playlists, eg 1,2,3) visible in the remote after created the activity connecting a Chromecast zone (connects to Samsung TV) so cannot select all my 10 playlists whereas for the normal audio setup as described in the installation guide it does show them. Worked around that by mapping my 4 favorite playlist to buttons.

Other than that really great work and much appreciated.

Do you have multiple user profiles?

Currently it will only pull playlists from whatever profile is selected on the server (which could be any). User profile selection is on the todo list. For now, best to ensure playlists are shared. I am not sure if that is the issue, but it might be.

Nope, only one user profile. Guess the chromecast is not seen as an audio device by Harmony. Have also a Chromecast audio lying around so will check when I have time if that behaves differently as this can be connected to my receiver where the chromecast is connected to my television through hdmi.

Hi @Adam_Goodfellow
What a great piece of software! Amongst all rhe Roon Extensions this is my favourite. You raised the bar for all the developers :grinning:

I have one question for now: how to skip the tracks using hardware remote? Tap twice? Hold longer? I don’t need fast forward/rewind just skip. Is it a way to assign buttons only to skip tracks?

Thanks for your kind comments :slight_smile:

Just press and hold for over half a second should do it.

Does anyone else not use skip forward/backward and would prefer next/previous track only on those buttons?
May make it an option in settings on next update.

Yes. :slight_smile:

/10chars