[Release] Logitech Harmony Hub Driver v0.1.20230311

Is there a way to play/pause the current activity with this driver?

Unfortunately, not at this time.

Dan, Any plans for the Home Control buttons on the bottom of the Harmony 950/Elite?

Would really appreciate that one

This post is old but still describes the current situation (AFAIK):

1 Like

As @marktheknife mentioned, I am not working on this. There is no way to achieve this goal based on what I know. If someone can show me another 100% local solution to accomplish this, Iā€™d be happy to add it.

1 Like

I am working on it..

I volunteer to beta test for you.

I am almost done.

This will give 8 buttons. One for each type of press. Press or Press and hold.

I cannot try the brightness button tonight, but I'll release something before I go to sleep.

There you go. It's all ready.

Put debug mode on and get the Device ID from pressing each button, then paste it into the preferences corresponding to each button.

I have virtual SmartThings switches tied to mine, You can use that, or bulbs. Probably ISY and whatever else the Harmony allows you to put as a Smart Home Hub.

Button 1 = Top Bulb Press
Button 2 = Bottom Bulb Press
Button 3 = Top Socket Press
Button 4 = Bottom Socket Press
Button 5 = Top Bulb Long Press
Button 6 = Bottom Bulb Long Press
Button 7 = Top Socket Long Press
Button 8 = Bottom Socket Long Press

Enjoy..

I'll take suggestions over the weekend and implement them if needed.

2 Likes

I just looked through your code and it is a very interesting approach to being able to utilize the home control buttons on the remote. I see you already figured out that a CLOUD based integration is required in order for anything to be assigned to those buttons. And, that once things are assigned to those buttons, that the webSocket data for those button presses is unique. I like the way you implemented those unique device IDs as user preferences, which should make everything backwards compatible for existing users. The one piece of feedback I have is that I would modify the sendEvent for the 'numberOfButtons' attributes to be based on how many of the user preferences have been filled in. Also, please remove the custom attribute for 'numberOfButtons' as it is already available once you add the "PushableButton" Capability.

Great work! Thank you! Once you're ready, please submit a Pull Request and I'll be happy to include your changes.

2 Likes

That's an enumeration, isn't it?

I may not know enough of groovy to do this.

I would simply count up the number of the user button device preference that have a valid value and then multiply by two. Then call SendEvent() in the updated() routine. updated() is called whenever the user preferences are SAVEd.

1 Like

Isn't it always going to be 8 because I have them hard coded in the sendEvent for each button pressed? It's not dynamic, nor do I think it should be.

I'm curious, what does it matter how many buttons there are?

Apps, such as RuleMachine, ABC, ButtonControllers, etc.. interrogate the device to determine the 'numberOfButtons' to present to a user in those apps.

So, if a user only maps one Elite button to a virtual ST device, for example, we'd only want '2' buttons exposed. This way, they are forced into setting up the deviceIDs for all four buttons on the remote if they want all 8 Hubitat buttons to be exposed.

I can take care of that portion of the code, if you'd like.

1 Like

Sure. I would enjoy learning what you do in this case.

Created the pull request.

1 Like

Would this work with the Harmony Companion remote as well?

I would believe so. The device ID shouldn't change.

The only thing you can do is test and find out if they don't. If they do, I can imagine that a code update would be pretty simple.

I don't see a PR in my GitHub repository...but I was able to grab a copy from your GutHub repo that you linked a few post above...

Here is what I'm seeing in the logs as I press buttons 1 (bottom) thru 4 (top). This only appears when something is assigned to the buttons in the harmony app. If nothing is assigned in the app, nothing shows up in the logs when pressed.
Hope this helps.

You have to configure them in preferences on "Harmony Hub Parent" with the "data" string to put them in the corresponding section of whatever button that was.


Then in Preferences: