[RELEASE] KuKuHarmony - DTH and SmartApp that support to control devices in Logitech Harmony(using Harmony-API)

After getting so much negative feedback on their forums, Amazon reviews and tech sites, Logitech have changed their minds and done a full 180° degrees.

"We’ve heard your concerns. We understand that some customers are frustrated with the recent security fix we put in place, as it closed access to private local API controls. While security continues to be a priority for us, we are working to provide a solution for those who still want access despite the inherent security risks involved.

If you would like to participate in an XMPP beta program, which will allow access to local controls, see the below instructions. Over the coming weeks, we will qualify a regular firmware release that still allows XMPP control for those who need it. We expect to send out an update that will be available to all Harmony customers in January.

Here are the instructions to access the program by updating the firmware on your Hub…"




I just wanted to let people know that I just flashed my Harmony Hub to version 210 and it is now working again with the KuKu SmartApp. Follow the directions on this page and you will be good to go.


Good luck.


1 Like

Thank you for your information.

@KuKu Can you make this a sticky or part of the first post?


it’s so weird.
I can not find ‘Edit’ button in this post…
Other post that I wrote can edit…

Oh well. Maybe do an update post to explain the issue and solution as this is a very long g thread and not everyone will be able to find all the posts.

This is great, and I got it working this AM. It’s nice to finally be able to use Harmony for what I bought it.

I am curious though, is it possible to change the buttons, particularly for AC? One of my AC units the presets line up well, but the smarter one would like an option for fan speed up/down, timer up/down, sleep, energy saver, auto fan, and fan only. I’m using ‘custom’ for now, but it’d be great to have native support.

TV there are a whole assortment of buttons: Option, zoom, display, sleep, picture mode, favorite, audio, return, direction left/right/up/down, prev channel, channel list, closed caption, exit, aspect, netflix, iHeartRadio, inputhdmi1-4, input component, input cast, input tv link, vudu, guide, info, amazon. That being said, TV wise I’m pretty content with turning it on and off.

Thanks so much, this app is fantastic.

Actually apparently I’m having some trouble I’m not entirely sure how to troubleshoot.

Seems like the server is running, but the hub is not executing commands. If I got to ip/8282 in my browser I see the commands/hub but if I try to change anything through smartthings the hub doesn’t respond.

Associated question, I did the initial setup with docker as per the first post. Since I’m using a Pi and have NPM setup for a bunch of other things I’d much rather just use that. How would I go about that switchover, and is it possible to use PM2 instead of Forever?
@KuKu @Core_Phx

1 Like

For those who use Kuku Harmony I’ve got a couple questions. What’s the trick to getting power state synchronized correctly? Is that what the state monitor settings are for in SmartApp? Which should I set it at - contact or energy monitor? I’m confused how to set that all up. Additionally how do you access the custom commands from the device in SmartThings app?

@KuKu Hello there and thank you for this great feature.
A while back i had downloaded an installed your KuKu-Harmony server on my Rpi and the necessary device handler and smart app. I had been using it perfectly for almost a year.

However last week i updated my wifi network and i had to reset the Harmony hub to join the new network and its SSID and it changed the harmony’s Ip address however my Raspberry Pi kukuHarmony-server’s IP address and my Smarthings Hubs are the same as they have always been.

The harmony hub is now registered on the network and works fine with its scenes and devices i restarted the Rpi and the kuku-harmony server and it is running on port 8282…however when i go to use my device on the ST app it does not work!!!
I deleted the old device and I tried to re-add as a new device on the kuku app and it keeps saying searching for harmony hub… and it does not find my hub on my network it just keep spinning.
What am i doing wrong?? Am i missing a step somewhere on the server side (i am sure i am putting the correct Raspberry Pi address and port number for the app to find the kuku-harmony server).
In the app… Discovering Harmony Hub. Please Wait and keeps spinning endlessly and HarmonyHub list: none
The server is running on my Rpi i made sure of that, that port 8282 was open and Listen-ing when i give the following command on the raspberry pi terminal netstat -tulpn

Any help on troubleshooting will be greatly appreciated like i said it was flawless up to know

Hi @richland007,

At first, would you check whether harmony-api does works.
By entering below command to web browser and check result.

If result pages is shown but there is no hub in result, harmony-api is working well but can not find harmony hub.
Recently there is a FW update in Harmony hub preventing local api communication.
But Logitech provided a way of using local api communication because of user’s many request.
Please check below article and check your harmony hub’s status and enable option.



yeap solved it
thank you

Wondering if anyone can help me - scanning through open ports on my Pi and I know 8282 is for KuKu but I’ve also got 61991 open and it’s got the same PID. Can anyone confirm?

Another question - can you add any parameters in webCoRE? What would you use for parameters?

I finally got it running…

The directions need a LOT of help.

NONE of the Docker info on the git repo or in here worked.

The only thing that worked for me with a x64 Ubuntu Server is the directions from Core_Phx

sudo apt-get update
sudo apt-get install git nodejs npm
cd /opt
npm install forever -g --save
git clone https://github.com/maddox/harmony-api.git 4
cd harmony-api
sudo script/bootstrap
sudo script/install-linux
sudo systemctl start harmony-api

Plus some other instructions on making it a service…

I am quite familiar with Linux, run a few servers , the basic instructions left me in the dark

Thanks @Core_Phx


@Tony_B I too had no luck with the Docker container. Your commands worked up until the “install-linux” script. At that point I got a Failed to execute operation: too many levels of symbolic links. The command that failed was the
systemsctl enable harmony-api-server.service. I’ve tried this both on Docker and on an Ubuntu 16.04 system and the symbolic link error occurs in both. Any ideas?

root@Harmony-Hub-API:/home/scott/harmony-api# sudo script/install-linux

  • set -e
    ++ dirname script/install-linux
  • cd script/…
  • INSTALL_PATH=/var/lib/harmony-api
  • CONF_PATH=/etc/harmony-api
  • echo ‘Installing harmony-api for Linux…’
    Installing harmony-api for Linux…
  • mkdir -p /var/lib/harmony-api
  • cp -R app.js config Dockerfile LICENSE log node_modules package.json public README.md script /var/lib/harmony-api
  • ln -sf /var/lib/harmony-api/config /etc/harmony-api
  • ln -sf /var/lib/harmony-api/config/harmony-api-server.service /etc/systemd/system/
  • systemctl enable harmony-api-server.service
    Failed to execute operation: Too many levels of symbolic links
    root@Harmony-Hub-API:/home/scott/harmony-api# sudo systemctl start harmony-api
    sudo: unable to resolve host Harmony-Hub-API
    Failed to start harmony-api.service: Unit harmony-api.service not found.

Ask @Core_Phx. I didn’t come up with them

One thing I found out, make sure that bootstrap runs first. That is the ONLY way I didn’t get the symbolic link error.

Just tried this but think that I’ve missed a step somewhere… I’ve entered my raspberry pi’s IP address into a browser and my harmony hub has been discovered and the api seems to be working… however when I enter the details into the SmartApp nothing gets discovered?


Hm… did you enter ip:8282 at SmartApp’s address input area?

Please check this.

Hi KuKu. First of all I just want to thank you for creating this. It is a life saver! I have it working well on my Raspberry Pi 3 with OSMC so far except for one small problem that I hope you can help me with.

I normally have a VPN client running on this Pi 24/7 using VPN Manager for OpenVPN and Mullvad, however I cannot get docker to cooperate when the VPN is active. It only works when I manually disable the VPN. Is there any way around this? I really don’t want to have to buy another Pi dedicated for docker only, and I do not have a server that is always on (besides my ReadyCloud drive connected to my router). Surely there must be a way to get both, VPN Manager and docker, running at the same time?

I know this is a bit off topic and I apologize for that, but I can’t seem to find a solution for this anywhere and I have spent days looking for one :confused:

I’m having the same problem. I can go to the ip in a browser and see the hubs discovered, but when I enter the ip with or without port in the app it first says an unexpected error has occurred, then on the second click completes, and when I open the app it stays on discovering infinitely.