[RELEASE] Alarm.com App

HI All,

I too Have an Alarm.com 2GIG system and would like to integrate it into HE. Can I read the sensors for the doors when they are opened/closed or pick up on the motion sensors that are programmed in 2GIG? I would like to add advanced query for front door being open by checking the mag sensor if it is open/closed. Would this app/driver do this?

The app was written only to arm/disarm the system. Since alarm.com does not support web hooks or any ability to push events to a subscriber, including the sensors as devices is not practical.

To address a similar setup that you described, I just purchased separate z-wave contact sensors for my external doors and paired them with my HE.

2 Likes

I was just wondering if you had a chance to look into adding a silent alarm or no delay option yet?

1 Like

Sorry, I have not. I've been super busy with work. I'll update the community when I do get a chance though.

just wanted to say thanks! i ran an arm stay and it work just like it did on smartthings so I just need the basic arm and disarm biult into it :slight_smile:

@jmpierce - This is a perfect app. Does what its supposed to do with minimal fuss. Glad I just tripped over it. Thanks for the great work.

I'd been looking for a way to play with ADC without pissing off my wife by "messing with the security system."

Like you suggested, I also had been running with two sensors on my doors. The original z-wave sensors that were installed when we set up the alarm system, and a second set of zigbee sensors for me to play with for automations.

2 Likes

So everything was working great up until a few days ago. When the ADC Arm Stay Switch is turned on, it is no longer activating Arm Stay in alarm.com. I do see regular logins into alarm.com (in alarm.com app) from the account used by Hubitat.

Hubitat log shows the following error:
Error ADC ERROR (setSystemStatus): groovyx.net.http.HttpResponseException: Forbidden

Anyone know how to fix this?

Tried the steps outlined by @TheMigDig above, but no luck. When I enter the credentials for alarm.com in the alarm.com app in Hubitat, the switches do not get created and I see the below in the log. At the same time, Alarm.com History shows Successful Web Login during the same time from the same account.

ADC ERROR (Authentication failed -- Unable to finish update!): updated()
ADC ERROR (getPanelID:GettingAccountID): groovyx.net.http.HttpResponseException: Forbidden

I think alarm.com made some changes on their end because I see that people with SmartThings are having the same/similar issues: Alarm.com and Smart Things - #305 by AmonRa - Devices & Integrations - SmartThings Community

If you're having this issue and happen to also be using Homebridge, you can get Alarm.com working through it by using the beta version of the homebridge alarm dot com app and following the 2fa instructions below:


I have yet to experience any of these problems (armed/disarmed my system via HE without issue), though I did notice the alarm.com web interface is asking for me to setup MFA.

What are the steps taken to replicate the issue? Was this encountered during a new install? Was MFA actually enabled on an account?

I have also been unable to arm/disarm via Hubitat for past few days. I tried deleting the app and reinstalling, but the ADC Arm/Disarm switches never appear under devices. Here's what I see in the logs:

ADC-App.updated(): Updated with settings ...
ADC-App.getSystemAuthID(): Getting refreshed authentication credentials
ADC-App.getSystemAuthID(): Received sessionID ...
ADC ERROR (getPanelID:GettingAccountID): groovyx.net.http.HttpResponseException: Forbidden
ADC ERROR (Authentication failed -- Unable to finish update!): updated()

MFA is not enabled on alarm dot com account.

I ran into the same issue. I just switched to Hubitat 2 weeks ago, and I set this app up. When I login though (on the alarm.com website), every time - I get directed to a page suggesting I setup the 2FA, and i couldn't get it to connect. I was able to get around it by watching in developer tools in Chrome as I logged in. When you click Skip on that page, it generates a cookie that looks like this:
"Cookie" : "twoFactorAuthenticationSkipped-#######=true; domain=.alarm.com; path=/; secure; HttpOnly; SameSite=None",

the ####### is an ID related to your account.

I added that as line 401 in the adc-manager, and it's been working solid for over a week now. There might be a better, or automatic way of doing it, but this has worked for me to fix that issue.

Would you mind sharing the code that you added? If it works, I'd like to add it to the main repository so it will solve the problem for others.

Fwiw, I still haven't experienced the issue, so I haven't had much success troubleshooting it.

Thanks!

1 Like

No problem. I kind of feel like alarm.com maybe is only trying to push 2FA to certain accounts, or maybe certain companies?
Maybe you can make this automated, but what I did requires the user to obtain some data. I don't know enough yet to make proper code modifications in Groovy. But, I'll provide you with the information on what happens. When ever I login to alarm.com on the site or phone, my login is intercepted to this page, which is what seems to cause things not to work.

When you get to that page, a cookie is set by their server with a system ID maybe?


All I did was take that cookie, and change the =false to =true.

Once I obtained that ID, I simply added
"Cookie" : "twoFactorAuthenticationSkipped-#######=true; domain=.alarm.com; path=/; secure; HttpOnly; SameSite=None",
where the ####### was my system ID to the header data on the request at line 401 in the adc-manager code.

I'm not sure if you can write the logic to grab the system ID, and then just set that cookie automatically? I didn't try too much more once I got that working. But, with that cookie set, everything has been working great so far. Hope this helps - if there's anything more you need from me, or testing - let me know.

1 Like

@jmpierce the MFA workaround was put into the homebridge solution I posted above. Maybe you can use the same methodology?

excellent solution. added to app code and regained ADC connectivity. thank you!

So, this may have worked a few days ago; however, "skipping" the 2FA has been disabled and forced to use 2FA which renders this app inoperable (409, TwoFactorAuthenticationRequired, error)

There is a function to add authorized devices (tv's etc) by adding a received 2FA code under settings>login info>linked devices; Is there any way to code the app to receive or request said 2fa code?

FWIW the "fix" a few posts above does not work since skipping is diasbled...

UPDATE: The step 1 in post 70 by jmpierce is the work around. I figured this out on my own and added it where post 76 by jfunston says to add the cookie code. For some reason I completely missed jmpierce's post :man_shrugging:

I have the app and drivers loaded into HE and using it via the HE dashboard and with Webcore. All is good and I love the integration..
A problem i'm noticing is an error when setting "Arm Stay". The HE switch (ADC Arm Stay) is set but the alarm panel is not set. This is not consistent.. Heres what I found in the logs.

Any ideas ??

Thanks in advance