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.
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.
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
+= 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.
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.
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.
Edit for completion
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
It should work just fine on a bridge, though it has not been tested yet.
Wiki page up now http://wiki.linuxmce.com/index.php/VistaICM
We need to get more people testing this, PM me for details.
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 |
|
|
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
I haven't checked in the VistaICM2 driver into 8.10 yet, but I will soon. :)
-Thom
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,
Quote from: ccoudsi on May 19, 2009, 06:10:41 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.
I was hopping to get the Vista panel working so I can use it as a reference to make the Elk M1 working, because the basics are almost identical.
Charlie,
If you're interested, you can contact me about sponsoring the development work.
-Thom
Thanks for the specifications of this product we will think about this.
_________________
Programmable Thermostats (http://www.prothermostats.com/)
Thom,
FYI, I just updated my system to 2.25 and rebooted, I noticed when I arm the system, it starts the count down on all orbiters including my 2 squeezeboxes, after the system finishes the count down, both squeezeboxes keep repeating the last count "1" even after I disarmed the system, and I tried to play music to get rid of the repeating one, was not successful, I had to switch to the room where the squeezbox located and tried to play music then canceled then it stopped repeating the number one announcement.
BTW the slimserver streamer it look ok now, no more hanging. :)
Did anyone else experienced the same issue?? Or just me !!!
Thom,
QuoteThom,
FYI, I just updated my system to 2.25 and rebooted, I noticed when I arm the system, it starts the count down on all orbiters including my 2 squeezeboxes, after the system finishes the count down, both squeezeboxes keep repeating the last count "1" even after I disarmed the system, and I tried to play music to get rid of the repeating one, was not successful, I had to switch to the room where the squeezbox located and tried to play music then canceled then it stopped repeating the number one announcement.
BTW the slimserver streamer it look ok now, no more hanging.
Should I file this as a bug in trac???
Yes, please.
-Thom
I'd love to help out in testing this, I believe i'm running the vista20p at home (i'll double check this evening).
Murdock, that's great, the more usage of the panel the more bugs we can catch.
You don't have to worry about the panel model, all Vista series are supported by the current Thom's driver, but you have to have the Vista-ICM module installed, that's how LMCE talk to the Panel. So far it works great with minor issues, the countdown on the squeezebox get stuck in a loop which I just filed a bug report, the other issue is, the current Panel only works with attached wired sensors or compatible RF transmitter (345Mhz) using the "5881ENL Receiver" which I just installed myself yesterday, you can not use already installed zwave sensors for an example, the reason is, you can not force the panel remotely by commands for an alarm on certain zones, the only way is to bridge it, for example connect a Global Cache output relay to one of the panel free zones, if the zwave sensor get triggered you can send a command to the Global Cache to open or close the relay in which case it will trigger the alarm on the panel. That's the easy way if you have the Global Cache which I don't, maybe someone can advise on other solution here, the other way which I'm investigating through transmitting the RF command to the "5881ENL Receiver" which I asked the Honeywell engineer he said it is possible, and he suppose to email me the protocol spec, I will share it when I get it.
Again the whole idea of the panel is adding extra security to LMCE in case of an extended power failure, and extend the compatibility to new sensors on the market.
The implementation at home is pretty standard, i have a few IR sensors which I believe are wired and a few wireless battery operated glass breakage sensors. I'm not certain if they are z-wave or RF, I need to do some further research to find out for certain.
Just a side note - not all Vista panels are supported. You need to have a panel that uses addressable keypads; this means Vista-10 and up. Older Vista 4100 series boards, for example, use all the same wiring, sensors, and ecp bus protocol as new boards, and new keypads are backwards compatible with old boards, but Vista-10 and up recognize keypads individually while the older boards see all the keypads as the same.
That being said, a new rev. 7 Vista-20p can be had for less than half the price of the ICM module. If anyone needs to upgrade their board, make sure you have a 6138, 6139, or 6160 keypad to program it.
:Matt
Thanks Matt for the clarification, currently I'm using 6150 keypad and 6271cv touchpad, BTW if you have the ICM module you can do all the programming of the panel from a web browser it has to be MS/IE. I just downloaded Compass SW but didn't try it yet.
I thought Compass could only be used with old 2400 baud modems - do you know the procedure for programming through the ICM module? That would be so much more convenient. My 20p comes on Thursday and not having to use my 6138 would be nice.
:Matt
I didn't try Compass yet, from what I read so far I should be able to program the panel using local network!!!
As far programming from ICM, I just followed the instruction that came with it, nothing special, to program the panel just point your IE browser (I tried at least 4 other browsers did not work only IE ) to the IP of the ICM unit then select security button and you'll see virtual keypad only difference here you'll see a lot more information on the screen then the actual LCD keypad.
So after a clean 0810 2.26 install my VistaICM2 w/ Vista-20P was detected, but the DCERouter log shows that it failed to download. Specifically:
08 08/07/09 0:09:50.493 Parameter 163(Description): VistaICM2(Honeywell / Security Interface) <0xa13eeb90>
08 08/07/09 0:09:55.629 Parameter 9(Text): 334 Pre PNP ScriptVistaICM2 <0xa13eeb90>
08 08/07/09 0:09:55.630 Parameter 9(Text): 334 OptionsVistaICM2 <0xa13eeb90>
08 08/07/09 0:09:55.630 Parameter 163(Description): VistaICM2 <0xa13eeb90>
08 08/07/09 0:10:14.880 Parameter 9(Text): 334 AddingVistaICM2 <0xa13eeb90>
08 08/07/09 0:10:15.952 Parameter 9(Text): 334 Added device: VistaICM2 <0xa13eeb90>
08 08/07/09 0:10:15.953 Parameter 9(Text): 334 Done with new device Added: VistaICM2 <0xa13eeb90>
05 08/07/09 0:10:16.114 UpdateEntArea::AddDevicesToEntArea adding device 45 VistaICM2 to ent area 1 Family Room <0xb0558b90>
08 08/07/09 0:10:17.848 Parameter 9(Text): Downloading LinuxMCE VistaICM2 Support... <0x717feb90>
08 08/07/09 0:10:22.439 Parameter 9(Text): Failed to get LinuxMCE VistaICM2 Support <0x741a8b90>
Any ideas? Is there a way to manually install it?
Thanks,
Matt
it looks like the package wasn't folded into the build. I have added it to the list of packages to build for this next pass.
-Thom
Thanks Thom
:Matt
Has anyone here tested with the new Ademco/Honeywell Vista 21iP panel that integrates the ICM onto the main panel?
I am thinking that it will be very similar to the 20P combined with the ICM. I have recently purchased the 21iP for close to $200 which is a great savings to the combination of the 20P and ICM. I would like to hear if anyone has and potentially test this out with LinuxMCE.
Also any word when the next release is coming out with the previous feature included?
Thanks!
it's already included with the alpha builds.
-Thom
You need the ICM device as the driver was written for the ICM, not the panel. Thus any panel supported by the ICM will work out of the box with LinuxMCE. Though if it actually integrates the ICM device and not a variant of it then it may work.
Thanks for the hard work everyone - the VistaICM is wheeling it's way to my house as we speak.
Quote from: xbertz on September 03, 2009, 11:46:36 PM
I am thinking that it will be very similar to the 20P combined with the ICM.
I'm pretty sure the 21iP still needs the vista icm to work with lmce. From what I can tell, its ip capabilities were designed for alarmnet integration only. Honeywell phone support is pretty good - give them a call and see what they say.
:Matt
Maybe this is the answer we've been looking for...
Quote from: qball4 on September 07, 2009, 12:09:00 AM
Quote from: xbertz on September 03, 2009, 11:46:36 PM
I am thinking that it will be very similar to the 20P combined with the ICM.
I'm pretty sure the 21iP still needs the vista icm to work with lmce. From what I can tell, its ip capabilities were designed for alarmnet integration only. Honeywell phone support is pretty good - give them a call and see what they say.
:Matt
This is from the Vista-21ip Installation Manual:
∗29 Menu Mode for IP and GSM Module Programming
This mode is for programming the Internet connection (IP) and optional GSM Module configuration,
collectively referred to as the Internal Device.
NOTE: The Internal Device is automatically set to address 3 and cannot be changed.
The following section describes the programming of the Internal Device using an alpha keypad.
Alternatively, these options can be programmed via the AlarmNet Direct website. After programming is
complete, the control must be registered with AlarmNet via the Internet connection. Refer to the
Registration with AlarmNet section for procedures.
IMPORTANT: The use of the IP connection or the VISTA-GSM module requires an AlarmNet–I account.
Please obtain the account information from the central station prior to programming this module.
Note the following from above:
IMPORTANT: The use of the IP connection or the VISTA-GSM module requires an AlarmNet–I account.
Please obtain the account information from the central station prior to programming this module.Regards,
Charles
will not work with this driver.
-Thom
The ICM is now installed - I'm working through the MCE integration now...