AD2SmartThings

I got the SHM and the AlarmHandler to sync perfect. Seems to work very well. However, I performed a test where I opened a door and my alarm went off. I received a text that said Alarm is Sounding!! and my alarm company called me but nothing happened on the SHM side. It didn’t say intrusion detected and none of the actions (all lights on) occurred.

Would it be better to use Smart Alarm with Alarm Handler? Can I tie them together the same way?

Any ideas?

You can integrate anything to your alarm through alarmdecoder as long as you can read state. You can program the panel to have a zone, and fault/unfault it on alarmdecoder with the “L” command

Ralph, sound like you need to setup SHM. The app syncs the states but you need to setup SHM with your things and what you want it to do.

I’m pretty sure I have it setup correctly, at least I thought so. After I did the alarm test and SHM didn’t do anything but the AlarmHandler did I tapped one of my zones and SHM did everything I thought that it would do with the alarm going off. The lights all came on, I got notifications, it turned red and said intrusion detected. It just didn’t do all of that when I opened the door and the alarm went off.

Seriously, thank you for any help. This is a great community.

Hello,

I’m currently trying to get this project set up. I have 48 zones and I’m getting an error when trying to edit the device handler to increase the number of zones:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script1479361890267875172029.groovy: 353: expecting anything but ‘’\n’’; got it anyway @ line 353, column 556.
e52”,”zone53”, “configAD2Pi”])
^

1 error

Other than adding the zones to “details”, do I have to create a “standardTile” entry for each additional zone as well?

Thanks

Eric, that error is being thrown because you have a typo of some sort in your code. I would recheck that line for typos.

You will need to also add tiles for those zones referenced on that line of code. But it’s important to note that you have the flexibility to set whatever zones you want to show up and you don’t have to have all 48 zones in SmartThings.

Thanks for the reply Michael.

Another question, I just got it hooked up today, and was under the impression from the ReadMe that the alarm panel would power everything (AD2, mega2560, smart things board).

I have a HoneyWell Ademco Vista 128BP panel. I’ve got the four wires hooked up… and nothing. So I plugged some USB power into the arduino and everything came on. I was able to pair it with the hub, and I started getting messages in the smart things app that mirrored what the keypads were displaying.

Did I hook something up wrong? I like the idea of the control panel providing power because it has a battery backup. If I do have to provide power separately to the arduino, is it OK to do so over USB, or is a 9V plug better in any way?

Thanks!

Question for you guys~I am trying to get SHM to trigger the vista alarm if a smoke alarm goes off but it doesn’t seem to work. I have the panic buttons setup and have tested that it does indeed work correctly. Do you know what function SHM is calling when it triggers the alarm? Apparently not the siren() function. Just curious if I’m missing something obvious. Thanks.

Eric, happy to hear you are getting closer. The Arduino needs a separate power source. You can power it from the panel by following @d8adrvn instructions in post 79:
AD2SmartThings

Hopefully Stan can update the readme with these instructions as well.

Nate, the SHM API is undocumented. I stumbled upon the API calls to sync the two states and I haven’t seen anything that specifically says the smoke has alarmed. If you do find anything please let me know and I am happy to help improve the integration.

I have connected smoke alarms and followed this thread to integrate mine with ST:

I took this one step further and added another zone to my Vista panel called house smokes and hooked up my Kiddie relay to this zone. Now when my Kiddie smokes alarm they make my Vista panel alarm and ADT gets notified.

Thanks for the response. I had actually originally planned to do exactly what you did with the kiddie interconnect. There only reason I hadn’t yet was my panel isn’t super close to one of my alarms so it would have been a bit if a pain. Instead yesterday I saw the Leeo device on sale for just over $20 so I figured I’d give it a shot. It’s actually a decent device. I’m using IFTT to trigger a switch telling SHM smoke or CO is detected.

Anyway, as to my original question, I did solve it. Just on a hunch I added the function both() to your device handler and then simply called siren() from that and it works like a charm. :grin:. SHM thus calls the both() function for smoke alarms anyway. Thanks again for your response!

Nate

Is “AlarmHandler” just another device handler? Where can I find it?

Thanks, I got it powered through the panel with some jumper wires.

Another issue I’ve run into is that the status being reported to the alarm “thing” keeps going in and out of being correct.
Screenshot.

To explain that screenshot: “System is Armedstay” and “Chime is Chimeoff” reflect the actual state of the system (chime remained off and wasn’t toggled throughout that log).
Every few seconds the status being reported keeps flipping between the state of the system here or here, and this incorrect status. Stonewall House Ready to Arm is what I changed the greeting to today. Redwood Security (with chime on) is what it was before.

If the system is armed, it’ll switch between saying so, then: Redwood Security Ready To Arm with chime on.

Also, sometimes, only sometimes I’ll see
SYSTEM 12 STATUS RR or
SYSTEM 12 STATUS SR
What do these mean?

I could really use some advice here. I spent a fair amount of time removing and re adding the arduino/AD2/smartboard to smart things, restarting the alarm panel, reseting the SmartHub, trying different options when configuring the AD2 address and user code in program mode on one of the existing keypads. Is there a way to tell if I have it set to an address already in use by another keypad (I checked the address of each keypad by holding 1 and 3 already), or something else?

Thank you.

@jplee3 AlarmHandler is a SmartApp that can be found in the main Git repository mentioned in the original post or here:
https://github.com/d8adrvn/AD2SmartThings

You will find it in the SmartApp folder.

Eric, you mentioned above you have a Vista 128BP panel. Unfortunately Stan and I have no experience with that panel. Testing was done on a Vista 15 and Vista 20 so your panel may be reporting different types of messages especially since you also mentioned you have 48 zones.

It seems that you have the right connectivity to your alarm panel. To verify that the keypad address is working is to test arming your panel from SmartThings. If that works then you know things are setup correctly. If it is not working, then you will need to look at your alarm installation manual to check which keypad addresses are active. At least on a Vista 20, the first keypad address is 16 and they go up from there, though nothing prevents the installer from skipping one. I have 2 keypads so that means they are 16 and 17, and my AlarmDecoder is set to 18. Again this varies by alarm panel so check your installation manual for details.

The AlarmDecoder is basically another keypad on your system so it just reports all the serial messages sent from the alarm panel to the Arduino. The Arduino sketch is responsible for parsing the messages, storing historical statuses, filtering certain messages, and ultimately sending updates to SmartThings. The way this was developed was referring to AlarmDecoder’s documentation here:
https://www.alarmdecoder.com/wiki/index.php/Protocol

Since you have a different alarm panel you may have other types of messages that Stan and I didn’t even consider since we have different models. The alarm status, chime status, etc are set from specific bits in the bit field of the message:
https://www.alarmdecoder.com/wiki/index.php/Protocol#Keypad

As you will see on line 147 of the sketch, certain messages are filtered out and I am thinking you may have another type of message that is causing issues. For example when a zone hooked up on a zone expander faults, you will get an !EXP message, followed by a normal keypad message, and then another !EXP once that fault restores. The !EXP messages do not contain the bit field that is included in the keypad message so if those were processed all the alarm, chime, power, etc variables on the Arduino would get reset thus causing issues like you are seeing.

To troubleshoot this you need to turn on debugging in your Arduino sketch by setting isDebugEnabled to true on line 58 of the sketch and then upload it to your Arduino. Then in the Arduino Software open the Serial Log window to view all the messages coming from your alarm panel. You will need to leave it open and trip various zones around your home to see what types of messages are coming through. Validate those against line 147 to see if again there are other types of messages we didn’t consider filtering out and edit it as needed. Please post back here with any additional findings since Stan and I are open to feedback to make this work for more panels by default.

I hope this helps!

Just FYI, 128BP follows same protocol - the only difference for alarmdecoder is zone expander emulation - on 128BP zone expanders are at different addresses. All reporting is the same. Should not be missing any information at all.

Thanks so much for the detailed response.

I put it into debug mode, and based on what it said, it made me think to check the number of partitions on the system (2*00 data field). It was set at two, and I changed it to one. I found out this house used to be owned by the neighbors and they had the properties wired together, each on a separate partition.
That fixed the previous problem, I think it was flip flopping betweens partitions.

Now however, when I put it into armed STAY mode, the feedback I get in SmartThings indicates its in armed AWAY mode.
Here are the arduino logs, its very similar to the previous issue as far as doing a flip flop thing

[details=Log][00110001000000003A–],046,[f72f03000046008c08020000000000]," ARMED STAY 1 ZONE BYPASSED "
Active Zone Count and Zone Status:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 43:0 44:0 45:0
Message: ||armedStay|||ARMED STAY 1 ZONE BYPASSED
Sent to SmartThings:||armedStay|||ARMED STAY 1 ZONE BYPASSED
[01010001000000003A–],000,[f74000000000000c0c020000000000],"SYSTEM 1 STATUS S “
Active Zone Count and Zone Status:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 43:0 44:0 45:0
Message: ||armedAway|||SYSTEM 1 STATUS S
Sent to SmartThings:||armedAway|||SYSTEM 1 STATUS S
[00110001000000003A–],046,[f72f03000046008c08020000000000],” ARMED STAY 1 ZONE BYPASSED "
Active Zone Count and Zone Status:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 43:0 44:0 45:0
Message: ||armedStay|||ARMED STAY 1 ZONE BYPASSED
Sent to SmartThings:||armedStay|||ARMED STAY 1 ZONE BYPASSED
[01010001000000003A–],000,[f74000000000000c0c020000000000],"SYSTEM 1 STATUS S "
Active Zone Count and Zone Status:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 43:0 44:0 45:0
Message: ||armedAway|||SYSTEM 1 STATUS S
Sent to SmartThings:||armedAway|||SYSTEM 1 STATUS S[/details]

Any idea what that means, or what might be causing it?
I thought about trying *97 in programming mode, which sets standard defaults. Any idea what that changes? Will it wipe out all of my zones and their names?

Thank you.

EDIT: It is like its flipping to Master Keypad mode https://www.manualslib.com/manual/69665/Honeywell-Vista-128bp.html?page=23
I went and checked the settings for the keypad address assigned to the AD2PI (03) and it is not set to be a master keypad. Its like there is still some setting in there having to do with multiple partitions.

Eric thanks for posting your logs! The above message is what is causing the “flapping” event. I don’t have these and I wonder if they are caused by your additional partition. Maybe @kevin_nutech can help confirm what these messages are and how to disable them. Worse case you can update your Arduino sketch to completely ignore them at the beginning of the loop.

Edit: I did a quick Google search and found an article on AlarmDeoder that these messages are indeed from having multiple partitions. From what I gather partition 1 is reporting armed away while partition 2 is reporting armed stay. I don’t know enough about programming to tell you how to fix this but you may need to move all your zones to partition 1 given you said this alarm was working 2 properties and maybe partition 1 was the other property.

@njaslyr,

I am just jumping through the multiple threads running on this forum. I don’t think anyone has asked whether you have set up virtual zones for each of your Honeywell sensors? The process is to create the virtual zones so that they provide virtual twins for each of the Honeywell sensors. The virtual zones will flip whenever the physical sensor is triggered. After creating the virtual twins, go into the SHM app and ensure you have selected to monitor each of the virtual zones. Hope this is helpful and fixes the issue.

@moose,

Glad you were able to get the power to from the panel to your board. Last summer we made this the default setup for the project and incorporated the steps into the README. As a follow up, are there any changes needed to the README that will make this more clear?