View your Nest cams in HomeKit using Homebridge with this plugin.
FAQ | Troubleshooting |
---|
- This plugin does not use the old access token authentication method as Google is urging users to switch to Google accounts.
- Install this plugin using:
npm install -g homebridge-nest-cam
- Add google authentication to
config.json
- Run Homebridge
In order to use the below ffmpeg options, you must specify your custom ffmpeg path in the pathToFfmpeg
config option.
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.
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
.
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..."
}
}
- If the plugin is installed globally, run
homebridge-nest-cam login
, otherwise, runnpx -p homebridge-nest-cam homebridge-nest-cam login
within the plugin folder. If your account has 2 factor authentication, use the-h
flag. - Login to your Nest account.
- Copy the output to your
config.json
. - (Optional) Run
homebridge-nest-cam clean
to remove extra packages used to login.
Note: If the steps above do not work, refer to the manual authentication method.
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:
Name | Description | Type |
---|---|---|
alertCheckRate | How often to check for alerts | number (seconds) |
alertCooldownRate | How long between consecutive alert notifications | number (seconds) |
motionDetection | enable/disable the motion sensor | boolean |
doorbellAlerts | enable/disable doorbell ring notifications | boolean |
doorbellSwitch | enable/disable doorbell automation switch | boolean |
streamingSwitch | enable/disable the ability to turn the camera on or off | boolean |
disableAudio | enable/disable the audio stream | boolean |
pathToFfmpeg | specify the path to a custom ffmpeg binary | string |
structures | specify the structure names of which structures' cameras to see | array |
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.
This plugin was originally developed by KhaosT.
This plugin was converted to typescript using both homebridge-ring and homebridge-examples.
This plugin was made with you in mind. If you would like to show your appreciation for its continued development, please consider making a small donation.
This plugin and its contributers are not affiliated with Google LLC or Nest Labs in any way.