Skip to content
How Can We Help?
< All Topics
Print

Nest Thermostat Setup

We are pleased to re-introduce Nest Thermostat support. For many years, Nest control was exceptional until Google turned it off in August 2019 with no replacement. In 2021, Google introduced a new method of control. Unfortunately, the new method either requires the software vendor to undergo hundreds of thousands of dollars in annual security reviews, or requires the end user to set up the framework themselves. While there are many steps involved, once you have performed them, it does work quite well. We hope in the future that Google provides a more normal, industry standard path for doing this, but for now these are the steps. Given the complexity of these steps, some users may not be up to this task and it is very difficult to impossible for us to assist you because all of the pages below are private to your Google account. Make sure to read all of the steps before starting. Numerous users have completed this process successfully. These steps were last updated September 6, 2024 to match the latest tweaks to Google’s website. However, Google can make changes to these pages at any time, so there may be minor variations. In general, they have made only a few trivial changes even over the course of the last 3 years since inception of this API.

  1. This process assumes you have a working Google Account. At least 1 Nest thermostat must be associated and working with that Google Account. Verify that you can control your Nest thermostat(s) using either the Google Home app or the Nest app before proceeding. Also verify you are running at least Roomie version 7.2.
  2. Use a real browser on a real computer. Google Chrome is recommended for this procedure because these are all Google sites. Do not use a mobile device. As this is a detailed process, it is recommended you review all steps before beginning. Several steps below require you to copy information to a note. Have an empty open note ready for this purpose. You will need a Project ID, Client ID, and iOS URL Scheme in that note by the final steps. Each of these are roughly 80 character strings unique to you.
  3. Ignore all extraneous text on any page you visit below as the vast majority of it does not apply here and many aspects on many pages may seem contradictory. Do not use instructions other than this document. Just follow the steps below to succeed.
  4. Login and Register your Google Account for Nest Device access at this page: https://developers.google.com/nest/device-access
  5. Click the “Go to console” button on that page. There is a one time non-refundable $5 registration fee paid to Google to activate this feature. Roomie Remote receives no part of this fee.
  6. After paying the Google fee, you will be presented with the “Welcome to Device Access Console” page. Tap the “Create project” button on the next page: https://console.nest.google.com/device-access/project-list
  7. Enter a unique project name such as “Roomie – Smith Family”. Replace the family name with your name or any other unique name you’d like.
  8. The next screen requests “Add your OAuth client ID”. Click “Skip” here for now.
  9. The next screen is titled “Events”, just select “Disable” here then click “Create Project” on the same screen.
  10. The next screen shows the Google project console with the name you defined, a Project ID assigned to you, and an orange identifier that says “Sandbox”.
  11. Open a new browser tab to the following page and scroll down to the blue button labelled “Enable the API and get an OAuth 2.0 Client ID”. Click that button. https://developers.google.com/nest/device-access/get-started
  12. A screen titled “Enable Smart Device Management API” pops up. Enter another project title such as “Roomie – SDM – Smith Family”. It doesn’t really matter what you title it. Agree to the license terms and click Next.
  13. The next screen asks you to “Specify the product name”. Use something like “Roomie – Smith Family” here again.
  14. Next screen asks for the application type, “Each OAuth client must be scoped to a specific application environment”. Select “iOS” from the menu.
  15. A new field appears for the Bundle ID, enter “com.roomie.unified” exactly.
  16. Next it asks you if you want to download the client configuration and copy the client ID. You can ignore these for now.
  17. Open a new browser tab to the https://console.developers.google.com/apis/library/smartdevicemanagement.googleapis.com page and click “Enable” if needed.
  18. Go to https://console.developers.google.com/apis/credentials and make sure to select the correct API which is Smart Device Management. If the upper left corner shows “APIs and Services” and you do not see “Smart Device Management API” at the top, select the “Enabled APIs and Services” row in the sidebar and then select Smart Device Management API from that screen.
  19. Tap the Credentials tab underneath the Smart Device Management API section. You will now be on the Google Cloud Platform management page for the Smart Device Management API (as shown at the top), with the Credentials tab highlighted. Likely the title shown at the top is something like “My Project 16253”. That doesn’t matter.
  20. Tap “+CREATE CREDENTIALS” at the top right inside the Smart Device Management section. Under “What data will you be accessing?” select “User Data”. Under App Information enter “Roomie Remote” for the app name, your email for the “User support email”, skip the logo upload. Under “Scopes” tap “Add or Remove Scopes” and then select any scope that is in a row to the right of the “Smart Device Management API” label. There are at least 9 of them. Save. Save and Continue. The next screen is “OAuth Client ID”. Under “Application Type” select iOS. Ignore the default name of “iOS client 1”, enter “com.roomie.unified” as the Bundle ID, “1455871956” as the App Store ID, and “DDDDD99DD9” as a sample Team ID. Again, it doesn’t matter. Ignore the Firebase checkbox and tap CREATE.
  21. The next screen says “Download your credentials”. Copy the Client ID here and put it in your note. Click Done.
  22. You are now back on the “Smart Device Management API” screen. Tap the Credentials tab. Then tap the “iOS Client 1” item. Displayed in the upper right is your unique Client ID (again) and iOS URL Scheme. Copy these to your note. Return to the Device Access Console: https://console.nest.google.com/device-access and tap your project to open it.
  23. To the right of the “OAuth client ID” line, open the 3 dots menu and select Add Client ID. Paste the client ID you were just provided into the field. It will look something like “101010101-abababababab.apps.googleusercontent.com”. Save it.
  24. At the top of the same Device Access Console screen is your Project ID with a copy button. Copy that as well and place it in a note.
  25. Open the https://console.cloud.google.com/apis/credentials/consent page. Make sure the consent screen is configured for “External” users (most users should not need to do anything here). Under “Test users”, add your Google Account email address that is the same account with the Nest thermostats as a test user.
  26. You now have a Project ID, Client ID, and iOS URL Scheme in your note. These are required to continue.
  27. Add the Google Nest Cloud Service from the Devices panel in Roomie.
  28. Enter the Project ID, Client ID, and Scheme into the fields shown. When complete, the Pair button will appear. Proceed with pairing.
  29. Make sure to allow access and turn on each thermostat in the various Google authentication and permissions panels that present.
  30. Pairing is complete. The thermostats will appear in the Thermostats section of the Homebar.