Innovo Wiki

Innovo Wiki

Loading the knowledge...

Nest Device Configuration

Estimated reading: 5 minutes

NOTE:  This Setup will take approximately 30 minutes to complete.  You must have all your client’s credentials available at the time of installation.  Your client might have to approve security requests from Google.

IMPORTANT NOTE: Do not use your dealer or personal google account credentials. Either use the client’s account that is used to control the Nest Thermostats or create a special house account and transfer the thermostats to them. Do this prior to this process.

It is recommended that you turn off scheduling in either Elan or the Nest thermostat.  Do not activate both, the thermostat will behave erratically.  Use only one scheduling platform.

SETUP INSTRUCTIONS FOR GOOGLE NEST THERMOSTAT.

        1.     Create and configure Cloud Project [Cloud Console]

By the end of this section you will have a Cloud Project with the necessary APIs enabled

  • Go to the Google Cloud Console.
  • If this is your first time here, you likely need to create a new Google Cloud project. Click Create Project then New Project.
  • Give your Cloud Project a name then click Create.
  • You will need to hold on to your Cloud Project ID to enable a subscription to receive updates from devices. Visit the Cloud Console and copy the Project ID needed by Elan.
  • From the API Library search for Cloud Pub/Sub API in the Cloud Console and click Enable.
  • You now have a cloud project ready for the next section to configure authentication with OAuth.

2. Configure OAuth Consent screen [Cloud Console]

By the end of this section you will have configured the OAuth Consent Screen, needed for giving Elan access to your cloud project.

  • Go to the Google API Console.
  • Click OAuth consent screen and configure it.
  • Select External (the only choice if you are not a G-Suite user) then click Create. While you are here, you may click the Let us know what you think to give Google’s OAuth team any feedback about your experience configuring credentials for self-hosted software. They make regular improvements to this flow and appear to value feedback.
  • The App Information screen needs you to enter an App name and User support email, then enter your email again under Developer contact email. These are only shown while you later go through the OAuth flow to authorize Elan to access your account. Click Save and Continue. Omit unnecessary information (e.g. logo) to avoid additional review by Google.
  • On the Scopes step click Save and Continue.
  • On the Test Users step, you need to add your Google Account (e.g., your @gmail.com address) to the list.
  • Click Save on your test account then Save and Continue to finish the consent flow.
  • Navigate back to the OAuth consent screen and click Publish App to set the Publishing status is In Production.
  • The warning says your app will be available to any user with a Google Account which refers to the fields you entered on the App Information screen if someone finds the URL. This does not expose your Google Account or Nest data.
  • Make sure the status is not Testing, or you will get logged out every 7 days.  

3. Configure OAuth Application Credentials[Cloud Console]

By the end of this section you will have the OAuth Client ID and Client Secret needed for Application Credentials setup.

The steps below use Web Application Auth with Elan to handle Google’s strict URL validation rules like requiring SSL and a publicly resolvable redirect URL. Desktop Auth has been deprecated by Google to improve security, and it can no longer be used with Elan.

  • From the drop-down list select OAuth client ID.
  • Enter Web Application for the Application type.
  • Pick a name for your credential.
  • Add Authorized redirect URIs end enter this Link
  • Click Create to create the credential.
  • You should now be presented with an OAuth client created message.
You now have OAuth Client ID and OAuth Client Secret needed by Elan. 

4. Create a Device Access Project [Device Access Console]

Now that you have authentication configured, you will create a Nest Device Access Project which requires a US$5 fee. Once completed, you will have a Device Access Project ID.

  • Check the box to “Accept the Terms of Service” and click Continue to Payment where you need to pay a fee (currently US$5).
It is currently not possible to share/be invited to a home with a G-Suite account. Make sure that you pay the fee with an account that has access to your devices.
  • Now the Device Access Console should be visible. Click on Create project.
  • Give your Device Access project a name and click Next.
  • Next you will be asked for an OAuth client ID which you created in the previous step and click Next.
  • Enable Events by clicking on Enable and Create project.
  • You now have a Device Access Project ID needed by Elan.           

5. Install the Driver and Link Google Account 

In this section you will authorize Elan and Innovo to access your account by generating an Authentication Token.

See Troubleshooting below for steps to resolve the common misconfigurations that result in errors such as Can’t link… or Error 400 from Google.

CONTENTS