Author Topic: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM  (Read 25397 times)

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
[COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« on: February 09, 2009, 05:54:59 am »
EDIT: Thom, myself, and Ritmo2k have been working to get this device supported.  It is finally done and is to date the only fully supported security interface.  Remember the VistaICM supports dozens of panels, is affordable, and is ethernet so adding it to your network is a breeze.

Features:
  • Full control over panel modes from LMCE
  • LMCE monitors panel mode changes from keypads and acts accordingly
  • Zone monitoring
  • Trigger events from zone sensors
  • Virtually everything that works when using LMCE as your security panel is supported with this interface


Known Bugs:
  • When panel is in alarmed state LMCE's mode and the panel's mode can become out of sync
  • When panel is set to alarm stay LMCE stops monitoring packets and will not see zone faults
  • C++ device can crash randomly, more investigation needed to find out why

We need to get more people testing this to make sure it is completely bug free, especially since it is supporting a security device.  Post your interest in this thread.


I have posted about this in the past and have gotten several emails from other users who currently have one of the Vista series panels, it is important to note at this point that the interface device which is what I'm really looking to get supported would enable any panels it is compatible with to integrate with LinuxMCE as well.

A brief rundown of the setup, my panel does not have a network or serial connection natively so I needed to look at alternative methods and found the VistaICM module from In2 Networks.  It connects to the panel as a keypad and provides a nice web interface that communicates with the panel on the ECP bus.  The beauty of this method is that we can recieve all relevant information from the panel such as it's current status (arm - stay/arm - away/disarm/etc.).  We can also see the current state of each zone so we can monitor for zones to be faulted and trigger other events in LinuxMCE based on that event.  Along with that we have the capability to set the arm/disarm status on the panel from LinuxMCE so it is possible to make this a fully supported panel.

Diagram of connectivity:
Vista Series alarm panel - VistaICM - LinuxMCE network - Core

I had done quite a bit of research on the VistaICM device in my endeavor and have recently been directed to a link which thoroughly describes the technical workings of the VistaICM for interfacing with projects such as LinuxMCE.  This document provides all necessary information to get this panel working, all that we need now is a developer willing to put the DCE driver together for it.  The link can be found here: http://bliny.net/blog/post/HoneywellAdemco-Vista-ICM-network.aspx

Once I realized that the communications protocol was fully documented along with root access via telnet I dug into my panel and extracted the underlying javascript file that everything is operating on.  I do not have the required skillset to actually do anything with this, but I have attached the file to this posting in hopes that is will aid any developer interested.  (Filename: in2script.js)
Lastly, I have also found that this interface has already been integrated to HomeSeer using the same method as described above.  I contacted the author of their plug-in to find out more information and to get ahold of the source code.  He was more than willing to share his source, it is also attached to this posting.  Again this is posted as information for any interested developer.  (Filename: 1.0.1.1_HSPI_VISTA_ICM.zip)

Hopefully that is enough information to peak the interest of someone with the required skillsets.  I believe I've got all the needed information regarding communications rounded up at this point, please let me know if anything else is needed.
« Last Edit: April 07, 2009, 03:12:11 pm by los93sol »

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: Ademco/Honeywell entire Vista series via VistaICM
« Reply #1 on: February 13, 2009, 02:37:40 pm »
If someone experienced with Ruby and DCE has some time tonight I'd like to work on this, but will need someone to help me along.  There was a call out recently for assistance with getting more hardware supported and these panels are the same models already used in a large majority of US households so it would be a worthy investment of time.

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: Ademco/Honeywell entire Vista series via VistaICM
« Reply #2 on: February 16, 2009, 10:50:30 pm »
I'm attempting to write the code myself and have decided that the first thing I want to be able to do is to set the alarm, I will be starting with the following basic modes but have some questions:

Disarmed
Armed - Stay
Armed - Away

I presume I will need to be clever when setting this up to take advantage of the additional modes supported by LMCE, I am thinking I could "map" the panels modes to LMCE's modes as follows:

Panel               LMCE
Disarmed          Disarmed
Armed - Away   Armed
Armed - Stay    Sleeping
Armed - Away   Extended Away
Disarmed          Entertaining

The first question that I have is that since LMCE uses a single pin code to set every mode and my panel uses a different pin code for each mode, how do I handle this situation?  LMCE will tell me that my pin is incorrect whenever I try to set a mode on my alarm panel.

I've been looking through the ruby codes written for both the panaonic IP camera and the Apex 6100 security panel to get a better idea what I am doing and I've been able to decipher most of the code, but I'm having trouble figuring out how the path is built to the panasonic IP camera.  I can see that when a device is set to ethernet communications that a field is automatically created for the IP address but can't tell how it is called in the Ruby codes.  If someone could break down the following code for me I think I could start making some progress.  This excerpt is from the Panasonic IP cameras template, it is to tilt the camera up.  I've noted what I think the lines do, please correct as necessary.  Also if someone could explain what += does in Ruby that would be helpful.

conn_.Reconnect()  //Tell the device to establish a new connection to the camera
auth_s=device_.devdata_[114]+":"+device_.devdata_[115]  //Get the username and password
auth_a=Array.new; //What is this array used for???
auth_s.each{|c| auth_a.push(c)} //I see the array used, but I have no idea why or what this line does
s = "GET nphControlCamera?Direction=TiltUp HTTP/1.0\r\n" //Fill in the URL to tilt the camera, why is HTTP/1.0\r\n attached to the end of this?
s+= "Accept: */*\r\n" //I have no idea what this does
s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n" //Again I see the array, but I have no idea what this does
s+= "\r\n" //What does \r\n do?  and what is its purpose here?

conn_.Send(s) //Send the command we just built above to the camera
recv=""while(true) //Process the data received from the camera
  buff=conn_.Recv(256, 5000) //No clue what these arguments are for and what they are from?
  if(buff.length() == 0)  //If we are not receiving data then stop processing
     break
   end
   recv = recv +  buff //What the heck is this?
end

Pablo

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Ademco/Honeywell entire Vista series via VistaICM
« Reply #3 on: February 17, 2009, 05:55:22 am »
+= is likely the concatenation operator that connects strings together. (I have no Ruby experience, just C, Python, C++, Java, Perl, BASH, etc...)

The r and n is a carriage return and line feed combination. This looks like it is sending RAW http requests over the wire. When you type stuff into a web browser, email client, or ftp server-- the URL or request you type in the little window is not what is sent. What is sent is converted by the web browser into the raw protocol being used. In this case your are contacting the server with the GET protocol of HTTP. So you see the GET... The rest of the stuff you are seeing is the protocol in its raw form being sent over the wire.

In this example it looks like auth_s is being used to transform some data held in auth_a. I am not familiar enough with RUBY to tell you what this is doing exactly.

conn_.Recv(256, 5000)

My guess is that 256 is the buffer size used. 5000 could be the socket. A good Ruby manual or API would clarify this bit.
ecv = recv +  buff //What the heck is this?

You are building recv from the buffer of 256 bytes by appending the buffer to the contents of recv as long as data is received.

« Last Edit: February 17, 2009, 06:13:08 am by Pablo »

Frostcall

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Ademco/Honeywell entire Vista series via VistaICM
« Reply #4 on: February 19, 2009, 07:11:14 pm »
I currently have a DSC PC1616 (rather low end, but it was pre-installed).  I'll see what I can do to help out.  I have a little programming experience (very little).  Although it's not your model, I'll try to get something working on this line and if not, I'll go by a Honeywell.

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: Ademco/Honeywell entire Vista series via VistaICM
« Reply #5 on: March 25, 2009, 07:21:02 pm »
Just wanted to update this post since I've found that most ADT installed panels are inline with the series of devices supported by the VistaICM.

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #6 on: April 07, 2009, 03:59:19 pm »
Edit for completion

qball4

  • Veteran
  • ***
  • Posts: 78
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #7 on: April 08, 2009, 01:30:17 am »
Well done gentlemen! I have a Vista 4140XMP and will be ordering the VistaICM shortly so will be able to help with any further testing. The best price I've found so far is about $250 - is that about right or is there a preferred vendor?

As an afterthought, does anyone forsee any issues with using a wireless bridge to connect the ICM to the network? I would *really* like to avoid having to run a cable from the second floor to the basement...

:Matt

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #8 on: April 08, 2009, 03:44:31 pm »
It should work just fine on a bridge, though it has not been tested yet.

los93sol

  • Guru
  • ****
  • Posts: 396
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #9 on: April 15, 2009, 09:48:02 pm »
Wiki page up now http://wiki.linuxmce.com/index.php/VistaICM

We need to get more people testing this, PM me for details.

ccoudsi

  • Guru
  • ****
  • Posts: 244
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #10 on: May 06, 2009, 01:11:53 am »
I just ordered my panel today, I should receive it next week, FYI, Here's what I ordered from "http://www.SecurityStoreUSA.com/":
Ademco / Honeywell VISTA ICM - Honeywell Internet Connection Module for VISTA - VISTAICM
Ademco / Honeywell V20PACK - VISTA-20P control + 6150 keypad + Aurora PIR + Wave2 2-tone sounder + 467 battery + 620 jack and 621 cord
$243.79
$167.75
Cheers |[BEER]
Charlie,

ccoudsi

  • Guru
  • ****
  • Posts: 244
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #11 on: May 19, 2009, 05:49:41 am »
I just received my panel (Honeywell Vista-20P) and accessories, connected everything in stand-alone, everything worked perfect, "keypad, motion sensor, web-keypad (ICM module), & Siren".
I updated my LMCE 8.10 to the latest 2.20 release, disconnected the ICM module from my external network (192.168.0.x) and connected to my LMCE internal network (192.168.80.x), and I recycled the power of the panel, nothing happened, then I tried manually to configure the panel, I did not go far, because I did see the template.
Can someone guide me to setup the panel with LMCE??

Thanks,
Charlie
Cheers |[BEER]
Charlie,

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #12 on: May 19, 2009, 05:59:43 am »
I haven't checked in the VistaICM2 driver into 8.10 yet, but I will soon. :)

-Thom

ccoudsi

  • Guru
  • ****
  • Posts: 244
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #13 on: May 19, 2009, 06:10:41 am »
Thanks Thom, can you please send me a note when it is available?? I would love to test it out for you guys.
I also have ELK M1 Gold panel, any idea if this panel will be added to LMCE family ???
Cheers,
Cheers |[BEER]
Charlie,

dlewis

  • Guru
  • ****
  • Posts: 401
    • View Profile
Re: [COMPLETE] Ademco/Honeywell entire Vista series via VistaICM
« Reply #14 on: May 19, 2009, 06:33:56 am »
I also have ELK M1 Gold panel, any idea if this panel will be added to LinuxMCE family ???

Dave and the Elk guys publish the protocol documents, so it's definitely doable... It'll take some work though and no one is particularly working on it. We've also made an attempt to get LinuxMCE to work with HAI, but that dev work fell to the side.
« Last Edit: May 19, 2009, 06:36:01 am by dlewis »