Many THANK YOU(s) for this! You rocked this like you do with many other apps! Now for HE to take this awesome code and just make it native.
Nope, will do that now. Didn't realize there was an updated version out.
I know you have a lot of great ideas for Harmony Hub integration. Please consider this webSockets integration a Community Project. I welcome your ideas and pull requests to make this a more full featured integration. I believe it is possible to perform device level control if so desired. I just don't have that need personally, so I am not investing time in trying to add those features.
The code I shamelessly borrowed most of this work from came from the Home Assistant folks who were most impacted by the original XMPP interface shutdown.
Here's the code I used to get this started. It may provide you with more ideas for individual device control if desired.
@ogiewon I appreciate the invite to contribute! I am in the same boat as you that I do not need control of the HarmonyHub through HE. I do everything from Alexa and the activities I use do not warrant the need for automation into Harmony itself. It is more about knowing what activity is currently running and then basing accent lighting (really only behind the TV) being on/off. Basically this code replaced a WeMo Insight monitor which was doing the same thing just makes it simpler for me to manage code than devices directly.
Thank you again for all this great work and monitoring other communities to then retro-fit for ours.
Updated and confirmed after reboot that Hubitat automatically reconnected to Harmony. Thanks @ogiewon!!
Will the same thing happen if I lose connection due to Harmony hub reboot? I could test, but....that's too easy
It should automatically reconnect if it loses the connection to the hub. There is reconnect logic built in where it keeps trying, but with longer pauses between each attempt, until it only tries every 10 minutes. This is to prevent flooding the LAN with reconnect attempts.
Amazing. Just tested with Harmony hub reboot. You rock!
I followed your instructions exactly. I get this error in my log, the child devices are not appearing. What am I doing wrong? edit: [updated with more complete log]
Rebooted Harmony Hub, all is good now.
After getting this installed, I really like the way this works. Instant status updated, unlike the former integration that was ported over from ST. Thanks for your work on this.
Having discovered this thread I have just ordered a Harmony Elite.
How are you guys integrating HE with your Harmony remotes with this driver? If I understand it correctly you can run an activity on the Harmony from HE, but is there a way to get the home control buttons on the Elite remote (2 bulb buttons and 2 socket buttons) to directly control devices within HE?
Not currently. And I'm not sure if there is a way or not to add that functionality. With the SmartThings - Logitech official integration, you can expose ST devices to Harmony. This then allows these ST Devices to be used as part of the Harmony Activities, or be controlled by the remote control button you mentioned above.
I haven't tried to see if there is a way to detect those buttons as being pressed by the Elite remote using the webSockets interface. I doubt they'll just appear, but that would be really nice if they did as Hubitat could just use them as button devices to trigger automations.
That would be perfect, but I didn't think it would be that straightforward. I wonder if you could create a dummy device on the Harmony that was controlled by those buttons and that would then be picked up by your code when that switched on or off?
Hi @ogiewon, thanks a lot for your work here.
I have a couple of hubs I would like to eventually integrate to HE, mainly to send commands to IR devices through the Hubs.
I have been kind of following all the Harmony threads and I think I may be a little bit confused now with all the different solutions, api's, workarounds, etc.
If I understand correctly your code is currently the best solution and its all local but one thing I wanted to know before spending time on this is: is this based on the undocumented websocket that was discovered after Logitech closed the local API or is this based on the re-opened local API that is now the optional "Official" local API?
This is based on the undocumented, unofficial webSocket API that is used to communicate between the Harmony Hubs and the Harmony App on mobile phones/tablets.
Could it go away in the future? Yes...
If it goes away, then we'll have to try to get a working XMPP solution.
Got it! Would there be any benefit on using the XMPP communication instead other than its more "Official" so less likely to break? like, are there things we are not able to do with this method?
I don't want to speak for Dan but the major limitation right now is that the HE hub doesn't have the capability to speak XMPP. The latest Hubitat platform update enabled websockets capability, which in turn enabled this integration. But getting XMPP working would require adding new capabilities to the Hubitat platform first.
I see, just wanted to understand how this works before using it, will definitely give this a try... Thanks!
It's been flawless for me for the past week