[RELEASE] Honeywell / Ademco Vista 20P Integration



I have this almost perfectly working except I have two partitions on my Vista 20P configured for the house and the garage. Can someone provide me a sample of this working with two partitions of the config.json as I only see what button for each Arm, Disarm, Arm Away.


Did you get this working with the multiple partitions as I have the same issue, I cannot arm partition 2 as it keeps sending it to partition 1.

(Nate Zoneraich) #968

Hi @mike240se and @redloro

Just like you, I am trying to integrate my Honeywell Ademco Vista 20p security system into SmartThings, however, I am a complete novice at the coding part and never coded with raspberri pi and don’t even own one (yet)… however I am very eager to learn.

I have previously connected an Envisalink EVL4 interface to my Honeywell system which allows me to control the system remotely using the native EyezOn Mobilie App, however, I would like to integrate the Envisalink into the SmartThings platform so I can then use Amazon Alexa to verbally control (ARM only) the system, as well as use some of the built in states on SmartThings (Home, Away, etc) to incorporate the alarm status.

I have seen @redloro intial post and was going to use it as well, but it makes some assumptions that don’t apply to me – i.e. I don’t even know where to start when it comes to purchasing a raspberry pi or programming Node proxy server or Envisalink plugin etc. The first instruction/requirement of his great tutorial is:

****. SmartThings Node Proxy + Envisalink/AlarmDecoder plugin installed and configured on a machine;_ **

Would you or redloro be willing to walk me through the initial steps of setting up the raspberry pi with the above node proxy and plugin and I think I would be able to take it from there and follow the rest of the instructions to finish the integration.

I saw this on Amazon but not sure if it is appropriate for what I need to do to get this to work or if you have another suggestion:

The equipment I do already have:

Honeywell Ademco Vista 20p wired alarm system with 46 zones
Functioning Envisalink ELV4 connected to keypad slot #18 on my Honeywell system
Smarthings v2

I would really appreciate any assistance as this is a hobby of mine and seems like this type of next step is what I need to get more into it.

Thanks in advance!



I was hoping you can help me, I have this working with the system but when I click to arm partition 2 it sends the commend to Partition 1. Is there a example of the config.json with 2 partitions so I can see what I may have done wrong?


Has anyone been able to get this working on the new Samsung SmartThings app (not the classic app that we know and love)? I have looked through the posts in this thread, but didn’t find an answer right off. I have it working on the classic app, but knowing that it will eventually be deprecated I would assume that something will eventually be fixed once it is gone. I’m able to see it in the new app, but the functionality isn’t there entirely.

(John Johnson) #971

I am also having the same issue with a setup with 2 partitions. SHM status (armed, disarmed, etc) is being set by Partition 2, but manually clicking the arm or disarm command controls Partition 1. Anyone have a fix for this and know how to get SHM to work exclusively with Partition 1?


That kit will work. I had no experience with Raspberry Pi before setting this up a few weeks ago with a similar kit. You’ll also need a MicroSD card with the Raspbian (the OS) installed. I used a fast 32gb card - anything larger than that seems to require a more complex install process. You can also buy a card with the OS preloaded to save some effort, but the OS is free and there are step by step instructions online to set it up. You’ll also need an HDMI cable, mouse, and keyboard.

Here’s a walkthrough to set up the Pi (or Google can point you to others):

Here’s a walkthrough to set up Node:

Next, look a little farther down in redloro’s initial post in this thread. Under the FAQ section he has steps numbered 1 to 15 that describe the SmartThings Node Proxy setup. If you’ve followed the above two walkthroughs, you’ll be starting at step 5.

After that, follow redloro’s installation instructions (all of the above accomplishes step 1 that you referenced).

If all of that works, you’ll want to get the Pi set up to automatically start Node Proxy on boot so that it recovers after a power outage.

(Nate Zoneraich) #973

Thanks! I will find some time to see if I can make it happen.


I had to turn off my integration yesterday as it was sending arm command to a non existent partition 3 which kept arming partition 1 and setting off alarm. Seems this does not work to good if you have 2 partitions.

(John Johnson) #975

Hey rattler98, I’ve having the exact same issue with CHIME being turned on. In gives the Error: ignoring invalid data format from Envisalink message like you had and when CHIME is on the alarm status in SHM doesn’t behave properly. Did you ever this this worked out or did you just turn off CHIME? Thanks!


It’s been a little while, but I do believe the ultimate fix was to not enable the time through Envisalink but rather at the panel. I hope this helps.

(Nate Zoneraich) #977

Hi Phil,

Thanks for your vote of encouragement. I actually purchased the Raspberri pi 3.0 and got it all fired up this past weekend. I have loaded SmartThings Node proxy, and the appropriate plug ins, however, I did get confused in trying to follow redloro’s video instructions when it came to the Json stuff and configuration. I have 46 individual zones on my Ademco Vista 20p that I want to connect via the Envisalink – can you perhaps elaborate on how I do that part of it.

Here is the part from redloro’s instructions. Not sure what is meant by “so that it matches your configuration”.

  1. Copy the contents of config.json.sample and paste them here: http://jsonmate.com/ 228
  2. Edit the document so that it matches your configuration… remove all comments (anthing starting with //) and then click “Beautify”.
  3. Create a new file named config.json in your SmartThings Node Proxy folder
  4. Copy the contents of the json document into config.json

Also, you mentioned in your last email *you’ll want to get the Pi set up to automatically start Node Proxy on boot so that it recovers after a power outage. *

How exactly do I do that?

Also, did you create a static IP for the Raspberri pi, or do you just allow DHCP to assign the IP address to it? I’m worried, that if I move it or have to reset the network, it may get assigned a new IP address and not sure if it would mess anything up with communications between Raspberri pi, Envisalink, and Smartthings.




Ideally, you’ll want the Pi (as well as Envisalink and ST) to have static IP addresses. I think it’ll all break down if any component gets assigned a different address.

For the configuration, download https://github.com/redloro/smartthings/blob/master/smartthings-nodeproxy/config.json.sample and start editing. The file is set up with sections for each of redloro’s plugins (each begins with a comment line that starts with //), so delete all of the sections that don’t apply (leaving only the first, last, and Envisalink sections).

In the // SmartThings Node Proxy section, change the authCode (I think it can be whatever you want, just write it down as you’ll need to enter the code in the ST app later).

In the // SmartThings Hub section, change address to match the IP address of your ST hub.

In the // Envisalink Vista TPI section, update address to match your Envisalink IP address and password to match your Envisalink password. If you want to be able to arm/disarm through ST, you’ll need to put a valid alarm pin for securityCode.

The most time-consuming part for you will be that you need to list each of your 46 zones in the zone section. The zone # needs to match the actual zone number in your alarm panel. Type can be contact, motion, or smoke. Name should be whatever you want the zone to show as in ST (doesn’t need to match the zone names in the alarm panel).

Make sure you follow the existing syntax as you edit/add - placement of braces and commas is important, as is the use of quotation marks.

Next, delete all comments and follow the steps to beautify and save to the correct file name.


To get it to start on boot, see if you can follow the discussion beginning around post 533. I hadn’t found that part of the thread when I was setting mine up, so I fumbled through it using cron instead.

(Nate Zoneraich) #980

Thanks – I’ll give it a shot later this week or weekend.


Does this still work with out any other accessories like raspberry Pi. I keep on getting this error when I look at the live event tracker:

4:19:18 PM: error Command Type: [body:userName=(Name) &password=(password)&ApplicationID=14588&ApplicationVersion=3.0.32, callback:refreshAuthenticated, path:AuthenticateUserLogin, retry:0, handler:login] failed with ResultCode: -100 and ResultData: Authentication failed

I know it is loging on to TC because if I try it enough it locks my account for 30 minutes.


(Sam Achenbach) #983

I am using an AD2USB to connect to a rasberry pi. I am able to control the alarm system using the Pi without issues. I setup the config file and moved the ad2usb plugin into the plugin folder. I have all of this on a usb plugged into the rasberry pi. Node has been installed and I am able to get versions for both node and npm. When I run “npm run install:ad2usb” and it runs for a while and then I get this error.

npm ERR! path…/mkdirp/bin.cmd.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! syscall symlink
npm ERR! Error: EPERM: Operation not permitted

It continues from there and then says the operation was rejected by the operating system. I have had no issues up until this point, and I am unsure how to proceed.


Are you saying that you have the SmartThings Node Proxy files on a USB drive? If so, I’d try moving them to the Pi’s SD card.

(Sam Achenbach) #985

I have tried doing this but was unsuccessful, which is why I just left it on the usb. The usb is recognized and is name /usbdrv/ with the only folder on it as smartthings-master. The command I tried was:

mv ./smartthings-master/ /usr/local/

The error I get is: Cannot create directory /usr/local/smartthings-master: Permission Denied

How can I get permission to move the folder? Or is there somewhere else I should be moving this too.


/usr requires root permission. Instead, I’d recommend putting it in /home/pi for simplicity (change pi to your user name if it’s something other than pi) since you have full permissions there.

Or, to execute your move with root permission, just add sudo before mv. I don’t know if you’ll get hung up with permission issues later though if you put it in /usr.

I’m guessing your error when trying to install is that npm doesn’t like how your USB drive is formatted. It needs an EXT4 file system.