Hacking the Harmony Home Control buttons

Awesome! Thanks for that! I’m still pretty new to Home Assistant, so it would have taken me a while to get there without some help. I’ll give this a try over the next few days and let you know how it goes.

@ptdalen - Thanks again for your help! I have Emulated Hue working and the Harmony is seeing it. But I have a small issue - Using your example, I created two dummy lights. However, only one shows up. Only the “Emulated Hue Goodnight” light is working. Any idea what I’m doing wrong?

In configuration.yaml:

light:
  - platform: template
    lights:
      harmony_virtual_movie_night:
        friendly_name: "Emulated Hue Movie Night"
        turn_on:
        turn_off:
        set_level:
            
light:
  - platform: template
    lights:
      harmony_virtual_goodnight:
        friendly_name: "Emulated Hue Goodnight"
        turn_on:
        turn_off:
        set_level:

In cusomize.yaml:

light.harmony_virtual_movie_night:
  emulated_hue_hidden: false
  
light.harmony_virtual_goodnight:
  emulated_hue_hidden: false
1 Like

All light platforms going inside the single light section. Not separate. All home assistant works like this. So if you double the light section, only one of them will come through because the other will get overwritten.

Secondly, the platform template only needs to be added once, and all lights that you want to add go under the lights section.

light:
  - platform: template
    lights:
      harmony_virtual_movie_night:
        friendly_name: "Emulated Hue Movie Night"
        turn_on:
        turn_off:
        set_level:
      harmony_virtual_goodnight:
        friendly_name: "Emulated Hue Goodnight"
        turn_on:
        turn_off:
        set_level:
2 Likes

Thank you @petro! I have it working now!

Hi all,

I don’t know if it is necroposting but I tried without success to use light buttons on my harmony remote to switch on a light in my livingroom.

This is what I’ve done:

Create an emulated roku called Home Assistant

emulated_roku:
  servers:
    - name: Home Assistant
      listen_port: 8060

Create some automation for light button and + and - buttons

- alias: Soggiorno - Accendi Piantana da Telecomando
    initial_state: "on"
    trigger:
    - platform: event
      event_type: roku_command
      event_data:
        source_name: Home Assistant
        type: keypress
        key: Crackle
    action:
    - service: light.turn_on
      entity_id: light.piantana

  - alias: Soggiorno - Spegni Piantana da Telecomando
    initial_state: "on"
    trigger:
    - platform: event
      event_type: roku_command
      event_data:
        source_name: Home Assistant
        type: keypress
        key: HBONow
    action:
    - service: light.turn_off
      entity_id: light.piantana

  - alias: Soggiorno - Luce Piantana Su da Telecomando
    initial_state: "on"
    trigger:
    - platform: event
      event_type: roku_command
      event_data:
        source_name: Home Assistant
        type: keypress
        key: DirectionUp
    action:
    - service: script.turn_on
      entity_id: script.lucepiantanasu

  - alias: Soggiorno - Luce Piantana Giu da Telecomando
    initial_state: "on"
    trigger:
    - platform: event
      event_type: roku_command
      event_data:
        source_name: Home Assistant
        type: keypress
        key: DirectionDown
    action:
    - service: script.turn_on
      entity_id: light.lucepiantanagiu

The script lucepiantanagiu and lucepiantanasu are working correctly. But the automation is not.

Can someone please help me?

Thank you in advance!

You have one of the remotes with Home control options, right? The ones with 4 “lights/plugs” and a dimmer rocker? I figure you do or you would, just verifying. :slight_smile:

Ok, assuming you do. What I found worked best for me, to have a more traditional experience, was to use the emulated hue component. I exposed a few switches, and light groups this way. This allows you to dim lights if needed. I do use the roku component as well. but not for the smart home buttons.

1 Like

Yes I have this one:

Added emulated hue against emulated roku and it was SUPER easy!

Thank you!

1 Like

I have the same one. Glad to have helped. Works well with emulated hue. I have a couple light groups, exposed as a “Light” and the dimming controls work great.

1 Like

Are your lights slow to respond? When I press a home control button on the Harmony Remote it takes 5 or 6 seconds to react.

Thanks,

Not slow at all. Almost instant. That’s interesting.

It’s interesting, from the Harmony App it’s quick, from the remote it’s slow. However, these devices are bridged over smartthings and when I moved one of the plugs to zwave on HA the speed increased.

Thanks for letting me know you normal state.

Edit: Its got nothing to do with SmartThings, but its the groups within Harmony that are slow. Do you get this?

So, you just making sure I understand. Are you saying you have several devices exposed to the remote using the emulated Hue. Then in the Harmony app, you group a few of them together so you can turn on/off/dim the group with one button, right? I defintiely used to do that and it works, but…it’s been quite a while since I did groups like that. I think it was because it was slow, or it might have been that I prefered HA groups to using harmony to create groups. If this is all what you mean, this is my recommendation/best practices/what has worked for me.

Create light groups in HA, then expose the group to emulated Hue. Harmony will see it as a single entity, HA will take care of the rest
Only expose to emulated hue/harmony what you think you will control. For me I only control a few lights and switches that are entertainment focused. Of course maybe you want the ability to control all your lights/switches/scripts, etc. so do what works for you

I defintiely think the groups in HA vs grouping with harmony should help speed you up.

Yes you are currect. I tested groups in HA and its much more responsive… I will move in that direction, but its interesting to me that its slow to respond for Harmony Groups. I had the same setup on smartthings and it responds as expected. Etherway SmartThings are on the way out for me.

Thanks for your help on this.

This is slightly off topic, but I have a feeling someone on this thread might be able to help since there are some Emulated Hue users.

I am using Emulated Hue to expose certain HA devices to Alexa. I also have a physical Hue bridge, but I don’t want that exposed to Alexa. Does anyone know how to remove the physical Hue bridge from Alexa while still exposing the Emulated Hue devices?

OK, after re-reading my post, it is not slightly off topic. It is very off topic. :slight_smile: But still…

I see a lot of posts about creating homekit automations and triggering them via HA, my question is why? Why would you not just do it in HA? Really just curious, maybe i’m missing out. :slight_smile:

HomeKit gives you free voice control. You just name the exposed coments the way you would like to call them when talking to Siri.

For me that is the only reason to use homekit. Homekit is so limited that you sometimes have to represent things as something else to make it fit into homekit, e.g. represent the AVR volume as a dimmable light to be able to voice control the sound volume.

Haven’t seen anyone has pointed you in the right direction but it does say in the documentation you can’t use those shortcut buttons, set them to something like DOWN and UP and it should work fine.

I originally posted questions regarding these buttons over a year ago. At that time, I had been using HomeKit for a couple of years and had all of my devices and automations in HomeKit. But the more I used HA, the more I realized how great it is and how terrible HomeKit can be. Fast forward to now, and I have removed all devices from HomeKit and migrated to HA. I still port them back through homekit_controller so that I can access them using Siri and so I can access them through the Home app at home or when I am out. But all of my scenes and automations are configured in HA. This is the best of both worlds!

1 Like

Thank you. I solved using emulated hue and official hue integration for Harmony Hub :slight_smile:

No problem, if you ever want to do more with those buttons or use harmony to trigger other events in HA as part of activities etc, definitely give emulated_roku another chance, I’ve found it so much more versatile than emulated_hue when I swapped over years ago.

Let me give you a few things to consider for getting this done if you have a non-trivial network setup.

Firstly this is the config file for emulated hue:

emulated_hue:
  host_ip: 123.123.123.123
  listen_port: 8300
  advertise_ip: 123.123.123.123
  advertise_port: 8300
  upnp_bind_multicast: true
  off_maps_to_on_domains:
    - script
    - scene
  expose_by_default: true
  exposed_domains:
    - light
    - switch
    - group

123.123.123.123 is the IP of the HASSio VM running on KVM, using br0 as interface.
br0 is the untagged traffic interface on the network 123.123.123.0/24 (numbers changed for editorial reasons).

The pairing should work without problems if you have the harmony hub on the same network as your HASSio machine/VM.

If you have them in different networks, you enter a world of pain, be prepared.
First you need to route multicast traffic back and fourth between these networks, I recommend using smcroute. You will find some information on how to do that with your particular equipment.

Then you need to tell your firewall to increment the TTL of the SSDP packets, otherwise the router will discard them silently. Depending on your fireall you need to look out how to do packet mangling to increase the TTL at least by 1.
IPtables:

iptables -t mangle -A PREROUTING -d 239.255.255.250 -j TTL --ttl-inc 1

Finally, you may need to open your firewall to allow the SSDP packets to pass from the harmony hub to HASSio.

Allow UDP from Harmony Hub any port, to IP 239.255.255.250, port 1900
Allow UDP from HASSio any port to HarmonyHub any port (DO NOT allow only packets from port 1900 as you might think, HASSio responds from a random port!)

That should do the trick!

Adjusting color temperature does not work well with RGBW lights, they are using the color LEDs then of course, which are much darker. You need proper CCT lights to use the white temperature adjustment properly

Now my question:
-The handheld remote only allows on/off, brightness and white temperature control, but the mobile app also allows color adjustment. The color adjustment does not work for me at all. Any hints what could be wrong here?

However, now my questions:

2 Likes