balansse / homebridge-vivint

Integrates Vivint security system with Apple Home
Other
45 stars 15 forks source link
homebridge homebridge-plugin homekit security vivint

homebridge-vivint: Native HomeKit support for Vivint

Homebridge Vivint

verified-by-homebridge npm npm Donate

HomeKit support for Vivint system using Homebridge.

Overview

This is a fork of homebridge-vivint plugin for homebridge. It allows to use your Vivint SmartHome products in Apple Homekit. The main changes in this fork include:

Homebridge-Vivint was initially written by a former Vivint employee, Tim Harper. This project is not officially endorsed, sponsored, or affiliated with Vivint SmartHome in any way.

Usage

This plugin supports installation and changing settings (for config.js) via the popular Config UI X plugin (recommended for easiest usage).

After entering your name and password (and possibly a MFA code) in the Plugin Settings a Vivint Refresh Token will be automatically poplulated. Depending on your Vivint user settings, your MFA code may come from your authenticator app or it will be sent to you via SMS or email. When done, click Save then Restart Homebridge to connect.

Ensure you are running Node v10.17.0 or higher (this version is required by Homebridge v1.0.0). You can check by using node -v.

Either install and configure using Config UI X or you can manually install the plugin by running:

npm install -g @balansse/homebridge-vivint

Then, add the following configuration to the platforms array in your Homebridge config.json.

If needed, you can manually generate a refresh token by running npm run mfa in the command line.

{
    {
      "platform": "Vivint",
      "refreshToken": "your-vivint-refresh-token"
    }
}

That's it! The plugin will automatically load all supported Vivint devices into Homebridge.

HOOBS Users:

Unfortunately HOOBS doesn't support the Custom UI components created for Homebridge.

As a workaround, you can open a terminal in HOOBS and run the following commands, where "vivintbridge" is the name of the bridge but all lowercase and with no spaces:

cd /var/lib/hoobs/vivintbridge/node_modules/@balansse/homebridge-vivint
npm run mfa

Supported Items

Currently, the following items are supported:

As I do not have access to all varieties of hardware that is supported by Vivint, some incompatibilities might happen. If you notice any weird behavior or your Vivint device is not supported, please submit an issue with your homebridge.log file attached.

Configuration

Configuration of the plugin is simple. The Vivint plugin is a dynamic platform which caches the accessories registered.

Configuration sample:

{
  "platform": "Vivint",
  "refreshToken": "your-vivint-refresh-token",
  "ignoreDeviceTypes": ["thermostat_device", "garage_door_device"]
}

A general recommendation: consider creating and using a new Vivint account named "Apple Home". This way, your Vivint logs will show "the front door was unlocked by Apple Home", etc.

Configuration options overview:

Credits