
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
homebridge-nest
Advanced tools
Nest plug-in for Homebridge using the native Nest API. See what's new in release 4.6.10.
Integrate your Nest Thermostat, Temperature Sensors, Nest Protect, and Nest x Yale Lock devices into your HomeKit system. Both Nest Accounts (pre-August 2019) and Google Accounts are supported.
Currently, homebridge-nest supports all Nest Thermostat, Protect, and Nest x Yale Lock models, including the EU/UK model of the Thermostat E with Heat Link and the October 2020 model Nest Thermostat with mirror display.
We do not support the discontinued Nest Secure system. We also do not support cameras - but for that, there is the excellent homebridge-nest-cam plug-in.
If you want a plug-and-play Nest integration solution, check out Starling Home Hub. It's a little box that connects to your home router, so you'll be up and running in minutes without needing to set up a Homebridge server, manually edit configuration files, or worry about authentication tokens. Starling Home Hub also supports Nest Cameras (including the August 2021 battery-powered models) and Nest Secure (Guard and Detects).
If you want a DIY solution, then read on, as homebridge-nest is for you!
npm install -g homebridgenpm install -g homebridge-nestconfig.json snippet below.Configuration sample (edit ~/.homebridge/config.json):
"platforms": [
{
"platform": "Nest",
"options": [ "HomeAway.Disable" ],
"access_token": "your Nest Account access token"
}
],
Required fields when using a Nest Account with an access token: (see below for set-up info)
"platform": Must always be "Nest""access_token": Nest service access tokenRequired fields when using a Google Account with a refresh token: (see below for set-up info)
"platform": Must always be "Nest""refreshToken": Google refresh tokenRequired fields when using a Google Account with cookies: (see below for set-up info)
"platform": Must always be "Nest""googleAuth": Google authentication informationOptional fields:
"structureId": "your structure's ID" // optional structureId to filter to (see logs on first run for each device's structureId) - Nest "structures" are equivalent to HomeKit "homes""options": [ "feature1", "feature2", ... ] // optional list of features to enable/disable (see 'Feature Options' below)"fanDurationMinutes": number of minutes to run the fan when manually turned on (optional, default is 15)"hotWaterDurationMinutes": number of minutes to run the hot water when manually turned on (optional, default is 30, only for systems with hot water control)To use a Nest Account with homebridge-nest, you will need to obtain an access token from the Nest web app. (Note - no Nest developer account is required.) Simply go to https://home.nest.com in your browser and log in. Once that's done, go to https://home.nest.com/session in your browser, and you will see a long string that looks like this:
{"2fa_state":"not_enrolled","access_token":"XXX","email":"...","expires_in":"...", ...}
Simply set "access_token" in your config.json file under the "platform": "Nest" entry to the value of access_token near the start of the string (the XXX), which will be a long sequence of letters, numbers and punctuation beginning with b. There may be other keys labelled access_token further along in the string - please ignore these.
Do not log out of home.nest.com, as this will invalidate your credentials. Just close the browser tab.
Google Accounts (mandatory for new Nest devices after August 2019, with an optional migration for earlier accounts) are fully supported.
(Note: the plug-in used to support two ways to authenticate with Google, the refresh token method and the cookies method. The refresh token method no longer works due to Google-side changes in October 2022, so now we only document the cookies method.)
Using the cookies method, Google Accounts are configured using the "googleAuth" object in config.json, which contains two fields, "issueToken" and "cookies", which looks like this:
"platform": "Nest",
"googleAuth": {
"issueToken": "https://accounts.google.com/o/oauth2/iframerpc?action=issueToken...",
"cookies": "OCAK=TOMPYI3cCPAt...; SID=ogftnk...; HSID=ApXSR...; ...; SIDCC=AN0-TYt..."
},
The values of "issueToken" and "cookies" are specific to your Google Account. To get them, follow these steps (only needs to be done once, as long as you stay logged into your Google Account).
issueToken.home.nest.com then click the "eye" icon in top right of the address bar and click the toggle for "Third-party cookies".iframerpc) will appear in the Dev Tools window. Click on it.Request URL (beginning with https://accounts.google.com). This is your "issueToken" in config.json.oauth2/iframeiframe call.cookie (include the whole string which is several lines long and has many field/value pairs - do not include the cookie: name). This is your "cookies" in config.json.home.nest.com, as this will invalidate your credentials. Just close the browser tab.Open a Safari browser tab in Incognito Mode
Open Developer Tools (Develop > Show Javascript Console, if you don't see this choose Safari > Settings, click Advanced, then select “Show features for web developers.” first)
Click on 'Network' tab. Tap the second filter icon next to the "All" dropdown to select "Preserve Log". This ensures the logs don't get cleared when redirects happen.
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.
Under Headers > Summary, copy the URL (beginning with https://accounts.google.com). This is your "issueToken" in config.json.
In the 'Filter' box, enter oauth2/iframe
Several network calls will appear in the Dev Tools window. Click on the most recent (usually top-most) iframe call.
Under Headers > Request, copy the entire cookie (include the whole string which is several lines long and has many field/value pairs - do not include the cookie: name). This is your "cookies" in config.json.
Do not log out of home.nest.com, as this will invalidate your credentials. Just close the browser tab.
Set "options" in config.json to an array of strings chosen from the following to customise feature options:
"Thermostat.Disable" - exclude Nest Thermostats from HomeKit"Thermostat.Fan.Disable" - do not create a Fan accessory for the thermostat"Thermostat.Eco.Disable" - do not create a Switch accessory to indicate/control Eco Mode status"Thermostat.SeparateBuiltInTemperatureSensor.Enable" - create an additional TemperatureSensor accessory to report the ambient temperature at the thermostat"Thermostat.SeparateBuiltInHumiditySensor.Enable" - create an additional HumiditySensor accessory to report the relative humidity at the thermostat"Thermostat.EcoMode.ChangeEcoBands.Enable" - when set, changing temperature in Eco Mode changes Eco Temperature Bands (default is to turn off Eco Mode instead before setting temperature)"TempSensor.Disable" - exclude Nest Temperature Sensors from HomeKit"HomeAway.Disable" - exclude Home/Away switch from HomeKit"HomeAway.AsOccupancySensor" - create Home/Away indicator as an OccupancySensor instead of a Switch - useful for automations"HomeAway.AsOccupancySensorAndSwitch" - create Home/Away indicator as an OccupancySensor and a Switch"Protect.Disable" - exclude Nest Protects from HomeKit"Protect.MotionSensor.Disable" - disable MotionDetector accessory for Nest Protects"Lock.Disable" - exclude Nest x Yale Locks from HomeKit"Nest.FieldTest.Enable" - set this option if you're using a Nest Field Test account (experimental)By default, options set apply to all devices. To set an option for a specific device only, add .device_id to the corresponding option, where device_id is shown in the Homebridge logs, or in HomeKit itself as Serial Number in the Settings page for your device. For example, to disable one specific thermostat with serial number 09AC01AC31180349, add "Thermostat.Disable.09AC01AC31180349" to the "options" array.
homebridge-nest is a labour of love. It's provided under the ISC licence and is completely free to do whatever you want with. But if you'd like to show your appreciation for its continued development, please consider clicking here to make a small donation or, even better, send me a thank-you card:
Adrian Cable
PO Box 370365
Montara, CA 94037
I appreciate your feedback and support in whatever form!
FAQs
Nest Thermostat, Protect and Lock plug-in for homebridge
The npm package homebridge-nest receives a total of 205 weekly downloads. As such, homebridge-nest popularity was classified as not popular.
We found that homebridge-nest demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.