[Alpha] Community-maintained Google Home integration

That did it. Thanks for the quick response!

Update 0.31.4: Fix compatibility with Hubitat prior to 2.2.7

I accidentally implemented the integration with Hubitat's new rooms feature in a backwards-incompatible way. This update fixes it so the app should once again work with Hubitat version 2.2.6 and prior.

1 Like

This has stopped working for me. I've been using this app for over a year now. I tried to add a couple of new devices and it wouldn't work, so I decided to rebuild everything from scratch. I can get all the way through the "Authorization" but I get an error in Google Home "Couldn't update settings." Is this an issue on Google's side?

"Couldn't update the setting" can mean a few things:

  1. Incorrect OAuth client secret. I don't know how far you went with rebuilding everything, but if you built a new Google Action check the OAuth settings.
  2. Incorrect Google Action fulfillment URL. Similar to above.
  3. An error in the data returned in response to Google's SYNC request. Check and make sure all device types have at least one trait and that all the traits are fully configured. Also check that all of you devices are selected for only one device type.

If none of the things I mentioned above solve your issue, then turn on debug logging in the Hubitat app and watch Hubitat's logs when you link with Google Home. Post any messages from the Google Home Community app here and I can take a look at them.

Number 3. Well crap, it's been a while since I've adjusted this. I didn't define traits for the new devices types I added. I think that was the problem from the beginning. I wish I would have reached out before I rebuilt everything, I have about 140 devices to setup again in Google Home.
Thanks for the hints.

You wouldn't happen to know how to clear out left over [Test] integrations. I no longer see the old one in my Google actions console but it shows in the Google Home app. Not really an issue, just my OCD kicking in but I can't figure out how to clear out the old one.

That's a known issue on Google's side.

1 Like

By the way kudos on adding the new HE room feature, once I got the HE room names in sync with the Google Home room names, it was a breeze adding in the 140 devices.
Thanks

1 Like

Just in case anyone else has this problem. I'm not sure if it's something with Thermostat Controller or my baseboard heaters...but something is passing a null "temperature" so I've added this:

private fahrenheitToCelsiusRounded(temperature) {
    if(temperature) {
    def tempCelsius = fahrenheitToCelsius(temperature)
    // Round to one decimal place
    return Math.round(tempCelsius * 10) / 10
    }
}

private celsiusToFahrenheitRounded(temperature) {
    if(temperature) {
    def tempFahrenheit = celsiusToFahrenheit(temperature)
    // Round to one decimal place
    return Math.round(tempFahrenheit * 10) / 10
    }
}

It just checks to make sure a temperature is passed.

Does your baseboard heaters' thermostat not report the current temperature? Google does support a "command only" toggle for that case; I just neglected to add it to the settings in the app because I didn't think there would actually be devices that needed it.

1 Like

No they do seem to report current temp:

image

Interesting. In that case I would check the "Temperature Setting" trait configuration. It's possible something is typoed or didn't save correctly. The only way I can see for the temperature scale conversion functions to get a null temperature is if the Google Home Community app can't correctly query either the current temperature or one of the set points.

I've been using this app for some time and wanted to start out by saying thank you!

I have noticed what I think is a bug which I'll try to describe. I have a RGBW bulb device defined in Google Home Community. This device has three traits, Brightness, Color Setting and On/Off. The behavior I am seeing is that, in the Google Home app, if I change the color while the device is off, the color is changed, but the device stays off. However in the Google Home Community device on Hubitat, the level, hue and saturation change as expected, but the switch state changes to on and is now inconsistent with the Google device which still shows as being off.

I think I know what's going on here. A recent change to the way devices report the result of an action means that the device no longer reports its entire state. Instead it's just reporting the state relevant to the trait that the action came from. Google isn't supposed to use that response for anything other than generating the assistant's voice response, but apparently they are. Since changing the bulb's color comes from the ColorSetting trait, it doesn't report that the On/Off state changed. I'll work on fixing that, but for now the workaround is to just close and re-open the device in the Google Home app, which will prompt it to query the device's full state and get things back to being consistent.

2 Likes

This isn't too surprising. We can refactor the logic to merge the device's current state with the desired state.

Or, now that we return PENDING, we could just return the actual current state rather than the desired state.

Just a FYI, it seems Google has changed how the tiles respond to dimmable traits on the Google Nest Max displays. If you have a device mapped with a dimmable trait (like a light) that is just on/off, it now throws a error in the log since the brightness query returns null.

You need to make a different mapping for your non-dimmable lights and lamps to just have an on/off trait otherwise they show up as "offline".

Is this the right place to ask about issues we're having with GHC?

I followed the instructions to set it up so that I can connect to some Zemismart blind motors I just installed (not sure if "blinds" "curtains" or "shades" is the right word, sorry). Anyway, I basically got through the entire install and sync however when I try to control my shades I get the error, "Sorry it looks like [Google Actions Console Invocation Name that I chose] is unavailable right now."

Any ideas what's going on? I can clearly see the 5 devices I chose to sync and the names are pulling through properly. I note, however, that they show in the Google Home mobile app as the odd default icon (square item with a gear in the upper right) that I think is reserved for 'objects Google can see but has no idea what to do with'.

It sounds like you didn't link all the necessary traits, so that's why Google cannot talk back to control your blinds.

The gear icon shows up which you have a device that doesn't allow control through the mobile app (you can only use voice commands). If you have a Google Nest device (screen), then the blinds should show the blind icon with an open/close button.

Man I wish Google would fix this and give us the controls on our phone apps as well. Drives me nuts not being able to control my fan speed through my phone.

I now return you to your normally broadcasted thread.

1 Like

Is there a way for me to rule out OAUTH issues, which I suspect?

I should ask: do the GHC instructions assume any specific local-to-cloud HE integrations? Like, I’m not paying for the new cloud subscription, if that matters…