Introduction: Interface Honeywell Vista Alarm With Smart Hub (Wink/Smartthings)
Hi there! I wanted to give a brief tutorial on how I got my Honeywell Vista alarm system integrated into my smart hub. I'm using Wink for this tutorial, but this should work with any smart hub (Smartthings/Iris/etc.) Before we get started, you're going to be making modifications to a product that involves AC Mains (120V+). Please be safe. I'm not responsible if you burn your house down.
What does this do? Allows you to arm/disarm your alarm system from anywhere in the world via your smart home app AND allows you to use triggers from your smart home app to arm/disarm your alarm (for example, we have the system arm when the deadbolt is locked). You can even control your alarm by saying "Alexa, turn on/off the Alarm" (and you might want to disable this option!)
What will you need? You'll need to buy a GE Outdoor Smart Switch, an Arduino (I'm using a NodeMCU ESP8266), a 5V power brick, and a Honeywell 5834-4 keyfob. You'll also need to make sure you have an RF receiver on your alarm (typically, alarms are installed with a 6150RF or 6160RF keypad). You'll also need to solder some connections and some small wire.
How does it work? Basically, what we're going to do is create a device that transforms a z-wave signal to a simulated button press on the Honeywell keyfob, which in turn either arms or disarms the alarm. By doing this, the alarm can be interfaced by your smart home app from anywhere without any additional cost.
Why would I do this? Our home came with a Honeywell Vista alarm already built-in, but I wasn't going to pay additional for TotalConnect or for interface modules that can be several hundred dollars. I simply wanted a way to arm and disarm remotely. It totally defeats the purpose of having a smart home, and not being able to control your alarm remotely. Imagine letting a dog sitter come by. You don't want to give them your alarm code. Now you don't have to. Unlock your deadbolt remotely and now, disarm your alarm from the same smart home app.
Step 1: Open the GE Smart Switch
I chose the GE Smart Switch because I wanted a system that was reliable and provided a binary on/off output. A relay does this. I also figured there would be some extra space in this casing, meaning we could fit all extra components inside (the honeywell keyfob and arduino) and make things look tidy. The picture you see is a prototype of the final design.
You'll need to use something to pry open the plastic casing. I used wire cutters and used them to wedge in between the seam that runs around the outer edge. Once you get inside, unscrew the board, there are 7 screws total, and remove the boards from the casing.
Step 2: Isolate High Voltage / Low Voltage Connections
First, don't let this intimidate you. This is relatively easy - just practice safety. There are more complicated but prettier ways to do this, however, this is a proven method that will work. Even so, you're about to cut a high voltage (120V AC Mains) trace on the PCB. PLEASE MAKE SURE TO CUT ALL THE WAY THROUGH THE TRACE. If you don't fully break the connection as shown in the image, you'll light your arduino on fire. Make sure the device is unplugged.
Remove the output power receptacle by either cutting or desoldering the green, white, and blue connections from the PCB. You can get rid of this.
Cut through the hot wire trace, like in the picture above. I used a small hacksaw, however, a dremel would work as well. We're isolating the output of this relay, allowing our arduino to read what state it's in. If the relay is closed, your smart home app will report that the switch is ON (and the alarm will be armed) if the relay is opened, your smart home app will report that the switch is OFF (and the alarm will be disarmed).
You'll now want to solder two wires to the relay. See the second picture above. These will go to the arduino.
You'll also solder two wires to the AC mains connections. Make sure these are 14GA or thicker. These will go to your 5V USB converter.
Step 3: Powering the Arduino/Honeywell Keyfob
The GE Outdoor Smart Switch has 3.3V DC on board, however, this on-board power wasn't enough to power the arduino compatible device that I was using. For this reason, I chose to also put a small 5V USB charging brick inside the casing as well. You've wired the AC input side from the GE Smart Switch - now we'll solder to the input and output of the 5V converter. See picture one above.
On the output side of the power adapter, you'll have 5V dc coming out and a ground connection. In my picture, these are the red and black wires. You'll solder these wires to go to the VIN and GND connections on your arduino.
Now, you'll use the 3V3 pin on your arduino to power the Honeywell keyfob (by using this connection, you no longer have to worry about batteries). Open up the Honeywell keyfob, remove the battery, and desolder the battery holder. The top connection on the keyfob is positive. The bottom connection is negative. The top connection should connect to the 3V3 pin on your arduino. The bottom connection will connect to GND on the arduino. See picture two.
Lastly, you'll solder wires to the outside of the arm and disarm pins on the honeywell keyfob (I used arm away). We'll wire these to pins D2 and D3 on the arduino, however, keep in mind that I'm actually using a NodeMCU and the pinout might vary from your 'arduino'.
Step 4: Programming the Arduino
Use the following code to program your arduino. Basically, we're looking at the relay on the GE Smart Switch as an arduino input. When we see this change, we send an output to the appropriate button on the Honeywell keyfob. Again, keep in mind that my program references pins for the NodeMCU. You might need to change these pins in the code to reflect your arduino.
Step 5: Programming the Alarm
For this, we're using the low security mode on the Honeywell keyfob. The led should be green when you press a button, if it isn't, look up the Honeywell 5384-4 user manual and switch to low security mode before following the steps in the video.
Then, follow the steps in this video. Credit to Kurt Corbett.
Step 6: Testing Locally
Now it's time to plug it in and see what happens! Hopefully you won't see any "magic smoke" and everything works as it should. You can test by pressing the button on the GE Smart Switch directly. Pressing once should turn the alarm on. Pressing again turns it off. If this works like the video above, continue to the last step.
Step 7: Programming Your Smart Hub
Go into your smart home hub and add a z wave device. MAKE SURE that everything in the GE Smart Switch is taped and insulated BEFORE you plug it in. Once the device has been added, you can easily test with the button on the device or via your smart home app. Press to turn the device ON, the relay will click, and you'll see the LEDs on the Honeywell keyfob blink. Your alarm should also arm. Press again, the relay will click, and your alarm will disarm.
Now comes the fun! You can now disarm and arm your alarm using triggers in your smart home app. Create triggers to make the alarm arm when your deadbolt is locked or automatically arm based on a geofence. The possibilities are endless - however, keep in mind that your device is now more accessible. For example, since this device appears as a switch in your smart home app, it might appear in other places as well. A "bug" I found was our Amazon Echo automatically discovered this device (I named it "Alarm" in Wink). So you could say, "Alexa, turn off the alarm" and the alarm would disarm. Be sure you disable these features. Hope this helps someone!