Roon Extension: Logitech Harmony Source Control (GitHub)

@CrystalGipsy: I haven’t attempted to run the extension with v6, but I can certainly give that a try tonight. However, the issues that you are describing do not sound like a node issue.

Some questions:

  • What’s your Roon Setup? Do you have more than one Roon Core running on the network?
  • Can you share the extension’s log output?
  • Can you share a screenshot of the output zone’s configuration dialog?

Also if I have already turned it all on and paused playback using Roon remote and then select another album or playlist and use the play now it seems to cause Roon issues as it does not move on to the new album or playlist but resumes playback of the previous material its only when I leave Roon playing that it will switch to a new album/playlist or force it a second time.

I’ve seen similar behaviour exactly once, last week to be precise, so I didn’t blame it on the extension. Is this reproducible for you? Given the fact that the extension itself does not interfere with any of the playlist management, it might be a general Roon issue that only gets exposed with extensions.

Also if it does manage to turn anything on from pressing play in Roon it takes a long time to send the commands.

Are you saying that it takes a long time until the Harmony shows that it’s switching to the selected activity? Or are you saying that it takes a long time until that activity is finished? I can confirm the second statement, but that’s due to the way that Harmony works. If you took a stopwatch to time that, I am sure you’ll find out that it takes the exact amount of time that it takes when selecting that activity directly on the remote control.

Will attempt to get some logs and run through it all again.

I have one Roon core on my network which is hard wired to the router. My endpoint I am using it on is Raspberry Pi running Ropieee Roon Endpoint.

Its the starting the activity that takes a long time nothing happens for ages if it works at all. And when it does Roon does not play. This is from off. I will try it from another activity.

Hi Boris

all works now i think my harmony had got a bit confused. I just removed it from roon and then rebooted the harmony added the extension back to Roon and my endpoint and all works. Great little extension, now if only I could use the harmony to pause Roon and not need to find my tablet or phone all the time.:slight_smile:

@CrystalGipsy If you are using a modern Linux system which uses systemd, you can use this method to start Node on system startup.

systemd is the init system used by modern Linux systems. Here is a sample systemd unit file which can be used to automatically start this application at Linux system boot time.

Description=NodeJS app - Roon Logitech Harmony

ExecStart=/usr/bin/node app.js


To use this unit file:

  1. Save this template to a file called roon-logitech-harmony.service
  2. Edit the user field to be the user running the application
  3. Edit the WorkingDirectory field to be the location where the application is installed (NOTE: the user must have read and write access to this location!)
  4. Using either sudo or as root, copy the edited roon-logitech-harmony.service file to /usr/lib/systemd/system
  5. Reload systemd: sudo systemctl daemon-reload
  6. Start the application: sudo systemctl start roon-logitech-harmony.service
  7. Enable the application at boot up: sudo systemctl enable roon-logitech-harmony.service

You can monitor the output of this application using journalctl.

  • To show the application output: sudo journalctl -u roon-logitech-harmony.service
  • To follow the application output: sudo journalctl -f -u roon-logitech-harmony.service

Thanks Mike, how would I also add your 1.20 Web Controller?


You have a couple of options.

You can either have a separate directory for the web controller and follow the instructions that I have posted to the Github site

Or you can try out the Extension Manager that @Jan_Koudijs has written. Both the Roon Web Controller and the Logitech Harmony Source Control extensions have registered with Jan. You can read the details about his project at Roon Extension Manager v0.7.1

Ill stick with just systemd for now. Got both working so many thanks.

1 Like

Ok I am having issues with this now It keeps not working and I then cant play anything at all until I restart the roon server or disable the remote control on the endpoint. Making my other half very annoyed. How do I get a log out from this to see what the issue might be? I switched to using the Extension manager now to see if that would help or If I messed up making it a service so reinstalled it using it but its the same as it was when manually installing and running it as a service,

I ran into similar issues a while ago, but I was having them with both my Denon and Harmony extensions, which to me rather suggested a Roon issue. To get my wife happy, I just ended up restarting the extension every hour. However, there were some minor Roon API changes in the mean time, so you could try to do an npm update to see if it fixes the issue.

To generate debug output, you just need to start the extension with DEBUG=* node . instead of just node .

Ok will try the update but I am running it from Roon extension manger now so I don’t get that option to run it or restart it. My scripting is not really that good either so would not know where to start with restarting the extension every hour.

The Roon API changes should be pulled in automatically if you have set an auto update time in the manager settings.

There is currently only the possibility to manually stop/start an extension. If it would be helpful I can add a manual restart action as well.

That would be useful Jan.


I installed the Roon Extension Manager today and added the Web Controller, the Arlarm Clock and the Logitec Harmony extensions. Thanks for the good work!

When I try to configure the Logitech Harmony extension, no Harmony hubs are detected while the Android Harmony app works perfectly on my Android devices.

My WiFi (Harmony Hub) and LAN (Roon Core) are on different but bridged subnets.

My Galaxy S7 edge and Galaxy Note 10.1 detect Roon Core with no problem over WiFi though.

Any suggestions?

The extension expects the Harmony Hub to be on the same network as the system running the extension, otherwise the detection won’t work.

There should be a config.json in the extension directory containing a section similar to this:

“settings”: {
    “name”: “Harmony Hub”,
    “hostname”: “”

It should be safe to change the IP address to the IP of your Harmony Hub. Just make sure the extension is not running, while you are doing that.

I installed the Logitech Harmony extension, and I updated the extension.

Currently config.json contains the following code:

“roonstate”: {
“tokens”: {
“1ab7e23f-9dbc-42b9-9858-352f3c6ba7b4”: “0a462119-e4f5-4937-9eb0-c483dbeee718”,
“262bbd8f-8a76-433b-916b-efc206736e2d”: “8a6acc77-42c7-4372-b79d-52f3f45d3dc0”

I’ll update it to the following code, but I’ll have to figure ouot the IP address of my hub first:

“roonstate”: {
“tokens”: {
“1ab7e23f-9dbc-42b9-9858-352f3c6ba7b4”: “0a462119-e4f5-4937-9eb0-c483dbeee718”,
“262bbd8f-8a76-433b-916b-efc206736e2d”: “8a6acc77-42c7-4372-b79d-52f3f45d3dc0”
“settings”: {
“name”: “Harmony Hub”,
“hostname”: “”

Try it like this and make sure to replace hostname with the correct IP address:

    "settings": {
        "name": "Harmony Hub",
        "hostname": ""
    "roonstate": {
        "tokens": {
            "1ab7e23f-9dbc-42b9-9858-352f3c6ba7b4": "0a462119-e4f5-4937-9eb0-c483dbeee718",
            "262bbd8f-8a76-433b-916b-efc206736e2d": "8a6acc77-42c7-4372-b79d-52f3f45d3dc0"

I’ve edited the file with the correct IP address, but in the meantime Roon Extension Manager san into problems again …

I’ver re-installed.
New the Logitech Harmony extension stats "connected to Harmany Hub:

However, in the settings page, I do not see my harmony hub listed.

I have not yet tried if I can use the harmony hub as a remote for Roon.

If you manually update the settings, the Settings UI is pretty much useless. However, there is nothing in that UI that’s relevant - you only use it to select the hub to connect to.

Given that the extension indicated that it successfully connected to the hub, evertyhing should be ready to go.

Thanks a bunch for the extension Boris. I am running it in Docker on my Synology NAS and it works great. There is one thing though. I would like Roon to STOP playback if I turn the activity off. Instead it PAUSES playback. Is there a way to change this on my side?