I was hoping to have a release out last weekend but a couple of things happened; 1 - life got in the way and 2 some under the hood improvements I wanted to make in the light of feedback from users were straining the original implementation at the seams.
So I had a choice, hack away at what was and delay what I wanted to do, or bow to the inevitable and do a re-write to take it in the direction I wanted to. The latter won
So the re-write is mostly where I want it to be. There are still some minor bits to finish off, but all the big stuff is there and working well I think. I should have a better idea of release time over the weekend, but should be either over the weekend or early next week. And pretty much everything has changed - for the better I hope
Deep Harmony V2 is now available.
- For x64 based Linux:
- For ARMv7 based Linux (Raspberry PI 3/3B+)
Console applications are available for Windows-x64, MacOS-x64, Linux-x64 and Linux-ArmV7 at:
Please see the readme at https://github.com/Khazul/roon-extension-deep-harmony-release for setup information.
Deep Harmony V2
A Roon Extension for Logitech Harmony
Deep Harmony is an extension for the Roon media system from Roon Labs LLC that provides integration with Logitech’s Harmony Hub remote control system to provide activity detection and selection by and for Roon and provide volume/mute control from with the Roon UI. Additionally it includes a media device emulator that allows for transport control and other functions from a Harmony Hub remote control over WiFi.
Supports multiple Harmony hubs
Supports multiple harmony zones
Associate Harmony activities with Roon zones for transport and other control
Volume step up/down and mute/unmute from within Roon UI
Select/standby activity from within Roon UI
Auto stop linked zone when Harmony selects another activity or powers off
Transport control of Roon from your Harmony remote
Loop mode cycle
Upto 10 internet radio services or playlists can be assigned to Harmony remote number keys
This release was originally intended to be a few fixes and addition of auto update and a few minor tidy ups under the hood. However one thing led to another and eventually it made more sense to start on future plans now as it became clear that some of the under the hood improvements were going to need a rather more major rework. So, instead of the intended 1.0.1 release, here it is; 2.0 and allmost everything has changed.
- Now supports multiple Harmony Hubs.
- Now supports multiple Roon zones allowing for each zone to be associated with a Harmony hub+activity as needed.
- New Roku emulator to provide many more buttons.
- Supports a separate Roku emulator per Harmony hub.
- Quick access to up to 10 favourite playlists or internet radio services from Harmony remote.
- Proper rolling and trimmed log capture system with embedded web server for easy access to recent logs as a zip file.
- Simple software update system to download and install new versions as they become available. This is controlled from settings.
- Roku emulator button assignments are a more natural fit with Harmony.
- Significantly reduced docker image size (Just under 800MB reduced to around 115MB on x64 and around 95MB on ArmV7).
- Web based access to logs and user controllable logging levels.
- Docker images for two platforms (linux-x64, linux-armv7) including multi-platform tagged docker image.
- Basic console applications for 4 platforms: linux-x64, linux-armv7, windows-x64, macos-x64.
The extension is available as a docker image and as a bare bones console application. The console applications are a by-product of the build process and at this stage do not feature installers. They do however come with a very simple script to keep them running.
- Docker Images for
Bare bones console apps for
Hello Adam installed your extension on my Raspberry Pi and it is working flawlessly! Many, many thanks for that. I will experiment some with it tomorrow. Need to figure out how those radio favourite shortcuts work for instance…
Looking very promising I will make a donation as promised!!
I moved to your new version and I must say that it’s pretty awesome !
As with the previous version, I will monitor any problem or crash to report.
I have two questions :
- Do you plan to publish your code on Github as some other extensions ?
- As other features are mentioned in the setup guide, I’m wondering if a ROCK shutdown control could be one of these ?
Turning off (IR Power on is supported by NUC hardware) my Roon Core is the only thing that I can’t control with my Harmony Hub/Remote.
A few months ago, I inspected the ROCK web interface and the shutdown and reboot function are done by simple http requests.
Thanks again for your work !
BTW - how did you find setup? I was a bit concerned about the resulting complexity of it and there are not a lot of options with the current settings UI once you get into a need for more complex setting UI and tools etc.
Re source code - yes one day when it is better organised as I’m still learning my way around node, docker and thus still tending to make big re-orgs with it, particular around the build and system which has gone from nothing to a bit of a monster to support the various platforms with bits of it being done remotely on an R-PI.
Re other features:
I hadn’t though thought of doing anything with Rock as I simply don’t have a NUC. Ive have been thinking of getting one, but waiting for the new 8xx ones to arrive. If you have already had a quick look at the API for it, then by all means, feel free to point me at it and I can have a think about how it fits into overall control flow.
The next major features I am working on are to make some use of all those buttons labelled ‘future plans’ ie those related to browse, search and selection functionality. Of course for that to work it is going to need a decent looking companion UI
No concern about the setup. I was a bit surprised seeing all the options, but I figured out how to configure everything. As a software engineer, perhaps I’m not a representative user for this point.
Regarding my question about the ROCK shutdown feature, I studied the question a few months ago when I purchased my Harmony remote. Roon API doesn’t provide tools to manage ROCK power state, since ROCK is something different. But, inspecting ROCK web interface, I figured out the URIs (as mentioned in this thread Control a ROCK via URL?) to invoke to do a proper shutdown or reboot. It’s quite simple.
I had a project of creating an extension to do that but I never found the time to start.
Now that I’ve found yours… developping another extension just to do that would be far less interesting.
Maybe when your project is open source, I’ll be able to contribute for this, or at least…, try.
Hmm - that sounds like the kind of thing that could be genericised under a general heading of web hooks. OK thanks - food for thought
As for huge number of options - that is partly because there is no other way to present any UI that is practical for most users (counting copying and pasting URLs / manual URL entry as too geeky). I do wish there was a way to embed a simple http link into settings.
Hi Adam - I’m still getting a blank settings page in Roon. I’m pretty sure the extension is running properly on my linux laptop. I’m running ROCK on Intel NUC with I5 processor. The extension is running on 64bit Linux Mint 19. Roon server is current version 1.5.
Obviously extension is being found, and I can enable, but no way to configure settings. I’m really excited about this extension. Hoping someone has a suggestion to get past this issue.
Do you know the IP address on which the extension is running? It might be shown with the ‘View’ button next to authorisations.
If so, could you try accessing http://ip-address:9080/logs and see if you can get a logs zip file out of it?
Also, if you like, there is a simple to run console app versions available for 64 bit Windows (and Linux 64). It may be worth quickly trying to run it (unpack zip and run the run.bat) just to see if that behaves differently. You can simply delete the folder after.
I get exactly the same thing as @Brett_Kerbel when I look at the extension is Roon.
In my case the extension is running in a 7i5 nuc with ubuntu server 18.04, roon server and emby server on it. When I run the run.sh script the extension loads and finds the harmony hub OK and all appears to be well with, it tells me me configuration is needed in Roon.
Also on the configuration tab,if I press save Roon exits completely and the extension crashes.
What more do you need from me? I’d attach the log file if the site would let me.
Hi Adam same issues here, extension is found and enabled. But blank screen with no setup option.
I tried the console version on windows 10 as well as the docker image on Synology NAS.
Very excited about the new version, appreciate your help.
I have PM’d you both for logs if you can.
I have run all 6 versions of this here quite extensively and had such issue which isn’t a help to you of course, but hopefully comparing how what is in the logs for settings for you against what I see here may help to figure out what is different.
Do either of you have any odd networking setup? VPN/VLANs etc?
I have just email my log.
My roon core is on a windows 10 NUC, and have no VPN on that.
However my Synology NAS where I installed the docker image initially has VPN.
My iPad from where I access the roon remote from has VPN
Thanks both - I can the see issue - its the same for you both.
I have loads of playlists and radio setup on mine and don’t have a second core with nothing on it.
As a workaround until I can get an update out, create a playlist and may need to add a radio station.
I just tried to get a second empty core up for testing, but of course Roon want another authorization paid for, so that’s out. Additional free developer licenses would be handy to allow testing of this kind of thing.
Great Work Adam!!!
After I created a demo playlist it started working, couldn’t be happier more!
Now trying to figure out the donation options, do you have paypal?
A quick question - do you have any Internet Radio services setup? I don’t want to delete mine to test as it took ages to set them up
I suspect on a new core when there are no playlists, the top level playlist entry in the menu is absent and that was actually the problem.
No, I don’t have any internet radio service setup.
You should see a status message indicating an update to v2.0.1+228 is available. Go to tools section in settings, find the entry that says update now, select the version from the dropdown and click save.
After about 15 seconds or (depending on your internet speed), the extension in the settings>extension view should disappear then re-appear running the new version.
If you don’t see update available - have another look in 15 minutes or so as the update check is only once per hour.
I added a playlist and configuration is available now. I will grab the 2,0,1 update and try to configure tonight. Thanks so much for your work on this!!!