A bad Nest integration that uses the web api to work after Works with Nest was shut down (bad Google, go sit in your corner and think about what you did)
This repo is based off of the original from RedDragon with fixes provided by the community since that repo has gone stale.
This isn't an advertised or public API, it's still better than web scraping, but will never be as reliable as the original API
badnest:
issue_token: "https://accounts.google.com/o/oauth2/iframerpc....."
cookie: "......"
climate:
- platform: badnest
scan_interval: 10
camera:
- platform: badnest
sensor:
- platform: badnest
Google Login support added with many thanks to: chrisjshull from https://github.com/chrisjshull/homebridge-nest/
The values of "issue_token"
and "cookie"
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
, and click 'Sign in with Google'. Log into your account.iframerpc
) will appear in the Dev Tools window. Click on it.Request URL
(beginning
with https://accounts.google.com
, ending with nest.com
). This is your
"issue_token"
in configuration.yaml
.oauth2/iframe
iframe
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
"cookie"
in configuration.yaml
.badnest:
user_id: 1234567
access_token: "....."
climate:
- platform: badnest
scan_interval: 10
camera:
- platform: badnest
sensor:
- platform: badnest
The values of "user_id"
and "access_token"
are specific to your Nest account.
To get them, follow these steps:
session
session?_=
) will appear in the Dev Tools window. Click on it.access_token
and userid
from the JSON response. The userid
value should be used
for the "user_id"
configuration value.The target temperature reported by the integration sometimes seems to be slightly off by a few tens of a degree. This is caused by the fact that the Nest mobile app actually actually allows users to set the temperature in small increments, but the displayed temperature is rounded to the nearest 0.5 degree. In other words, the temperature displayed by the integration is correct, just more exact than what is shown in the app.