Harmony integration on Hubitat

With help from @mattw I was able to get KuKu Harmony ported over to hubitat. It's still very messy with redundant code, but it works. You'll need to install all of the device drivers and both smart apps.

I will continue to clean this up, but I wanted to get this out there for people to use if they want. If you want to help make this app better, please feel free.

5 Likes

is it LAN to LAN or Cloud to Cloud?

Well, the apps and devices connect to a device running the Harmony API app which runs locally. When I setup the Harmony API app on my Raspberry Pi it asked for my hubs local IP so I assume that is running LAN to LAN as well.

Short Answer is I am 95% sure everything is LAN to LAN, but I didnā€™t write the HArmony API app to know if it makes a call to the cloud. I do know I didnā€™t give any of my cloud creds to any of the apps, so itā€™s probably all LAN to LAN.

Sorry for the vague answer, but I am not a real developer. I just ported the code from KuKu Harmony.

disconnect internet modem.
If it runs its lan/lan
if not, its cloud/cloud

1 Like

I understand that, I just donā€™t want to take the time to test that theory out. It works for me. It is pretty easy to setup.

@plantucha:

I didn't mean to sound so rude in the last reply it actually reads a lot worse than what it sounded like in my head. It's just I'd spent 3 days trying to understand the code and figuring out why it wasn't working. I just need a break from testing for a bit.

Sorry.

1 Like

I know the ā€˜harmony-apiā€ nodejs server runs completely locally and only talks to the Harmony Hub via the LAN. Therefore, I really doubt the KuKuHarmony app needs to talk to anything on the Internet.

For those who have used KuKuHarmony, is it true that it does not support Harmony Activities? That was the reason I decided to write my very basic Harmony Hub integration.

One thing to be aware ofā€¦ The ā€œharmony-apiā€ nodejs server seems to lock up after a few days of use for me and at least one other user. I have it installed on Ubuntu Linux 17.10 as a service. I believe the other user has it installed on a Raspberry Pi. I have scheduled a nightly Cron job to reboot my Ubuntu system every night at 4am. If anyone knows why this locks up, Iā€™d love to know how to solve it.

1 Like

Right now it doesn't but it could. I am still learning how the code is written in this app. It looks like HUE API supports activities, so the feature could be added to this app.

I have not run into this yet, but I did deploy the docker image on my Rasberry Pi. Is it possible it was something with a package version for your install?

1 Like

Joe,

Thank you for the reply. I may try using docker to see if it is more stable.

Dan

Thank you for the port - I have harmony-api up and running - I can access it and have it respond to commands via the rest api at http://10.0.1.27:8282 but the habitat harmony app cannot seem to discover the hubs or devicesā€¦

http://10.0.1.27:8282/hubs
{"hubs":["basement","living-room"]}

log entries over and over w/ each refresh:
app:2972018-03-12 19:10:40.976:debuggetHubAction>> 10.0.1.27, /hubs, discoverHubs_response
app:2972018-03-12 19:10:40.973:debugdiscoverHubs
app:2972018-03-12 19:10:40.965:debuginstallHubPage>> null
app:2972018-03-12 19:10:40.905:debugmainChildPage>> parentā€™s atomicState.harmonyApiServerIP: 10.0.1.27
app:2972018-03-12 19:10:40.847:debugLine 64: parent Or Child Page

Did you try typing in IP:8282 in the field?
I noticed mine wouldnā€™t find the hub. I had to type it in. Then the next screens worked fine.

1 Like

thank you @jprosiak - that worked like a charm - not sure why I didnā€™t think of that - I even searched the code to see if the port was hardcoded. Much appreciated - Iā€™m now up and running.

1 Like

As I use this port more I am thinking about ways to rewrite it to improve the app. Here are some things I am thinking about:

  1. Add support for activities
  2. Auto map device commands (I am not sure if this is possible yet)
    Right now you have to go through each button and map the command you want assigned to the button
  3. Hide any device buttons not mapped (Once again not sure if this is possible)
    For the most part I am just using power and volume for my integration. So itā€™s pointless to have the extra buttons showing in my device
  4. Reduce the number of times a call to harmony api is performed during setup and discovery.
    Right now it refreshes every time you map a button which jumps you to the top of the screen. Since all of the data is pulled back at once it makes sense just to store it until you leave the mapping page.

Is there anything else people would like to see?

I recently started running into this on my Raspberry pi so I am testing out the OSX build also. It uses an app called forever. this is the first time I've heard about forever. Once I get the app rewrite done, maybe it will be easier on Harmony-api causing less problems.

2 Likes

Is there a device driver for a set top box? Specifically Tivo?

Hi there, any further development on this? I just switched over completely to HE and wanted to setup my old routines, which included Harmony Activities. Thanks for doing what you can and for the work thus far!

Hello! I really havenā€™t done anything with it since the last post. Seems like many others are using other alternatives so the development on this port has halted. Search the forums and see if you can find the other solutions. If you canā€™t send me a PM and Iā€™ll see if I can find the threads I am thinking of.

Welcome to HUbitat. I think youā€™ll like it here.

Give this a try. If you had ST-Harmony integration working previously, then youā€™ll need your API keys. It has been working for many of us for many, many months...

Thanks all! I'll give that a try! Appreciate the quick response!

1 Like

Has there been a stable, feature rich Harmony Hub app and drivers written for Hubitat Elevation?

YF

1 Like