Control Home Assistant devices with Logitech Harmony Elite buttons

Hi guys,

in my home theater I have certain devices which I can control with my home assistant. So I have several hue bulbs, but also a china led stripe and nanoleaf light panels. Hass.io (version 0.9.X) is installed on a Raspberry Pi 3, and HA is running a MQTT broker. My goal is to use my Logitech Harmony Elite to control all of them with the marked “home control buttons”.

Since the marked buttons on the remote control can only be configured/mapped for hue devices and hue scenes, I tried to find a workaround, with whom I can control all my home assistant devices with my harmony remote control.

These are the ones I tried yet, without success:

  1. Automation which triggers certrain hue.hue_activate_scene -> then automatically activate/deactive other lights.
    Problem: hue.activate_scene cannot be triggered because home assistant has no attributes or states about the activated scene

  2. Automation which triggers a dummy smart home plug (hue) -> when hue plug is turned on/off via remote control button -> then automatically activate/deactive other lights
    Problem: Home Assistant does not get state changes about the activated dummy plug. I don’t know which protocol or API the harmony is using, but the state changes of the dummy plug weren’t received by the home assistant.

  3. Emulated Roku -> according to the home assistant documention of emulated hue, it won’t work with the home control buttons. Doku

Home control buttons cannot be assigned to emulated Roku on the Harmony Hub Companion remote as they are limited to Hue (and possibly other APIs) within Harmony.

Do you guys have another idea, how it is possible to turn on/off my home assistant lights via the smart control buttons of my harmony?

Thank you so much in advance!

c.clubberlang

I would have suggested emulated Roku, as this works fine for me to control home assistant stuff, but I see the limitation of the smart home buttons.
Maybe you could do something with

I am able to use the emulated Roku with my harmony elite remote utilizing the top 4 colored buttons. I have not tried with the buttons that have a light or plug on them but I would think those could be used with the emulated roku commands as well.

No you can’t. OP posted an excerpt from the docs stating that it is not possible to use these buttoms with emulated roku.

Has anybody solved this? I have been using a SmartThings hub (gulp) linked to my Harmony hub to control my Lutron lights in my livingroom with these buttons for years. I am now using Home Assistant and would live to be able to get rid of the cloud tie of the SmartThing hub.

I have this working very reliably with both my Harmony Elites. I just list the entities in emulated_hue and then link them to the remote with the Harmony app.

2 Likes

Out of curiosity, how did you add it in the Harmony app?

And do you have a physical Hue bridge?

I’m having issues. I can get the Harmony app to detect there is a Hue bridge (after doing a sync) but after a few seconds on the “press button to pair” screen, it goes back to the Add Devices page and doesn’t add the Hue bridge.

Not sure if this is because I have a physical Hue bridge, or some other reason.

I can see the JSON when I go to http://myIP:8300/api/pi/lights and I can see the Hue details when I go to http://myIP:8300/description.xml.

Basically I’m trying to trick Harmony into thinking there is a light bulb (which is a dummy) so I can assign it to a home control button. I will then setup a scene on that dummy light bulb in the iOS Home app.

Hi @schmurnan, I’m not sure that a physical Hue bridge can co-exist with the emulated hue - why would you need both? What I would suggest is that you leave whichever device you want to connect to Harmony on and disconnect the other one while you are doing the setup.
I use the Harmony desktop app to do the setup - under Devices, select Home Control and then add your device.

1 Like

Thanks for the response.

I was under the impression that the desktop app no longer works for the hub-based remotes, or am I mistaken? I run macOS, and the switch to full 64-bit means that the Harmony app on macOS is no longer supported. But I can try and get access to a Windows machine and see if it works.

If I could associate a ‘dummy’ light to the physical Hue that would be great, but not sure how I do that either. Surely just creating a light in HA won’t automatically assign it to the physical Hue bridge? I also plan to move the scenes, etc into HA rather than the iOS Home app (if I can eventually replicate everything in HA instead of Home then that would be great, but we all have iOS devices so need to ensure I can replicate everything I can do today).

Logitech really wants you to use the mobile app, but I find the desktop app easier for this. If you go to myharmony.com and select Download, and then Harmony Hub, you will see a link for Harmony Desktop Software.

I don’t think you can associate a dummy light with the Hue, but the Hue emulation should work. I just think that the Harmony setup is getting confused with the two hubs. Once you have it setup with the emulated hue, you can turn the physical hub back on.

Still battling with this because the MyHarmony software is garbage.

Managed to delete the physical Hue bridge - or so I thought. Synced it via USB cable to the Harmony Hub. Then disconnected my physical Hue and lo and behold - it’s back in the app, only this time if won’t let me delete it because it’s disconnected!

1 Like

Still really struggling with this. Had to reset my Harmony and start again because it just wouldn’t remove my physical Hue bridge. So I’ve re-added everything (except physical Hue) and am trying to get this added, but it just sits there on the “press button” screen.

Does it matter that I’m running HA in Docker?

Below is my config:

host_ip: !secret ha_ip_address
listen_port: 8300
advertise_ip: 0.0.0.0
advertise_port: 8300
off_maps_to_on_domains:
  - script
  - scene
expose_by_default: false
exposed_domains:
  - light
  - switch
  - input_boolean
  - group
entities:
  light.hh_dimmer:
    name: 'Dimmer'
    hidden: false

The host_ip is the IP address of my docker host (and I’m running homeassistant container in net=host mode).

If I navigate to http://<myIP>:8300/description.xml it shows the following:

<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <URLBase>http://0.0.0.0:8300/</URLBase>
  <device>
    <deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
    <friendlyName>Home Assistant Bridge (0.0.0.0)</friendlyName>
    <manufacturer>Royal Philips Electronics</manufacturer>
    <manufacturerURL>http://www.philips.com</manufacturerURL>
    <modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
    <modelName>Philips hue bridge 2015</modelName>
    <modelNumber>BSB002</modelNumber>
    <modelURL>http://www.meethue.com</modelURL>
    <serialNumber>001788FFFE23BFC2</serialNumber>
    <UDN>uuid:2f402f80-da50-11e1-9b23-001788255acc</UDN>
  </device>
</root>

(I’ve also tried this swapping the host_ip and advertise_ip around - no difference).

Going to `http://:8300/api/pi/lights shows:

{
  "1": {
    "state": {
      "on": false, 
      "reachable": true, 
      "mode": "homeautomation", 
      "bri": 1
    },
    "name": "Dimmer", 
    "uniqueid": "00:eb:5b:f5:28:00:21:f3-2a", 
    "manufacturername": "Home Assistant", 
    "swversion": "123", 
    "type": "Dimmable light", 
    "modelid": "HASS123"
  }
}

So now I’m at a loss.

That all looks OK as far as it goes. Check the contents of your config/emulated_hue_ids.json to confirm it has the correct entities.

My emulated_hue.yaml is much simpler:

host_ip: 192.168.16.5
expose_by_default: false
exposed_domains:
  - light
  - switch

entities:

Also, did you see this note in the integration page:

Logitech Harmony remotes cannot connect to this emulator via Android and iOS mobile applications because they require the physical button on the hub to be pressed. The MyHarmony desktop software must be used with the original cable to connect it.

Yep I saw that note thanks, so I managed to get Windows running in a VM and downloaded the Harmony Desktop software, but it wouldn’t remove my physical Hue so I ended up completely resetting the hub/remote and starting again. I now have everything added back except for Hue. But it just sits on the “press the button” page indefinitely.

That’s what made me wonder if it was because it’s running in Docker, but I don’t think it matters because both http://my-ip:8300/description.xml and http://my-ip:8300/api/pi/lights return as expected.

My emulated_hue_ids.json returns the one entry, same as https://my-ip:8300/api/pi/lights.

I’ve never tried it but I would doubt that the Harmony Desktop software would run correctly in a VM.

It does seem to work okay, finds everything on my network except the emulated hue. Only thing I can try is to grab my parents’ laptop - only have Macs in my house.

Short of that, though, I’m at a loss. Because it just won’t seem to find it despite the setup appearing to be all okay.

Just noticed this error message in my Home Assistant startup:

Logger: homeassistant.components.emulated_hue.upnp
*Source: components/emulated_hue/upnp.py:133 *
*Integration: Emulated Hue (documentation, issues) *
*First occurred: 8:57:24 (3 occurrences) *
Last logged: 9:01:20

UPNP Error received: [Errno 1] Operation not permitted

Could this be something to do with my issues? Anyone know how to fix the UPnP issue?

I can’t help you with that one, but from my experience emulated hue is quite fussy about it’s environment. Given that you are running HA in Docker with a non-standard port (why 8300?) perhaps you need to try a different approach. Either set up a separate clean HA installation and get it working there first, just to prove that there is nothing else causing your problems.
Or else, you could try BWS Systems HA Bridge. I had this working well with HA, but I didn’t need all the features it offered and preferred the simplicity of the integrated solution.

Ermmm…Harmony Desktop has always had a Mac version, it’s how I configure mine.

1 Like

Port 8300 is the default port for Emulated Hue to run on - I think if you’re trying to integrate it with a voice assistant such as Alexa or Google it suggests using port 80, but other than that, port 8300 is the default port.

I can take a look at HA Bridge and see if it’ll help, thanks.