[RELEASE] Envisalink App & Driver for Vista/Ademco/Honeywell Alarm via smartthings-nodeproxy

NOTE: There are 2 different integrations below #1 is native Hubitat, written by @doug who is no longer running Hubitat due to platform stability, so I've inherited it, though I don't run it in production. #2 uses the same integrations that redloro built for SmartThings which requires a Raspberry PI or some Linux system. It does not need a SmartThings device - this is the code I ported from ST, is linked below, currently still run, and provide support for in the current thread.

Option #1 - For Native DSC or Vista via Envisalink 3 or 4 go here. This version was originally written for DSC but a @cybrmage made some updates right before @doug left to add native Vista/Honeywell support. Because the Vista stuff was "beta" and I never got it working 100%, I still run Option #2 below. I believe DSC users use this version without issues. The link above is a clone from his repo, so use at your own risks. I'll gladly accept PR's to this repo if you fix your own issues. The thread for native DSC/Honeywell refugees/problems/support is here - please keep the native integration questions/issues here.

Option #2 - Personally, I use the smartthings-nodeproxy integration that redloro originally built for SmartThings - I have built a docker container to run this, so if you've already got this configured and running, you just need your config.json file for the docker container. If you are new to this, follow his original post is linked here in case you're doing this without a prior SmartThings setup - if you've not done this before read his post first. This integration just works and hasn't given me any issues in over a year when I ported it from St. You will need a spare (or shared) Rapsberry Pi or Linux system, this integration can be run with other tasks (ie you don't need a dedicated server). Another benefit is your HE isn't doing lots of work as this gets offloaded to your Linux system (which again is an issue with Option #1). If you're with me on using the smartthings-nodeproxy server and prefer an integration which is less complex than the native integration, then keep reading. If you have issues with Option #2, ask those questions in the current thread you're in.

  1. A working installation of smartthings-nodeproxy from redloro: GitHub - redloro/smartthings: SmartThings home automation services, apps and devices (which means you need another machine on your network to talk to your Envisalink; RPi works fine). Again, if you've not done this before on SmartThings, read redloro's post. This is not as "clean" as a native integration, but then again, I've not had any issues with the smartthings-nodeproxy in years. One tip that messed me up when moving over is: make sure only one copy of envisalink.js (or any .js file) is in the plugins dir for smartthings-nodeproxy or you will run into issues.

  2. You'll need to the MAC address of the device running your node proxy. This is a new requirement that wasn't necessary if you're moving from SmartThings to HE. You can use the 'ifconfig' command on your Linux system to obtain this.

  3. Requires your alarm has a single partition (feel free to adjust the code and send me a pull request)

  4. Requires you only have 1 HE device (or be installing this on your 1st hub - hub[0]).

  5. You'll need to configure HSM (i.e. give it some sensors to monitor in both ArmHome and ArmAway) in order for it to update status properly.

That's it - again, if you have issues, read and re-read the ST post from redloro - he does a much better job of explaining the nodeproxy setup as I haven't covered that here. If you think your config file is formatted correctly, you should verify it via https://jsonformatter.curiousconcept.com/ as this is a common problem - check your quotes!

v 1.0.1 - Fixed double disarm issue when disarming via keypad. Resolved the parseLanMessage error.

4 Likes

I just received my HE and I have everything already migrated from my Wink 2, and then some. Still have a little automation I want to add but I've not had this much fun in a long time. I have a Vista Automation Module that's already setup as the secondary controller for integration with my various home automation with my security system. I just found that you have already done all this work on the Envisalink, which I also have, and I'm so excited to get started on this now.

I'm just curious though, if I understand your summary above correctly, I will need to setup a Raspberry Pi running smartthings-nodeproxy. Is that correct? I'm hoping so as I haven't had the opportunity to get my feet wet with RPi yet so this would make it even more exciting.

Thanks for any feedback or advice you might offer.

Correct. You need a Linux system that is up 24x7 and Rpi is the easiest, imho. Here is a good guide: Install Raspbian Stretch Lite Headless ( setup Wi-Fi and activate ssh without access to command…

This worked beautifully! Didn't even need to reboot/update/etc my node. Thanks @brianwilson !!

1 Like

I'm interested in adding some more functionality to this. Namely, making the status appear in a dashboard. Is this possible? Perhaps I originally installed it incorrectly, but it does not seem to have any connection to HSM.

I tried adding the Honeywell Partition device as an attribute tile, but neither dscpartition nor panelstatus are available.

Perhaps there's a better way to do this?

Love the app by the way!

it works fine with HSM. Have you configured HSM?

THanks, Brian. I had HSM as an app created prior to installing your code. Perhaps there's something in HSM i need to do, i don't see any references to the honeywell partition device. While installing your code i made sure to click the hsm association toggle. What should i be seeing?

Hi Brian - First off thank you so much for all of the work you've done on these integrations. I'm trying to figure out if it's possible to manually create the devices or if they always need to be discovered. I tried (both in virtual containers and outside) and can't seem to get it to work. I did look through the code and noticed that there was a pipe separating honeywell and zone__ in the id but those devices still don't get updated like the ones that are auto discovered.

I am making sure that they are in the config file for the proxy server first and that the ids are unique.

Any thoughts? What direction should I explore to resolve this ?

Do you have any logs you can share? Is node proxy working successfully with SmartThings or is this a new install? If it’s working with SmartThings, you can only connect SmartThings or hubitat - you can’t do both at the same time. Perhaps this is your issue?

I'd be happy to share logs but not sure which ones would be useful. Here's a relevant log snippet from hubitat:

[app:130](http://192.168.0.15/logs#app130)2019-07-26 12:31:59.471 [debug](http://192.168.0.15/installedapp/configure/130)Honeywell Security: updateZoneDevices: 20 is open

[app:130](http://192.168.0.15/logs#app130)2019-07-26 12:31:59.468 [debug](http://192.168.0.15/installedapp/configure/130)Honeywell Security: Running Process Event [partition:1, zone:20, state:open, type:zone]

[app:130](http://192.168.0.15/logs#app130)2019-07-26 12:31:59.462 [debug](http://192.168.0.15/installedapp/configure/130)Honeywell Security: Partition Device: Honeywell Partition

[app:130](http://192.168.0.15/logs#app130)2019-07-26 12:31:59.451 [debug](http://192.168.0.15/installedapp/configure/130)Honeywell Security: Partition Device: Honeywell Partition
  • I'm not migrating from SmartThings
  • I can verify in both the proxy logs as well as in the hubitat logs that the integration is working
  • Devices are added to proxy server config
  • When discovery is used to create the devices they are setup and updating properly
  • When I manually create a device it does not seem to be recognized and does not receive events
  • All of the devices (motion and contact) that I'm playing with are also added to HSM

If you open a door/sensor what logs show (and don’t just narrow down to the Honeywell security device - look in all logs. Anything about “device x tried to send commands but doesn’t have a device associated with it”. Also, do you have multiple partitions on your alarm? This code only supports a single partition.

Also, you can't manually create the zones. They have to be children of Honeywell partition device to properly communicate.

Make sure you have some things setup in HSM. This is what I have. All of the contact sensors are auto-created by Honeywell Security.

Here is what it looks like when I click the HSM item in a dashboard. I only use Disarm, Arm Away and Arm Home.

Thanks Brian. Everything works except for manually created zones and you explained that one so it's all good.

Is there an easy way to get the zone devices to show up as component devices under the partition ? I'm still learning the Hubitat environment and if you point me in the right direction I can try to make the change myself.

What's the need for manually created zones if the main app creates them for you?

So when I add or remove zones I don't have to re-create or update automations that rely or reference them. It's definitely possible I'm missing something since I'm still learning.

Thinking is that you auto-create the zones the first time, then you leave them alone - even if you have to update the code you don't re-create them/auto-discover. You want things that depend on those zones to persist. So auto-create them the first time, and then they shouldn't change. If you add more zones to your alarm system, you will have to do auto-create again. The thinking is that your zones shouldn't change in your system very often, if they do, then I'm not accounting for this in the code as it exists today, for that to work, we'd need another flag "Only create new zones".

Thanks Brian. I'll see if I can make that change myself and submit a PR. As for grouping the zone virtual devices under the partition... is that possible? Is it an easy change? I took a look at adding support for virtual containers but it looks a bit more involved than what I can tackle right now.

Ok cool. I wasn't fully understanding, but now I do. Thank you!

Related question..I was under the impression there was a way to add a code entry for arming/disarming. Is that true? I can't find it. From research, it appears it's not quite available yet, except for the entire screen.

Nevermind, i found the pin stuff in the child settings. Love it! Thanks so much for the help!

Will this system create devices that can be used in other automations?
For instance: anywhere I have a door sensor on my alarm system now, will be a contact sensor I can use to, say, turn on lights?

Thanks,