Google Home Integration

This post is specifically for our German users as Google Home is about to be launched in Germany tomorrow - but everyone in the US who already owns a Google Home might be interested as well:

Since today, the openHAB 2.2.0-SNAPSHOT distro is able to integrate with Google Home. This is done the same way as for Amazon Echo (without using the skill), i.e. by the Hue Emulation add-on, which makes openHAB expose arbitrary items as lights by mimicking a Philips hue bridge. Kudos to @digitaldan who made the necessary changes to that add-on, so that Google Home correctly recognises openHAB as a Hue bridge.

There is one caveat, though: Google Home does not listen to the port it is told, but always expects the hue bridge to be available on port 80 - this means that you have to configure openHAB to use port 80 instead of 8080 for the webserver (check the docs on how to do that) and for using port 80, you need to make sure to run it as root.

If you want to see it in action, check out this video on YouTube (sorry, it is one of the rare ones that I did in German).

I hope you like it!
Kai

P.S.: There is also work underway to have an official openHAB Action for Google Home, but this might still take a while - if you are interested, follow the linked topic for updates.

17 Likes

Glad to hear that @Kai! When do you expect to release 2.2.0 to have the feature in production?

What do you mean with “run as root”?
I’m running latest openHAB 2.2.0 Build #1005
Hue-Emulation already works with alexa.
I’ve installed openhabian and its nginx-proxy, so OH is reachable at port 80.


when I try to start the devicescan from google assistant on my pixel
it looks like this:

Is it a difference to use Assistant vs. Home?
And did I miss the “run as root”-thing?

When do you expect to release 2.2.0 to have the feature in production?

Sorry, no date yet. I hope we will see some progress on the automatic build pipeline, which will reduce the effort of building new releases tremendously, so that we can increase the frequency.

That’s a good point - for openhabian with NGINX as a reverse proxy on port 80, no change should be needed (as long as you do not configure any authentication, which is actually one of the main purposes of NGINX here :wink: ).

when I try to start the devicescan from google assistant on my pixel
it looks like this

So does it actually work or does it run in a timeout?

Is it a difference to use Assistant vs. Home?

There might be - you are redirected to account.meethue.com, which looks as if this tries to do a Cloud-Integration. In my video you might see that the redirect goes to hue-adapter.appspot.com, which is not hosted by Philips, but probably just holds the code to do local discovery through UPnP.

Thank you @Kai
I’m running in a timeout.
It starts at hue-adapter.appspot.com, too - but from there I’m redirected to the account.meethue-Site.

Worked for me. I see everything again

Which Phone / Android-Version do you use?

Pixel XL Home v1.24.37.4
Running OH2 snapshot of 2.2 with port 80 redirected to 8080 with iptables. in the past few months it has NOT worked but after seeing this post and updating it now does again

I’m having the same issue. I wonder if it’s a regional issue (I’m in the US).

@mashborn I may have found a workaround that might work for you. I tried installing the Hue app to see if it would connect the emulation to the meevue account. Unfortunately I’m running Android O and the app sees the bridge and then crashes.

I’m running Android O, too.
While trying to connect to to the hue-emulation I plug off my “real” hue-bridge.
Do you think, it could be possible to connect the emulated bridge to the cloudservice?

I’m not sure, was just experimenting to see if that would work. If I get a chance I’ll reset it back up on OpenHab and try to run the Hue app on my tablet which has an older version of Android.

Update: Unfortunately didn’t work with Hue App on an older Android. App crashes there as well. I do have an old 5x on N, that I’ll try with once I get it reauthed on my account just to see if it’s an O issue since we have that in common.

In items you name your items, for instance:

Switch	Duwi1Switch	"Kitchen window"	<light>	(gAll,gSunset_event,gKitchen)	[ "Lighting" ]
Switch	Fibaro1Switch	"Bedroom window"	<light>	(gAll,gSunset_event,gBedRoom)	[ "Lighting" ]

But what if you have several lamps in same place?

Switch	Duwi2Switch	"Kitchen window"	<light>	(gAll,gSunset_event,gKitchen)	[ "Lighting" ]
Switch	Fibaro2Switch	"Kitchen ceiling"	<light>	(gAll,gSunset_event,gBedRoom)	[ "Lighting" ]

As I gather, hue emulation looks at the label to determine what items are called.
Then I got to Google Home application and add the items (now devices) in respective rooms for instance Kitchen.
In reality, doesn’t Google Home now really look for "Kitchen " which basically is “Kitchen Kitchen window”

What do you guys think is best practice to name the items?
Should I name the items only window. And can openhab/hue emulation differ that there are several “windows”?`
I think not.

Also, i am having trouble to use a dimmer, to actually set it at for instance 40%.
What would the command be? Anyone tested it?

Hi,

I have the same problem. Dimming is not working. Which commands are supported by Google Home.

best regards René

So I got my old Nexus 5X running with Android N and Google Assistant. I can confirm it took me to the same meethue based signup and couldn’t find my Hue. So I’m back to wondering if it’s a regional issue as to which authorization site you end up at and if you can do it locally or not.

I’m in the US and have no problem running discovery so long as I have forwarded TCP port 80 to port 8080 on the primary (only physical) network interface of my RPI3.

Obvious things to check:

  • pairing enabled for the hueemulation addon
  • optional discovery web port set to 80
  • firewall blocking neither TCP port 80 nor TCP port 8080

Forgive me if those are painfully obvious, but I have been known to overlook the painfully obvious in the past.

I can also confirm that Google Home does not “know” how to set dimmer levels, it knows only how to handle OFF/ON.

[Added comment: At one point during my experimentation with this binding, I had a firewall that I thought would allow UPNP, but discovery by both Alexa and GH failed, so I am now running on my local network without a firewall on my OH2 system. My internet gateway system provides an acceptable firewall for all of the systems on my internal LAN.]

Thanks @scottk I have all those setup the same. Do you also end up at the meethue site for registering the hub?

@rgerrans,

When I had GH run discovery, it did not connect to the meethue site, rather it connected to hue-adapter.appspot.com, which I guess is available via mDNS.

I wonder what’s going on the backend that some of us are getting sent to the hue-adapter.appspot.com and then redirected to meethue while others stay on the appspot.com. This seems to be the common thread between who can connect and who can’t.

Thinking it through a bit more, are you connecting a Home device or just Google Assistant (I’m doing the later)?

I am using the Google Home app, version 1.24.37.4, on my Note 4 to run discovery. I have one chromecast and one GH that are registered to my Google identity.

1 Like

I think that is my mistake, I don’t have a physical Google Home device, just trying to connect Google Assistant to it.

Thanks.