homebridge-nest-cam2
View your Nest cams in HomeKit using Homebridge with this plugin.
Notes
- This is a continuation of the previous homebridge-nest-cam plugin.
- This plugin does not use the old access token authentication method as it is no longer supported.
FAQ
Q: Why is there no audio?
A: Audio is not supported at this time. For more info, please read this issue.
Installation
- Install ffmpeg
- Install this plugin using: npm install -g homebridge-nest-cam2
- Add google authentication to
config.json
- Run Homebridge
- Add extra camera accessories in Home app using the same setup code as Homebridge
Raspberry Pi
You may want to use OMX for transcoding as the CPU on the board can be slow. If so, make sure the ffmpeg installed on your Pi has h264_omx
support and set the ffmpegCodec
option below to h264_omx
. You can always compile ffmpeg from source using these instructions.
Mac OS
You may want to use VideoToolbox hardware acceleration for transcoding. If so, make sure the ffmpeg installed on your Mac has videotoolbox
support and set ffmpegCodec
option below to h264_videotoolbox
.
Setting up the Config.json
Setting up a Google Account with homebridge-nest is a pain, but only needs to be done once, as long as you do not log out of your Google Account.
Google Accounts are configured using the "googleAuth"
object in config.json
, which contains three fields, "issueToken"
, "cookies"
and "apiKey"
, and looks like this:
{
"platform": "Nest-cam",
"ffmpegCodec": "libx264",
"googleAuth": {
"issueToken": "https://accounts.google.com/o/oauth2/iframerpc?action=issueToken...",
"cookies": "SMSV=ADHTe...",
"apiKey": "AIzaS..."
}
}
The values of "issueToken"
, "cookies"
and "apiKey"
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).
- Open a Chrome browser tab in Incognito Mode (or clear your cache).
- Open Developer Tools (View/Developer/Developer Tools).
- Click on '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
, ending with nest.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 last
iframe
call. - In the Headers tab, under Request Headers, copy the entire
cookie
(beginning SMSV=...
- 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
. - In the 'Filter' box, enter
issue_jwt
- Click on the last
issue_jwt
call. - In the Headers tab, under Request Headers, copy the entire
x-goog-api-key
(do not include the x-goog-api-key:
name). This is your "apiKey"
in config.json
.
Join the Discord
Unfortunately, there is no way for me to test every subscription, camera type, and feature. If you would like to help me test new features and enhancements, join the Discord Server and let me know what you would like to test. Also, if you have general questions or support, feel free to ask in the server.
Credits
This plugin was derived from homebridge-nest-cam with the new google authentication from homebridge-nest.
Nest Hello doorbell resolution by schmittx.