Full Instructions: Setting up VeraSecure as a Home Security System

After complaining for a while, I gave up on Vera publishing or including this information or samples with the VeraSecure, so I sat myself down and figured it out for myself. I now finally have this down to a science. I have set up 2 of these systems, one already in production with monitoring service, and the other running and slated for next month to add the monitoring service. This is the OVERVIEW (e.g., not quite step by step) on how I got a fully functional, monitored security system that works, and makes sense to non-geeky people (like my wife and daughter). By the way, most of this will work on any Vera ui17 controller, not just the VeraSecure. This posting is a work in progress, so please PM me with edits or suggestions.

note: I have cross-posted this article at the url below, and that one includes the sound files and LUUP codes

This is the equipment list I used:

  1. One VeraSecure Home automation controller ($300 available from Vera or Amazon)
  2. A 2gig DW-10 sensor for each opening to protect ($20 each at Amazon)
  3. Vera does now have a package on their website called “Security complete” that can jumpstart you with the VeraSecure, a camera, motion sensor, and 2 door/windows sensors for 350.00
  4. One Aeon Labs 5 series doorbell ($60 at Amazon)
  5. One used Android tablet you don’t mind attaching to a wall (or $50 for a cheap new one)

Here are the steps to get up and running:

  1. Get the controller running
    a. Create an account on getvera.com, and enter the serial number of your controller to attach it to your account
    b. Unpack, plug in power, and use the included Ethernet cable to connect the controller to one of the LAN ports of your existing Internet Router. Follow the startup wizard, answer the questions to get the controller up and running.
  2. Add the HouseModes plugin to the VeraSecure
  3. In the modes section of the Vera, at the bottom, set to 45 seconds before reporting a trip, and set the VeraSecure device to “off” in home mode
  4. Optional: Add any personally selected Zwave devices you want, following instructions.
  5. Add the sounds to the doorbell speaker (PM me for mine)
    a. Create/find a 30 second long “Arming” beeping sound
    b. Create/find a 30 second long “SensorTrip” double-beeping sound
    c. Create/find a short “Confirmation” beep sound
    d. Attach the doorbell speaker to a computer, backup up the sound files on it, and replace them with your custom sounds.
  6. Pair the doorbell device, document its device number, set it to play sounds once, test and document the sound file numbers
  7. Create a manual scene for Arming the system that executes a luup code (PM me if you need the LUUP codes I used)
    a. Play the arming sound files
    b. Set HouseModes to away after a 20 second delay
  8. Create a manual scene for Disarming the system that executes a luup code
    a. Play the disarming sound file
    b. Set HouseModes to home
  9. Create a manual scene for Stay/Night mode that executes a luup code
    a. Play the confirmation sound file
    b. Set HouseModes to Stay
  10. Add all of the sensors
    a. Use the “Add Veralink device” option to add each 2GIG device
    b. Document the TX number and location for each sensor, and save this in a chart just in case
    c. For pairing the DW10, you must hold in the tamper button (or close the case) to pair
    d. I recommend creating a room called “sensors” and adding each sensor to that “room”
  11. Create a scene for entry while armed
    a. Add every sensor to the trigger as “if opened while armed”
    b. execute luup code to play that same long double beeping sound
  12. Set up the tablet
    a. Connect it to the VeraSecure’s wifi
    b. Install ImperiHome (pro recommended)
    c. Set up a layout of at least 4 sections for arm, disarm, Stay, and status
    i. Arm/Away section: run the arm scene
    ii. Disarm section: run the disarm scene
    iii. Stay/Night section: run the stay/night scene
    iv. Status section: show HouseModes mode
    d. Passcode protect the disarm and status buttons, and then the configuration
  13. Test, Test, Test!!

Wow, can’t believe more wasn’t built into the VeraSecure… What you did looks good - thanks for posting.

I think if it was me, I would use PLEG scenes instead of traditional scenes. That gives you better restart/crash protection. Plus make it easier to troubleshoot…

Thanks for the feedback!! I haven’t had any troubleshooting issues yet (fingers crossed); the luup codes are very simple. I played with RulesEngine at one point, but that had some critical bugs, and I had to let it go. I followed the KISS philosophy on this project, and basically only added the minimum changes/plugins to the OEM configuration to get it where I feel Vera should have when it shipped, or at least as a downloadable or wizard-based package.

Like JTG, I too built a very similar system but opted to use PLEG for all the controls and logic. I used almost exactly the same equipment as he did and performed many of the same steps. Where our two systems differ is in the mechanics of the logic and control. While I am not saying one or the other is better, I do believe that a PLEG based system offers much more control, flexibility and customization.
On my Vera Secure I have a room named Alarm System. This room contains an instance of PLEG dedicated to just the alarm system, the Vera Secure Siren, the House Modes plug-in, all the door and window sensors, a custom Virtual Panel plug-in control center, 3 virtual switches and two multi-switches and the Aeon Door Chime.
I modeled the alarm system after that of a hard wired DSC panel I had in another home (connected to a Vera 3). The primary goals were: 1-ease of use. My wife needed to be able to set or disable it with a degree in computer geek; 2-full feature set - Stay/Away/Home with door annunciation, zone bypass, partition bypass; and 3-full integration with Vera and my existing sensors, lights and controls.
The final product works very well with very little input from the occupants of the home. Modes are set by either a schedule or proximity. Our presence is detected using the I-Phone locator app and the Ping Sensor app. In combination, the two apps do a very good job of detecting our arrival and departure. If both apps fail to detect our arrival the Kwikset lock is used as a fallback to place the alarm in Home mode. It will also place the alarm in away mode by pressing the lock button. Additional codes for guests and pet-sitters flash the porch lights to signal the alarm is on or offline as necessary. All alarm state changes are pushed to both phones using Prowl so we know when the house is secure or someone is home.
The beauty of the system is in the visual information it provides using the Virtual Panel, Virtual Switches and Multi-switches. That said, I was not a big fan of Vera Secures sensor icons and wanted my system to be more visual. I created a custom icon set for the virtual panel and set up the multi-switches as indicators (using the LBT option to make them basically ‘read only’). Screen shots of the entire room with all controls and the Virtual panel in several states are attached.
I will gladly share my experience with anyone looking to undertake a similar project. I will not post my PLEG reports for all to see but will PM the relevant parts for anyone that asks.
Hardware used: Vera Secure, Aeon Doorbell, DW-345 door/window sensors, Zooz 4in1 Multisensors, Foscam security cameras.
Software used: PLEG, Virtual Panel, Home Modes, Day or Night, i-Phone Locator, Push Notifications, Ping Sensor, Virtual Switch, Multi-Switch and Event Watcher.
Additional Tools: Adobe Photoshop, RBrowser and assorted Mac utilities.

Your setup looks amazing, I would love for you to share with me anything you are willing to via pm.

Would like to know more about your virtual panel and multi switch setups and the alarm logic :slight_smile:

Thanks

So this whole put the sound you want on the doorbell part is a little under documented as is the luup code to play the one you want. Mine just chime but adding more sounds to them would be awesome so how’d you do that again?

Sammy2,

So this is the chunk of code you were referring to.

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 8'},1)

The important bits are Node=‘7’, where you would substitute your node ID variable. My doorbell is node 7 and Data=‘112 4 6 1 8’ where the 8 is the index value of the file system in the doorbell. When you plug the doorbell into a USB port connected to your computer, you will see the files stored in its memory, just like a flash drive. DO NOT SORT the directory as the index uses the files as they are written to the memory. Of note, ALL files are taken into consideration when indexing, but only sound files will produce any output. Simply put, if there are 4 files on the drive and the unsorted list looks like this:

ding.mp3
dong.mp3
readme.bat
beep.mp3

you would use the following code to play ‘beep.mp3’

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 4'},1) assuming your device was node 7. *** Its been quite some time since I have looked at the files on the doorbell and there is a possibility that the file index may start at 0 versus 1, so a little experimentation may be required. The 4 in this case may need to be a 3.

You can also take the chunk of code and plug it into the “Test Luup code” text box under Apps > Develop apps. If everything is correct, you should hear something. On my doorbell I have less than 10 sounds but rarely use most. My door open annunciator get played dozens of times a day, but the alarm fault tone gets played one or twice a year. I would suggest keeping it as simple as possible and only upload necessary sound files. The docs say it can store 100+ sound files, but who wants to try to remember the index values of that many files.

[quote=“kartcon, post:7, topic:197063”]Sammy2,

So this is the chunk of code you were referring to.

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 8'},1)

The important bits are Node=‘7’, where you would substitute your node ID variable. My doorbell is node 7 and Data=‘112 4 6 1 8’ where the 8 is the index value of the file system in the doorbell. When you plug the doorbell into a USB port connected to your computer, you will see the files stored in its memory, just like a flash drive. DO NOT SORT the directory as the index uses the files as they are written to the memory. Of note, ALL files are taken into consideration when indexing, but only sound files will produce any output. Simply put, if there are 4 files on the drive and the unsorted list looks like this:

ding.mp3
dong.mp3
readme.bat
beep.mp3

you would use the following code to play ‘beep.mp3’

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 4'},1) assuming your device was node 7. *** Its been quite some time since I have looked at the files on the doorbell and there is a possibility that the file index may start at 0 versus 1, so a little experimentation may be required. The 4 in this case may need to be a 3.

You can also take the chunk of code and plug it into the “Test Luup code” text box under Apps > Develop apps. If everything is correct, you should hear something. On my doorbell I have less than 10 sounds but rarely use most. My door open annunciator get played dozens of times a day, but the alarm fault tone gets played one or twice a year. I would suggest keeping it as simple as possible and only upload necessary sound files. The docs say it can store 100+ sound files, but who wants to try to remember the index values of that many files.[/quote]

That is the very first time I’ve seen it laid out so well. The Aeotech documentation on this is crap as is most documentation for Z-Wave devices. Where does one turn for more detailed information as I don’t see it posted on here. I think I asked this question a year ago and didn’t get any useful responses.

Most of the stuff I gather comes from this forum. There are many smart users here, but finding exactly what you need is sometimes a challenge. I wish the search function was a little better, but thats another discussion. I did not ‘discover’ this bit of code, someone else had posted it and I used it for my needs. If I knew who the original poster was, (s)he would get the credit and a Karma bump. Maybe this forum need a new section “How to do xxxx” with both a basic and advanced section. There are a variety of good tutorials spread around here but finding that needle in the haystack is not easy.

Very Nice basic instructions. I applaud your effort.
A couple of questions JTG.
Why the loop code? What does it do?
Why not use Z-Wave sensors? You could use an Edge and save 150$

If I may, I would suggest using a Geofence feature to auto arm away and disarm the alarm.
This saves lots of time and automates to procedure so your alarm is always armed when you leave.

Great tutorial , but same questions:
1 Why the luap code
2 why not zwave sensors
3 would a edge (or in my case a veralite) suffice for this setup

I will try to replicate sounds awesome

[quote=“Sammy2, post:8, topic:197063”][quote=“kartcon, post:7, topic:197063”]Sammy2,

So this is the chunk of code you were referring to.

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 8'},1)

The important bits are Node=‘7’, where you would substitute your node ID variable. My doorbell is node 7 and Data=‘112 4 6 1 8’ where the 8 is the index value of the file system in the doorbell. When you plug the doorbell into a USB port connected to your computer, you will see the files stored in its memory, just like a flash drive. DO NOT SORT the directory as the index uses the files as they are written to the memory. Of note, ALL files are taken into consideration when indexing, but only sound files will produce any output. Simply put, if there are 4 files on the drive and the unsorted list looks like this:

ding.mp3
dong.mp3
readme.bat
beep.mp3

you would use the following code to play ‘beep.mp3’

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 4'},1) assuming your device was node 7. *** Its been quite some time since I have looked at the files on the doorbell and there is a possibility that the file index may start at 0 versus 1, so a little experimentation may be required. The 4 in this case may need to be a 3.

You can also take the chunk of code and plug it into the “Test Luup code” text box under Apps > Develop apps. If everything is correct, you should hear something. On my doorbell I have less than 10 sounds but rarely use most. My door open annunciator get played dozens of times a day, but the alarm fault tone gets played one or twice a year. I would suggest keeping it as simple as possible and only upload necessary sound files. The docs say it can store 100+ sound files, but who wants to try to remember the index values of that many files.[/quote]

That is the very first time I’ve seen it laid out so well. The Aeotech documentation on this is crap as is most documentation for Z-Wave devices. Where does one turn for more detailed information as I don’t see it posted on here. I think I asked this question a year ago and didn’t get any useful responses.[/quote]

Been a month and I still haven’t got to this… Pretty busy month! Maybe next month.

[quote=“Jamr, post:10, topic:197063”]Very Nice basic instructions. I applaud your effort.
A couple of questions JTG.
Why the loop code? What does it do?
Why not use Z-Wave sensors? You could use an Edge and save 150$

If I may, I would suggest using a Geofence feature to auto arm away and disarm the alarm.
This saves lots of time and automates to procedure so your alarm is always armed when you leave.[/quote]

I used the luup codes to have it act more like a traditional alarm system and less like a home automation system. This is doubly so because my wife and kids have no interest in apps or anything but entering a code into a pad by the door. The Luup codes enable the system to do just that–allow a code to be entered, beep for a while, then switch to away, then vice versa.

As for the geofencing, aside from some reliability issues I’ve heard about, all I need is for my son’s phone to have a dead battery (as usual) and he walks into the house and the alarm goes off. Then he leaves again and it never turns on. Furthermore, even if it works, you have no confirmation that it was ever armed. Also, my wife can stop by a neighbor on the way home, and the alarm would have disabled itself prematurely. I therefore opted to not use the geofencing.

I used the VeraSecure over Vera lite because of the following: 1: compatibility with 2Gig security sensors; 2: built in alarm siren; 3: Cellular backup for monitoring service

[quote=“Sammy2, post:8, topic:197063”][quote=“kartcon, post:7, topic:197063”]Sammy2,

So this is the chunk of code you were referring to.

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 8'},1)

The important bits are Node=‘7’, where you would substitute your node ID variable. My doorbell is node 7 and Data=‘112 4 6 1 8’ where the 8 is the index value of the file system in the doorbell. When you plug the doorbell into a USB port connected to your computer, you will see the files stored in its memory, just like a flash drive. DO NOT SORT the directory as the index uses the files as they are written to the memory. Of note, ALL files are taken into consideration when indexing, but only sound files will produce any output. Simply put, if there are 4 files on the drive and the unsorted list looks like this:

ding.mp3
dong.mp3
readme.bat
beep.mp3

you would use the following code to play ‘beep.mp3’

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='7',Data='112 4 6 1 4'},1) assuming your device was node 7. *** Its been quite some time since I have looked at the files on the doorbell and there is a possibility that the file index may start at 0 versus 1, so a little experimentation may be required. The 4 in this case may need to be a 3.

You can also take the chunk of code and plug it into the “Test Luup code” text box under Apps > Develop apps. If everything is correct, you should hear something. On my doorbell I have less than 10 sounds but rarely use most. My door open annunciator get played dozens of times a day, but the alarm fault tone gets played one or twice a year. I would suggest keeping it as simple as possible and only upload necessary sound files. The docs say it can store 100+ sound files, but who wants to try to remember the index values of that many files.[/quote]

That is the very first time I’ve seen it laid out so well. The Aeotech documentation on this is crap as is most documentation for Z-Wave devices. Where does one turn for more detailed information as I don’t see it posted on here. I think I asked this question a year ago and didn’t get any useful responses.[/quote]

Good job documenting it KartCon. I first found the documentation in a purchaser’s comments in the feedback for the doorbell on Amazon.com

[quote=“lgvolvo, post:11, topic:197063”]Great tutorial , but same questions:
1 Why the luap code
2 why not zwave sensors
3 would a edge (or in my case a veralite) suffice for this setup

I will try to replicate sounds awesome[/quote]

zwave sensors are documented around the Internet to be less reliable than the 2gig sensors. I also have first-hand experience, as the tilt sensor for my garage door is Zwave, and about once ever 3 months, I have to fight with it to properly report its status. In addition, the 2gig sensors have a much longer range, as they use their own wireless frequency, not the Zwave protocol.

JTG, nice posts. Have VeraPlus but thinking of upgrading to Verasecure. Interested in details regarding the cellular backup. I lose internet often and am away often so remote access when I am away is important. Do not want the professional monitoring but if I understand correctly you need an annual subscription to get the cellular backup.

When on cellular can I access and control the verasecure remotely.
Can I have the monitoring service not notify any fire or police without my being contacted and authorizing the response?

[quote=“JTG, post:1, topic:197063”]12. Set up the tablet

d.	Passcode protect the disarm and status buttons, and then the configuration
  1. Test, Test, Test!![/quote]

First and foremost, thanks for writting this up! Just got my vera the other day specifically for this. The only thing I cant figure out is how to Passode protect the disarm and status buttons…where do you do this, in vera or imperihome, and more importantly how? :slight_smile:

I recently purchased a VeraSecure with a 2Gig Pad 1 and set it up to work as an alarm system with the delays for switching modes that are built into the user interface. I have learned there is no notifications that the system is arming or that an incorrect pin was entered without using the app which defeats the purpose of the keypad. I’d like to do audio notifications, but cannot figure out how to do so using the delays built into the VeraSecure. I tried using PLEG to trigger an action when a PIN index 1 is entered; however, it does not trigger and the condition constantly reads true. Does anyone have any ideas on how I can add audio notifications to my system? I just switched from SmartThings and really do not want to have to go back.

I added all the sound notifications using Aeon labs doorbell thing. Using a scene, there is an option for incorrect code from the pad, so it shouts out “no pizza for you!” if you enter an incorrect code. Then for a correct code entered, I have it and give the expected “BeepBeepBeep” and then hit the scene for disarming the system. (I have it set the mode to home, turn on a light, and adjust the thermostat setting).

I set the password protections using ImperiHome. It was in the settings of the button, and don’t forget to also go to the settings of the app to password protect changes, otherwise the setting can just be changed without a password.