[Alpha] Community-maintained Google Home integration

Greetings,

I've had the GHC app setup on my C7 for a while now, providing a means to cast my Unifi cameras to my Nest Hubs (by way of an RTSP to HLS docker image). This was all working great earlier this year, but now I can't seem to get any of my hubs to display either camera. When asking the hubs to "show me the XX cam", I get a "Sorry, it looks like the stream is currently unavailable from the XX camera". Similar message if I tap on the camera in the Home Control tab.

What's odd is that my HE logs aren't showing any errors for that app, and when I tcpdump from the AP that my hub is connected to, I never see an attempt to initiate a connection with my local HLS source. I can't remember exactly, but I thought the HE logs for the GHC app showed the stream URL that the virtual camera is set to when the cast request comes in?

Here's some logs:

app:1163 2021-09-01 02:12:20.285 pm debug{"requestId":"217049201389073811","payload":{"devices":[{"id":"1112","type":"action.devices.types.CAMERA","traits":["action.devices.traits.CameraStream"],"name":{"defaultNames":["Front Door Camera"],"name":"Front Door Camera"},"willReportState":false,"attributes":{"cameraStreamSupportedProtocols":["hls"],"cameraStreamNeedAuthToken":false,"cameraStreamNeedDrmEncryption":false},"roomHint":"Porch"},{"id":"1113","type":"action.devices.types.CAMERA","traits":["action.devices.traits.CameraStream"],"name":{"defaultNames":["Porch Camera"],"name":"Porch Camera"},"willReportState":false,"attributes":{"cameraStreamSupportedProtocols":["hls"],"cameraStreamNeedAuthToken":false,"cameraStreamNeedDrmEncryption":false},"roomHint":"Porch"}]}}
app:1163 2021-09-01 02:12:20.245 pm debug{"inputs":[{"intent":"action.devices.SYNC"}],"requestId":"217049201389073811"}
app:1163 2021-09-01 02:07:31.888 pm debug{"requestId":"14053847018838119864","payload":{"commands":[{"status":"SUCCESS","ids":["1112"],"states":{"online":true}}]}}
app:1163 2021-09-01 02:07:31.885 pm debugAll devices reached expected state and are ready.
app:1163 2021-09-01 02:07:31.883 pm debugPolling device attributes for 1000 ms
app:1163 2021-09-01 02:07:31.876 pm debug{"inputs":[{"context":{"locale_country":"US","locale_language":"en"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"id":"1112"}],"execution":[{"command":"action.devices.commands.GetCameraStream","params":{"StreamToChromecast":true,"SupportedStreamProtocols":["progressive_mp4","hls","dash","smooth_stream"]}}]}]}}],"requestId":"14053847018838119864"}
app:1163 2021-09-01 02:06:58.939 pm debug{"requestId":"7250716365269299817","payload":{"commands":[{"status":"SUCCESS","ids":["1112"],"states":{"online":true}}]}}
app:1163 2021-09-01 02:06:58.935 pm debugAll devices reached expected state and are ready.
app:1163 2021-09-01 02:06:58.928 pm debugPolling device attributes for 1000 ms
app:1163 2021-09-01 02:06:58.887 pm debug{"inputs":[{"context":{"locale_country":"US","locale_language":"en"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"id":"1112"}],"execution":[{"command":"action.devices.commands.GetCameraStream","params":{"StreamToChromecast":true,"SupportedStreamProtocols":["progressive_mp4","hls","dash","smooth_stream"]}}]}]}}],"requestId":"7250716365269299817"}

Has anyone had a similar experience recently? I want to say the last time I used this was in March, and possibly before my hubs had Fuchsia OS on them.

Apparently Google changed the camera API a while ago. @lpakula has had a pull request open to fix it for a while and I've just been lazy and forgetful and neglected to review and merge it. In its current state it will require you to reconfigure your CameraStream traits, but I'll see if we can make it backwards-compatible before I merge it. When I merge it I'll post here and make it clear if you'll be required to re-configure your devices.

1 Like

Let me check and make sure it aligns with your current trunk. I can make the changes.

1 Like

@mbudnek is this integration 2 way? So could I get a google home device into hubitat? Also does it work with media controllers?

It's only one way... You expose devices to google not google devices to HE. If the media controller supports chromecast in theory it should work

Is there a way to get Google Home devices into hubitat?

You could probably do it with an rpi and node red

Another developer "dkilgore90" has created "Google SDM API" that allows you to map in your Google devices with Hubitat.

I can see my cameras as well as bi-directional thermostat control. Currently I don't use Google for anything, except as a UI for voice/touch controls. I funnel everything through Hubitat for automations.

1 Like

Unfortunately that won't work because the devices in Google Home I want to bring into hubitat are not covered by SDM

I'm getting an odd error and I'm not sure where to turn. Background: I had half my Hubitat devices on the OEM Google Home integration and the other half on GHC... it's been relatively stable and working for months like that. I decided to move 100% to GHC so I moved all my devices over and fully uninstalled the OEM integration.

I could swear my GHC integration worked flawlessly on the first 2 tries then, and now continually, all my voice commands still work but I also get a voice error response to the effect of,

Sorry I couldn't reach the Hubitat and Hubitat 944 GHC Integration

How can I figure out what's going on? Super weird that my commands are all working but also giving a delayed error, no? I recognize one or two of the tokens in that audible response are my app/integration names.

Thank you very much for this apps! It works after a few trial and error when configuring a thermostat.
Is it possible to use a different number format when using celcius? I configured my thermostats to use celcius as a temperature unit, but in google home, I see an integer instead of a float. My thermostat is precise to 1 decimal number, can you adjust it? I've added the apps through the Hubitat Package manager so I should get a notification when done.

Again, this works very well and I can't thank you enough for this apps @mbudnek

Hmm, if your device reports its temperature in Celsius this app passes it on to Google without doing any rounding or anything. If you turn on debug logging and watch the log while you ask Google about the current temperature, is the temperature in the message that gets logged rounded off?

Hi,

I just received my Hubitat today and proceeded to play around with it. I was able to add a device (Window 1) and assign it to a room. I also linked Hubitat to my Google Home account and for some reason it displays 4 devices. I get that the phone is counted as 1 device, but perhaps the other 2 are Windows 2 and 3, also Zigbee devices, but currently still with SmartThings and works with GH just fine. I wanted to test out one device before fully transitioning the other 2 Windows. And also because Smarthings things for some reason pairs with the device, but is unable to control it. It's constatnly grayed out with network or system errors message and thus GH is unable to access it. Hubitat finds the device and works on the Hubitat without issues. However, Google Home is unable to present me the option to see the Window 1 or any of the 4 devices and assign them a room when linked. I did not create any rules, I just need Google to have access to it for opening and closing purposes. any help would be appreciated. It's frustrating when I am so close to getting it to work. Thanks in advance,




Is this supposed to be empty?

Your question appears to be about the built in google home integration and not the community one this thread is for, based off your screen shots.

Hi Kevin,

Thank you for getting back to me so quickly. I will continue to search around for a solution.

Ken L.

I highly suggest trying out the above community app. It is miles better than the one that is built in. I switched to it months ago and it is way better.

3 Likes

Thanks. I will check it out tomorrow.

@mbudnek I added the "arm/disarm" trait to the last pull request I made. This will allow you to do spoken arm/disarm commands from Google Home to Hubitat.

1 Like

Hi,

I just recently heard about this app and decided to try it out. I went through all the configuration steps through the part where you open the Google Home app on your phone and try to add the action just created. I put in my Hubitat login info, selected my hub and saw the devices I had created earlier. The ones I had selected at that time were still selected, so I hit authorize.

It told me it couldn't reach "[test] Action One" (yes, I did name it 'Action One'). I tried a couple of more times, same results. I decided to wait awhile, went to bed and tried again this morning. But I still get the same results.

I have checked back on the console.actions.google.com page to see if there was one more "Save" button I forgot to select, but I don't see anything. Other than that I can't think of any other ways to fix this. Anyone have any suggestions?

Thanks,
Jon

Looked back for other people that had this problem. I didn't see anything in the log so checked for problems in the Google Action. Then realized that I left the brackets {, }, in the url - duh! Hey, I'm pretty new to this. I removed them, tried again (which failed with the same message), and now did see a message in the logs. Wrong app number. Not sure how I got it wrong (I thought I cut and pasted it, but maybe not). Once corrected it worked! Yeah! But that was 3 errors in the same line :-).

Now one quick question. I left the built in Google Home app installed and set up during this as I wasn't sure how it was going to go and didn't want to be without the integration in the meantime. Does that mess anything up? Although I am planning on removing all the devices, then removing the app right now, so hopefully nothing will break.

Thanks