Skip to content
A Homebridge plugin that enables HomeKit integration for the Scout security system.
TypeScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Revert "Remove unnecessary `npm ci` before `npm publish` since the `p… Mar 29, 2020
schema Trying again to fix publishing JSON schemas. Feb 17, 2020
scripts Add support for homebridge-config-ui-x's config schema. Mar 29, 2020
src Refactor HomebridgeContext initialization so that config-related erro… Mar 31, 2020
tst Refactor HomebridgeContext initialization so that config-related erro… Mar 31, 2020
.eslintignore Fixed eslint script so that it runs on all TypeScript files. Integrat… Feb 10, 2020
.eslintrc.yml Added more lint rules. Updated code to comply. Feb 15, 2020
.gitignore Add support for homebridge-config-ui-x's config schema. Mar 29, 2020
.prettierrc.yml Fixed eslint script so that it runs on all TypeScript files. Integrat… Feb 10, 2020
LICENSE Adding a license. Dec 17, 2019
README.md Adding logo to README. Mar 29, 2020
demo.gif Updating demo animation to include a cursor (resolves #69). Mar 21, 2020
jest.config.json Add some tests for `SecuritySystemAccessoryFactory` and bump the mini… Feb 20, 2020
logo.png Adding plug-in logo. Mar 29, 2020
package-lock.json 1.0.1 Mar 31, 2020
package.json 1.0.1 Mar 31, 2020
tsconfig.json *Completely* re-wrote the plug-in to be more modular. Feb 8, 2020
tsconfig.lint.json Add support for homebridge-config-ui-x's config schema. Mar 29, 2020

README.md

homebridge-scout

A Homebridge plug-in that enables HomeKit integration for the Scout security system.

demo

build status test coverage npm version npm downloads license

Table of Contents

Installation

  1. Install Homebridge.

  2. Install this plug-in: npm install -g homebridge-scout

  3. Update your Homebridge configuration file (~/.homebridge/config.json). See configuration options below.

Configuration

Options

Required

All of the following configuration options are required. If any are missing or invalid, Homebridge will log an error message describing the problem.

  • "platform": Must be "ScoutAlarm".

  • "auth": Your Scout login credentials. Use a member account, not an admin account.

    • "email": Your Scout email.

    • "password": Your Scout password. Don't forget to backslash-escape any double-quotes (e.g. pwd"23 should be "pwd\"123").

  • "location": The name of your Scout location. It's probably "Home" if you only have one Scout system and haven't renamed it. You can find this in the left-hand menu of the Scout app or dashboard.

Optional

The following configuration options are optional and change the default behavior.

  • "modes": If modes are defined, your Scout system will be added as a HomeKit security system. These map the HomeKit modes to your Scout modes. Your Scout mode names can be found in the Scout app or dashboard. Each HomeKit mode must be mapped to one (or more†) Scout mode(s) (e.g., ["Mode A"] or ["Mode A", "Mode B"]).

    • "stay": Possibly ["Home"].
    • "away": Possibly ["Away"].
    • "night": Possibly ["Night"].

    † There are caveats to mapping a HomeKit mode to multiple Scout modes. Let's assume you have four Scout modes (Home, Away, Vacation, and Night) and have mapped the Away HomeKit mode to your Away and Vacation Scout modes. If you arm either the Away or Vacation Scout modes from the Scout app, HomeKit will report the mode as Away with no way to differentiate between the two. Additionally, if you arm the Away HomeKit mode via HomeKit, the plug-in will arm whichever Scout mode is listed first. There would be no way to arm your Vacation mode via HomeKit. This limitation is due to HomeKit's strict 3-mode design.

  • "reverseSensorState": V1 Scout systems can get into a state where all of the sensor states are reversed. If this option is set to true, it reverses the sensor state of access sensors, door panels, and motion sensors reported to HomeKit so they work correctly in this scenario.

Example

Update the "platforms" section of your ~/.homebridge/config.json:

{
  "platforms": [
    {
      "platform": "ScoutAlarm",
      "auth": {
        "email": "email@example.com",
        "password": "password123"
      },
      "location": "Home",
      "modes": {
        "stay": ["Home"],
        "away": ["Away", "Vacation"],
        "night": ["Night"]
      }
    }
  ]
}

Device Support

Scout Device HomeKit Services
Hub SecuritySystem
BatteryService
TemperatureSensor‡
Door Panel ContactSensor
HumiditySensor‡
TemperatureSensor‡
Access Sensor ContactSensor
TemperatureSensor‡
Motion Sensor‡ MotionSensor
TemperatureSensor
Water Sensor LeakSensor
TemperatureSensor
Smoke Alarm SmokeSensor
Glass Break Sensor #27
Video Doorbell #18
Indoor Camera #17

‡ Not supported by Scout's original mesh-based hardware. These devices do not have humidity or temperature sensors, and the motion sensors do not properly trigger motion events.

Credits

  • @jordanryanmoore, the original author.
  • @Tom2527, for their assistance in debugging and testing v1 hardware support.
  • Scout Security Inc, for providing a open, well-designed API and supplying free motion and water sensors for this project.
You can’t perform that action at this time.