[RELEASE] Alarm.com App

Hi,
I followed your suggested steps and everything seemed to be working but I get an error in the log. A session is created and it tries to send the command but an error comes back.

(168)ADC-App.updateSwitch(): Setting null-armaway to off

(168)ADC-App.updateSwitch(): Setting null-armstay to off

(168)ADC-App.toggleOtherSwitchesTo(): Toggling all switches that are not disarm to off

(168)ADC ERROR (setSystemStatus): groovyx.net.http.HttpResponseException: status code: 403, reason phrase: Forbidden

(168)ADC-App.setSystemStatus(): Attempting to set a panel status of: disarm

(168)ADC-App.getSystemAuthID(): Received sessionID (tuphn0g3r1vo1pzrpwc3h0yk) and afg (null)

Any idea what is the issue.
Thanks

Update:
Implemented the cookie for the two factor authentication.

Now the error is.....
ADC ERROR (setSystemStatus): groovy.net.http.HttpResponseExceptiin: status code: 423, reason phrase: Locked (used to say forbidden)

Any advice would be appreciated.

Thanks

Sorry I cannot be more helpful. I have a similar error and even removing and reinstalling isn't helping.

Hello. Glad i found this integration between HE and ADC. It is so helpful as I setup rules to turn off all my lights when I arm the panel. I would like the lights to turn off quicker then 1minute, but since the polling is setup to 1minute, I cannot. Is there anyway to decrease the poll timing? Mayb 30 seconds?

Again, thanks so much for this.

This app doesn't work at all. Groovyx.net points to a porn site. Not sure what these guys are talking about but anyone attempting to get this to work should look into the link that's being referenced in the error logs. Not sure i want to associate with groovyx.net. It's not like your sending your home security / password to a porn site right? cuz we trust those guys .....

That's not a URL, it's a stack pointer. You also only copied a fragment of it, not the entire thing. Confirmation bias is a b*tch though...

@joeswann.biz I have been running the ADC app since it was introduced as an option, and aside from some "opps'es" on my part and one time a small code issue, I have not had a single issue running the ADC on my HE. Even when ADC site updated and broke everything the app writer did (and ended up fixing), it still has been working great!... There are some gotcha's when setting up ADC both on the HE and linking to ADC API. When I set mine up, I ended up creating a simple user on ADC's site strictly for my HE and only granted the access it required to Arm Stay, Arm Away, and Disarm as well as poll. With all that said the community is great on here, and if a question for assistance is posed, I bet you'll get any help/assistance you need. Hope you get your issue fixed.

1 Like

Sorry, don't know why I made that assumption. Thanks for your help

It's all good.. It can be really frustrating at times.. did you figure out what the root cause was???

No, I end up abandoning. I don't have much need to view or access alarm.com triggers from hubitiat turns out.

I would like if there was the ability to access the alarm.com sensor information from hubitiat (when last activated, inactive for, battery level etc) that would be extra beneficial if I could tie that information into some routines but it's just a hoop dream.

@jmpierce not successful getting this working yet.

Implemented the cookie for the two factor authentication.

Error is.....
ADC ERROR (setSystemStatus): groovy.net.http.HttpResponseExceptiin: status code: 423, reason phrase: Locked

Any advice would be appreciated.

Thanks

The alarm.com service is responding with that code, so it's unlikely anything within the app itself can address it. I would check your alarm.com account and make sure it's active. You could also try to create a service (secondary) user on your account and use that for the ADC app.

@jmpierce

I updated the source code to the one you release a few weeks back. I'm getting one error that is preventing it from working properly.

  1. ADC ERROR (setSystemStatus): groovyx.net.http.HttpResponseException: status code: 409, reason phrase: Conflict

Any suggestion on how to correct this issue.

Thanks

Unfortunately, I can't offer any further suggestions. The code that was updated was done by another community member, so I can't speak to how the changes may have affected you.

I should also note that I'm no longer maintaining this app -- I've moved on from alarm.com to another service. alarm.com's closed ecosystem became too annoying for me.

If others want to push updates to the code, I'm happy to allow any MRs that come through.

I hope you get the issue worked out.

Normally a 409 suggests that retrying the operation at a later point may prove to be successful as the conflict should be a temporary one. That being said, it may not be...

@jmpierce

Out of curiosity, what did you move to? What was the breaking point with ADC?

I switched to Simplisafe. ADC was $15/month more expensive and offered fewer features. I could forgive that to a degree, but ADC's closed ecosystem was a deal-breaker for me. If you operate an Internet connected smart home service (as they claim), but don't offer some form of API, then your business model just isn't sustainable.

I'm yet to integrate SS with Hubitat, but tbh I'm probably migrating away from Hubitat too. The platform showed promise, but hasn't really evolved as much as I had hoped. The only thing holding me back is I have a bunch of Hubitat device handlers I wrote for my home theater systems that I just don't have time to rewrite, and I use them enough that I would miss them.

I'd definitely recommend SS over ADC for those thinking about switching.

I hear you. It is annoying that you can't even pull sensor data through ADC. I get not having direct control, but to not have to double-up contact sensors would be handy. I know there's an interface on the control panel that you can pull sensor logs from real-time, but it's not on by default. I couldn't get Hubitat to pull the log data (been several months) but I think it was because of certificate errors.

EDIT: Found the link. This was started for HA, but I do remember being able to curl my panel and getting the sensor data back pretty quickly.

I've had intermittent issues with the app failing to refresh the cookie data. I initially thought it was because of the 2FA enforcement, but the frequency was only once every couple of days and the next refresh cycle would be successful. I've had a few instances where the failure lined up with setting the alarm though. I finally decided to crack down and try to root cause the problem. It looks either the site itself, or my connectivity, is randomly failing. I changed the ADC Manager app code to always give back the actual error and see both "read timeout" and "503" errors in the logs. The upshot, I just threw a call back to the main function in the "catch" portion of each function. Basically "if at first you don't succeed...try again." Seems to be alright now.

For anyone else out there still using this, I found a way around the 2FA cookie. Instead of adding the cookie to line 402, I added found this cookie in the network responses:

twoFactorAuthenticationSkipped-1318####=true

I just don't know if that number is unique to each system or not (it didn't change when I setup a new test account, so it's definitely not account specific). The # symbols are actual digits, but don't want to hand mine out if it is system specific.

So, I started down the rabbit hole of direct connectivity with the panel. After spinning in cycles, I ended up stumbling across this driver set that's exactly what I was looking for. The drivers allow for direct communication between HE and the panel and should alleviate the pains with trying to get through the ADC website.

@jmpierce I want to thank you again for your work here. If it wasn't for this integration, I would probably still be stuck on SmartThings.

I've got it to work but I can't figure out how to trigger the arm/disarm actions

Ideally I am trying create a virtual switch that can set system to arm stay or disarm.