Unable to find Emulated Roku in Harmony Hub

I’m trying to add the Emulated Roku in the Harmony Hub but it wont be discovered by the harmony hub. I’ve been trying for a while now and read everything I could find but I’m still unable to resolve it.

I use the latest Hass.io on a Rpi3. Emulated Roku is configurated in HA and I can reach it on the specified IP and port. Everything seems to be working in HA. I’ve tried with the default settings and also setting the advertise_ip with no success.

Harmony Hub runs the latest firmware (4.15.206 with the disabled API), is this the problem?

I try to bump this thread.

Regards

Bump.

I really want this feature but I’m still lost with how to recognize roku in the harmony hub.

I’d be really happy for any pointers in the right direction. Any of you guys managed to emulate roku with the integrated app recently?

Bumping this again.

And again, please let me know if bumping isn’t allowed. Couldn’t find anything about it.

Bumping again.

Bump is what I do.

have you gone to the ip:8060 to verify that it’s working?

EDIT: Also, have you read through the documentation? It seems that it is limited with it’s implementation. The troubleshooting section covers a lot of pitfalls. Have you gone through that list and verified that you aren’t doing any of them?

Known limitations:

  • Some Android remotes send key up/down events instead of key presses.
  • Functionality other than key presses and app launches are not implemented yet.
  • App ids are limited between 1-10. (The emulated API reports 10 dummy apps)
  • Harmony uses UPnP discovery (UPnP is not needed after pairing), which might not work in Docker. You can:
    • Change Docker to host networking temporarily, then revert after pairing.
    • Run the advertise.py helper script from the emulated_roku library directly somewhere else and point it to the emulated Roku API.
  • Harmony cannot launch apps as it uses IR instead of the WiFi API and will not display the custom dummy app list.
  • 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.
  • Harmony will not set the name of the added emulated Roku device to the specified name .
1 Like

Big thanks for the reply!

Yes, on ip:8060 I get see the XML of the Emulated Roku so I guess that part is working.

I’ve read the documentation many times but I don’t understand some parts of the troubleshooting. Your highlighted parts are those part I had trouble with.

The app id’s is one of the parts I don’t understand, how does that influence me trying to connect it with harmony and what is the different app id’s?

I run HA with hassio which I thought means that I don’t use the Docker install, am I wrong? Anyway I use the integrated Emulated Roku and I can’t find the advertise.py script, nor is it in the source page: core/homeassistant/components/emulated_roku at dev · home-assistant/core · GitHub
Therefore I thought that this didnt apply to me who’s using the integraded Emulated Roku with hassio. But I guess I’m wrong about this, then I’d love some pointers where I find this script.

Again, thanks for taking your time!
Regards

Well I can’t say for sure as I don’t use the component, but if the device is limited to 10 items and you give it 30, it would probably not connect.

Hassio is built on docker. Hassio is it’s own docker container, and each addon is a separate docker container.

I can’t say for certain but I would assume that the advertise.py file would be in the components resources, not the component itself.

Thanks again for helping!

I think the app id limitation has nothing to do with this problem since I haven’t begun to configurate the roku commands yet where I think this limitation apply.

The UPnP discovery problems in docker can however be the problem here if hassio is a docker container as you said. I’ve managed to find the advertise.py script on gitlab: https://gitlab.com/mindig.marton/emulated_roku

However I’m not sure how to run the script. My python skills are not the best. I try to run the script on an external laptop and the script complains that it can’t find the module “emulated_roku” (on line 10).

Can anyone interpret if I use the script correctly or even used the script themselves?

Bumping this.

There are a couple of reasons discovery might not work, but hassio should be using host networking, so the docker part shouldn’t matter. It’s usually because of network configuration: different vlans, multicast forwarding…
Harmony hub firmware doesn’t matter either.

The easiest solution is to run advertise.py on your desktop (windows, linux, shouldn’t matter, but it’s not guaranteed that harmony will see your desktop either) while you are pairing (run in the emulated_roku directory: emulated_roku.zip. You’ll have to install aiohttp with pip):
python advertise.py --api_ip=192.168.1.x --api_port=8060 --name="Home Assistant"

2 Likes

Thanks for your reply! Never got to try your suggestion tho.

I havent been active in my hassio configuration lately but last week I did some tweaks and updated the hassio version aswell. Decidedt to give the Emulated Roku a try again and it was found by the Harmony right away.

So for now it’s working perfectly :slight_smile:

Thanks! This helped me solving the emulated_roku not being found on the Harmony Hub. I’m running Home Assistant core in a virtualenv in a Freenas jail. Tried the upnp_bind_multicast option but that didn’t do the trick. When I ran the advertise.py in the virtualenv and it directly worked like a charm.

hi,

i have added the integration to emulated roku, but i do not get anything when going to [ha ip]:8060, any idea what i miss to do?

on my macbook i had to download the zip https://gitlab.com/mindig.marton/emulated_roku/-/archive/master/emulated_roku-master.zip, run pip3 install aiohttp then python3 advertise.py --api_ip=192.168.1.XX --api_port=8060 --name="Home Assistant"

Once that was advertising, i was able to add it to harmony.

I am not serving homeassistant on my macbook.

Sadly not working with SofaBaton X1.
The app does’nt find the emulated device (also not on another computer with the advertise.py).