Emulated Hue problems

Yeah.
Currently it’s just
emulated_hue:

But I’ve tried different combinations of:
emulated:hue:
host_ip: 10.3.37.22
listen_port: 8300 (and 80)

I’ve also tried with and without the rest of the options.

I essentially have the same problem you described, yet to find a solution.

I personally can’t recommend the embedded hue emulation feature of Home Assistant, as it is still pretty buggy and relies upon restarting Home Assistant on any changes.

I would still recommend HA Bridge as your hue emulator, as it gives you control over not only home assistant, but ANY third party API as well as terminal commands to be accessed by Alexa as on/off devices. It supports dimming, which can also be used as a feature to control a thermostat through Alexa, as it passes through the temperature while thinking it is passing through a brightness level, so I currently tell Alexa to set my thermostat to 74 and it passes through the number to the HA Bridge which calls the Home Assistant API which sets my temperature to 74. It can even be hooked up to existing hue bridges to proxy their devices through so that Alexa only has to connect to the HA Bridge and still see all devices on all of your physical hue bridges.

It’s perfect for those that don’t even own hue bridges as well as those that do.

It also works well with homebridge, so those with iOS devices can do the same things with Siri as they can with Alexa. I am using both Alexa and Siri and both have acces to the same set of devices setup on HA Bridge.

3 Likes

I’ve looked at this before but it looks like a bear to set up and config for less experienced users. Any good tutorials or setup guides you could point us to, @jbardi? I’d like to give it a try but am a little apprehensive.

2 Likes

For what it’s worth, I’m trying this using http://alexa.amazon.com/ and https://echosim.io/ and the “Discover Devices” does not find anything either. Not sure if it will in this configuration but thought I’d try anyway. My YAML looks like this:

emulated_hue:
  host_ip: 10.0.1.204
  listen_port: 8300
  off_maps_to_on_domains:
  expose_by_default:
  exposed_domains:

http://10.0.1.204:8300/description.xml also returns information so system looks alive. Once my DOT2’s arrive, I’ll have another crack!

Can’t remember, are you running on Raspberry Pi?

Here are steps for Raspberry Pi, you can change these to match your system. Let me know if you have any problems:

*** UPDATE *** Thanks to @xbmcnut

I had forgotten that java may not be installed already on your Raspberry Pi, so you must do the following before running:


  1. On your Raspberry Pi, make sure you are in the Pi home folder:

cd /home/pi/

  1. Then make an habridge folder:

mkdir habridge

  1. Now change to the folder and download the latest ha-bridge jar file:

    cd habridge
    wget https://github.com/bwssytems/ha-bridge/releases/download/v3.1.0/ha-bridge-3.1.0.jar

  2. I can’t remember if ha-bridge automatically creates the data folder or not, but I could have sworn it wasn’t created for me, so you an just create it yourself:

mkdir data

  1. Now you have to create the systemd service file:

nano habridge.service

  1. Then copy and paste the following:

    [Unit]
    Description=HA Bridge
    Wants=network.target
    After=network.target

    [Service]
    Type=simple
    ExecStart=/usr/bin/java -jar -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge-3.1.0.jar

    [Install]
    WantedBy=multi-user.target

  2. Now, to save the file, hit CTRL-X, then hit Y and RETURN

  3. This step was added thanks to @xbmcnut as I forgot that Java may not already be installed on your system.

  1. Next you need to enable the systemd service so it will automatically start every time you reboot your Raspberry Pi:

sudo systemctl enable /home/pi/habridge/habridge.service

  1. Now that it is enabled, you have to start it. Since it is enabled, you don’t need the full path to run it:

sudo systemctl start habridge

  1. The default port for HA Bridge is 8080, so open your browser and go to your RPI address, port 8080:

http://[your-ip-address]:8080

4 Likes

This is awesome and looks a lot easier than I thought. (I am on Pi BTW, so these were perfect.)

I assume I can change the port in the configs if there is a conflict, right?

Thanks very much for taking the time to write this out!

Thanks for the instructions. Followed step by step but http://[your-ip-address]:8080 does not load. Here is my service log.

pi@raspberrypi:~ $ systemctl status habridge.service
● habridge.service - HA Bridge
   Loaded: loaded (/home/pi/habridge/habridge.service; enabled)
   Active: failed (Result: exit-code) since Mon 2016-09-19 21:08:57 NZST; 9min a                 go
  Process: 556 ExecStart=/usr/bin/java -jar -Dconfig.file=/home/pi/habridge/data                 /habridge.config /home/pi/habridge/ha-bridge-3.1.0.jar (code=exited, status=203/                 EXEC)
 Main PID: 556 (code=exited, status=203/EXEC)

On my Jessie build, there is no folder usr/bin/java. Assume that is the cause?

FIXED. You need Java 8 JDK

sudo apt-get update && sudo apt-get install oracle-java8-jdk

Then run:

sudo update-alternatives --config java

And select the JDK 8 version (/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/bin/java).

Then run:

java -version

I found that my Echo and Dot had to be on the same network as my HA. Multicast is sometimes not forwarded correctly through routers, I think is the cause. When I say network, I mean the same wifi network. Otherwise it will find no devices.

I’ve done some more research and testing on this. I setup HA Bridge, which was pretty straight forward, and created a test device that works via the HA Bridge console.

Still having the same results, Echo doesn’t find any new devices. So this is leading me to believe that either my router has something to do with it (Asus RT-AC88U), or the fact that I run it on Ubuntu and the OS is doing something to block the discovery traffic (UFW Firewall Off), or that the Ubuntu is a VM running on a QNAP with 802.3ad port trunking and that is interfering with the multicast traffic.

I might throw HA Bridge on a Pi and see if I get better results.

Oh, sorry about that, it had been months since I installed this, so I totally forgot that java may not have been installed already. I’ll add that to the steps above, thanks!

Thanks. Is there a trick to getting Alexa to ‘see’ the bridge. HA-Bridge is working and I’ve added my Vera and can initially control two switches and a scene through the bridge using the web gui. When I scan for devices though, nothing is found either in http://alexa.amazon.com or the app. Same thing that is happening with the new Emulated Hue. Do would I go about debugging that?

I’m having the same issue. HA-Bridge on Pi2 now with Linksys EA6500 router with UPnP enabled. Pi is connected via LAN and I’m running http://alexa.amazon.com in Firefox to test, connected to the same network but via WiFi. Just tried connecting laptop via LAN, no difference. App on phone ‘sees’ nothing either.

Try rebooting the Echo by unplugging and plugging it back in. For some reason that worked for me, no clue why tho…

I’ve tried rebooting a few times, no luck.

I have quite a complex network so I just tried connecting only two devices at the cable modem, my laptop and the HA-Bridge on Pi2, both hard wired. http://alexa.amazon.com still could not discover the HA Bridge. Doesn’t look like a network issue?

The plot thickens. Did a clean install of Jessie on Pi2 (not Lite) and installed HA Bridge. Bridge working and can connect and control my Vera. However, when doing a Fing scan, no UPnP services are presented (null).

Maybe that’s why Alexa can’t ‘see’ anything? In contrast, my IP cameras are broadcasting on upnp port 5000. The HA Bridge instance only has services running on 22 and 8080.

Could this be something to do with Raspbian? Can someone with a working system do a Fing scan or another upnp scanner and advise what is presented to the network?

And here is the service status from Ha Bridge

pi@raspberrypi:~ $ sudo systemctl -l status habridge
● habridge.service - HA Bridge
   Loaded: loaded (/home/pi/habridge/habridge.service; enabled)
   Active: active (running) since Tue 2016-09-20 22:37:40 NZST; 21min ago
 Main PID: 498 (java)
   CGroup: /system.slice/habridge.service
           └─498 /usr/bin/java -jar -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge-3.1.0.jar

Sep 20 22:37:49 raspberrypi java[498]: 2016-09-20 22:37:49,208 [Thread-0] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
Sep 20 22:37:49 raspberrypi java[498]: 2016-09-20 22:37:49,236 [Thread-0] INFO  spark.webserver.JettySparkServer - >> Listening on 0.0.0.0:8080
Sep 20 22:37:49 raspberrypi java[498]: 2016-09-20 22:37:49.266:INFO:oejs.Server:Thread-0: jetty-9.3.z-SNAPSHOT
Sep 20 22:37:49 raspberrypi java[498]: 2016-09-20 22:37:49.640:INFO:oejs.ServerConnector:Thread-0: Started ServerConnector@b6b972{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
Sep 20 22:37:49 raspberrypi java[498]: 2016-09-20 22:37:49.660:INFO:oejs.Server:Thread-0: Started @8672ms
Sep 20 22:37:50 raspberrypi java[498]: 2016-09-20 22:37:50,707 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
Sep 20 22:37:50 raspberrypi java[498]: 2016-09-20 22:37:50,832 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
Sep 20 22:37:50 raspberrypi java[498]: 2016-09-20 22:37:50,887 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
Sep 20 22:37:50 raspberrypi java[498]: 2016-09-20 22:37:50,903 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
Sep 20 22:37:50 raspberrypi java[498]: 2016-09-20 22:37:50,932 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....