Google-Nest Offical Device Access Console Finally Released!

I dont know if this will help anyone, however I have documented the setup in a much easier way than the Google docs show:

Prerequisites - obtain external address and add the subdomain location /auth/external/callback, eg with Nabu Casa (NOTE - do not add a port to the address):
https://[xxx].ui.nabu.casa/auth/external/callback
For non Nabu Casa users (probably need to add your port number):
https://[your_external_url]/auth/external/callback

  1. Browse to https://console.nest.google.com/device-access/project-list
  2. Create a new project.
  3. Enter a project name.
  4. Click on Skip.
  5. Select Enable and Create Project.
  6. Make a note of the Project ID and Pub/Sub Topic ID (full id).
  7. Browse to https://developers.google.com/nest/device-access/get-started.
  8. Find the blue box titled ‘Enable the API and get an OAuth 2.0 Client ID’ and click the button.
  9. Create a new project - call it whatever you want.
  10. Click Next.
  11. Give it a Product name - this will show up on the autorisation screen.
  12. Click Next.
  13. Choose ‘Web Server’ from the drop down.
  14. URL to enter is the external from above, eg https://xxx.ui.nabu.casa/auth/external/callback
  15. Click Create.
  16. Make a note of Client ID and Client Secret.
  17. Browse back to https://console.nest.google.com/device-access/project-list
  18. Go into the project.
  19. At the end of the OAuth Client ID line click the 3 buttons and choose Edit.
  20. Enter the Client ID from step 16 and click Save.
  21. Browse to https://console.developers.google.com/apis/library/pubsub.googleapis.com
  22. In the drop down top left slect your project.
  23. Click on blue box with Enable.
    NEW INSTRUCTIONS AT THIS POINT - SEE BELOW!
  24. Go back to HA, File Editor, configuration.yaml.
  25. Add the following lines and corresponding codes and change to your values:
nest:
  client_id: xxx.apps.googleusercontent.com
  client_secret: xxx
  project_id: xxx-xxx-xxx-xxx-xxx
  subscriber_id:  %SEE POINT N BELOW%
  1. Save the changes.
  2. Reboot HA.
  3. When HA has rebooted, use the external address eg Nabu Casa address, not the local IP address.
  4. Go to Configuration.
  5. Go to Integrations.
  6. Add the Nest integration.
  7. Select your Google account.
  8. Tick all the options and click Next.
  9. Choose your account.
  10. A warning is displayed, click on Advanced and Go To the address.
  11. Allow each popup.
    Done!

ADDITIONAL UPDATE 13/11/2020:
In adidtion to the above, after reading updated release notes (found here) I have the following additional instructions, to perform between point 23 and 24 above:
A. Browse to Device Access Console here: https://console.nest.google.com/device-access.
B. Go into your project.
C. Make a note of the pub/sub topic (eg projects/sdm-prod/topics/enterprise-xxx-xxx-xxx-xxx-xxx).
D. Browse to Google Cloud Platform found here: https://console.cloud.google.com/cloudpubsub/subscription/list
E. Click on ‘Create Subscription’
F. In ‘Subscription ID’ field enter any value, eg ‘Nest’
G. Click the drop down title ‘Select a Cloud Pub/Sub topic’.
H. Click on ‘ENTER TOPIC MANUALLY’
I. Enter the full topic name from step C (eg projects/sdm-prod/topics/enterprise-xxx-xxx-xxx-xxx-xxx)).
J. Change ‘Message Retention’ to 1 hour rather than 7 days.
K. Click ‘Create’
L. Click into your new subscription.
M. Click the copy icon to the right of ‘Subscription name’, eg projects/nest-xxx/subscriptions/Nest
N. This value is the subscriber_id from configuration.yaml

@allenporter happy for you to include these instructions on the Gibhub page and HA Nest Integration page.

66 Likes