[ST Edge] Smartthings Alarm.com Integration

Since the Groovy thing is going away, my existing integration will stop working.

This one (like the previous one) requires you to create an Alarm.com username and password where the two factor is turned off - you can create multiple logins to your account, so just need one that has 2FA off. You used to have to call your dealer to turn it off, but it looks like you can do it yourself on the online portal now.

Invite URL:

Code and Doc:

In some ways this is better than the older integration in that it is represented as a security system in SmartThings, though it also has a switch capability to turn it on (armStay) and off. It also polls to update its status so if you turn the alarm on or off manually on the keypad, it will update status on SmartThings (once every 5 mins)

The downside is due to the fact that unlike the Groovy drivers that could talk to the cloud, Edge drivers cannot talk to alarm.com directly - so this relies on a proxy server (written in python) that needs to run somewhere on the same network as the SmartThings hub. Code for said server and instructions at the GitHub link above.

I had also coded an entire Edge driver that does not need the proxy, till I realized this limitation that was introduced in Edge drivers that did not exist in Groovy drivers. If at some point SmartThings folks change their mind, this will work even easier.


I’ll install soon as I can today! It’s been 20 months without it, so def excited to walk in my home without having to manually disable my alarm system!

This will be my first edge driver install. I know alot of other devices I have will require updates by 9/30, so glad to have this back!

I don’t have a raspberry, but I do have a MacBook that I can leave ‘always on’…. So to be clear, I first install Python on MacOS & then add the code from the instructions?

After looking at the GitHub, looks like I’ll be needing a YT video that shows how to install these new device drivers compared to how easy it was using the groovy copy/paste publish process.

Installing a regular custom edge driver (one that doesn’t require a smartapp and a separate server device) is super easy. :sunglasses: That was the idea. You just follow a link the author gives you, choose the driver you want, and then it gets automatically downloaded to your hub. It will be automatically used for any new device you add to your account that has a matching fingerprint. So actually way easier than the old cut/paste/publish/edit process.

But, yeah, if there’s a server required it’s a whole different story.

So I updated the README with more instructions… Maybe that is more helpful.

Mac already has Python, You only need to install Python if you only have a windows machine.

And then copy the directory specified anywhere you want and follow the rest of the directions. It is crazy that this is needed when the old Groovy drivers were able to talk to the cloud directly…

1 Like

Made more doc fixes - see if the new doc addresses the ambiguities - I am trying to update the doc to make sure if addresses the issue for others as well. I clarified which proxy directory, and where you need to run the commands, and how to install python and pip if they don’t exist.

1 Like

the ufw command is optional - on a Mac is not necessary. I don’t think your wifi has anything to do with this, unless you physically knocked something over :slight_smile:

1 Like

lol very odd… soon as I typed the final ‘Ctrl-C’ command, boom my router died haha

I did get the part of adding the edge driver to my Samsung account for hub. So once I figure how to get my Wifi & ST Hub back online, I’ll run a test.

in the meantime,2 questions:

  1. what if let’s say I need to change the user/pass in the proxy… do I re-run all those commands or just the supervisord -c supervisord.conf ?
  2. will the proxy work if my Mac goes into “sleep mode”? or does it have to be completely awake?

Changing the username password needs a separate command I will document. but every time you restart your computer, you need to start from supervisord -c …

Proxy will work when your screen is off, but probably will not work if the entire computer is asleep (there are many levels of sleep) :slight_smile:

1 Like

deleted driver from st app, re-added…works perfectly now.

rather than leaving my MB always on… if I buy one of those tiny raspberrypi that I’ve always heard people talk about… I could just plug one in to an outlet and let that run always right? So how would I run these commands on that thing, do they come with a built in OS? does it require a display to be plugged into it at all times?

You would need an SD card to install the OS onto. Raspberry Pi has a tool that can flash the OS to the SD card making it pretty straightforward (assuming your computer has an SD card reader – otherwise grab one of those too). And no, you don’t need a monitor attached all the time – running them ‘headless’ is a very common approach.

1 Like

Thanks Josh.

As per this thread topic, Is there a proper “uninstall” process or commands needed once I migrate this proxy from my laptop to the raspberry? Or just delete the proxy folder on laptop?

There is no uninstall necessary. Simply reboot the machine to stop it on that machine (there are ways of doing without rebooting, but it may take more steps). You can remove the directory if you wish as well.

1 Like

I just rewrote the driver yet again, this time to make sure then when they do allow access to alarm.com directly the driver will not need to be rearchitected. Simply removes the need to install the proxy, and the same driver will work as well! So the instructions for the proxy setup are much simpler and the username and password are entered and stored on the SmartThings app instead.

To keep it different from the older driver, I have named it different… Please use this one. I will be removing the prior one soon.

Alarm.com Generic Proxy Security System

1 Like

Do we have folks here using a windows machine for all this?

See this discussion

On a synology would you install this in a docker?

I deleted everything from last week & started from scratch with the new readme. Running some troubleshooting now because all I get is this:

Update: rebooting hub fixes this above (hope this helps others)

@schwark what commands would I use if my MacBook restarts? To get the proxy running again (or is that no longer needed in case of pc/Mac/raspberry reboot?

You would only need to do supervisors -c and supervisorctl update upon Mac reboot.

1 Like

You could install on a docker container - maybe one of these days I can package this up as a docker container instead to save everyone some heartache.

Though on a Synology, you could simply install the Python interpreter on Synology via the App Store and then follow the rest of the directions as is.

1 Like

on the command line deploy sometimes, I have found I had to install the driver twice for it to load and be used. I think that is what might have been fixed when you rebooted the hub.

1 Like