Envisalink Integration Application and Connection Driver

Hubitat Envisalink Integration - v0.5


Hubitat Envisalink Connection driver and Integration application, provides Hubitat integration with Envisalink.
Visit http://www.eyez-on.com/ for more information on Envisalink.

Prerequisites

  • Envisalink v3 or v4
  • Hubitat
  • The Envisalink system password that you setup when installing Envisalink.
  • Master Disarming Code
  • The static IP address of the Envisalink device.
  • Knowledge of how the Zones are laid out in your DSC Alarm system configuration.
  • DSC (Honeywell not currently supported)

At this time, I only support a single partition configuration.

Installation

  1. Install Envisalink Connection driver
  2. Add Application Code and Load Envisalink Integration application
  3. Using the Envisalink Integration application, configure your IP, Password and Code to Envisalink and your Zone layout

If you're looking for non DSC support, try @brianwilson implementation

RELEASE NOTES

Envisalink Integration App

Version: 0.5

  • Fix duplicate Disarm command caused by HSM

Version: 0.4.1

  • Using hasCommand, re-implement setVolumeSpeakAndRestore

Version: 0.4

  • Little commented out code maybe for setting up custom actions based on codes.
  • Honestly I am considering managing all that in the driver, like a lock does.

Version: 0.3.6

  • Fixed speakIt routine

Version: 0.3.5

  • Fixed error handling on delays when null

Version: 0.3.4

  • Armed Away and Home States

Version: 0.3.3

  • Fix installation process

Version: 0.3.2

  • Add switch off on disarm with no on with arm

Version: 0.3.1

  • Fix dumb mistake in runin delay

Version: 0.3.0

  • UI Changes
  • Minor Fixes
  • Lock Code Integration
  • Switch Integration
  • Debouncing
  • Improved Error Logging

Version: 0.2.0

  • UI Changes

Version: 0.17.0

  • Added TTS
  • Locks
  • Notifications
  • Unified Logging
  • Syncing Versioning

Version: 0.16.0

  • Fixed HSM Integration Initialization to default to False
  • Fixed Debug Toggle

Version: 0.15.0

  • Add deeper integration with HSM

Version: 0.14.0

  • Added armedNight Handler

Envisalink Connection Driver

Version: 0.5

  • Holistic Refactor
  • Program User Codes

Version: 0.4

  • Arm/Disarm user and special parse

Version: 0.3.6

  • Fixed Initialization
  • Fixed Telnet Failed Routine
  • Fixed 'Backwards' Arm states

Version: 0.3.5

  • Fixed regex matching for timestamps.

Version: 0.3.4 - thanks @blocklanders

  • Added Armed Away and Armed Home States, including HSM instructions
  • Added Polling Rate - Default State is Disabled
  • If polling is enabled, it should recover from an Envisalink reboot within two time intervals
  • Added Status Report on initialize to re-sync Alarm State
  • Fixed autoInactive value from 0 to disabled, to resolve motion sensor errors

Version: 0.3.3

  • Hubitat suggested changes, removing regex libraries

Version: 0.3.2

  • Fixed disarm state variable getting out of sync because of reboots or crashed hub during events.

Version: 0.3.0

  • Fixed Login Response Message
  • Improved Connection Routine
  • Improved Error Logging
  • Integrations

Version: 0.2.0

  • Better response and Command Mapping for easy adaption

Version: 0.17.0

  • Added TTS
  • Locks
  • Notifications
  • Unified Logging
  • Syncing Versioning

Version 0.16.0

  • Internal Release

Version: 0.15.0

  • Version Sync with App
  • Add deeper integration with HSM

Version: 0.13.0

  • Fixed Zone Type Conversion (Always setting up Motion Sensor)
    Version: 0.13.0
  • Adding debug switch for reducing logging
  • Move this section to the bottom of the file

Version: 0.12.1

  • Spelling Error

Version: 0.12.0

  • Small State Fix for Motion

KNOWN ISSUES

6 Likes

Thanks !!

Tried the DH and app out. Ran into issues with the first zone I added - chose contact type from the drop down, but when I went back to look at the zone, it was assigned motion type. Also tried to delete device, as well as, connection under device list, and the "remove" option does not do anything Tried this twice and now I have 2 instances of "Envisalink" in my device list, each with a motion sensor. Any suggestions for deleting these? I can delete the app, but I cant delete the device code (since its being used by "Envisalink".

1 Like

The child devices are components. They can not be removed independently. The avenue to removing them is removing the Envisalink app and setting it up again. I'm investigating adding zone removal in the app itself, but have not completed that work. These drivers and app were released prematurely, before i was able to complete the work.

I have been able to reproduce this behavior and I'm investigating.

Please install the latest Envisalink Connection driver.
I have found and corrected the problem.

Loaded it all and appears to be working. I will keep an eye on it. Thanks for working on this!!!

1 Like

What do think how your work would relate to the XEP LAN interface for the Elk M1 Gold security panel? Are they similiar ina way that your Evisalink driver could be ported with little modification to work with the Elk?

I am not a coder so excuse me if this seems like a stupid question.

I cannot say for sure without seeing their API/TPI, but it may not be too hard to port. But in my experience modules like these are pretty different. If you can aquire documentation for both your Elk and XEP, I'd be happy to look at it and give you some advice.

@doug I appreciate you getting some work done on this. This was my only worry about coming from Vera. I too am excited about the whole Hubitat move and can't wait to tackle any challenges. I will be using my EVL-3 on an Ademco/Honeywell Vista 20p. I don't know what caveats I'll run in to yet, but I have a feeling there will be few and far in between. I'm not sure about API dev at this time, but I've performed a lot of website programming (18 year) as well as building API's a few ages ago. I hope I can grasp fast enough to help with this task.

It comes down to sending the data packet in the form they expect, that's all. My implementation is not only limited to Envisalink, but also DSC (and likely a subset of about 6 DSC panels and boards).

*** UPDATE *** (RESOLVED)
I just setup my hubitat yesterday, it updated its firmware. When attempting to install the driver code I get this in return;

No signature of method: Script1.metadata() is applicable for argument types: (Script1$_run_closure1) values: [Script1$_run_closure1@2da8d5fc] Possible solutions: metaClass(groovy.lang.Closure) on line 37

Any help on this? I checked statement open/closure and see no issues. I copied and pasted the code from github several times and always get this error. I tried your previous versions as well, same error message.

are you trying to load the driver as an app?

I don't think so, but I just installed a pre-built app (just to add something to the system) verified it worked and then added the driver again and it worked!

I could have done that though. I've been using this for about an hour, reading, etc.

DOug, Sorry for the late reply. I was in the hospital last week. I did get all the info for the Elk M1 Gold panel and attached it here. Let me know what you think.

oops...I can't upload a zip file here. You can DL it here
https://app.box.com/s/51b6fu5jdinkrr3djxkzr99xkuzzxwju

Cool. I’ll take a look. Hope you are all better.

Hello, new to hubitat, having trouble getting this to work. Installed everything as per instructions and input all the evl4 details but nothing is registering as open or closed.

I still have a veraplus talking to the envisalink, could this be an issue? Also to install driver it's pretty much just copy paste the code or is there any modifications that need to be done?

Need to disconnect the veraplus first. I don't think the TPI interface allow more than one connection at a time.

2 Likes

Envisalink only allows one connection at a time..

3 Likes

Wow, thanks for the quick replies, deleted the DSC from the Vera and rebooted Hubitat. Everything is working flawlessly now.

3 Likes

Hi DOug,
Did you ever get a chance to look at the Elk info? Curious what you think.
Since before, I did get an ESP8266 and have it interfacing with the Elk nicely. It monitors all zones and outputs fine. I just don't have a driver to use with it.