Releases: d8adrvn/AD2SmartThings
AD2SmartThings v4 Release
_v4 Release Note:_
This v4 release is jam packed with updates:
- A smart app that allows you to integrate your alarm system sensors as virtual sensors in SmartThings. You can direct off the shelf SmartApps to monitor your alarm panel sensors and automate SmartThings actions. Really cool.
- We have enabled the ability for independent zone processing when the alarm is in the disarmed status. Previously, zones that triggered would accumulate as "active" until the last zone cleared. Now each zone operates independently.
- In response to clear community feedback, we have greatly reduced the logging to the SmartThings 'Recently' page. Now the logs provide a concise history of the physical changes to the alarm panel.
- In response to another community request, there is now the ability to software select Arm Stay or Arm Instant using a toggle in the Device Handler Preferences.
- This release standardizes the hardware assembly of the AD2SmartThings device, which addresses the top two support issues.
- In addition, we provide more detailed instructions on how to power your project using the alarm console. This has the advantage of running your project off of the alarm panel's battery backup when the power goes down. And of course you already have your SmartThings hub and router on battery backup! Thanks to community member @Francois_Deliege for this suggestion.
- The release includes new version 4.X.X code bases for both the Arduino sketch and the device handler
- An updated README includes lots of feedback from communitity member experiences that make it easier for you to complete this project.
Note: This release is not backwards compatable with the Version 3.X or earlier. Be sure to install both the sketch and new device handler to upgrade. The libraries from SmartThings and the ArduinoMega library which can be found on github are not compatable with v4 and later sketches. You must use the ST_Anything SmartThings library. A big thanks to Daniel Ogorchock and his son, Daniel Ogorchock, for creating a superior version of the SmartThings library with many enhancements and full support for the Arduino Mega.
Version 2.1.1 Release With Updates For June SmartThings System Upgrade
Same functionality as previous 2.1 release however contains a code fix required after a June, 2015 SmartThings Device Type system update. After the system update, home owner system codes were treated as numerical rather than text. This created an issue with codes that started with "0". Now any four digit numerical code will be correctly handled.
Version 2.1 Release
This release standardizes the hardware assembly of the AD2SmartThings device, which addresses the top two support issues. The release includes a new Version 2.1 of the Arduino sketch and a new README with updated project instructions. The release does not add any additional capabilities over Version 2.0 and uses the same Device Type. If you are already using Version 2.01, I don't see any reason to update. However, if you still want to update, you simply reconfigure your hardware and update the Arduino sketch being sure to include the ST_Anything SmartThings library. The libraries from SmartThings and the ArduinoMega library are not compatable with this Version 2.1 sketch. You must use the ST_Anything SmartThings library. A big thanks to Daniel Ogorchock and his son, Daniel Ogorchock, for creating a superior version of the SmartThings library with many enhancements and full support for the Arduino Mega. This release is not backwards compatable with the Version 1.X device type.
AD2SmartThings Version 2 Release
Version 2 of the AD2SmartThings Integration
This release adds new capabilities, including support for up to 36 zones, for a PANIC button and moves the alarm panel security code from the Arduino sketch to the Device Type Preferences. Note: this release is not backwards compatible. You must update / install both the Arduino Sketch and the Device Type code.
Enjoy
AD2SmartThings Updated Version 2 Release
Version 2 of the AD2SmartThings Integration adds new capabilities, including support for up to 36 zones, for a PANIC button and moves the alarm panel security code from the Arduino sketch to the Device Type Preferences. The code also addresses feedback received from users of version 1.0. Note: this release is not intended to be backwards compatible. You must update / install both the Arduino Sketch and the Device Type code.
Version 2.01 adds missing section of code to support event processing for an expanded number of zones.
Final Version "1" release
AD2SmartThings
===================
Integrate your Honeywell/Ademco alarm panel into your SmartThings physical graph
Do you have a home alarm panel and never use it? Do you hate the hassle of remember to arm and having to run around to disarm?
This is a relatively simple integration project that effectively integrates your Honeywell or Ademco alarm panel with SmartThings. These panels are typically installed by ADT or other alarm companies. You can choose to continue or not with your ADT monitoring service. This project works either way.
After installing this project, you can control your alarm panel automagically!!!!!
- Have it arm automatically after everyone has left the house by integrating with your presence sensors! And have it disarm when you arrive.
- Have it turn on automatically when you go to bed and turn off automatically when you wake by integrating with your Goodnight! automation and your GoodMorning! automation
Date: 8/20/2014
High Level Project Steps
- Order the hardware
- Add SmartThings hub to your home network, download app to your iPhone
- Obtain a Maker/Developer account for SmartThings (graph.api.smartthings.com)
- Assemble the Arduino Mega, ThingShield and AD2Pi
- Download the Arduino developer environment and import the AD2SmartThings sketch as well as the required libraries, including the SmartThingsMega and the Timer library.
- Add ArduinoMega/ThingShield to your SmartThings hub using your iPhone app
- Go to graph.api.smartthings.com
- On My Device Types, create a new device type and paste in the device type code. Save & Publish
- Go to My Devices, select the newly added Arduino and edit the Device Type and select the HomeAlarm device type (7.i.)
- Test out system
The Hardware List
The AD2Pi was obtained from Alarm Decoder. www.alarmdecoder.com
All other items from this project were easily obtained from Amazon via Amazon Prime
- AD2Pi
- Arduino MEGA
- Arduino SmartThings shield
- Jumper wires
- 9V power adapter
An ArduinoMega, SmartThing ThingShield and AD2Pi
Wiring
For the wiring, I used individual male to male jumper cables to wire the project (see below). I found these at Amazon such as Male to Male Solderless Flexible Breadboard Jumper Cable Wires 65Pcs for Arduino by Sunkee.
Power Supplies
For a power supply to power up the ArduinoMega I used a 9V power supply to run the Arduino+ThingShield. This was purchased at Amazon as well by searching for "Arduino Power Supply". Right now, I am using the Super Power Supply® AC / DC Adapter Charger Cord Plug - 9V 650mA compatible with Arduino Freeduino Duemilanove Uno Mega Hobby Electronics, which was available by Amazon Prime. CAUTION: There are 9V power supplies availble on Amazon that do not work for the Arduino (they are made for musical instrament controllers) and some that perform very poorly on Arduino. Be sure to read the reviews!
Project Housing
I simply strapped the Arduino onto a foam board and inserted it into my alarm panel box
Wiring the Project
- Wiring diagrams are included in the header of the Arduino sketch.
Wiring The Arduino Controller
An *Arduino Mega was used as the controller and was stacked with the SmartThings ThingShield. Note, set the DIP switch on the ThingShield to D2/D3 if not already.
Before stacking, bend the pin0 and pin1 of the ThingShield out to a 45 degree angle so they do not insert into the Arduino Mega. See pictures.
Note, the ThingShield pins are not labeled. So you can identify the pins using labels on the ArduinoMega picture (above).
- Connect the Arduino to USB power or to a 9V power supply using the appropriate ports.
- When not using the USB power supply, place a piece of black electrical tape over the USB port to prevent accidental shorting
Wiring The AD2Pi to your Honeywell or Ademco alarm panel
There is excellent documentation on the Alarm Decoder web site, including an instructional video. The wiring is the same for the AD2Pi as the AD2USB.
http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration
The Software
The code for this project is in a few files which are posted on github:
https://github.com/d8adrvn/ad2smartthings.git
Arduino Code
To load the code onto the Arduino, you will need the Arduino developer environment:
http://arduino.cc/en/main/software
Once the software is installed, the first thing to do is obtain the required libraries.
- Timer library was created by Simon Monk as modified by JChristensen. A copy is included in this repository/release for your convenience.
- SmartThings Mega library contained in this repository/release
- SoftwareSerial library was default library provided with Arduino IDE
Once you have the zip files downloaded you can import them within the Arduino IDE. Go to the Sketch:Import Library;Add Library drop down menu. Once you have added the libraries, they will show up under Sketch:Add Library:Contributed as "Timer" and "SmartThingsMega". Be sure the Timer library is installed named as "Timer"
You can connect the Arduino Uno to your computer via an USB cable, create a new sketch, paste the code from github into the Arduino IDE and then transfer to tehe ArduinoMEGA
Pairing instructions for the Arduino to the SmartThings hub can be found at SmartThings.com and are copied here:
“To join the shield to your SmartThings hub, go to “Add SmartThings” mode in the
SmartThings app by hitting the “+” icon in the desired location, and then press the Switch button on the shield. You should see the shield appear in the app.
To unpair the shield, press and hold the Switch button for 6 seconds and release. The shield will now be unpaired from your SmartThings Hub.”
Once you have finished transfering the code to the Arduino, you can remove the USB and power the Arduino using a 9V transformer.
Its more than a good idea to put a piece of electrical tape over the USB port to prevent accidental grounding of the port!
Device Type Code
The device type code allows you to control the ArduinoMega via the SmartThings physical graph. The controller device type code has the following features:
The Main Tile gives the status of the system and allows you to switch on the alarm in "stay" mode.
Inside the device type:
There is a 2x2 StatusTile that is the same as the main tile
There are tiles to switch on the alarm in Stay and in Away mode
There is a tile to toggle the chime
And there are status tiles for up to 6 zones
A message tile displays all the messages sent from the AD2Pi
Integration of Home Alarm Into Automated Actions:
The device type also establishes a switch and lock capability. You can integrate your alarm panel into SmartApps and into Actions using these capabilities.
To automate turning on/off the Alarm in "Stay" mode, select the Home Alarm from the list of "switches" in your SmartThings device list
To To automate turning on/off the Alarm in "Away" mode, select the Home Alarm from the list of "locks" in your SmartThings device list. "Locking" the alarm turns it on in Away Mode while "Un-Locking" turns it off
Have fun integrating!
FAQs
- After installing the Device Type, be sure to both Save AND Publish (for me). If you do not publish, they will not be able to communicate with the hub. If you make changes to either code, Publish early and often to avoid IDE issues.
- The Arduino 9V power supply (transformer) can be purchased at Amazon by searching for "Arduino Power Supply". CAUTION: There are 9V power supplies availble on Amazon that do not work for the Arduino (they are made for musical instrament controllers) and some that perform very poorly on Arduino. Be sure to read the reviews!
*If you have not set the AD2Pi with a valid keypad address for your system, the only message you will now see in the message bar on your mobile device is "!Sending....done" or "Having Trouble Sending" To fix this:
- Enter the valid keypad address using the Preferences tile on your mobile device. After saving your Preferences, be sure to press the ConfigAD2Pi tile to send the keypad address down to the AD2Pi.
- Go into your Vista Alarm panel and activate the keypad address that you used to configure the AD2Pi
##Credits
- Timer library from Simon Monk
- Thanks to authors: Vassilis Varveropoulos, Brice Dobry for the ArduinoMega ThingShield library and intial ideas
- Lots of good ideas from SmartThings @craig whose repository can be found at https://gist.github.com/e5b30109fdaec805d474.git
Initial Release
AD2SmartThings
===================
Integrate your Honeywell/Ademco alarm panel into your SmartThings physical graph
Do you have a home alarm panel and never use it? Do you hate the hassle of remember to arm and having to run around to disarm?
This is a relatively simple integration project that effectively integrates your Honeywell or Ademco alarm panel with SmartThings. These panels are typically installed by ADT or other alarm companies. You can choose to continue or not with your ADT monitoring service. This project works either way.
After installing this project, you can control your alarm panel automagically!!!!!
- Have it arm automatically after everyone has left the house by integrating with your presence sensors! And have it disarm when you arrive.
- Have it turn on automatically when you go to bed and turn off automatically when you wake by integrating with your Goodnight! automation and your GoodMorning! automation
Date: 8/20/2014
High Level Project Steps
- Order the hardware
- Add SmartThings hub to your home network, download app to your iPhone
- Obtain a Maker/Developer account for SmartThings (graph.api.smartthings.com)
- Assemble the Arduino Mega, ThingShield and AD2Pi
- Download the Arduino developer environment and import the AD2SmartThings sketch as well as the required libraries, including the SmartThingsMega and the Timer library.
- Add ArduinoMega/ThingShield to your SmartThings hub using your iPhone app
- Go to graph.api.smartthings.com
- On My Device Types, create a new device type and paste in the device type code. Save & Publish
- Go to My Devices, select the newly added Arduino and edit the Device Type and select the HomeAlarm device type (7.i.)
- Test out system
The Hardware List
The AD2Pi was obtained from Alarm Decoder. www.alarmdecoder.com
All other items from this project were easily obtained from Amazon via Amazon Prime
- AD2Pi
- Arduino MEGA
- Arduino SmartThings shield
- Jumper wires
- 9V power adapter
An ArduinoMega, SmartThing ThingShield and AD2Pi
Wiring
For the wiring, I used individual male to male jumper cables to wire the project (see below). I found these at Amazon such as Male to Male Solderless Flexible Breadboard Jumper Cable Wires 65Pcs for Arduino by Sunkee.
Power Supplies
For a power supply to power up the ArduinoMega I used a 9V power supply to run the Arduino+ThingShield. This was purchased at Amazon as well by searching for "Arduino Power Supply". Right now, I am using the Super Power Supply® AC / DC Adapter Charger Cord Plug - 9V 650mA compatible with Arduino Freeduino Duemilanove Uno Mega Hobby Electronics, which was available by Amazon Prime. CAUTION: There are 9V power supplies availble on Amazon that do not work for the Arduino (they are made for musical instrament controllers) and some that perform very poorly on Arduino. Be sure to read the reviews!
Project Housing
I simply strapped the Arduino onto a foam board and inserted it into my alarm panel box
Wiring the Project
- Wiring diagrams are included in the header of the Arduino sketch.
Wiring The Arduino Controller
An *Arduino Mega was used as the controller and was stacked with the SmartThings ThingShield. Note, set the DIP switch on the ThingShield to D2/D3 if not already.
Before stacking, bend the pin0 and pin1 of the ThingShield out to a 45 degree angle so they do not insert into the Arduino Mega. See pictures.
Note, the ThingShield pins are not labeled. So you can identify the pins using labels on the ArduinoMega picture (above).
- Connect the Arduino to USB power or to a 9V power supply using the appropriate ports.
- When not using the USB power supply, place a piece of black electrical tape over the USB port to prevent accidental shorting
Wiring The AD2Pi to your Honeywell or Ademco alarm panel
There is excellent documentation on the Alarm Decoder web site, including an instructional video. The wiring is the same for the AD2Pi as the AD2USB.
http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration
The Software
The code for this project is in a few files which are posted on github:
https://github.com/d8adrvn/ad2smartthings.git
Arduino Code
To load the code onto the Arduino, you will need the Arduino developer environment:
http://arduino.cc/en/main/software
Once the software is installed, the first thing to do is obtain the required libraries.
- Timer library was created by Simon Monk as modified by JChristensen. A copy is included in this repository/release for your convenience.
- SmartThings Mega library contained in this repository/release
- SoftwareSerial library was default library provided with Arduino IDE
Once you have the zip files downloaded you can import them within the Arduino IDE. Go to the Sketch:Import Library;Add Library drop down menu. Once you have added the libraries, they will show up under Sketch:Add Library:Contributed as "Timer" and "SmartThingsMega". Be sure the Timer library is installed named as "Timer"
You can connect the Arduino Uno to your computer via an USB cable, create a new sketch, paste the code from github into the Arduino IDE and then transfer to tehe ArduinoMEGA
Pairing instructions for the Arduino to the SmartThings hub can be found at SmartThings.com and are copied here:
“To join the shield to your SmartThings hub, go to “Add SmartThings” mode in the
SmartThings app by hitting the “+” icon in the desired location, and then press the Switch button on the shield. You should see the shield appear in the app.
To unpair the shield, press and hold the Switch button for 6 seconds and release. The shield will now be unpaired from your SmartThings Hub.”
Once you have finished transfering the code to the Arduino, you can remove the USB and power the Arduino using a 9V transformer.
Its more than a good idea to put a piece of electrical tape over the USB port to prevent accidental grounding of the port!
Device Type Code
The device type code allows you to control the ArduinoMega via the SmartThings physical graph. The controller device type code has the following features:
The Main Tile gives the status of the system and allows you to switch on the alarm in "stay" mode.
Inside the device type:
There is a 2x2 StatusTile that is the same as the main tile
There are tiles to switch on the alarm in Stay and in Away mode
There is a tile to toggle the chime
And there are status tiles for up to 6 zones
A message tile displays all the messages sent from the AD2Pi
Integration of Home Alarm Into Automated Actions:
The device type also establishes a switch and lock capability. You can integrate your alarm panel into SmartApps and into Actions using these capabilities.
To automate turning on/off the Alarm in "Stay" mode, select the Home Alarm from the list of "switches" in your SmartThings device list
To To automate turning on/off the Alarm in "Away" mode, select the Home Alarm from the list of "locks" in your SmartThings device list. "Locking" the alarm turns it on in Away Mode while "Un-Locking" turns it off
Have fun integrating!
FAQs
- After installing the Device Type, be sure to both Save AND Publish (for me). If you do not publish, they will not be able to communicate with the hub. If you make changes to either code, Publish early and often to avoid IDE issues.
- The Arduino 9V power supply (transformer) can be purchased at Amazon by searching for "Arduino Power Supply". CAUTION: There are 9V power supplies availble on Amazon that do not work for the Arduino (they are made for musical instrament controllers) and some that perform very poorly on Arduino. Be sure to read the reviews!
##Credits
- Timer library from Simon Monk
- Thanks to authors: Vassilis Varveropoulos, Brice Dobry for the ArduinoMega ThingShield library and intial ideas
- Lots of good ideas from SmartThings @craig whose repository can be found at https://gist.github.com/e5b30109fdaec805d474.git