mirror of
https://github.com/USA-RedDragon/badnest.git
synced 2025-02-12 09:07:50 +00:00
85 lines
2.9 KiB
Markdown
85 lines
2.9 KiB
Markdown
# badnest
|
|
|
|
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)
|
|
|
|
## Why is it bad?
|
|
|
|
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
|
|
|
|
## Features
|
|
|
|
- Doesn't use the now defunct Works with Nest API
|
|
- Works with migrated/new accounts via Google auth
|
|
- Works with old via Nest auth
|
|
- Nest Protect support
|
|
- Nest Thermostat support
|
|
- Nest Thermostat Sensor support
|
|
- Nest Camera support
|
|
|
|
## Drawbacks
|
|
|
|
- Won't work with 2FA enabled accounts (Works with 2fa Google Accounts)
|
|
- Tested with a single thermostat, I have no other devices to test with
|
|
- Camera integration is untested by me
|
|
- Nest Protect integration is untested by me
|
|
- Nest could change their webapp api at any time, making this defunct
|
|
|
|
## Configuration
|
|
|
|
The camera's region is one of `us` or `eu` depending on your region.
|
|
If you're not in the US or EU, you should be able to add your
|
|
two-character country code, and it should work.
|
|
|
|
### Example configuration.yaml - When you're not using the Google Auth Login
|
|
|
|
```yaml
|
|
badnest:
|
|
email: email@domain.com
|
|
password: !secret nest_password
|
|
region: us
|
|
|
|
climate:
|
|
- platform: badnest
|
|
scan_interval: 10
|
|
|
|
camera:
|
|
- platform: badnest
|
|
|
|
sensor:
|
|
- platform: badnest
|
|
```
|
|
|
|
### Example configuration.yaml - When you are using the Google Auth Login
|
|
|
|
```yaml
|
|
badnest:
|
|
issue_token: "https://accounts.google.com/o/oauth2/iframerpc....."
|
|
cookie: "OCAK=......"
|
|
region: us
|
|
|
|
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).
|
|
|
|
1. Open a Chrome browser tab in Incognito Mode (or clear your cache).
|
|
2. Open Developer Tools (View/Developer/Developer Tools).
|
|
3. Click on 'Network' tab. Make sure 'Preserve Log' is checked.
|
|
4. In the 'Filter' box, enter `issueToken`
|
|
5. Go to `home.nest.com`, and click 'Sign in with Google'. Log into your account.
|
|
6. One network call (beginning with `iframerpc`) will appear in the Dev Tools window. Click on it.
|
|
7. In the Headers tab, under General, copy the entire `Request URL` (beginning with `https://accounts.google.com`, ending with `nest.com`). This is your `"issue_token"` in `configuration.yaml`.
|
|
8. In the 'Filter' box, enter `oauth2/iframe`
|
|
9. Several network calls will appear in the Dev Tools window. Click on the last `iframe` call.
|
|
10. In the Headers tab, under Request Headers, copy the entire `cookie` (beginning `OCAK=...` - **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`.
|