[Release] Logitech Harmony Hub Driver v0.1.20230311

You had mentioned direct integration between HE and home theatre receivers. I was curious where to find the list. I am about to update my aging equipment.

I am using you app. It works fine.

Take a look at the very bottom of the official list or compatible devices. You’ll see the AVR devices.

https://docs.hubitat.com/index.php?title=List_of_Compatible_Devices

All,

I am pleased to release a updated version of the Harmony Hub Driver!

v0.1.20190714 adds support to the Parent Device for VolumeUp, VolumeDown, Mute, ChannelUp, and ChannelDown custom commands for those Harmony Activities which support Volume and/or Channel control. Thank you @aaron for your insight and motivation to bring these features to fruition!

Simply update your Parent driver and then click REFRESH on the Parent Device. This should get everything set up correctly. Please let me know if it works for you.

Thanks,

Dan

tagging @destructure00. @corerootedxb , @Brandon, @dioffo, @aaiyar, @aaron

10 Likes

thanks for your work @ogiewon

Volume doesn't seem to be working for me.

Check your Live/Past Logs. Volume Control only works if the current Activity supports it. If not, it should write a message to the logs. Also, did you click REFRESH on the parent device after updating the driver code?

Crap... not supported. Is that because I'm using a external soundbar ?

I wonder if you can use volume via the harmony hub if that's the case....

My driver does use Volume via the Harmony Hub... That's the change I made. Today, can you control the volume of the soundbar using the Harmony Hub's Remote Control? If not, you'll need to modify your Harmony Activity to assign the soundbar as the volume device for that Activity. Once you get the remote to control volume, then come back to the Parent Device, click Refresh, and it should start to work.

Hmmm this is odd... I can control volume in the parent device but it doesn't work if I try to use in the hubitat dashboard

java.lang.IllegalArgumentException: Command 'setLevel' is not supported by device. (dashboardCmd)

That actually makes sense. The commands are Custom Commands, and thus the Dashboard would not be able to activate them...:thinking:

The problem is that if I add the "Audio Control" capability to the parent driver, I cannot fully support all of the requirements for that capability. But it might allow the dashboard to work for the specific commands that I can implement (VolumeUp, VolumeDown, & Mute). There is no way for me to implement SetVolume or UnMute as those both presume that the device knows the current state of the device being controlled. In this case, there is no way for the Harmony Hub to know what the current volume level or mute status of the device is. If you can't do it with the Logitech remote, there is no way to do it via Hubitat.

Hmmm....

If volume up/down/mute can be made to work in the dashboard that would awesome.... maybe as a push button for up/down -- longer you hold the louder/softer the sound volume ?

I don't believe the Dashboard supports pushed/held/released events...does it? My driver does not support it for sure. :wink:

I haven't looked the supported features for buttons.... it's just a shame that all the new code is rather useless right now.

You can use Rule Machine to execute custom actions very easily.

Having it work in the dashboard would be better. I don't have needs for volume rules in RM. Anyways it's there. Maybe I'll have a look at the code and see if I can adapt it to work in dashboard.

Complete agreed, we need to have a way to make it work in the dashboard lol, I can only turn the tv off and on from the dashboard.

OK, I have a Dashboard solution, but remember you can still only adjust the volume up or down from whatever the current volume is on the device you're controlling. The Harmony Hub has no idea what the actual volume level is on the real audio device. Therefore, just like on the harmony remote control, you can only 'press volumeUp' or 'press volumeDown' to increase or decrease the volume level.

So, what I did was add the setLevel() and setVolume() commands to the Parent Device. The level attribute always bounces back to 50% after you slide the dashboard volume tile's slider either UP or DOWN. So, if you slide the volume slider up to 75%, the driver makes a volumeUp() call, and then sets the level attribute back to 50%. Likewise for sliding the dashboard volume level down.

Simply update the Parent Driver and you should be able to use the Dashboard's Volume Tile to adjust the volume up and down in small increments, but you will not be able to set the actual level, as this is not possible using the Harmony Hub.

UPDATE: A few more minor tweaks just uploaded to GitHub to reduce the amount of useless Live Logging.

Thank you for all the hard work, volume work now but no power on or off, lol,.I try selecting a switch and I can control the volume would be awesome to control powe and volume using the same template.

You have to add a Switch Tile for each Activity child switch device to the Dashboard.

There is no Tile in the Dashboard that does everything you want, unfortunately.

Personally, I don't understand why anyone would want to use a touchscreen instead of a physical remote to begin with! :wink: But that's just me... The people ask and I deliver...

5 Likes

Hi @ogiewon can you please tell me what template you are using on the dashboard for this?