Alarmdecoder configuration for simple zone faults

Tags: #<Tag:0x00007f6173cefa00>

Hello, I apologize if I’m missing something obvious, but the output from alarmdecoder does not seem to fit into the mold of the examples in the Wiki. The output in my debug log for the alarmdecoder binding is as follows:

2016-02-09 02:52:05 DEBUG o.o.b.a.i.AlarmDecoderBinding[:390]- got msg: [0000000100000000----],006,[f700008f1006000008020000000000],"FAULT 06 OFFICE WINDOW "
2016-02-09 02:59:23 DEBUG o.o.b.a.i.AlarmDecoderBinding[:390]- got msg: [0000000100000000----],007,[f700008f1007000008020000000000],"FAULT 07 POWDER ROOM WINDOW "

The examples in the Wiki have additional information after the name of the faulted zone that I’m not seeing in my output:

[0000000110000000----],005,[f70000ff1005000028020000000000],"FAULT 05 MUSIC ROOM WINDOW "
!REL:14,02,01

So I haven’t been able to figure out how to format the contact items for these zones. What am I missing?

Well, it looks like I need to work on my reading comprehension. The Wiki does have a reference to setting up virtual relays near the top. The post that it links to provides very clear instructions on how to setup virtual relays, which are then compatible with the alarmdecoder binding. It’s also pretty easy to find the Vista 20p programming guide online, which I used to verify that the instructions in the post were accurate.

This thread is relevant so I am going to hijack it.

I am in the process of doing an update to the binding for AlarmDecoder that will allow for ZONE tracking for Ademco panels. This is easier than doing REL trick and very reliable except during armed state where ZONE faults stop anyway.
For DSC users this is not important as all zones are expressed as !EXP messages anyway.

It has been tested by myself and AD2* owner.
http://www.alarmdecoder.com/downloads/org.openhab.binding.alarmdecoder-1.9.0-SNAPSHOT.jar

Only tricky note and something that needs looking into is creating a rule to send a ‘*’ when the keypad sees “Hit * for faults” Currently in my own house ha setup I run the AlarmDecoder appliance and web app that already does this.

Re
Sean M

Notes from github merge request.


This also allows for more advanced features such as Virtual Zones on your panel where you can have the alarm panel use an external sensor as its own.

1001 will send a “L331” faulting virtual zone 33 and 1002 will send a L330 to the AD2* to restore the zone.

Number alarmPanelL33X “” (gPanel) {alarmdecoder=“SEND#1001=L331,1002=L330”, autoupdate=“false”}

only supports Contact types at this time. The ZONE 00 still works to track the last NUMERIC/ZONE ID but using a real zone number like 03 and 24 in this example.
Contact ZONE03_FAULT “zone fault: [%d]” (gPanel) {alarmdecoder=“KPM:03#zone”}
Contact ZONE24_FAULT “zone fault: [%d]” (gPanel) {alarmdecoder=“KPM:24#zone”}

The pull request with this proposed change is here:

@f34rdotcom Thank you for you work here. How to bind item to the zone msg below?

21:33:42.684 [DEBUG] [decoder.internal.AlarmDecoderBinding] - got msg: [0001030110000000----],002,[f70200fd1002030028020000000000],"FAULT 02 GARAGE DOOR 

I tried what you show above, 02 and 002 without success:

Contact doorGarageZn02 		"Zn02 Garage Door: [%d]" 		(gContact) 		{alarmdecoder="KPM:02#zone"}

where are we with these virtual zone controls? I tried to implement this within the most recent OH (2.5 release) and the binding just locks up if I send the “L” command - in my example its zone 9 so L091 to fault it… from what I see the adapter gets ‘stuck’ waiting for a return character… everything works as intended if i run this directly on the device.

Any ideas? the 1.9 jar above crashes out whenever i do any commands - likely some core code changes since it was published

Got this cleared up on my own - looking at the git code I saw that all that got added was adding a \r\n to the end of the command when it gets sent out so I added that to my item as below. now i can happily send my zone fault / restore as needed

Number alarmPanelL33X “” (gPanel) {alarmdecoder=“SEND#1001=L331\r\n,1002=L330\r\n”, autoupdate=“false”}