[Alpha] Community-maintained Google Home integration

I've been slacking on posting about updates here, so:

Update 0.28: New Traits Dock, Start/Stop, and Locator

Thanks to @gassgs for contributing the Dock and Start/Stop traits (all the way back in January, but I never mentioned it here), and thanks to GitHub user wir3z for contributing the Locator trait (sorry I don't know who you are on this forum, so I can't tag you).

These traits all basically do what they say on the tin. You can tell things like robot vacuums to return to their charging docks; you can start and stop things that can start and stop, and you can ask google to locate things (usually by making them make a noise, but they could do anything really).

1 Like

No worries, I apparently commit under a different handle than I post here. :slight_smile:

I did a pull request this morning for a bunch more traits, and as mentioned in the comments, I'm struggling to test the Timer command side (I just cannot figure out what the Google voice commands are to trigger those).

I did stumble across a Hubitat driver for my Denon AVR, so I'll bang out a couple more traits to support that (it would also encompass the Media State trait that I committed, but had no means to currently test).

2 Likes

Hopefully this hasn't been asked before to many times... Does the action we created to interface with app ever expire on the google side? I'd hate to be travelling and only then realize I should have been refreshing something on the google side every now and then.

I'll add my thanks for this app for all the reasons already mentioned.

I am having an issue with my fan and I haven't been able to find a fix. I am having problems with the on/off trait for the fan.

My setup is, a broadlink ir blaster and a virtual fan device within HE, If I control the fan from the virtual device within HE I am able to set the three speeds and also on/off. I have the Google Home Community App working for other device types. I am able to control speed settings using google commands. But on/off gives me an error. The frustrating thing is that when I set the fan up the first time I got on/off to work. But I fiddled and deleted the fan device within the app. when I reinstall the fan device on/off just won't work now.

I have attached my trait setup and logs to this post. Any assistance would be greatly appreciated

Thanks. Sorry I've been a bit busy this week, so it will probably be this weekend before I have a chance to review it.

No. At leas none that I'm aware of. I've had it set up for about a year now, and haven't had to refresh anything. The action you create is the same thing any device manufacturer creates for their official integrations. This integration is just set up with a testing release instead of a real release.

What virtual device driver are you using? That error indicates that it doesn't suppor the off command. If it doesn't support the Switch capability you may need to change the On/Off config to do everything through the FanControl capability's commands. Something like this:

No worries, irrigation time is coming and I realized that I could link the timer traits and then query how much time was left on a zone. That works great, but not knowing what Google commands push back is annoying me (I don't need them, but my OCD wants it complete! :slight_smile: )

I am using the HE built in Virtual Fan Controller, I tried your solution as suggested and it works a treat. Thank you for you quick response. Gotta love this community :slight_smile: :slightly_smiling_face:

Any luck on this trait add-on?

What is your use case for this one? Looking at the Google API, this is meant for TV tuner increase/decrease of channels.

As a FYI, translating Googles semi-crappy API document to a functional trait is a bit of a PITA. Mainly since they do an INSANELY poor job of documenting how to trigger these things. And if you have no means to test it on the Hubitat side, really hard to turn the API doc into a functional GHC trait. :slight_smile:

Update 0.28: New Traits Energy Storage, Software Update, Reboot, Media State, and Timer

Huge thanks to @lpakula for contributing these traits. Energy Storage especially is something that's really been missing from the app. Now you can ask the Google Assistant about the battery levels of your devices.

3 Likes

Having the battery level is great, thanks! :slight_smile:

@lpakula the Timer trait & your test driver are interesting - I was thinking of using this so timers could be accessed on multiple GH devices (currently the "wrong" GH will hear me ask how much time is left, and say I don't have any timers set!).
I see you've noted that Google sadly refuses to run the commands, but when I just query how much time is left, I always get "the timer is paused", even when it's not... did that part work for you?

Wondering if anyone had any progress with adding the Change Channel trait? I use an IR blaster for my cable box, would be awesome!

@cometfish Using that test driver, if I have a timer with time remaining, and it's paused, GH will respond with it being paused, and give me the time left. If I change to to running, I do get it telling me time remaining.

Big, BUT, I noticed while checking this for you that if you toggle the states, GH just responds with a "no timer" type response. If you wait a few seconds, try again, then it responds properly. Seems to be about 5 seconds between changes that GH has no valid response.

Hmm, it's working today & I haven't changed anything. Yesterday it would just say the timer is paused, and also not tell me how long left. Today it's responding as you described.
Just Google being weird I guess!

Unfortunately, nobody has any control on updates and changes Google does behind the scenes. Maybe you got an app or device update?

Today I'm struggling since I can't get my Vacuum to report the "time until charged". Worked fine a week ago when I did the pull request, today, nada. So I feel your pain! :slight_smile:

1 Like

Ok, apparently my pain was self inflicted during cleanup for the last addition. @mbudnek I did a minor pull request to add in some missing JSON braces.

1 Like

Update 0.31.2

This update has two primary changes:

  1. Return results more quickly and correctly for devices that take a long time to reach their desired state. This is primarily for things like garage doors and blinds that may take a while to open or close. We now only wait one second for the device to reach its desired state, and return the expected state with a status of PENDING if it's not reached in time. This should eliminate strange interactions like "Hey Google, open the blinds" ... wait 5 seconds ... "OK, opening the blinds to 78%". Big thanks to @bhamiltoncx for contributing this change and to @Raghnall for the first pass that kicked this off all the way back in August.
  2. Support for Hubitat's new rooms feature. Devices that are added to Hubitat rooms will now automatically be added to the same room in Google Home on first sync. @sburke781 You were looking for a way to add scenes to rooms, so this may be of interest to you.
3 Likes

Nice.

By first sync you mean when you first add the device to the list and sync with GH? So I should remove and re-add the scenes?

Thanks,
Simon

I'm not 100% sure. It sets the roomHint field in the SYNC response we send to Google. Their documentation isn't super clear on exactly how that works, but it may update any existing devices that aren't in a room. I haven't tried that scenario.

1 Like

I'll test it out and let you know what I see