[Alpha] Community-maintained Google Home integration

re entering the clientid, and client secret seems to have done the trick. Thanks again. now to play :grinning:

Google SDM API - Nest Integration by David Kilgore? That's what I found in HPM. It says it's for controlling Nest devices. My thermostat is a Trane thermostat with a built in Nexia hub so I can control it through my phone. It can be added to my Google Home though.

hi, I did the two actions mentioned above.
app:402021-01-18 09:50:05.480 pm debug[requestId:5995550591098629271, payload:[devices:[10:[openPercent:null]]]]
app:402021-01-18 09:50:05.466 pm debug{inputs=[{intent=action.devices.QUERY, payload={devices=[{id=10}]}}], requestId=5995550591098629271}
app:402021-01-18 09:48:30.553 pm debug[requestId:4265422124899267941, payload:[devices:[[id:10, type:action.devices.types.GARAGE, traits:[action.devices.traits.OpenClose], name:[defaultNames:[goControl Garage Door Opener], name:Garage Door], willReportState:false, attributes:[discreteOnlyOpenClose:false, queryOnlyOpenClose:true]], [id:50, type:action.devices.types.THERMOSTAT, traits:[], name:[defaultNames:[Zooz 4-in-1 Sensor], name:Hunter Sensor], willReportState:false, attributes:[:]]]]]
app:402021-01-18 09:48:30.528 pm debug{inputs=[{intent=action.devices.SYNC}], requestId=4265422124899267941

Your garage door is reporting its openPercent as null. That likely means the device either doesn't report that data or its attribute mapping is incorrect. Most likely the former; garage doors only tend to report that they're open, opening, closed, or closing; not the percentage of the way that they're open or closed. You probably want to enable the "Discrete Only" toggle in your Open/Close trait.

The sync issue looks like it's because your sensor device type has no traits. Every device type needs at least one trait. You'll probably want the "Temperature Setting" and "Humidity Setting" traits for that sensor, both with their "Query Only" toggle turned on (there are no illuminance or motion traits currently supported).

1 Like

I was playing with a custom driver to make my "dumb" range hood fan "smart". I can set speeds and turn it on off via my Nest Hub or voice commands. I can also ask Google, and it responds with the current speed.

Only thing I noticed is on the Nest Hub, it never shows the current speed selected. There is just a list of empty dots that can be clicked to set the speed. I click one, the speed changes, and then the dot clears.

Is this "normal"? Its just odd that I can ask for the speed, and Google responds with the proper value, it just doesn't show it. I have no other adjustable fan devices in my home, so I'm not sure if that's an issue with the community driver mapping or a bug with the Nest.

Can anyone confirm?

1 Like

I have noticed the same thing. Not sure why that is.

Interesting. I don't have a Nest Hub to check if the same thing happens for my fans. It's possible that happens because I haven't implemented Google's feature to proactively report the state of devices (mainly due to not having access to Groovy's crypto APIs) and it's trying to avoid making an extra query to get the new state of the device.

I'm hoping someone on this thread has fans that are outside the use of this integration. It's not really a big thing, just curious since all that seems to link back is "speed" which is taken care of.

It's just my OCD. :slight_smile:

1 Like

I have followed the instructions but have an issue at the following point:

  1. Open the Google Home app on your phone or tablet
  2. Tap the "+" in the top-left corner
  3. Tap "Set up device"
  4. Tap "Have something already set up?"

I only have two options under "Set up a device"
New Device or Works With Google

Am I doing something wrong? Did I miss something?

Help

Click "works with google" then you should see your [test] ___ in the list

Got it, thanks for that.
Click on item, I sign in with credentials, see my hub, add selected devices available that I defined and click done.

"Linking your [test] XYZ account."
"Couldn't update the setting. Check your connection"

Just want to say awesome job writing this app. It's a great way to extend into GA. I've been using it for a few days now. Pretty solid.

There are three main causes for that:

  1. The OAuth token endpoint configured in your Google Action is incorrect. Check for typos and the like.
  2. You haven't selected any devices. Make sure you have at least one device selected before linking to Google Home.
  3. One or more device types have configuration issues. Common issues include not selecting any traits for a device type or selecting the same device as multiple types. If you can't find the issue, turn on debug logging in the Hubitat app. When you try to link the app to Google Home you should see a line in the Hubitat log that includes intent=action.devices.SYNC followed by another line with the response that the app sends back to Google. Post those logs here and I can take a look and try to find your issue.

Success. Thank you.

No issue making sensors, no issue seeing the status in the debug logs (see below).

Question is, does Google Home Assistant app NOT show status? In ST the icon was an actual contact sensor, when the sensor was open the icon opened, and closed when closed. Now the icon is just a shield with a gear.

Is this normal?

Here is the debug of me opening and closing the sensor, and clicking on the sensor in Google Home - the status log is generated ONLY after I query it - but no open close info is shown in the Google Home Assistant app.

app:1292021-01-22 01:02:22.596 pm debug[requestId:15599786708707529633, payload:[devices:[62:[openPercent:0]]]]
app:1292021-01-22 01:02:22.583 pm debug{inputs=[{intent=action.devices.QUERY, payload={devices=[{id=62}]}}], requestId=15599786708707529633}
app:1292021-01-22 01:00:40.600 pm debug[requestId:17250803125132153900, payload:[devices:[62:[openPercent:100]]]]
app:1292021-01-22 01:00:40.590 pm debug{inputs=[{intent=action.devices.QUERY, payload={devices=[{id=62}]}}], requestId=17250803125132153900}
app:1292021-01-22 12:59:23.684 pm debug[requestId:2957259385201954839, payload:[devices:[62:[openPercent:0]]]]
app:1292021-01-22 12:59:20.139 pm debug[requestId:13479110505209952779, payload:[devices:[[id:62, type:action.devices.types.SENSOR, traits:[action.devices.traits.OpenClose], name:[defaultNames:[Generic Zigbee Contact Sensor], name:Security Gate], willReportState:false, attributes:[discreteOnlyOpenClose:true, queryOnlyOpenClose:true]]]]]

Google Home only shows status for a few device types (Lights, Locks, Thermostats, etc). Even if you supply it status for other types, it simply doesn't show it, which is frustrating. I've been working on adding multi-directional support to OpenClose for my blinds only to encounter limitted use due to Google Home not displaying it either.

However, you should be able to query it via voice commands. If you ask "Is [sensor] open?", it should respond with a yes or no.

You can see the list of device types and traits that have UI controls on various apps and devices on this page.

I don't believe that is true. This same sensor when in SmartThings showed a different icon in google home assistant and that icon showed status of the sensor when the door was opened and closed.

I believe Google Home Assistant CAN be updated for many other things other than Locks, Lights and Thermostats - all of my current devices showed GHA status prior to switching to HE.

Those screenshots don't look like they're from Google Home. Are you sure you aren't confusing the GH and ST apps?

I feel stupid. That was in fact my SmartThings App.

The icons ARE the same for HE reported sensors as well as ST reported sensors.