Update: See Part 2 and Part 3.
In January 2016 I gave a presentation at the Canberra Linux Users Group about my journey developing my own Open Source home automation system. This is an adaptation of that presentation for my blog. Big thanks to my brother, Tim, for all his help with this project!
Comments and feedback welcome.
Why home automation?
- It’s cool
- Good way to learn something new
- Leverage modern technology to make things easier in the home
At the same time, it’s kinda scary. There is a lack of standards and lack of decent security applied to most Internet of Things (IoT) solutions.
Motivation and opportunity
- Building a new house
- Chance to do things more easily at frame stage while there are no walls
Some things that I want to do with HA
- Respond to the environment and people in the home
- Alert me when there’s a problem (fridge left open, oven left on!)
- Gather information about the home, e.g.
- Temperature, humidity, CO2, light level
- Open doors and windows and whether the house is locked
- Electricity usage
- Manage lighting automatically, switches, PIR, mood, sunset, etc
- Control power circuits
- Manage access to the house via pin pad, proxy card,
voice activation, retina scans - Control gadgets, door bell/intercom, hot water, AC heating/cooling, exhaust fans, blinds and curtains, garage door
- Automate security system
- Integrate media around the house (movie starts, dim the lights!)
- Water my garden, and more..
My requirements for HA
- Open
- Secure
- Extensible
- Prefer DC only, not AC
- High Wife Acceptance Factor (important!)
There’s no existing open source IoT framework that I could simply install, sit back and enjoy. Where’s the fun in that, anyway?
Research time!
Three main options:
- Wireless
- Wired
- Combination of both
Wireless Solutions
- Dominated by proprietary Z-Wave (although has since become more open)
- Although open standards based also exist, like ZigBee and 6LoWPAN
Wireless Pros
- Lots of different gadgets available
- Gadgets are pretty cheap and easy to find
- Easy to get up and running
- Widely supported by all kinds of systems
Wireless Cons
- Wireless gadgets are pretty cheap and nasty
- Most are not open
- Often not updateable, potentially insecure
- Connect to AC
- Replace or install a unit requires an electrician
- Often talk to the “cloud”
So yeah, I could whack those up around my house, install a bridge and move on with my life, but…
- Not as much fun!
- Don’t want to rely on wireless
- Don’t want to rely on an electrician
- Don’t really want to touch AC
- Cheap gadgets that are never updated
- Security vulnerabilities makes it high risk
Wired Solutions
- Proprietary systems like Clipsal’s C-Bus
- Open standards based systems like KNX
- Custom hardware
- Expensive
- 🙁
Cabling Benefits
- More secure than wireless
- More future proof
- DC only, no need to touch AC
- Provides PoE for devices and motors
- Can still use wireless (e.g. ZigBee) if I want to
- Convert to proprietary system (C-Bus) if I fail
- My brother is a certified cabler 🙂
Technology Choice Overview
So comes down to this.
- Z-Wave = OUT
- ZigBee/6LoWPAN = MAYBE IN
- C-Bus = OUT (unless I screw up)
- KNX = OUT
- Arduino, Raspberry Pi = IN
I went with a custom wired system, after all, it seems like a lot more fun…
Stay tuned for Part 2!
5 thoughts on “My Custom Open Source Home Automation Project – Part 1, Motivation and Research”