[Release] Logitech Harmony Hub Driver v0.1.20230311

Thank you

I have HA with emulated hue and I'm also using the MQTT Hubitat bridge. Using this, I can register the emulated hue in my logitech and assign lights and switches that comunicate to my hubitat hub through the MQTT bridge. So for example, I have a virtual Switch in hubitat that sends a command to turn on/off a Fan. That virtual switch is registered in my Harmony Hub using the emulated hue in HA which sends/receives the information through the MQTT Hubitat bridge to/from my Hubitat Hub (I did this so I can assign the Fan virtual switch to the a home control button in the harmony remote). I have the same configuration for a pair of hue lights (that way I don't have to register my phillip hue bridge to the harmony hub)

That’s what I’m trying to do. H.e light to harmony home control button. I’m trying to avoid installing h.a just for that

For what I searched, it seems you can't use the emulated hue in hubitat. Luckily in my case, I had a HA docker container (that i used with smartthings) so the changes weren't many and this way all it's local.

Thanks, it there a learning curve to set up the emulator. I can install h.a tonight

I added some instructions here for setting up a virtual device for use with the new MQTT Link. It should work the same with the older MQTT Bridge.

I'm afraid I am missing something. I have a new Harmony Hub, hooked it up to the network last night, added supported devices (Roku, Nvidia Shield, etc.) and they show and can be controlled in the Harmony app. I set the DHCP reservation for the Harmony Hub so the IP won't change.

I added the Parent driver and the child driver, created a new virtual devices, selected the parent at the bottom, added the IP address and saved. Looked in logs and I see Device Labels for the devices in my Harmony app, but not the child devices being created and only the Device Labels for some reason as "Debug".

However, the only child that is getting created under Devices in Hubitat is "Harmony Hub-PowerOff". I was expecting to see the other devices in the Harmony app listed here, is this not correct? I cannot add a particular device to a dashboard either. Seems like this is really clear and easy to do but I just don't think I am seeing the results that I should be or that others are.

Any help would be appreciated! Thanks!

The parent device creates child devices that represent harmony activities, not the devices that you have integrated with Harmony.


Ah, okay. Thank you for that. Yeah, looks like this won't work for what I need. I am trying to implement an AC into my system and allow for temperature increase and decreases but since this creates a switch with activities and the shutdown activity in Harmony always needs a power off then the switch "On" changes the temp as desired but turning off the switch powers down the AC, which is not desired. But, I did enable the API in Harmony so will give that a swing instead.

search this thread. I remember that the developer responded that there was a way to access the devices using the device id or something. might work for you.

1 Like

Thanks for that. Yes, I tried with the device ID but didn't want to work with the AC. However, I have a Raspberry Pi lying around that I am loading up to run APIs through so I think that will work. Another middle-man but ah well.

Well, I took a different approach and used the hubitat-api and installed a service on my Windows 10 machine and it works amazingly well. Unfortunately, still no real use for the Raspberry Pi 4 but maybe one day I will get that put somewhere. Thanks for the info on this particular driver. Now, I will just map commands to Hubitat where it calls for it and create HTML dashboards for manual control outside of Hubitat.

You can modify the power on and power down sequences of each activity. I am currently in the process of setting up a portable AC unit in my shop. I created an activity and then had to learn the on and off command from the AC remote. I modified the activity power on power off to use my learned on and off command. When I turn the activity on, via a switch command it turns the AC unit on and off when I turn the activity off.

In my case I don't need to use the increase and decrease temp commands. I just use a temp sensor in the room and turn the AC on and off when it gets to the temp I want.

I could, however, create two more activities one for up and one for down. Instead of using the on off command I could use the learned up down temp command. When I turned on one of those activities it should send the command I set for that activity.

Thanks for that. Unfortunately, I saw no way to get rid of the Power On and Power Off for an increase or decrease in temp activity. It simply doesn't allow it, doesn't even provide the option. I read a little about it and people griping that this is just the way it is with activities such as this one.

Therefore, for a switch in Hubitat to turn on to increase temp, to turn off the switch in order to increase again had the activity shutdown the AC and no way to remove the power off. I already have control over the power via a very sturdy, made for AC and other such devices, Zwave plug (https://www.amazon.com/gp/product/B07578W7KY/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) but the AC would be constantly cyclying all day since once it turned off it would turn on after a couple minutes because of temp/humidity change in the house. So, I need more control to keep it comfortable while on.

Well when I I added my first activity it had no commands in the power up or power down sequence. So it did nothing. My AC unit had no data in the harmony database on how to control the device via IR, I had to learn the commands using the AC remote.

I had to add the learned on command to the power up sequence and the learned off command to the power down sequence.

So it seems to me if I created another blank activity and then added the up command to the power up sequence and nothing to the power down. I could turn on the activity which would send a up command as part of the power up sequence. Then when I turned it off it would do nothing. I could then toggle the activity on and off each time which would increase temp. If I also created a activity that only sent the down command on the on and nothing on the off I could do the same to send a down command.

Beats me...honestly, this is the first and only activity that I added...Power On and Power Off are both in there and not removable for me and this particular AC. Not sure if it has to do with AC model or not but I have no way around it for an activity for this device.

I can say without a doubt, when I go in and "Add an Activity", "Additional Custom" for this device it adds both in and I cannot remove, as I show above in the pictures. If I add a custom Roku since they attach to WiFi, they are also in those as well so I'm not sure how you are working around it but you are lucky I guess.

This post suggests the same, different circumstance since it is an Apple TV that has no power off, but the same that the activity by default has "Power Off" that cannot removed from the activity, even from a "blank" activity.

Mine are never "blank", custom event comes with Power On in startup and Power Off in the shutdown by default and cannot be removed. The AC remote has learned since it wasn't in the database either, Harmony app works as it should to control the device after learning.

But, neither here nor there since I abandoned this plan and that "issue" with the activities by just writing out my own APIs now.

Maybe create an activity and add a custom device with some custom brand that it won't have any info on. Then just learn the commands that you want to include.

I guess that is why this worked for me, because the Delonghi brand AC unit I have had no built in commands. The model and brand was in the list when I created the activity but it only added the device and had no built in commands set up. Since it had no power up or power down commands saved it could not put them in the activity power up or power down sequence.

I am just curious, why must your driver force me to increase or decrease the volume by one or more "presses" in order to take advantage of the default activity feature you added? Why can't I use a value of 0?

The reason this is an issue for me is that one of the things I want to automate is turning on my bedroom TV for a period of time in the evening when I am in Away or Vacation mode so that it appears at night that there is someone home at bedtime, and then turn it off. If I am out of town on business for a couple of weeks, then the TV volume would be blasting loud by the time I get home, since my soundbar does not start at a default volume each time. It remembers the last volume setting. Now I might be able to do a set volume command before or after starting the default activity, but it does beg the question, Why is it necessary to jump through those hoops? Can you instead use a set volume number vs a "Press"? Can you just accept a zero as a value for the number of presses?


Good question. Let's look at it this way... If you're holding a Logitech Remote Control in your hand, can you set a specific volume on any device? :wink: Of course not, since the Logitech remote control has absolutely no way of knowing what volume your current device is set at, nor are there any IR commands to set a device to a specific volume. The communication from the Harmony Hub to the devices it controls is all one way. There is no feedback from the devices to the Harmony Hub.

As such, the only thing we can expose in this integration is the ability to adjust the volume of a device, relative to its current value. I believe Mute also works, but Mute is a simple toggle, as there is no feedback to the Harmony Hub to know if the actual device is muted or not.

So... it is not possible to send a specific volume 'number' request via the Harmony Hub to any device that I am aware of. I am not saying that there is not a device in existence where this works, however, that would probably be the exception to the rule. Televisions, Surround Sound Receivers, Soundbars, etc... all expose Volume Up, Volume Down, and Mute (toggle). They do not (typically) expose any way to send a specific volume number to them via an infrared remote control.

Hope that helps. In general, if you can do it with a Harmony Remote Control, then there is probably a way to do it from Hubitat via this integration. Not saying everything is currently exposed...but users have found ways to send device specific commands, if one is willing to do a little digging into the data that I have exposed.

Note: Some devices do support more sophisticated integration methods, like a direct LAN integration for some Surround Sound Receivers and Televisions. In those cases, there would need to be a specific Hubitat Device Driver written that allows the hub to have two-way communications with the device. In that scenario, the Hubitat Hub could set a specific volume. I know Hubitat has some built-in drivers for a few receivers.

1 Like

thanks for the response and it makes sense when answering the question about why presses and not a volume number. However, it doesn't answer the question why the driver requires one to set a volume press at all when using your default activity function. i can start my TV setup with Harmony without touching the volume control, and it defaults to the last volume setting. Can't it be made optional to set a number of volume presses, or accept a zero value for that field?