Honeywell/Ademco Alarm Panel Plugin Development (RS232)

It’s queued. I already talked to Sean and somewhere in the near future I will develop a plugin for this.[/quote]

@mcvflorin Do you have an ADEMCO Vista 10p/15p/20p panel to work with and test the AD2USB or an IP Bat (which has an ethernet interface) with? If you don’t, I just bought a Vista 20p along with a 6150 keypad, and could send it to you setup as a “test rig” to test and develop the plugin, I would just ask that MCV send it back when its completed. Let me know, I am willing to help, if it would speed things up :slight_smile: Mitch.

P.S. notice the IP BAT supports several mfr panels now, might be a good choice :slight_smile:
http://www.ipdatatel.com/broadband_alarm_transmitter
perhaps see if they have a published API, or they would get it to you?

I already ordered a Vista 20P and an AD2USB adapter, and should arrive next week.

Thanks for the offer!

No reason we can’t have both IPDataTel and AD2USB support.

AD2USB’s protocol seems like it is very Vera friendly though, I imagine development will go quickly. I have AD2USB ready to go with my Vera, so I’ll be happy to help test and debug the plugin once you get the basics working.

IPDataTel doesn’t work with my 10SE panel (although admittedly swapping out the board for a 20P wouldn’t cost too much).

Getting back to the original intent of this thread… :slight_smile:

I have just uploaded the current progress of the plug-in. I would put it in Beta Status as there are know bugs, but it works well. I am using in my home without any major issues. It has been running solidly for the past couple of months. However, I am going to begin some heavy testing on it soon. Also, the webpage is pretty bare bones right now, but I hope to have some time to polish it up as well.

One of the major things I want to do is switch from json to javascript. However, there never seem to be enough hours in the day. If MCV would document json a bit better then this wouldn’t be necessary.

I know there are not many people out there with Honeywell system with RS232 built into it, but I am hoping that someone else out there will want to use it. If not, then it was a fun exercise for me and I am getting plenty of use out of it. :slight_smile:

I’m interested in this, for my Vista – but also lack the extra hours in my days :slight_smile:

It may be winter before I have the quiet time to really dig in.

Thanks for the great start!

[quote=“Veracity, post:45, topic:168386”]I’m interested in this, for my Vista – but also lack the extra hours in my days :slight_smile:

It may be winter before I have the quiet time to really dig in.

Thanks for the great start![/quote]

No problem. I have been running the plugin now for over a month and its quite stable. I use the motion detectors to turn on and off lights as well as Alarm events to adjust the thermostat. Remote arming and disarming all work without problem as well. I have a list of very minor to-dos left, but all major functionality is there and ready for use.

I have posted all of the code to trac and started a wiki. For now, you can download and install the code just like the DSC panel.

Thanks again to @guessed and @mcvflorin for their help. I feel that this is now as stable as most of the other alarm plugins. Now if we can just get the standard adopted so that the remote programs all work… :slight_smile:

[quote=“JOD”]Does the device get created using the:

D_VistaAlarmPanel1.xml
and the:
I_VistaAlarmPanel1.xml

JOD.[/quote]

Yes. Are you trying it out?

You have to associate the device with the USB->RS232 adapter. If you look at the bottom of the installation section of the DSC Alarm Panel, it will describe how to do that.

Ohhh, you are using the AD2USB adapter. This thread is for the RS232 Panel Plugin. I can’t help you with the AD2USB as I didn’t write it, nor do I have a AD2USB. I hook directly into the RS232 on my panel.

Please post in the other thread.

No one seems to be using my plugin (other than me :). However, I will post that I just uploaded an update that gives even more functionality.

Also, I was wondering what the expert’s opinion is on having your own log for a plug-in. For example, I would like a log of all the events for the alarm panel so that I can go back and look at when and by whom it was armed. Or when a trouble code first appeared. I think the Lua log is a bad place to have this.

Any opinions?

Typically, when you put these into notifications, they’ll get recorded on MiOS.com against your account. The display isnt that readable, but the data is there.

If you store it locally somewhere, then it’s likely to get wiped out by log rotation, firmware upgrade, or potentially exercise the flash excessively.

You might consider writing the events over syslog, as @Ap15e demonstrated. If you go that route, then I’d highly recommend rewriting that logic to natively [UDP] write out in syslog format to avoid the process instantiation overheads… But it’s def avoid technique if you have something on your net that can run syslog (servers available for a variety of platforms, built into Mac and Linux)

I’ve been running Alarm hooks on my Vera for quite a while now, and have never bothered with more than notification (SMS, email) and scene tie ins… Things like lights, thermostats etc tied to various alarm events.

@dfad1469

I added instructions for installation & setup of your plugin, hope you don’t mind. You can check to see if there are any errors.

I am attempting to get this thing running in UI5. After fixing the D_VistaAlarmPanel.json file with a typo in it, I am now getting a weird problem on start-up. Here is the code in question:

function alarmStartup(my_device)

  ALARM_DEVICE = my_device

  ---- Initialize RS232 Port (through any adapter) ----

    local ipAddress, trash, ipPort = string.match(luup.devices[my_device].ip, "^(.*)(:(%d+))$")

    if ((ipAddress ~= nil) and (ipAddress ~= "")) then
        if (ipPort == nil) then
            ipPort = 5000
        end
        log(string.format("Running Network Attached I_VistaAlarmPanel1.xml on %s:%s Device# %s, id %s",
            ipAddress, ipPort, tostring(my_device), luup.devices[my_device].id))
        luup.io.open(my_device, ipAddress, ipPort)
    else
        log("Running Serial Attached I_VistaAlarmPanel1.xml #" .. tostring(my_device)
            .. " starting with id " .. luup.devices[my_device].id)
    end

    luup.log("Raw: " .. my_device)
    luup.log("starting device: " .. tostring(my_device))

And Here is what it is printing out:

50 12/14/11 8:20:55.122 luup_log:53: VistaAlarmPanel: Running Serial Attached I_VistaAlarmPanel1.xml #5.29396e-23 starting with id <0x402>
50 12/14/11 8:20:55.122 luup_log:53: starting device: 5.29396e-23 <0x402>

I am pretty sure that my_device is corrupt when it passes to me. I have checked the logs and I don’t see anything else weird. Anyone have any ideas?

Nevermind. It was caused by the floating point bug they had.

Would have been nice it they would have published that they found the bug, or even when they posted the upgrade fix. Instead I found out about it after 4 hours of debug and then digging through posts.

@MCV, you have a forum entirely dedicated to Upgrades and another one dedicated to Announcements. Why don’t you post status updates there? It would take an engineer a half hour a day to post this stuff!

I have just posted all the fixes for UI5. Works without a problem on the latest firmware as of this writing (Vera 2 1.5.236). This update also fixed a few minor bugs as well as added quick arm and panic buttons.

I recommend to also update the version on apps.mios.com, so that anyone can easily install the latest version of the plugin.

I actually did upload it to the apps server, but I didn’t create a a new release. I figured that out this morning and its awaiting you approval.

I approved the release.

Can you post screen shots of what the control panel looks like in UI5. I have the AD2USB adapter and plugin up and running and wanted to see how the serial port adapter user controls look to see if there was a reason to change.

Thanks

YR1

@YR1

The screenshots look almost exactly like the DSC control panel. The standard partition state file is fully implemented, so you can do anything.

What functionality are you missing by using the AD2USB adapter? If you are not missing anything, then I wouldn’t change.