[OBSOLETE] Honeywell / Ademco Vista 20P Integration

Great! I’m glad it’s working! The three important files (server.js, config.json, and envisalink.js) are all in the right place now.

I have a DSC Power Series PC1832 System and a EVL3 and I have been reading this thread for a couple hours and came across this!

Can you possibly provide some instruction so I can use this with my DSC system?

Your efforts with this plug-in are extraordinary and greatly appreciated!

I don’t think anyone has created a plugin for STNP that will work with a DSC panel yet. The Envisalink/DSC TPI uses a different set of codes from what is used for Envisalink/Vista. The TPI is well documented though, and redloro’s plugin structure is easy to work with. It should largely just be a matter of changing the codes that are sent/received and accounting for the checksum. The envisalink.js plugin would be a good base, though some changes to the logic might be necessary since my understanding is that the DSC panel provides better information to the Envisalink (most notably, notification when a zone clears).

However… I think most are using the following solution to integrate DSC panels with ST:

After much research, I have discovered a product called Konnected. It simply replaces, or works along side of, your currently installed security system and it’s wired zones. Allows full control of security system through phone or tablet . Allows me to use a wall mounted tablet in place of my old keypads.

Considering you already have an EVL3, that’s not the direction I would go with your integration. A few things to consider if you go that route:

  • The tablet displays shown on the Konnected website are running ActionTiles, which is an excellent dashboard that works with ST regardless of how (or whether) you choose to integrate the alarm.
  • If you remove your existing keypads, you will not be able to arm/disarm your alarm if your internet connection or the ST cloud is down.
  • Konnected works with wired sensors. I’m not familiar with the DSC setup, but most Vista installations have wireless sensors that are not compatible with Konnected.

That said, the Konnected set up process doesn’t involve setting up a local server (many people use an inexpensive Raspberry Pi) as a middle man, so that may make the install easier for you. Whatever you choose to do, best of luck to you!

I’ve been using this solution with EVL4 on my Vista20P system since Jan 2017 and it’s been great! I then added HA Bridge to my rPi3 in 2018 to allow Amazon Alexa to arm/disarm via voice. I recently noticed that EyezOn has released their Amazon Alexa Skills so enabled it on my account. With this new skill, it is now easier to check on status of doors/etc, arm/disarm panel, run Alexa routines without needing to have my phone or go to tablet on wall or use alarm keypad as we have Alexa devices throughout the house. In case others might be interested Amazon Alexa Envisalink Skill

The new skill allows you to ask Alexa about the status of all non-motion zones and the status of any and all security systems on your account. You can say things like:

Alexa, is the garage door open?
Alexa, arm my home in away mode
Alexa, disarm home
Alexa, what is the temperature in the house?
Alexa, change thermostat to heat
Alexa, set thermostat to 73 degrees

1 Like

I know nothing about nodejs, can i limit the sever to only listening on a specific network device? I run a ClearOS Server which is my internet gateway, and don’t want the nodejs server to be accessible to the internet.

Answer might be here, but I’m not a programmer.

perhaps as simple as adding “localaddress”: 192.168.0.1

https://www.google.com/search?q=how+to+bind+node+to+only+one+network+interface

I’ve been using this for a while now! Zero problems (knocks wood).

I am about to migrate over to the new SmartThings app. gulp

What is it that I need to do to continue to use this integration with the new app?

I got it working!!! Honeywell Vista-128BPT, Envisalink v4, & node proxy server running on my clearOS server.
I checked my assigned port and it is closed, but only because the port on my fire wall is closed. I still would like to get it so the node server doesn’t ever answer the network card assigned to the internet.
I still need help getting the correct command to start a service with “systemctl start smartthings-nodeproxy”

ExecStart=/usr/bin/node /root/smartthings-nodeproxy/server.js

edit: now it is working after a hour later…

this might be a smartthings problem but now my devices are not populating. worked first time, then i discovered i was missing one so i added it, then only half would populate and now none.

{
“port”: 8090,
“authCode”: “authcode”,
“envisalink”: {
“address”: “192.168.2.8”,
“port”: “4025”,
“password”: “password”,
“securityCode”: “1234”,
“dumpZoneTimer”: “0”,
“panelConfig”: {
“type”: “discover”,
“partitions”: [
{
“partition”: 1,
“name”: “Security Panel”
}
],
“zones”: [
{
“zone”: 1,
“type”: “smoke”,
“name”: “HW Smoke Detector”
},
{
“zone”: 2,
“type”: “contact”,
“name”: “HW Front Door”
},
{
“zone”: 3,
“type”: “contact”,
“name”: “HW Garage Door”
},
{
“zone”: 4,
“type”: “contact”,
“name”: “HW Back Door”
},
{
“zone”: 5,
“type”: “motion”,
“name”: “HW Motion LR”
},
{
“zone”: 6,
“type”: “contact”,
“name”: “HW Sound Kitchen”
},
{
“zone”: 7,
“type”: “contact”,
“name”: “HW Sound Master BR”
},
{
“zone”: 8,
“type”: “motion”,
“name”: “HW Motion Master BR”
},
{
“zone”: 9,
“type”: “motion”,
“name”: “HW Motion Master Closet”
},
{
“zone”: 11,
“type”: “contact”,
“name”: “HW Window Kitchen #1
},
{
“zone”: 12,
“type”: “contact”,
“name”: “HW Window Kitchen #2
},
{
“zone”: 13,
“type”: “contact”,
“name”: “HW Window Kitchen #3
},
{
“zone”: 14,
“type”: “contact”,
“name”: “HW Window Kitchen #4
},
{
“zone”: 15,
“type”: “contact”,
“name”: “HW Window Kitchen #5
},
{
“zone”: 16,
“type”: “contact”,
“name”: “HW Window Kitchen #6
},
{
“zone”: 17,
“type”: “contact”,
“name”: “HW Window Kitchen #7
},
{
“zone”: 18,
“type”: “contact”,
“name”: “HW Window LR #1
},
{
“zone”: 19,
“type”: “contact”,
“name”: “HW Window LR #2
},
{
“zone”: 20,
“type”: “contact”,
“name”: “HW Window LR #3
},
{
“zone”: 21,
“type”: “contact”,
“name”: “HW Window Master BR #1
},
{
“zone”: 22,
“type”: “contact”,
“name”: “HW Window Master BR #2
},
{
“zone”: 23,
“type”: “contact”,
“name”: “HW Window Master BR #3
},
{
“zone”: 24,
“type”: “contact”,
“name”: “HW Window Master BR #4
},
{
“zone”: 25,
“type”: “contact”,
“name”: “HW Window BR1 #1
},
{
“zone”: 26,
“type”: “contact”,
“name”: “HW Window BR1 #2
},
{
“zone”: 27,
“type”: “contact”,
“name”: “HW Window BR2 #1
},
{
“zone”: 28,
“type”: “contact”,
“name”: “HW Window BR2 #2
},
{
“zone”: 29,
“type”: “contact”,
“name”: “HW Window BR3 #1
},
{
“zone”: 30,
“type”: “contact”,
“name”: “HW Window BR3 #2
},
{
“zone”: 31,
“type”: “contact”,
“name”: “HW Window DR #1
},
{
“zone”: 32,
“type”: “contact”,
“name”: “HW Window DR #2
},
{
“zone”: 33,
“type”: “contact”,
“name”: “HW Window GR Left”
},
{
“zone”: 34,
“type”: “contact”,
“name”: “HW Window GR Right”
},
{
“zone”: 35,
“type”: “motion”,
“name”: “HW Motion GR”
}
]
}
},
“notify”: {
“address”: “192.168.1.196”,
“port”: “39500”
}
}

My motions which are hardwired to the alarm panel are awful chatty with SmartThings. Up to 6 events per minute, would be nice to have a setting in the node server to allow only one event per minute for motions. Perhaps user definable.

@redloro

I have followed the procedure but the smart app is hanging up after configuring it. I click save and it says saved successfully but I do not get tiles…it goes back to the smart app configuration.

The nodeproxy is installed and connected to EVL-4. I can see updates as I open and close doors. I am running Windows 10 with STHub version 3 (model IM6001-V3P01) and Envisalink EVL-4 and Honeywell Vista 20P. I am not using rasberry pi because I am not familiar with it. Dont know if this is the cause of the problem.

My log file looks like this:
11:07:23 AM: error groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.String#.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class [B]
[class [C]
[class java.lang.String] @line 262 (getHttpHeaders)

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 11:07:23 AM: error groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.String#.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class [B]
[class [C]
[class java.lang.String] @line 262 (getHttpHeaders)

f141b6aa-6a6f-4b7a-a5d1-c7f794a366a0 11:04:48 AM: trace getPhrases(), state.welcomeIssue = null

f141b6aa-6a6f-4b7a-a5d1-c7f794a366a0 11:04:48 AM: trace getPhrases(), state.welcomeIssue = null

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:58:53 AM: error groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.String#.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class [B]
[class [C]
[class java.lang.String] @line 262 (getHttpHeaders)

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:57:41 AM: trace Honeywell Security send command: /plugins/envisalink/discover

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:57:41 AM: trace Honeywell Security send command: /plugins/envisalink/discover

f141b6aa-6a6f-4b7a-a5d1-c7f794a366a0 10:57:38 AM: trace getPhrases(), state.welcomeIssue = null

f141b6aa-6a6f-4b7a-a5d1-c7f794a366a0 10:57:38 AM: trace getPhrases(), state.welcomeIssue = null

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:57:36 AM: trace Honeywell Security send command: /plugins/envisalink/config/192.168.1.85:4025:7733:3591

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:57:36 AM: trace Honeywell Security send command: /subscribe/192.168.1.84:39500

a84a94ca-5f72-4d31-8bc7-5a9b6f810851 10:57:36 AM: debug getChildDevices(true), children=0

My config.json file is
{

“port”: 8080,
“authCode”: “XXXX”,

“envisalink”: {
“address”: “192.168.1.85”,
“port”: “4025”,
“password”: “XXXX”,
“securityCode”: “XXXX”,
“dumpZoneTimer”: “0”,

"panelConfig": {              
  "type": "discover",
  "partitions": [
    {"partition": 1, "name": "Security Panel"}
  ],
  "zones": [
    {"zone": 1, "type": "smoke", "name": "Smoke Detectors"},
    {"zone": 2, "type": "contact", "name": "Front and Laundry Room Door"},
    {"zone": 3, "type": "contact", "name": "Kitchen and Study Windows"},
    {"zone": 4, "type": "contact", "name": "Back door"},
    {"zone": 5, "type": "contact", "name": "Master bedroom windows"},
     {"zone": 6, "type": "contact", "name": "Guest Bedroom Windows"},
     {"zone": 7, "type": "contact", "name": "Glass break detectors"},
     {"zone": 8, "type": "contact", "name": "Carbon monoxide detector"},
     {"zone": 9, "type": "contact", "name": "Garage door sensor"}
  ]
}

},

“notify”: {
“address”: “192.168.1.84”,
“port”: “39500”
}

}

Any help you can provide would be appreciated. Thank you in advance.

Do you have a pressing need to migrate to the new app? If not, I’d recommend that you stick with the old app. You’ll be able to get the individual zones to work in the new app, but not the partition. You’ll have to set up individual virtual switches to control each button on the partition.

Hi Big_Webstas

I am trying to get the smart app setup and I am getting the same error messages regarding GroovyRuntimeException and java lang. Have you resolved this? If so any help you can provide would be appreciated. Thanks

Did you enter the correct password? Sounds like the app isn’t connecting to node.js.
If you clear the junk out of the field I the app, then the app gives you a description of what it is after…

Do you have a firewall on your Windows machine that’s running the node server? If so, you’ll need to make sure that port 8080 is open. In a web browser on a different device on the same network,
try hitting 192.168.1.XXX:8080 (using the IP of the node server machine) and see if you get a message that the node proxy server is running.

I have tripled checked the passwords and they are correct. I disabled the firewall on my windows machine. Thought this might be the answer. I went to another machine on the network and entered 192.168.78:8080. I get the reply “status:smartthings node proxy running” so I have ruled the firewall out.

I then reconfigured the smartapp on my phone. It says update successful but then it brings me back to the automation menu. I do not get any of the smarttiles.

I had the smartthings-nodeproxy directory in my root directory so I moved it to a directory /home as shown in the original posting…that is…
/home/smartthings-nodeproxy/plugins.

At a command prompt after node server.js entered it says loaded plugin:envisalink and connected to envisalink at 192.168.1.85:4025 so it looks like the node proxy is running.

In reviewing the logs it looks like it hangs up after the command /plugins/envisalink/discover.

My log file is:
getPhrases(), state.welcomeIssue = null
getPhrases(), state.welcomeIssue = null
debug parsed 'zw device: 02, command: 8407, payload: ’ to [[descriptionText:Garage door woke up, isStateChange:false, displayed:false, linkText:Garage door], physicalgraph.device.HubMultiAction@995503f]

trace getPhrases(), state.welcomeIssue = null
trace getPhrases(), state.welcomeIssue = null
trace Honeywell Security send command: /plugins/envisalink/discover
trace Honeywell Security send command: /plugins/envisalink/discover
trace getPhrases(), state.welcomeIssue = null
trace getPhrases(), state.welcomeIssue = null
trace Honeywell Security send command: /plugins/envisalink/config/192.168.1.85:4025:XXXX:XXXX
trace Honeywell Security send command: /subscribe/192.168.1.84:39500
debug getChildDevices(true), children=0
trace getPhrases(), state.welcomeIssue = null
trace getPhrases(), state.welcomeIssue = null

Do you think it is windows? I am using EVL-4 and have the SThub version 3…would this be it ?Any suggestions would be greatly appreciated.

The error seems to be that the response from the node proxy server has a null header. So something funny is going on in the communication between the ST hub and the node server. I don’t think it’s the fact that it’s a Windows machine - others have gotten it to work on one.

What do you see in the STNP logs on the Windows machine when the smartapp runs discovery (run discovery by hitting save in the settings)?

In the smartapp settings, confirm that Proxy Address is the IP of the Windows Machine. Also, delete and retype the 8080 for Proxy Port (ST has trouble with default values left unchanged).

I am making progress. I was using the wrong proxy address in the smart app configuration. I changed it to the IP address of this windows machine and got the attached log. I now have repeating errors that say resync failed code=429. Not sure what this means.

There is a lot more in the log file that I could not print screen. I could copy and paste it to an attachment if this will help.

Any suggestions? Thank you for your help

Those errors aren’t related to this smartapp. There are only a couple of lines that are - the two that start with “a84a94ca” in blue. At the top of live logging, there are links for each device/smartapp that has posted a log since you opened the window. Use those to filter to one device/smartapp at a time.