[RELEASE] Google SDM API - Nest integration

@jsundeen41 looks like you're on to page 2 of the Google instructions - we only need to complete page 1 for this app.

@lcrotman - check out the README in the code repo, linked in the original post of this thread. I've outlined the steps on both sides there. If you have a question on one or more of those steps, please post back here or DM me, and we'll try to get you pointed in the right direction

Thanks for the reply. I have followed your instructions which are perfect. However, I have done something stupid because when I click the Auth Link it says "Can't Link Smart Home Integration". Thoughts would be appreciated.

Thank you so much for pointing me in the right direction. I figured out what I was doing wrong.

I enabled video streams about an hour ago and all the "extendStreams" on all the cameras still show as pending and there is no stream url. Do I need to do something else to get the url? Can this url be used in the dashboard to show the stream? Thanks!

Hmm -- the scheduled jobs "extendStreams" will always show as pending -- but you should see the "Next Run Time" update every 4 minutes. The streamUrl attribute should populate immediately after enabling the streams. I'd suggest checking your logs to see if something went wrong when the streams were enabled.

So far I have not found a way to use the stream url in the dashboard -- a transcoder is needed to render it in a compatible format, like mjpeg.

ok... I see this in the logs:

app:112021-02-25 08:24:58.582 pm errorexecuteCommand sdm.devices.commands.CameraLiveStream.ExtendRtspStream response code: 401, body:

app:112021-02-25 08:24:58.399 pm errorLogin refresh failed -- Bad Request: [error:invalid_grant, error_description:Bad Request]

app:112021-02-25 08:24:58.260 pm infoRefreshing access_token from Google

app:112021-02-25 08:24:58.235 pm warnAuthorization token expired, will refresh and retry.

EDIT.... Looks like refreshing access in the app fixed it. not sure what happened or why i had to.

Looks like something got screwed up in your authorization -- may need to re-auth with Google.

Look back to the time that you originally tried to enable the streams -- you should see a log: "Sending ${command} to ${device} with params: ${cmdParams}"

yes reauth in the app fixed it. thanks! is there anyway to get live or semi live feeds in the dashboards?

I believe some folks are feeding the streamUrl provided in the device attribute into a transcoder, such as ffserver, blueIris, or tinyCam -- then using the url from that transcoder in an image tile with a 1s refresh?

Some discussion back here: [Beta] Google SDM API - Nest integration

hmm... this was working with public links in actiontiles...

https://support.actiontiles.com/en/knowledge-bases/8/articles/3099-nest-camtm-media-tiles-nest-hellotm-video-doorbell

is this running in a different format so it can play? i had it working when i was using ST and AT

Yes, I believe that Nest provides the streams in an alternate format so that it plays in a standard browser. For whatever reason, they did not provide this format via the API -- only RTSP, which despite being used by many camera providers, hasn't caught on in browser "playability" yet

ok thanks... wondering if i should just use my home assistant VM for everything dashboard related since it seems to handle the streams. was hoping to avoid HA completely since switching from ST

Can't offer any tips there -- but the Nest api that Google has provided is half-baked, at best. Here's hoping they'll continue to enhance it as time goes on.

1 Like

What parts of the driver should I comment out to make my thermostat report as heat only? I have just have radiant heat. This is for a Gen 2 Nest.

I’m looking to eliminate fan, cooling and heat/cool functionality. These attributes continue to populate in Dashboard tiles and in the Homebridge plug-in/HomeKit.

Primarily I think your just need to comment out unneeded/unwanted capability, attribute, and command entries in the top of the driver.

If you wanted to be more thorough, you could go into the App, and comment out corresponding sendEvent lines in def processThermostatTraits() (line 392)

I get same error - makes it useless as you never know when it is going to quit

Unfortunately without more details, there's not much we can do from Hubitat without a user to re-auth. Have you tried this tip? [Beta] Google SDM API - Nest integration the idea was to capture each refresh request to see if the first failure is sending something incorrectly.

Gang, I'm dying for some help here. Very familiar with Apps, Drivers (from the SmartApp /Device Handler days), but I've been messing with this for honestly 3+ hours and can't figure it out.

Get everything to authorize no problem, but no "discover button" ever populates. Have redone everything several times, but no luck. Attached the log here. Any chance anyone has had a similar issue?

client_secret is missing - sounds like a problem with your credentials.json. This needs to match in Google Cloud, Device Access, and Hubitat

1 Like

Thanks! I will confirm.

I copy out the entire contents of the .json document and paste it in there (not only a portion), right?

I made it all the way through the authentication process without issue so I had figured it was good, I will make sure it’s consistent across all three places.