Honeywell Ademco Vista Alarm Panels Plugin via AD2USB

Ok… so where is what i’m getting… faults are due to some wireless sensors I need to fix. But I show it on 31… but when I plug it into the Vera, it still shows me no keypad.

Thoughts?

!Ademco Keypad Emulator V2.2a.5-beta16
!Copyright (C) 2008-2010 Nu Tech Software Solutions, Inc.
!Reproduction without permission is prohibited
!By Sean Mathews
!For support email general@support.nutech.com
!www.NuTech.com
!Reading configuration.
!UART init.
!Ready. Press ! for configuration.
[0000000100000000----],028,[f70000008028000008000000000000],"FAULT 28 GAGE WINDOW "
[0000000100000000----],014,[f70000008014000008000000000000],"FAULT 14 BASEMENT ENTRY "
[0000000100000000----],020,[f70000008020000008000000000000],"FAULT 20 BASEMENT FAMILY "
[0000000100000000----],021,[f70000008021000008000000000000],"FAULT 21 BASEMENT FAMILY "
[0000000100000000----],022,[f70000008022000008000000000000],"FAULT 22 BASEMENT FAMILY "
[0000000100000000----],028,[f70000008028000008000000000000],"FAULT 28 GAGE WINDOW "
[0000000100000000----],014,[f70000008014000008000000000000],"FAULT 14 BASEMENT ENTRY "
[0000000100000000----],020,[f70000008020000008000000000000],"FAULT 20 BASEMENT FAMILY "
[0000000100000000----],021,[f70000008021000008000000000000],"FAULT 21 BASEMENT FAMILY "
[0000000100000000----],022,[f70000008022000008000000000000],"FAULT 22 BASEMENT FAMILY "
[0000000100000000----],028,[f70000008028000008000000000000],"FAULT 28 GAGE WINDOW "
!>Keypad Address (31) :>
!>Config Bits (0000) :>
!WARNING. Do not enable a module if the physical module exists on the system.
!Zone Expanders Y/N Max allowed: 02
!>expander module #01 ZN 09-16 (N) :>
!>expander module #02 ZN 17-24 (N) :>
!>expander module #03 ZN 25-32 (N) :>
!>expander module #04 ZN 33-40 (N) :>
!>expander module #05 ZN 41-48 (N) :>
!Relay Modules Y/N Max allowed: 04
!>relay module #01 (N) :>
!>relay module #02 (N) :>
!>relay module #03 (N) :>
!>relay module #04 (N) :>
!>Emulate Long Range Radio Y/N: (N) :>
!>Address Filter Mask (ffffffff) :>
!>Deduplicate (N) :>
!Reading configuration.
!UART init.

Finally Got the AD2USB working fully on the Vera 3

One question, When I trip a zone and then close it… Vera just says it is tripped (immediately)
and it does not recover and show it closed.

So what I have is zones open once and then never showing closed…

I missing something here … Could use a hand

One more note… this is a new Vista 20P on the test bench with Resistors closing the zones right in the panel (for testing purposes)

Let me know if you get this working. This will maximize the use of my sensors! [quote=“hugheaves, post:380, topic:168766”][quote=“mitch672, post:18, topic:168766”]How about a manual way to setup the zones? most of mine will be RF, so processing of the “!RFX” messages will get you open/close on those very quickly, perhaps a table we can setup with the zone#,name,!RFX Serial # would do it.[/quote]

If they are 58XX rf sensors then its easy using RFX messages. If they are hard wired zones on a zone expander then again its easy with EXP messages. If they are hard wired directly to the panel then with some work yes. You can use the Virtual Relay Expander and program the alarm to trip the virtual relay ON/OFF when you open / close the zone and listen for REL messages.[/quote]

mcvflorin,

I know you’re busy. Any objections if I take a crack at implementing this on the MiOS side?

From the UI perspective, I think just adding the two columns to the “Cheat Sheet” would be sufficient:

[ul][li]Address / Serial - enter the expander address for EXP/REL zones, or the RF serial number for RFX zones[/li]
[li]Channel / Loop - enter the channel number for EXP/REL zones, or the RF loop number for RFX zones[/li][/ul]

Lua would differentiate between RF serial no’s and addresses by the number of digits entered in the address / serial field. For zones with no assigned address/serial no, the Lua code could/would still use the current virtual keypad (ie. send “*”) method to detect zone faults, and the TTL to clear faults. For zones with assigned addresses / serial #'s, the Lua code would instead ignore faults for those zones obtained from the virtual keypad, and instead trigger events when the !EXP, !RFX, and !REL messages corresponding to those zones were received.

Looking at your code, it looks like you’ve done all the hard work already, and this would actually be a relatively easy enhancement.

Hugh

P.S. mathewss, in case you watch this thread, thanks for shipping out my AD2USB device so quickly![/quote]

@hugheaves
Thanks for offering to add those features. I gave you access to the repository.

@stevekcameron
Have you added address 31 in the partition’s KeypadAddresses variable?

@jimpapa
The zone is set as untripped if it’s not tripped for at least 20 minutes. It’s the same as the default value for the On Time parameter of the 3-in-1 sensor (see this page).

@jimpapa
The zone is set as untripped if it’s not tripped for at least 20 minutes. It’s the same as the default value for the On Time parameter of the 3-in-1 sensor (see this page).
[/quote]

I don’t mean to be a total noob here… But Can I set the TTL way down from 1200 to like 100 so Open and closes show up faster than 20.

Trying to create a scene on the state of a zone and also using SQ Remote to see what activity is going on around the house.

@jimpapa
Yes, this parameter is configurable.

Got it! Changed TTL value. Worked as expected Thanks !!

@mcvflorin,

The modifications are ready to go, but it’s not accepting my credentials when trying to access http://code.mios.com/svn/mios_vista-alarm-panel-ad2usb (the same credentials work on the other repository). Is there another permission that I need to access SVN?

Also, would you like me to check the changes into a branch, or into trunk? It’s a fairly self contained modification to two files: J_VistaAlarmPanel1.js and L_VistaAlarmPanel1.lua.

A screen shot of the new “Cheat Sheet” is attached.

You should have permission to checkout and commit the repository (see attached picture). Did you try to checkout the repository and it didn’t let you?

You should commit the modifications in trunk. No reason to maintain two versions of the code.

Yep, for some reason it’s rejecting my credentials.

Works:

[tt]svn --username hugheaves --password XXXXX --no-auth-cache co http://code.mios.com/svn/mios_wifi-thermostat/
A mios_wifi-thermostat/trunk/src

Checked out revision 12.[/tt]

Doesn’t work: (same credentials given, but keeps prompting for credentials)

[tt]svn --username hugheaves --password XXXXX --no-auth-cache co http://code.mios.com/svn/mios_vista-alarm-panel-ad2usb/
Authentication realm: http://code.mios.com:80 Repository Hosting
Username: hugheaves
Password for ‘hugheaves’:
Authentication realm: http://code.mios.com:80 Repository Hosting
Username: [/tt]

I’m probably doing something stupid, but I’m not sure what. :frowning:

I made you project admin, please see if you can checkout the code.

That worked, thanks! (How’s that for fine grained permissions? :slight_smile:

So 31 is added as the keypad address. However, I still get a “connection down” message.

I have gone back to the ad2usb via Putty and verified its connecting. The serial connections is set at 115200. I was getting a “missing port” error before, and that corrected it.

Anyway, I’m not sure what I’m doing wrong.

Thanks for your help.

Steve

I have no idea what changed… but suddenly the tech Gods have shined down on me and its working… now I can start messing with all the cool stuff you guys are doing!!

@mcvflorin,

The code to handle the “!REL”, “!EXP”, and “!RFX” messages has been checked into trunk. Users just have to enter the zone address/channel (for REL, EXP) or serial no / loop (for RFX) into the cheat sheet, and the plugin will then trigger faults / clears using the “!” messages for those zones. For any zones without entered serial numbers, addresses, etc., the behavior is unchanged from the previous implementation (i.e. “*” to scroll through faults, and TTL for zone clear)

I actually didn’t alter the TTL behavior at all, even for zones with serial numbers / addresses. So, if for some reason, the zone is not cleared by RFX, REL, etc., the TTL will clear the zone.

Also, my code doesn’t verify that any entered RFX devices are assigned to zones in the panel, so the potential is there for Vera to use RF devices that aren’t configured in the panel. (Want to know if your neighbors are home? Just configure their device serial numbers as a virtual zone in your Vera :slight_smile:

Here are some possible issues:

  1. With RFX fault and clear messages, a motion detector zone is typically only in the faulted state for a few seconds. This contrasts with the the TTL clear method, where the zone could be faulted for many minutes at a time. If this causes problems for the users, it may make sense to add an configuration option for “TTL clear only” which would configure the plugin to ignore REL, EXP, and RFX zone clear messages.

  2. I still don’t know if it’s a good idea to leave TTL “enabled” for zones that will be also cleared directly by the REL, EXP, and RFX messages. My testing hasn’t shown this to be a problem, but we’ll see how it works for everyone else.

Also, if you haven’t already seen it, there’s a good guide on the NuTech site for configuring virtual REL devices that are triggered by any on-board hard wired zones. (Zones 1-8) As the zones are on the same board as the panel CPU, the AD2USB device can’t “sniff” for events unless they are configured to send REL messages.

http://www.nutech.com/index.php?option=com_fireboard&Itemid=74&func=view&id=656&catid=4#656

Let me know if you see any problems,

Hugh

@hugheaves,

Any chance this is compatible with UI4?

[quote=“waynebrady, post:396, topic:168766”]@hugheaves,

Any chance this is compatible with UI4?[/quote]

I’m almost certain that this will be compatible with UI4. The changes are in the “common code” that’s used by both UI4 and UI5, and are written in a fairly generic way. That said, I don’t actually have a UI4 device on which to test, so I won’t know for sure until someone with access to UI4 has chance to try things out.

And of course, it’s obviously up to @mcvflorin to decide what code and features go into the official releases. The whole thing has to “pass muster” first. :slight_smile:

Hugh

I really need to make a version compatible with both UI4 and UI5…

Until then, the changes from the trunk files must be added to the files in branches/UI4.

Hi,

First off, THANK YOU for this plugin. What a lifesaver. :slight_smile:

One issue I am having and can’t figure out. I’ve read at least 3/4s of this thread and not seeing a solution.

I have a zone called Slider. I set up a scene, whenever slider is faulted, the back porch light is triggered and it sends a notification to my email. I set a notification in the actual slider zone.

What happens:

Slider is opened, back porch light comes on, I get a notification.

Great!

Except…

I close the slider.

I try to turn the back porch light off, it turns back on instantly. I wait 2 minutes. Try again. I wait 5 minutes, try again.

The only way I can get my back porch light to stay off is by disabling the scene that turns it on when the slider sensor is faulted.

It’s like the system still thinks my slider door is open…even though my alarm shows a ready state, so…it knows the zone is no longer faulted…

Hmmm? Ideas?

[quote=“mcvflorin, post:398, topic:168766”]I really need to make a version compatible with both UI4 and UI5…

Until then, the changes from the trunk files must be added to the files in branches/UI4.[/quote]

Ah, I missed the UI4 branch… I’ve checked in the files there as well. (there was only a one line difference between the existing UI4 and UI5 versions due to the different module() mechanism).

However, I just realized that one of the “minor” changes I made in the trunk version adds a requirement for the “bit” library [ i.e. require (“bit”) ] which I use to help decode the !RFX messages. On UI5, this loads the nixio.bit native library, but not having access to a UI4 box to test on, I don’t know if this library is available on UI4.

If there is no “bit” library on UI4, let me know, and I’ll rewrite the code without that dependency.

Hugh