Monitoring:
- Cameras placed around the area of protection for monitoring and motion detection
- Open/close sensors on gates, garage doors, and doors in the home.
Notification:
- Siren that activates upon a breach
- Email and/or text services which activate upon a breach
I already have SecuritySpy up and running with an 8 camera license, as well as Insteon I/O Linc controllers for garage doors and gates. SecuritySpy's motion detection feature can trigger on motion and run a script on an event, which could trigger an action on Indigo. So that's workable.
On the notification side, I already have the ability in Indigo to send an email or text upon some event. In fact, I created an Indigo variable called "alarmEnabled" that is set to 1 when the alarm is enabled, or 0 if not. I can gate all notification decisions through this variable before deciding to activate.
For the siren, there isn't an off the shelf solution, so I'm thinking of implementing an Arduino-based solution that uses a 12V/1A siren to activate upon breach. An Arduino with an Ethernet shield, to be specific. I already employed such a solution to monitor a door sensor and also to measure temperature in one part of my building. A small web server runs on the Arduino which can read the state of the door sensor (0 = closed, 1 = open) and the temperature (an analog value), then present that as JSON upon an HTTP request. In the same code, I also use UDP multicast to send out the values as they change, so polling isn't necessary.
On the Indigo side, I created a custom plugin in python that allows me to configure the IP address of this custom Arduino board, and create devices for both the door state (read only, obviously) and the temperature (also read only).
For the siren, the plan is to extend the Arduino code so that a simple HTTP POST can tickle a variable to turn on or off the siren. I could then create another variable, "alarmTriggered" that would be set when certain conditions are met (e.g. alarmEnabled == 1 AND (garage door 1 is open OR garage door 2 is open, etc.)
Once alarmEnabled is set to 1, one action would be to tickle the Arduino as mentioned above to trigger the siren.
All of this would be driven by my Mac that I've dedicated to automation tasks, running Indigo and SecuritySpy.
I typed all of this to (a) write down my thought process and share it with the wider Indigo community, and (b) ask the question: what is the consensus for using Indigo as the hub for all security tasks in a home, vs interfacing with an existing security system. It does seem a bit fragile (i.e. lots of moving parts that could go down independently, not to mention the Mac itself).
I'm sure someone in the community has done this. I would love to hear about it.