This package has been deprecated

Author message:

WARNING: This project has been renamed to homebridge-nest-cam. Install using homebridge-nest-cam instead.

homebridge-nest-cam2

2.0.1 • Public • Published

homebridge-nest-cam2

View your Nest cams in HomeKit using Homebridge with this plugin.

NPM

PayPal verified-by-homebridge build Discord Downloads Codacy Badge

FAQ Troubleshooting

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.

Installation

  1. Install ffmpeg
  2. Install this plugin using: npm install -g homebridge-nest-cam2
  3. Add google authentication to config.json
  4. Run 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.

Docker

The Homebridge Docker container requires an extra environment variable to install ffmpeg: PACKAGES=ffmpeg. The Docker container also requires the libx264 codec as it uses the ffmpeg inside the container and not the ffmpeg on the device running the container.

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).

  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 "issueToken" in config.json.
  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 (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.
  11. In the 'Filter' box, enter issue_jwt
  12. Click on the last issue_jwt call.
  13. 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.
  14. 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
  • 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 derived from homebridge-nest-cam with the new google authentication from homebridge-nest.

Nest Hello doorbell resolution by schmittx.

This plugin was converted to typescript using both homebridge-ring and homebridge-examples.

Donate to Support homebridge-nest-cam2

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.

Readme

Keywords

Package Sidebar

Install

npm i homebridge-nest-cam2

Weekly Downloads

2

Version

2.0.1

License

ISC

Unpacked Size

192 kB

Total Files

29

Last publish

Collaborators

  • brandawg93