We have moved at community.getvera.com

Author Topic: Honeywell/Ademco Alarm Panel Plugin Development (RS232)  (Read 55656 times)

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Honeywell/Ademco Alarm Panel Plugin Development (RS232)
« on: May 23, 2011, 12:44:15 pm »
I am starting plugin development on a Honeywell Vista alarm panel. I decided to start a thread on this so other users could track my progress as well as give input/feedback.

I am a professional engineer and have quite a bit of experience writing firmware, although I am new to Lua.

Here is the list of materials I have in house as I begin:

-A Honeywell security system with a Vista-128BPT panel. While I had the system installed and monitored by a local company here in San Francisco, I do own the system and the company is very responsive to any help that I need up to and including calling Honeywell as an installer with questions.
-A Vera 2 with the latest UI installed.
-A Vera supported USB/RS232 FTDI converter
-All of the installation and programming manuals for the alarm panel.
-A copy of the Honeywell Home Automation Setup Guide and a copy for the Computer Interface Protocol 4 spec.
-A home made serial cable. This board has pin headers for the RS232 port right on the panel, so I had to make a cable.
-A copy of the latest DSC alarm panel plugin for reference.
-A laptop running Ubuntu Linux for development.

Current Progress:

  I have created a cable and connect the panel to my laptop using the FTDI converter. I have opened up a terminal program and observed System Notifications coming from the panel. I then wrote a C++ program that captures these notifications and decodes them to human readable messages as well as generates and compares the checksum.

Next Steps:

  The panel is not responding to requests from the outside. I have read through the programming guide and I think that there are some more options that need to be enabled in the panel. I have made a list of these and sent it to the installer to have them enabled. I expect that to be done by this evening when I get home. Once that is working, I will enhance my C++ reference program to handle sending in status requests and reading logs.

  Once that is complete, it will be time to write the actual plugin. I am hoping to be to the spot by late this week. I will then look at the DSC panel plugin for reference and start writing it from scratch. We will see how long that takes.

Any comments, suggestions, or donation of equipment will be appreciated. :)
« Last Edit: September 19, 2011, 12:26:36 am by dfad1469 »

Offline mcvflorin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1755
  • Karma: +11/-3
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #1 on: May 23, 2011, 01:01:41 pm »
Any new Alarm Panel plugin is welcome. You may want to look here and here for some examples.
Also, you should try to use the standard discussed here for the alarm partitions implementation.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #2 on: May 23, 2011, 01:31:12 pm »
Thanks @mcvflorin. I have already read those post and I am aware of the other plugins. IU am basing my work off of the DSC panel because that supposedly has the latest partition standard.

When I get something running, do I just post it to this thread?

Offline mcvflorin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1755
  • Karma: +11/-3
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #3 on: May 23, 2011, 01:42:42 pm »
You can post it here, you can create a Wiki page for it, or you can create a Trac page on code.mios.com. This way you can also use the repository.

To create a Wiki page you'll need to register, and then I will confirm your account, to give you permission to create a page. After you register, you'll have to tell me the username.

To create a Trac project on code.mios.com I have to create an account for you and a project. For this, I will have to know what username you want, and how you want to name your project.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #4 on: May 23, 2011, 02:48:27 pm »
I would prefer a Trac page for use of the repository. I can't seem to send you a PM though. I would like my username to be the same as I have here (dfad1469) and the name of the project would be Honeywell/Ademco Alarm Panel.

Offline wseverino

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 854
  • Karma: +0/-0
  • Da Man, Da Myth, Da Legend - in his own mind!
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #5 on: May 23, 2011, 05:00:56 pm »
Check out the AD2USB from Nutech. http://www.nutech.com/online-store/35.html
My ZWave Network: Too friggin big to list.....

Offline futzle

  • Beta Testers
  • Master Member
  • *****
  • Posts: 3260
  • Karma: +192/-9
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #6 on: May 23, 2011, 05:44:40 pm »
IU am basing my work off of the DSC panel because that supposedly has the latest partition standard.

The Caddx plugin uses the latest partition standard as of about a month ago, so it's safe to refer to.  (Only one function required any serious rework, actually, so it's probable that other alarm plugins are still useful as code references.) Pick the plugin with the closest message format to the one your panel has, is my advice.  The Caddx panel reads binary bytes one at a time and builds up a message buffer; the Paradox is ASCII and line-based.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #7 on: May 24, 2011, 03:23:49 am »
Status Update:

I have the basic top level VistaAlarmPanel files created and running. I can observe System Notifications in the log file on the Vera. Also, I have successfully sent in a zone status request and received back data. This is a huge step as I have the environment up and running as well as IO moving in both directions.

Next step is to start setting up the data structures and then hook up the common partition template. More work tomorrow.

Offline mcvflorin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1755
  • Karma: +11/-3
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #8 on: May 24, 2011, 03:34:01 am »
Check out the AD2USB from Nutech. http://www.nutech.com/online-store/35.html

This board has pin headers for the RS232 port right on the panel, so I had to make a cable.

Will your plugin work with the Vista panels that use the AD2USB adapter? Please have a look here and tell me if the Vista-128BPT uses the same messages.

Offline guessed

  • Community Beta
  • Master Member
  • ******
  • Posts: 5301
  • Karma: +92/-22
  • Release compat is not a bolted-on afterthought
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #9 on: May 24, 2011, 08:31:09 am »
Status Update:

I have the basic top level VistaAlarmPanel files created and running. I can observe System Notifications in the log file on the Vera. Also, I have successfully sent in a zone status request and received back data. This is a huge step as I have the environment up and running as well as IO moving in both directions.

Next step is to start setting up the data structures and then hook up the common partition template. More work tomorrow.
Great stuff!  It's kinda fun when it gets to that point and you start to see the bits coming together.

Do you have an SVN space on code.mios.com?  You won't be able to PM with your account until it hits 25 posts, but just post here if you need one and I'm sure @mcvflorin will sort it out for you (if it hasn't been done as a hidden-one already)

Anyhow, let us know if you need anything.  There's a bunch of people here that are familiar with the inner-workings, and they're all willing to pitch in and lend a hand on this stuff.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #10 on: May 24, 2011, 10:29:28 am »
@mcvflorin

No. My work hooks up to the RS232 port of the Vista Panel. In the case of Vista-128BPT its built onto the panel. In most of the other Vista panels, you have to add either the VA8201 or the 4100SM modules to get the RS232 port. However, once you have the serial port, the protocol is the same. So my plug-in should work with all Vista panels that use the same version of the RS232 protocol (called the Computer Interface Protocol 4).

The AD2USB hooks up to the panel as a keypad. So that uses a completely different protocol and doesn't resemble what I am working on at all. However, the functionality will be the same. Through the RS232 I can arm/disarm, get status and names of all zones and partitions and even use or change control panels. There is even a command that allows you to make virtual keypad presses from any keypad.

Speaking as a long time engineer, I think the RS232 is the best way to go, even if you have to but a 4100SM to get it. The 4100SM is about the same price as a AD2USB and its made and supported by the same company who makes the alarm panel and not a small 5 person shop in Oregon. :) (I currently work at a really small shop, so no offense)

However, all of that being said, if someone were to buy and send me a AD2USB as well as its protocol, I guess I could look in to creating the plug-in after I get this one done.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #11 on: May 24, 2011, 10:35:30 am »
@guessed

No code space yet. I will start really bugging someone if its not set up when I get to even and Alpha stage. However, what I have is really basic, and there is not much to share just yet. I hoping that by this weekend I will have something for people to look at.

Also, thanks for the offer of help. The barrier to entry on creating these plug-ins is quite high. I am making progress though.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #12 on: May 24, 2011, 10:45:00 am »
I spoke too soon. mcvflorin has me set up on code.mios.com. Now I just have to figure out where the subversion repo is......can some PM me the location?

Offline guessed

  • Community Beta
  • Master Member
  • ******
  • Posts: 5301
  • Karma: +92/-22
  • Release compat is not a bolted-on afterthought
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #13 on: May 24, 2011, 11:53:27 am »
If you drop down the little blue Triangle at the end of your entry on the front page of code.mios.com, it'll give you the mounts for SVN (both public and secured)

Looks like they haven't given Anon users Read-priv on the Wiki page yet, so folks won't easily be able to see what you're doing just yet either ;-)  If you see a Settings link next to it, then you can change those perms also.

Offline dfad1469

  • Jr. Member
  • **
  • Posts: 77
  • Karma: +0/-0
Re: Honeywell/Ademco Alarm Panel Plugin Development.
« Reply #14 on: May 24, 2011, 03:57:05 pm »
Thanks @guessed. That makes perfect sense. Once I get to Alpha stage, I will begin to post things.