Can't emulate as hue to be find by Harmony Hub

I know there are a lot of threads about this topic and trust my I have read a lot of them and tried a lot of suggestions that worked for people in them. But I still can’t get it to work for me. :persevere:

I have had it working for me before and also periods when it hasn’t worked. But now when I’m doing a little bit of a startover of my Home Assistant then it won’t work. Anyway, I thought I would explain my setup:

My Home Assistant Setup

                      Technicolor router
                              |
                         Time Capsule
                        (SSID: Peter)
                    __________|_________
                   |                    |
              Harmony Hub         Raspberry Pi 3
           Companion Remote            HA

Remotely Access
I have also made a Port Forwarding on the router that made me able to access Home Assistant from when I’m not home. To that public IP I have also pointed my own domain. Why this would have anything to do with my emulated_hue problems I don’t know but I thought it would be good to explain my setup.

SSL Cert
I have also added SSL Certificate to my Home Assistant to be able to add HA to Google Home and then control my HA-devices with Google Assistant. This was made with Let’s Encrypt by my host provider from where I point my domain to my HA IP address.

Z-Wave Stick
To my Raspberry Pi/HA I also have a Z-wave stick connected.

Home Assistant Spec

Home Assistant 2022.10.1
Supervisor 2022.09.1
Operating System 9.0
Frontend-version: 20221006.0 - latest

Harmony Hub Spec

Hub Name: Harmony Hub
Hub Software: 4.15.307
Hub IP Address: 192.168.10.237
App Version: 5.7.13
Build Number: 94
Last Sync: October 8 2022, 01:38:43

configuration.yaml

# Loads default set of integrations. Do not remove.
default_config:

homeassistant:
  external_url: "https://[mydomain]"
  internal_url: https://192.168.10.178:8123

google_assistant:
  project_id: peters-hem

emulated_hue:
  host_ip: 192.168.10.178
  listen_port: 8300
  expose_by_default: true

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  ip_ban_enabled: true
  login_attempts_threshold: 5

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

http:// 192.168.10.178:8300/description.xml

<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://192.168.10.178:8300/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Home Assistant Bridge (192.168.10.178)</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>

http:// 192.168.10.178:8300/api/pi/lights
In the code below, I have removed all non-related entities and also indented the code so it’s easier to read:

{

 ...

  "7": {
    "state": {
      "on": true,
      "reachable": true,
      "mode": "homeautomation"
    },
    "name": "TV-plugg",
    "uniqueid": "00:87:52:d7:5c:60:32:b2-07",
    "manufacturername": "Home Assistant",
    "swversion": "123",
    "type": "On/Off light",
    "productname": "On/Off light",
    "modelid": "HASS321"
  }

 ...

}

So…
is there anything in my setup above that could cause Harmony Hub to not find my emulated Hue bridge?

Here are screenshots from when I try to find Hue in the Harmony app:

I have tried…

  • to changed around the code for emulated_hue in configuration.yaml. I have tried with 80 as listen_port. Tried to specify and not specify host_ip and code and tried both true and false on expose_by_default. Then of course restart Home Assistant after every change.
  • Unplug the Rapsberry Pi and then re-plug it.
  • Re-Setup the Harmony Hub

So far, nothing has helped. :slightly_frowning_face:

Would much appreciate help to solve this!

try limiting emulated hue to a single device at first. The first hue bridge had a ton of restrictions with naming and number of lights it could hold. Many companies that interfaced with it put those restrictions into there communication process. IIRC, max 63 lights/switches, no duplicate friendly names.

Thanks for the quick reply and the tip. I tried to do that now, I changed to this:

emulated_hue:
  host_ip: 192.168.10.178
  listen_port: 8300
  expose_by_default: true
  entities:
    switch.metered_wall_plug_switch:
      name: "TV-plugg"
      hidden: false

Is that correctly written? Unfortunately it didn’t help. Harmony app is still not finding Hue when scanning for devices. :confused:

and when you go to

http:// 192.168.10.178:8300/api/pi/lights

you should only get 1 light

I can’t remember the exact syntax for the YAML because I remember it was really confusing. There were contradictions in expose by default and hidden IIRC

Aha I had to set expose_by_default: to false. So that address now shows only that entity. But still isn’t found by Harmony app.

I’m thinking, I have noticed that Home Assistant isn’t shown in my networks on the computer so that I can access the files from there. It used to be possible. But I think it could be now since I added SSL cert that I can’t access Home Assistant locally. Do you think that could be the problem for Harmony Hub? I have Googled a little now on how to access HA locally when using SSL for you setup. And there is something called “reverse proxy”. This is not anything I have knowledge in. First, could this be worth fixing? And secondly, how do I do a reverse proxy? Is there anything else than adding code to configuration.yaml? Here is a code from another thread:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
    - 127.0.0.1

What IP:s are that? Where do I find the IP:s that I should use instead?

Yes, IIRC you need mdns running for most smart devices to work

mdns? Not reversed proxy?

Sorry, I didn’t fully read your response. If you set up DDNS and you have that running, you’ll need a reverse proxy for local access.

I use Ngnix. Keep in mind this will force you to change some rules on your router with port forwarding. e.g. instead of forwarding 443 to 8123, you’ll change that to 443 to 443.

Then in NGinx you’ll place your domain name in (xxx.duckdns.org, no http). And at the bottom of the addon, you’ll click show disabled ports and type 443 into the HTTPS (SSL) port.

You of course can use any other port instead of 443, just keep in mind you’ll have to use that other configured port when accessing externally and it adds some extra security because 443 is the default access port.

I don’t know what NGinx is. Is that something I need to install on my computer? So my computer has to be running all the time for everything to work? I think maybe this became a bit too advanced for me. Very unfortunate that I have to choose now between Google Assistant and Harmony Remote. That I can’t have both. Will probably drop SSL and Google Assistant then… Any other solutions that would be possible to make both work?

It’s an addon to home assistant.

No

It’s really not. You’re putting it on a pedestal. Its super easy to set up. There’s many guides around.

You already had to set up port forwarding for Google Assistant. So you should know how to do that. The rest is simply adding the nginx addon, configuring 2 fields: Domain and HTTPS (SSL) Port. Then start the addon, and done.

To be honest when I did the port forwarding to access remotely I just followed a guide. So I’m not fully aware of what I’m doing. This is what it looks like at port forward settings on the router. Should I change both WAN and LAN to 443? Or what should I do?

Yep, both. Then when you access HA externally, don’t include the port.

Or watch this video

1 Like

That was a good video and I have made that to work so that I can access HA with my local IP address without SSL. But homeassistant is still not showing up in Networks in Finder. What could be the reason for that?

Edit: And Harmony app is still not finding any device on scan

Edit: I think I missed Samba add-on. Had forgot that was required. Anyway… still can’t find Hue from Harmony app…

FINALLY got it to work! Borrowed my friend’s PC with Windows and installed the Harmony desktop app on it. Connected my Harmony Hub to the computer. Logged in on the desktop app and re-paired Philips Hue. And it worked!

So, the reverse proxy and re-pairing from the desktop app in combination I think was the solution here.

1 Like

Found this thread when struggling with the same issue. I am running home assistant in “container station” on a QNAP NAS (basically docker with a QNAP GUI).

I had to change my docker container to have a dedicated IP Address (in my example 192.168.1.100), previously I had NAT ports 8123 and 8300 through to the container which didnt seem to be working

I have a lot of stuff configured in HA which was exposed through Hue so I limited it to just the dimmer I wanted to control from the harmony remote otherwise I had an enormous list of random items

Here’s my configuration:

emulated_hue:
  listen_port: 8300
  host_ip: 192.168.1.100
  listen_port: 8300
  advertise_ip: 192.168.1.100
  advertise_port: 8300
  upnp_bind_multicast: true
  expose_by_default: false
  entities:
    light.wifi_dimmer_light:
      name: "WiFi Dimmer Light"
      hidden: false