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.
@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.
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
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.
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()
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.
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.
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.
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
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.