[OBSOLETE] Honeywell / Ademco Vista 20P Integration

I’m new to SmartThings, but I love tinkering and technology. I am not a dev, but work in software development, so I’m able to understand most of the things I need to do to connect my Vista20 alarm to SmartThings. I was originally going to go with the AD2SmartThings connection, but because the SmartThing ThingShield is discontinued, that is no longer an option. Luckily I found this thread and I’m excited to go ahead with this option, but I want to make sure I understand the hardware I need.

My pc and router are located in a different room than my alarm panel, so I would like to go with the raspberry pi option. The Raspberry Pi 3 Model B includes WiFi and an ethernet port. Can I use the built in ethernet port to share the wifi connection with the EnvisaLink board or is there a better/different way to go about doing this?

Also, the Envisalink EVL-4 and EVL-3 are the same price online. Is the code in this project compatible with EVL-4 or do I need to get the EVL-3?

Thank you so much in advance for your assistance.

Hey @Chris_P… if you already have a machine that’s on 24/7 you can use that… you don’t need an RPi. What you’ll do is connect the EVL to your Vista 20p… and connect the EVL via ethernet to your network. The SmartThings Node Proxy will run on a host machine and proxy communications between SmartThings and the EVL. There’s a little graphic in the first post of this thread.

If the issue is that you can’t connect the panel to the network, then there are a couple options:

  • If you have a spare Cat5/6 or 4 wire run, just tie one end into your 20p (or daisy-chain with an existing keypad… see this thread: http://forum.micasaverde.com/index.php?topic=26008.0) and the other end to the EVL… the EVL doesn’t have to physically sit inside the alarm panel enclosure. Then connect the EVL to your router.
  • Buy a WiFi-Ethernet adapter, install the EVL at your panel… connect the EVL to the WiFi-Ethernet adapter and it’ll connect to your network via WiFi.
  • Buy an AD2USB or AD2Serial instead… I’ve built a modified version of this plugin (to be released soon) that works with the Alarm Decoder instead of the EVL. You can connect one of these to the panel… then connect that to a RPi via USB… and the RPi would sit on your network (wired or wireless).

You can get the EVL-4… works the same.

Thanks for the info @redloro. The reason I’d prefer to go with the RPi is so that it is on a dedicated machine to run this automation and it is not dependent on my pc being on 24/7 or having to start over when I replace the pc. I found that you can share the RPi’s WiFi Connection, so that will provide internet to the EVL4 in closet where the alarm panel is located.

As for the plugin for AD2USB, do you have an ETA of when that will be available? From my standpoint, the cost is about the same, so the only difference is sharing the internet to the EVL4 or using a USB cable to connect the AD2USB to my network. Is there a difference in functionality, reliability, or performance with getting notifications or updates in SmartThings?

Thanks,
Chris

I’d say within a week or so? It’s already in use by another forum member… I just need to pack it up and make it avail.

Even though the RPi is completely capable of connection sharing/bridging wifi and LAN traffic, it could get a little tricky…

Not that I have seen… they seem to provide the same functionality.

All these options will work… just depends on what’s easiest for you.

I still have to order the boards, so by time they come in, you may have it available. Since there is no performance or functionality differences, it sounds like the RPi to AD2USB is the best solution for me.

Thanks again for your assistance. As soon as you make it available, i’ll definitely provide feedback to assist you.

Thanks @redloro this is awesome!!!

I had some hiccups along the way, mainly getting the RPi networking so that I could connect the EVL to it, since I didn’t want to connect the EVL directly to the router or run an ethernet cord all that way. (Though now I see maybe there could have been other alternatives)

Now I am running into an issue with automation. The Smart Home Monitor is not “linking” with the Honeywell Security app. So when the SHM goes to Armed(Away) nothing happens to the alarm panel. I saw in the thread a ways back a couple folks ran into this but it just magically started working for them. Any ideas how I can debug it? One guy mentioned he removed everything from the IDE and started over, I can try that this weekend.

Just curious if there are any alternatives to getting the alarm to arm automatically with automation rules if I can’t get the SMH linking to work?

Thanks!

Yeah sucks when the SHM doesn’t work right… the easiest way I know of tying this into automation rules is to create a virtual switch for the different events (ie. arm/disarm) and then use the virtual switch in your automation routines. There may be other ways too??

Let me start off by saying @redloro is the man! I was having lots of troubles getting this software to work (more on that later) and he was gracious enough to call me and remotely diagnose it. I am extremely grateful. It’s not everyday the developer makes himself available like that. The smartthings community in general is amazing. Everyone is helpful and willing to contribute their work to the public

This is the integration I’ve been dreaming of. I now have the ability to tie my automation system into my security system. I can use the embedded contact sensors in my windows in the rest of my home automation system. I really didn’t want to buy a bunch of bulky expensive z wave contact sensors and stick them on every window and door when I already had sensors wired already. Honeywell’s VAM is also capable of z wave home automation with the security system. However, the VAM is closed sourced, depreciated, and extremely limited in it’s automation abilities. This solution by redloro is far superior. If you’re on the fence about a VAM or integrating your security system into your automation system, follow redloro’s guide, download this integration and buy an envisalink!

I have a few suggestions, first, a notification system. One that sends a push notification to your phone when a zone opens. Smart home monitor does this, but I’ve found it’s not super reliable, and only sends notifications when the system is armed. I would like a notification when a door opens even when my system is disarmed, and the option to get recieve other security based alerts. Next, a delay in SHM. SHM will trigger an alarm in smartthings as soon as a zone opens. Traditionally there is a delay when an entry door is opened. This is a design flaw by Samsung. It is annoying, and renders any automation based off a break-in useless. There could be a way around this by a fix to this smartapp. Also, a keypad in the Honeywell Security page would also be useful. That way I can preform more complex opperations to my panel. That way I can program my panel from my phone without needing to be physically in front of my vista keypads.

Faulty Hub Diagnosis -

As it turned out, I had a faulty v2 hub. My hub failed to run some of the commands in the smartapp, and therefore wouldn’t discover any of my security sensors. I received no error messages, but rather a lack of sensors and any messages in the logs. If you’re having trouble getting this app to run, first check the live logging tab in the IDE for errors. Then after you press done on the app config on your phone you should see /plugins/envisalink/discover in the logs. If you don’t, change line 81 in the SmartApp to read discoverChildDevices() then try again. That eliminates the runIn() command. If you test it again and see the discover command sent in the live logs you most likely have a faulty hub. For some reason the hub fails to execute some commands causing the smartapp not to work.

Yes I think there needs to be a change to the Honeywell Panel device handler for CoRE to see the attributes. Not sure if this is the best way but it works.

I added the two attribute lines and can now access both in core.

attribute "dscpartition", "String"
attribute "panelStatus", "String"
  1. thank you for a marvelous application, I got my EVL today and had it up and running with the proxy in about 2 hours. I have this error:
    017-01-18T23:41:57.569Z] [stnp] ::1 GET /vsm/health.xml
    017-01-18T23:41:57.569Z] [stnp] Authentication error
    017-01-18T23:42:00.189Z] [stnp] ::1 GET /eam/eamService-web/health.xml
    017-01-18T23:42:00.189Z] [stnp] Authentication error

constantly scrolling in the proxy, I have no idea where it is getting it error from.

Any Ideas?

Thank you in Advance to any who answer

Yeah… looks like you’re running on a VMWare instance?? Looks like a vSphere health check of some sort… it’s not an error with the STNP, rather it telling you that someone is trying to access that resource and it’s not letting them. So either turn off the vSphere health check (or whoever is the culprit) or just mute the STNP logging.

You are absolutely correct, I am running it on a virtual machine. How do you mute?

Thank you for the response

This e-mail is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. Any review, dissemination, copying, printing or other use of this e-mail by persons or entities other than the addressee is prohibited. If you have received this e-mail in error, please contact the sender immediately and delete the material from any computer.

Comment out lines 40 and 45 in server.js

That stopped the errors, thank you for your outstanding APP, and even more for your assistance

This e-mail is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. Any review, dissemination, copying, printing or other use of this e-mail by persons or entities other than the addressee is prohibited. If you have received this e-mail in error, please contact the sender immediately and delete the material from any computer.

No problem… :thumbsup:

Another question, is there a way to have the display for node show Local time vice Zulu

found out how:

Changed line 31 in Envislink plugin to:
console.log("[%s] [%s] %s", new Date().toLocaleString(), mod, str);

change line 26 in server.js to:
console.log("[%s] [%s] %s", new Date().toLocaleString(), mod, str);

Console is then in local time

I was hoping it was me, but apparently I do have a problem. The STNP stops updating, no errors show in console log. But the node is aparently still running because when I close it, I get the tli logout message from envisalink. This is on a windows machine, can someone tell me how to debug this ( I have not programmed since pascal)

What seems to be the issue? Are you opening/closing a door and you don’t see any updates in the console? Is there another zone that is open? What is the status displayed on your physical keypad?

Keypad is showing the alarm (both motion and doors opening), console log shows nothing, but control -c exits the server and gets me the logout of tli message