homebridge-nest-cam
View your Nest cams in HomeKit using Homebridge with this plugin.
Notes
- This plugin does not use the old access token authentication method as it is no longer supported.
- As of v2.0.0, this plugin is no longer supported on HOOBS. To install an older version that is still supported by HOOBS, run
npm -g i homebridge-nest-cam2@hoobs
.
Installation
- Install this plugin using:
npm install -g homebridge-nest-cam2
- Add google authentication to
config.json
- Run Homebridge
FFMPEG
In order to use the below ffmpeg options, you must specify your custom ffmpeg path in the pathToFfmpeg
config option.
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.
googleAuth
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",
"options": {
"motionDetection": true,
"streamingSwitch": true,
"disableAudio": false
},
"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
(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
. - Do not log out of
home.nest.com
, as this will invalidate your credentials. Just close the browser tab.
options
Extra options can be enabled/disabled depending on which switches and sensors you would like to see in the Home app. Here is the current list of available options:
- motionDetection: enable/disable the motion sensor
- doorbellAlerts: enable/disable doorbell ring notifications
- streamingSwitch: enable/disable the ability to turn the camera on or off
- disableAudio: enable/disable the audio stream
- pathToFfmpeg: specify the path to a custom ffmpeg binary
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, or if you have general questions or need support, join the official Homebridge Discord Server.
Credits
This plugin was originally developed by KhaosT.
This plugin was converted to typescript using both homebridge-ring and homebridge-examples.
Donate to Support homebridge-nest-cam
This plugin was made with you in mind. If you'd like to show your appreciation for its continued development, please consider making a small donation.
Disclaimer
This plugin and its contributers are not affiliated with Google LLC or Nest Labs in any way.