Custom component for Home Assistant to interact with Nest Protect devices via an undocumented and unofficial Nest API. Unfortunately, Google SDM doesn't support Nest Protect devices and thus the core Nest integration won't work for Nest Protect.
This integration will add the most important sensors of your Nest Protect device (CO, heat and smoke) and the occupancy if your device is wired (to main power). In addition, it will expose several diagnostic and configuration entities. All sensor values will be updated real-time.
Nest x Yale locks on the same account are also supported. Each lock exposes a lock entity (with lock / unlock actions) and a sensor for battery percentage.
- Only Google Accounts are supported, there is no plan to support legacy Nest accounts
- When Nest Protect (wired) occupancy is triggered, it will stay 'on' for 10 minutes. (API limitation)
- Only cookie authentication is supported as Google removed the API key authentication method. This means that you need to login to the Nest website at least once to generate a cookie. This cookie will be used to authenticate with the Nest API. The cookie will be stored in the Home Assistant configuration folder and will be used for future requests. If you logout from your browser or change your password, you need to reautenticate and and replace the current issue_token and cookies.
You can install this integration via HACS or manually.
Search for the Nest Protect integration and choose install, then reboot Home Assistant. Configure the Nest Protect integration either via the integrations page or press the blue button below.
Copy the custom_components/nest_protect to your custom_components folder and reboot Home Assistant. Configure the Nest Protect integration either via the integrations page or press the blue button below.
The values of "issue_token" and "cookies" are specific to your Google Account. You only need to retrieve them once, as long as you stay logged into your Google Account.
The easiest way to get your credentials is with the Nest Auth Helper Chrome extension:
- Download
nest-auth-helper.zipfrom the v0.4.4 release and unzip it. - In Chrome, go to
chrome://extensions, enable Developer mode, and click Load unpacked to load the unzipped folder. - Sign in to home.nest.com in a regular browser window.
- Click the extension icon → Extract Credentials → Copy Code.
- Paste the code into the Home Assistant configuration flow.
Keep the extension installed — you may need it again if Home Assistant requests re-authentication.
If you prefer not to use the extension, you can extract the credentials manually using Chrome/Edge DevTools.
Important: Third-party cookies must be enabled for
home.nest.com, otherwise the site will enter a redirect loop. Do not use an Incognito/Private window, as these block third-party cookies by default.
- Chrome: Settings → Privacy and Security → Third-party cookies → Allow third-party cookies (or add
home.nest.comto "Sites that can always use cookies").- Edge: Settings → Cookies and site permissions → Manage and delete cookies and site data → Disable "Block third-party cookies."
- Open a Chrome/Edge browser tab (regular window, not incognito).
- Open Developer Tools (F12 or View → Developer → Developer Tools).
- Click on the Network tab. Make sure Preserve Log is checked.
- In the Filter box, enter
issueToken. - Go to home.nest.com, and click Sign in with Google. Log into your account.
- One network call (beginning with
iframerpc) will appear in the Dev Tools window. Click on it. - In the Headers tab, under General, copy the entire Request URL (beginning with
https://accounts.google.com). This is yourissue_token. - In the Filter box, enter
oauth2/iframe. - Several network calls will appear in the Dev Tools window. Click on the last iframe call.
- In the Headers tab, under Request Headers, copy the entire cookie value (the whole string with many field/value pairs — do not include the
cookie:name). This is yourcookies. - Do not log out of home.nest.com, as this will invalidate your credentials. Just close the browser tab.
(adapted from homebridge-nest documentation)
Feel free to create an issue on GitHub if you find an issue or if you have a suggestion. It is always helpful to download the diagnostics information and to include debug logging.
The logger integration lets you define the level of logging activities in Home Assistant. Turning on debug mode will show more information about unsupported devices in your logbook.
logger:
default: critical
logs:
custom_components.nest_protect: debug
Based on the research and implementation of homebridge-nest.
