Google-Nest Offical Device Access Console Finally Released!

I have tried to check via the google account security page. It doesn’t even show the Home Assistant integration as a 3rd party usage. I do not have many integrations or tokens, and this is the only location of me using my google creds in which I have to enter it once a week.

I have not found a pattern either yet as some action being done to cause it. From the google developer pages it does state that you can only have 50 (was 25) active refresh tokens live at once, and once # 51 gets created, the first one is dropped. Could there be something which is creating new tokens and causes the one this integration is using to get dropped off the list? Need to find a way to see all the refresh tokens, but haven’t had time to dig deeper yet.

Good find.

My impression is that a refresh token is only created at authorize time. Is it possible that /using/ a refresh token gives back a new refresh token?

I think you need to check on the return of any api call whether Google has supplied a new refresh token. At least that’s how I read this - https://usefulangle.com/post/51/google-refresh-token-common-questions

Not sure if it is related, but during my initial setup I had re-used the credentials portion from my Google Home HA integration. I decide to undo that and make a new Project on the Google API side and redo my pub/sub and re-auth. It is working now and I will keep an eye on it. Maybe it was the Google Home API usage causing the refresh tokens to get kicked off…

Where are you reading that specifically? My read is that just says that the initial consent flow gives a refresh token.

Following this text
https://developers.google.com/identity/protocols/oauth2#expiration
We have written home assistant to handle a refresh token expiration, and all the reasons listed are user specific. I don’t know how to we can find out how many refresh tokens are live on your account.
This integration is not creating more than one or doing anything else against best practices described there that I can tell.

Ah! Reading the doc closer I think this is the problem:

A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of “Testing” is issued a refresh token expiring in 7 days.

My oauth consent screen is set up to be In Production. I assume yours is Testing?

2 Likes

Mine is In Production and working fine!

Yes, mine is in testing. Just the like Google Home one. You published it? Good find!

Good spot. Mine was also in testing. I have put it In Production will see how it goes. Thanks

Upgraded to 2021.2.0, but seems like the change to show last person didnt make it still?

Images from events in last 30 are show instead of live feed. It definitely should be in 2021.2.0.

I’ve been using it for the last month or so and it seems to work much better than before.

After testing for a bit more, you’re right. I was just confused because one of the first pics I got was a half closed door with no people. But it seems to work a lot better now.

I stopped receiving updates on Jan 19th in HA for my Nest thermostat, it had been working perfectly up until then. I’ve subsequently deleted the Nest integration and reinstalled after a HA reboot, however no devices nor entities are showing up.

I went through the re-configuration in the Configuration-> Integration page after HA notified that this was required without success.

I’ve deleted the existing subscription and re-created a new one with the same parameters I had initially as well as disabling and re-enabling the Smart Device Management API.

The Nest configuration.yaml parameters in HA has been triple checked to ensure all parameters are correct.

Notice that there are no devices nor entities being created when installing the Nest integration below…

Screen Shot 2021-02-04 at 4.04.14 PM

I’m at my wits end after 2 days at it. Any help would be greatly appreciated, Thank you!!

PS: recreated Credentials also

I am on the same boat. all of a sudden the PubSub API started giving errors and the integration stopped working. I deleted everything and did it all over again and nothing. I can get the integration but not showing any devices or entities like your picture

I was in the same situation today - I needed to go back and create a PUBSUB Subscriber as outlined in the updated documentation here: https://www.home-assistant.io/integrations/nest/#pubsub-subscriber-setup
Specifically step 8
You replace this this newly created subscription name where your old subscription_id was in your configuration.yml and it all starts working again =)

1 Like

Thanks @danstreeter tried doing what you suggested to the letter even going so far as to rename the Subscriber ID just in case there was an issue there, but I still have no device showing up and no entities being created when deleting the existing Nest integration -> rebooting HA and re-installing the Nest integration.

Any other ideas?

We’re here to help!

Do you have error messages in your error log? what version of HA are you running?

Every version has significant improvements to the error messages and error handling to make it easier to self diagnose misconfiguration issues. (You are not alone, this is a beast to get working)

Someone on discord reported that moving their device between rooms or areas fixed this issue for them. (This sounds like an issue with the api)

Moving it within HA or the Google Home app? I don’t really have anything to move within HA so I am assume google home. Which unfortunately did not work. I do agree is something related to the API but can’t figure out what. I am wondering if there’s a hidden cached file within HA that needs to be deleted in order to get it going again with new credentials

Yes within home or nest app.There are no hidden caches.

Anyone who reports this, I’d love confirmation of these basics:

  1. ha version is latest
  2. contents of error logs
  3. results of looking at debug logs
  4. results of curl commands against SDM api getting started guide

(It’s a bit hard to support without confirming these basics first.)