****************** Entry Requirements *******************************
System Design Document: https://electronichamsters.files.wordpress.com/2014/08/system_design.pdf
Phase 1 of this project is to provide an over-all design and examples for home automation sensors. Below, you'll find my progress with video demos of each sensor. The basic architecture has been built.
I'll work on providing more example Arduino sensor nodes to fill up a home automation system.
Phase 2 is an experiment with physical computing. Once I have all the sensors set up, I'd like to build a doll-house size replica of my house, with servo controlled windows and doors, and LEDs. When a door opens up in the real house, the replica house's door also opens. Basically, I'd like to come up with a replica house analog for all the sensors I have in the real house.
Here's a video of the garage door monitor that's in this tutorial.
1) "Mailbox Sentinel" - a battery powered Arduino monitors your postal mailbox, and the raspberry pi plays the old AOL "you've got mail" sound clip when the mailbox is opened. It also emails you, and sets the mailbox status on the webpage, reports the time stamp of the last opening, and lets you know the Arduino battery voltage.
Mailbox Sentinel quick demo video
Mailbox Sentinel - Detailed Explanation
2) "Baby Room Sentinel" - same thing, except monitor the temperature in the baby room and alarms when it's too hot or cold. I have a 6 month old.
3) "Washer / Dryer Sentinel" - same idea, have the raspberry pi announce when laundry is done.
4) "Water Leak Sentinel" - email yourself when your house is flooded
5) "Home Intrusion....um...Sentinel" - basically just a twist on the mailbox sentinel, using a PIR sensor instead of a reed switch, and plays a loud alarm noise instead of the AOL sound clip.
6) "Runaway Dog Sentinel" - Emails / alarms when your dog wonders off the yard
7) Hydroponics, home HVAC control, security system, aquarium automation...
_____________________________________________________________________________
What problem does this project solve?
If you googled "Arduino Home Automation", there is no shortage of examples of Arduino being used in some kind of home automation. When I first started looking into using Arduino as sensor nodes to do home automation, none of the examples I found really fit my idea of home automation. Some of the Arduino examples didn't use wireless transceivers, only used ethernet shield. Or they used expensive wireless transceivers, or used transceivers that had very short range. Sometimes the examples couldn't easily be extended to do the breadth of home automation ideas I had, or couldn't easily interface with non-Arduino systems. Some of them required too much programming on the server side (hard programming), or locked you in on the Arduino side (easy programming). There's some cynicism that Arduino can only "kind of" do home automation and IoT, but not completely. From here, I begin to form a list of requirements:
Sensor nodes must:
1) be cheap to make, cost less than $20
2) be power efficient enough to run on batteries
3) have good wireless range
Server must:
1) able to run on windows, mac, or Linux on low power SBC
2) provide encryption and authentication on the web interface
3) provide rules engine (if this, then that)
4) historize and chart data
5) be flexible, accommodate different types of inputs and outputs
I then came across the OpenHAB platform - an existing, sophisticated, well-supported open sourced home automation solution with a full web interface, data historization capability, rules engine, and more communication options than you can shake a stick at. Unfortunately, there weren't any good examples of how to make Arduino talk to OpenHAB. In the mean time, I still wrestled with getting a hardware design and a wireless solution that was cheap...
Read more »
wiring a bunch of sensors around your house isn't actually automating anything, even using a faulty tilt detection to determine where your dog pooped isn't automating anything. you've come up with a great home monitoring system here however.
turn a dishwasher on remotely, turn lights on/off remotely... those are home automation tasks.
lock doors, pour dog food from dispenser, let dog out/in (open/close door). those are again home automation tasks.
I feel the reason you NEED " to write a lot of your own code for the interface." is because often with home automation you either 1. need to spend a lot of money to buy a connected device (such as a fridge) or b. interface with it yourself. (tie into the existing circuit)
for a fridge, minimum would be to read the internal temperatures (2) and give warnings if they exceed a level for x amount of time (fridge is broken), but you could also tie into the door sensor and read voltage, so you can check if the door is open. and and tie into the thermostat to control temperature.
another example would be controlling a garage door opener, not just checking the status of the door. and in general, control over lights in a house (with Optocouplers and MOSFET).
now I don't mean this as a negative criticism here, I certainly hope you can create something you're both proud of and able to inspire others with. reading over my comment I can see how it would be taken negatively, so i to mention that you have done a good job exploring the possibilities.
$20 won't get you far for UL certified equipment to get an electrician to sign off on installing. you'll be mostly limited to VDC