Skip to content

dustindclark/homebridge-envisalink

Repository files navigation

homebridge-envisalink

verified-by-homebridge NPM Version

This Homebridge plugin adds an Envisalink panel and its sensors into HomeKit. Alarm Panel can be armed (home/away) or disarmed by using Siri or the HomeKit app of your choice. Sensors can also be used for automations (i.e. turn on light when door opens).

This plugin has been tested with both Envisalink 3 and Envisalink 4. Envisalink 3 firmware should be upgraded to 1.12.182 or higher.

##Installation Example configuration is below. See config.schema.json for more info, including valid values.

 "platforms": [
    {
      "platform": "Envisalink",
      "host": "192.168.0.XXX",
      "deviceType": "DSC",
      "password": "---envisalink password (default is user)---",
      "pin": "---panel pin for disarming---",
      "suppressZoneAccessories": false,
      "suppressClockReset": false,
      "ambulancePanic": {
          "enabled": true,
          "name": "Ambulance Panic"
      },
      "firePanic": {
          "enabled": true,
          "name": "Fire Panic"
      },
      "policePanic": {
          "enabled": true,
          "name": "Police Panic"
      },
      "partitions": [
        {
          "name": "Alarm",
          "enableChimeSwitch": true,
          "pin": "1243"
        }
      ],
      "zones": [
        {
          "name": "Front Door",
          "type": "door",
          "partition": 1
        },
        {
          "name": "Master Bedroom Door",
          "type": "door",
          "partition": 1
        },
        {
          "name": "Downstairs Windows",
          "type": "window",
          "partition": 1
        },
        {
          "name": "Basement Leak",
          "type": "leak",
          "partition": 1
        },
        {
          "name": "Upstairs Smoke",
          "type": "smoke",
          "partition": 1
        },
        {
          "name": "Living Room Motion",
          "type": "motion",
          "partition": 1
        }
      ],
      "customCommands": [
        {
          "name": "System Test",
          "command": "071*600004"
        }
      ]
    }
  ]

Password

The password field is the password you use to login to the Envislink locally. In order the find/change this password, access the IP address of your Envisalink in a browser. The password that you use to login is the password that should be used here. Default is 'user' but should be changed in settings for security.

Home vs. Night

DSC does not distinguish between these 2 arm modes that are provided in HomeKit. The behavior of the plugin (as of 1.1.0) is as follows:

  • Home: Arm to stay with entry delay.
  • Night: Arm to stay with no entry delay (if any door is opened, alarm will immediately sound)

Advanced Config

Disabling Clock Reset

This plugin will update the date/time of your alarm system hourly unless you set "suppressClockReset" to true in the config.

Non-Consecutive Zones

If your system has unused zones, simply include a zoneNumber integer property on each zone you have in the config. Make sure you put the property on each zone.

Ex:

...
"zones": [
  {
    "name": "Front Entry",
    "type": "door",
    "partition": 1,
    "zoneNumber": 1
  },
  {
    "name": "Patio Door",
    "type": "door",
    "partition": 1,
    "zoneNumber": 2
  },
  {
    "name": "Garage Door",
    "type": "door",
    "partition": 1,
    "zoneNumber": 5
  }
]
...

Custom Commands

See documentation in "docs" folder for crafting a custom command. Examples above are real DSC commands. Checksum will the added automatically. Do not suffix with checksum.

Note: I have only tested with DSC panels. This should work with Honeywell devices since the Envisalink API is the same, but this has not been tested.

PINs

By default, all partitions use the same top level PIN. You can override this PIN at the partition level config.

Debugging

Connectivity issues may manifest themselves in different ways. There are generally several common issues in connecting to your Envisalink device:

Connectivity Issues

  • Multiple clients connecting to Envisalink - Only one socket connection is supported at a time. This is an Envisalink limitation. Disconnect any other devices, and restart Homebridge. If you need other devices connected, use the proxy feature provided by this plugin.
  • Connectivity flakiness - Ideally, both your Envisalink and your Homebridge should be on wired connections.
  • IP Address Changes - Your Envisalink should have a static or DHCP reserved private IP address within your home network.
  • Password Issues - Your configured password is incorrect.

To troubleshoot, set enableVerboseLogging config to true. This should reveal actual error messages.

Credits

This plugin leverages Node Alarm Proxy in order to HomeKit/HomeBridge enable the Envisalink device.