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
- Browse to https://console.nest.google.com/device-access/project-list
- Create a new project.
- Enter a project name.
- Click on Skip.
- Select Enable and Create Project.
- Make a note of the Project ID and Pub/Sub Topic ID (full id).
- Browse to https://developers.google.com/nest/device-access/get-started.
- Find the blue box titled ‘Enable the API and get an OAuth 2.0 Client ID’ and click the button.
- Create a new project - call it whatever you want.
- Click Next.
- Give it a Product name - this will show up on the autorisation screen.
- Click Next.
- Choose ‘Web Server’ from the drop down.
- URL to enter is the external from above, eg https://xxx.ui.nabu.casa/auth/external/callback
- Click Create.
- Make a note of Client ID and Client Secret.
- Browse back to https://console.nest.google.com/device-access/project-list
- Go into the project.
- At the end of the OAuth Client ID line click the 3 buttons and choose Edit.
- Enter the Client ID from step 16 and click Save.
- Browse to https://console.developers.google.com/apis/library/pubsub.googleapis.com
- In the drop down top left slect your project.
- Click on blue box with Enable.
NEW INSTRUCTIONS AT THIS POINT - SEE BELOW! - Go back to HA, File Editor, configuration.yaml.
- 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%
- Save the changes.
- Reboot HA.
- When HA has rebooted, use the external address eg Nabu Casa address, not the local IP address.
- Go to Configuration.
- Go to Integrations.
- Add the Nest integration.
- Select your Google account.
- Tick all the options and click Next.
- Choose your account.
- A warning is displayed, click on Advanced and Go To the address.
- 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.