Feature request: Alarm.com integration

Also just added an optional disarm button. In addition to upgrading on the IDE, you will need to remove the smartapp from your mobile app and re-add it for the new switch to be created.

One minor error found in the app code, under Def COMMANDS>
"ā€˜DISARMā€™: [ā€˜paramsā€™:ā€¦], ā€˜nameā€™: ā€˜Arm Awayā€™]
The name should not be Arm Away.

Good catchā€¦ Thanksā€¦ fixed. BTW, if you are upgrading you need upgrade the switch AND the smartapp code.

When I tried to remove the app it said it was in used. I deleted the switches and remove the smartapp and device handler to start fresh. Rebooted the hub. Added the smart app and device handler and now but the switches do not appear. In your instructions it said to wait 10 minutes, but so far they are not showing up. Any ideas?

I have noted the same issue, and was about to post.

I did see an error in the logs:

3:13:26 PM: error groovy.lang.MissingMethodException: No signature of method: script1488485606137558162556.getCommands() is applicable for argument types: () values:
Possible solutions: command(java.lang.String), command(java.util.Map), command(java.lang.String, java.util.List), getClass() @ line 296

Thanksā€¦ just checked in another fixā€¦ should work now?

In use is usually an error that happens when the switches are included into other routines or automations. You have to uncheck the switches from them (like Alexa, routines, etc.) and then uninstall the smartapp.

I have installed the app, and Iā€™m seeing Arm Stay, Arm Away and Disarm.

Iā€™m not at home at the moment to play around with the app and my alarm. But Iā€™m curious, all three switches are registered as ā€œon.ā€ Why is that? Wouldnā€™t only ā€œDisarmā€ be ā€œonā€ if the system is disarmed?

Iā€™m trying to figure out the best way to use EchoSistant or Ask Alexa to query my system. And also set up automations based on the state of the alarm.

And just a suggestion: I wonder if you can use your app to integrate the alarm systemā€™s presence and door sensors into ST.

Thanks for your hard work on this!

Jake

Is it possible to get status from ADC on current alarm status so i can drive SHM in home/away mode or is it only one way from ST to ADC ?

We are used to using the ADC app to arm/stay the panel and i use IFFTT to drive SHM changes, which can take upwards of 15 min on some days or completely not workā€¦

Thanks for creating this appā€¦

I am going to see if I change the device handler from a switch to a momentary button. Then with CoRE to use the SHM to link the button presses to the appropriate status.

The other option is to disable the off option in the device handle so turning the switch off or on will not trigger the request. Then set up a rule in CoRE turn off the other two switches if one turns on, since off will not trigger the alarm action.

I actually only use two of the three alarm states ā€“ arm stay and unarm. So Iā€™ve created a virtual switch that utilizes the ā€œAutomate Lights & Switchesā€ smart app to control the ā€œArm Stayā€ and ā€œDisarmā€ Alarm.com switches.

When the virtual switch is ā€œon,ā€ then ā€œArm Stayā€ is switched on.

When the virtual switch is ā€œoff,ā€ then ā€œDisarmā€ is switched on.

Now, the disconnect is when the alarm is controlled via the Alarm.com app or the control panel, because it doesnā€™t seem that there is any way for the switches in ST to detect and report back the actual state of the alarm.

I hope that makes sense!

I did something similar with my thermostatā€™s FanON/FanAUTO switch.

Before this wonderful Alarm.com app, I used IFTTT to tracking incoming emails about my alarm system. So an email would flip a virtual lock for either Stay or Away. Then with CoRE, if the Stay Lock is locked then SHM is changed to Stay. AWAY lock becomes Away for SMH, ect.

The IFTTT delay is a pain, but within 5 minutes usually. This lets me track Alarm.comā€™s Status.

Trying to get the Alarm.com buttons status to change without triggering the alarm is a challenge.

I think that is why I went with the momentary button press to trigger Alarm states. This way I can rely SHM to track status with IFTT/CoRE intergration.

Good call on using IFTTT to track incoming emails.

I just tried it out and the IFTTT trigger fires with 30 seconds of the status of my alarm changing. Though Iā€™m sure that will hinge on the delivery rate to my Gmail account.

This is a sick work around for the alarm status if there is no way to actually pull this information from Alarm.com.

Now for some reason, the silent arming functionality is not working for me. I didnā€™t install this app until this morning, so I have the latest version. And Iā€™ve confirmed the selection if the ST interface. Any ideas?

I did a re-install because I wanted the ā€œDisarmā€ option. I followed the directions and it worked perfectly.

Thanks for the hard work on this!

Silent is not actually silent - it beeps twice instead of like 30 times. Is that what you are seeing, or is it actually beeping 20-30 times.

Also, I could add a lock in addition to the switches that can show current status. The only thing is there is no way to push status updates from alarm.com to smartthings, so it has to poll alarm.com every x minutes. If you do that, alarm.com may think it is being hacked and potentially turn off of this whole interface we are using.

Thanks for the feedback @schwark!

It definitely beeps many, many times when arming!

So I added functionality so it will update the status of all 3 switches when you click on any of them. However, it does not poll for status (for reasons mentioned above - we may end up losing all functionality if we ping the service often), or does not update status when first added.

1 Like

Nice job my man!

Iā€™m using the Gmail > IFTTT > Virtual Switch workaround to update the device status. Itā€™s not a perfect solution, but it works.

EDIT: Iā€™ve switched to using Stringify rather than IFTTT, this eliminates any redundancies that may be caused by Alarm.com sending an arm/disarm email that would trigger my virtual switch, which would trigger the Alarm.com switches, which would then trigger the Alarm.com email alert, and so on.

Stringify allows me to set a condition that the virtual switch only triggers ā€˜onā€™ if its previous status was ā€˜off,ā€™ and vice versa.

Stringify also seems to be a bit faster, as well.

Any thoughts on tapping the Alarm.com presence or open/close sensors for use in the ST ecosystem?

I donā€™t think you can use this method for any two way communication (same polling problem). Further, this particular UI I am using does only shows doors/windows that are open at that time. So the sensors etc is a no-goā€¦ You are welcome to fork my code and look at extending itā€¦

I am new to virtual switches but here is what I did:

I created 2 momentary switches. One for arm stay and one for disarm.

I tied my Good Night routine to arm stay switch using the "automate lights and switches"
Then I tied the ā€œIā€™m backā€ routine to disarm.

I donā€™t get a status back the state of the alarm.com panel, but I really donā€™t needed it since it is a momentary switch. If the panel is disarmed, and I arrive home, it will try to disarm it again and give me a brief message on the panel. Not a big deal.

Does that make sense? Is this the right approach?