UPDATE August 21, 2017: Thanks to overwhelming support from this community, this project has evolved and we’ve formed a company behind it called Konnected.

In only a few months since launch we’ve had hundreds of SmartThings community members successfully convert their wired alarm systems into SmartThings. Thank you all for your incredible feedback and support of this project!

Original post below:

I’m proud to announce the latest update (v1.5) to my NodeMCU ESP8266 SmartThings integration for connecting a wired alarm system (DSC / Honeywell / etc) to SmartThings. Yesterday I added the ability to connect the alarm system siren, making it now a complete solution for replacing a traditional keypad-based alarm system with SmartThings and Smart Home Monitor. The best part about it is you can do this for less than $25 with electronics easily available online, and my open-source code: https://github.com/heythisisnate/nodemcu-smartthings

I previously shared an early version of this project in January, and thanks to this community’s feedback and encouragement, I’ve been continuously improving it.

Features and Highlights

Use existing door/window contact sensors, motion sensors, and smoke detectors that are already wired in your house. Connect your wired AC or DC powered siren, strobe or alarm signal using an inexpensive relay. Fully compatible with Smart Home Monitor, the security app built in to the SmartThings mobile application. One piece of hardware to buy: a NodeMCU ESP8266 development board. It’s less than $10 and can easily fit inside your alarm system panel cabinet. The device uses your WiFi internet connection to communicate to SmartThings over a secured (HTTPS) API whenever the state of one of your sensors changes. The siren/strobe is triggered by a LAN message from the SmartThings hub. Never type in a stupid code to arm/disarm your alarm again, use the SmartThings app to automatically arm the system when you leave and disarm it when you come home. Monitor each door and window individually in SmartThings. No more concept of “zones” is necessary. Because the device communicates to SmartThings API directly, it doesn’t need to be on the same LAN or within range of your Hub to monitor a contact or motion sensor. You can also use this to monitor sensors in a remote location. Device can be powered by DC power from your alarm system panel. Simple and minimal amount of code. The project consists of:

Device Handlers for Contact Sensors, Motion Sensors, Smoke Detectors and a Siren/Strobe/Alarm

for Contact Sensors, Motion Sensors, Smoke Detectors and a Siren/Strobe/Alarm A SmartApp for receiving messages from the SmartThings API

for receiving messages from the SmartThings API Only a few hundred lines of lua code for loading onto the NodeMCU ESP8266

Based on free, open-source software and technology. Does not require any networking configuration like static IP or port forwarding. Step-by-step setup instructions are on Github

Photos & Screenshots

Installation and How-To

Detailed setup instructions and a product buying guide is all on my Github project page:

GitHub heythisisnate/nodemcu-smartthings Connect wired contact sensors and/or motion sensors to SmartThings using a NodeMCU ESP8266 - heythisisnate/nodemcu-smartthings

I’m updating this frequently as I hear your feedback.

FAQ

Can I still use my alarm panel system in the same way?

No, not really. This project is designed to replace the brains of your alarm system with SmartThings. You are using your existing contact sensors, motion sensors, smoke detectors siren, but not the keypad and panel controls. SmartThings Smart Home Monitor does a good job of arming/disarming the system and triggering alerts and actions when something happens.

How many sensors or “zones” can it support?

The NodeMCU ESP8266 has 6 or 7 GPIO pins that you can use reliably for digital input and output. You need one pin per sensor, plus one to control a siren. If you have more than 6 devices to connect, you can buy multiple NodeMCU ESP8266 boards, each monitoring a portion of them. So there’s no real limit to the number of sensors you can connect. The concept of zones is irrelevant because you can monitor each individual sensor in SmartThings and have as many of them as you want.

Do I have to know how to code to set this up?

No, you just need to be able to copy/paste some code, follow some setup steps, and modify some configuration variables. It’s pretty well documented on my Github project page.

New: Buy one of my pre-loaded DIY kits and the software is already installed. You can set it up with just your web browser.

I’m happy to hear from people when they try this at home, so please do share your experience. I’m happy to answer any questions or try to solve any problems you may have. Thanks for reading!