Tag Archives: occupancy detection

The 10 Home Automation Commandments

One question I’m frequently asked is what technology I use in my Home Automation set-up and people always seem surprised when the answer I give takes several hours to explain 😉

It seems to be the view of most new-comers to HA that you must stick with one brand of equipment (e.g. Home Easy), one piece of control software (e.g. HomeSeer) or at the very least to one particular protocol (e.g. Z-Wave).

The problem with this approach is that you will inevitably end up disappointed as in my experience no one product / software / protocol successfully can “tick all the boxes”.

Additionally, limiting to one technology means that you may not be using the “right tool for the job”.  For example while Z-Wave is great technology, it can be expensive to implement and while command verification and status reporting are useful, these features may not be required for a simple “fire and forget” application (for example turning on a porch light automatically at dusk) where a cheaper solution may suffice (for example LightwaveRF or Home Easy).  Conversely, when I close my garage door, I’d really like to be 100% sure that the lights have switched off, the power sockets have been killed (turning off any power tools that may still be plugged in) and the heater (winter) or fan (summer) have stopped blowing!  In this scenario Z-Wave would be the clear winner.

Personally, I have no allegiance to any one piece of technology and really don’t care what I end up using , I choose instead to build my HA from “the end result backwards” – that is, rather than thinking “I’m using Z-Wave and HomeSeer, how do I achieve this goal”, I evaluate the situation using the following 10 Home Automation Commandments:

1) Thou shall clearly define the goal.

This has to be the starting point, be clear about what you are trying to achieve.  For example “turn my heating on and off automatically depending on house occupancy”.

2) Thou shall Google it, Bing it or Yahoo it.

Research is key, use your favourite search provider to find out as much information as possible about any potential solutions.  Don’t be shy, participate in as many forums as possible and ask questions – better to get some light hearted stick for being a noobie than to spend a small fortune on something that’s never going to do what you want it to do! Learn from other peoples mistakes!

3) Thou shall choose the most cost effective way to achieve the goal.

While I could employ a butler or housekeeper to achieve the above goal for me, it’s not very cost effective!  Unless you have a very big wallet, HA typically falls in the “nice to have” category of expenses, so getting value for money in my opinion is essential, especially in situations where purchases have to be justified!

4) Thou shall choose a solution that can be retro-fitted.

Replacing the boiler or re-wiring the house just to achieve the goal would be pretty drastic! Perhaps in the case of the above example, the existing boiler thermostat could be replaced or upgraded to offer external control.  Can a wireless solution be employed instead of wired?  Can a battery powered solution be used instead of mains powered – I’ve been running a JeeNode with a Room Board on a three Sanyo Eneloop AA batteries for nearly 2 years now and it’s still going strong 🙂

5) Thou shall choose a solution that will integrate with existing systems.

This is incredibly important, there’s no point in implementing a proprietary  solution that can’t connect or talk to existing or future systems!  It’s therefore essential that any solution is either open completely or at the least has some external API to allow connectivity from third party software / hardware.  I’ve learnt from experience that getting locked in to a particular solution is very short sighted and inevitably ends up more expensive in the long run! Thankfully it seems that most manufacturers nowadays are offering such APIs and I’ve found that using protocols such as xAP, xPL or MQTT it’s possible to get most things talking!

6) Thou shall use what you’ve already got.

This comes back to cost effectiveness, do you already have something in place that can provide part of the solution?  For our goal above, many alarm systems (for example Visonic) can provide house occupancy status based on whether the alarm is set or not so why not use that?  In this particular example it was trivial for me to do just that, since when I installed my alarm system I followed my own advice and chose something that had many options for third party integration 🙂 Alternatively, could you make use of “geo-fencing“?  I did that too, since both my wife and I had smart-phones that could be used to track an report our locations using their built in GPS.  So in my case I already had “occupancy” available in multiple forms within the existing HA system.

7) Thou shall not attract the wrath of others.

Nothing will kill the spirit of HA quicker than a failure in part of the system that completely takes out some crucial part of the house. Could you really suffer without heating just because a PC dies one cold winter morning? Or, more frightening in some cases, could you really suffer the dreaded “why do you always make things soooooo complicated?” conversations with your family?  The principle of KISS should be applied wherever possible, although there’s no problem with implementing complex systems that make the end goal simple in terms of user experience – as long as those systems work 99.99% of the time – I’ve found that 99.99% is the generally accepted ratio of working / not working with my family!

8) Thou shall not run before you can walk.

Start small if you can, break the solution up into modules and implement it in stages.  This can make it easier to install and I’ve also found that completing a project in stages often means that it evolves over a period of time and becomes a better overall solution.  Experimentation is also crucial.  Before committing to a solution why not try it out by implementing it in phases?  In our example above, start with just the occupancy detection as phase one and get that working well first.  No point in going to the expense of the heating control if the occupancy detection is unreliable.  In my case, as well as the Visonic and geo-fencing mentioned above, I also have RF-ID transmitters in our cars and Bluetooth proximity on our smart-phones.  So for detecting “away”, it’s  Visonic arming, Bluetooth proximity, RF-ID proximity and finally geo-fencing.  Detecting “imminent arrival” and “home” is the reverse.  A perfect example of multiple technologies working together to provide a truly reliable piece of the overall solution.

9) Thou shall plan for the future.

This also ties in with cost effectiveness to a certain extent – maybe you can spend a little bit more in achieving the current goal which will open up more options for expanding the system in the future.  For the example above, you could use a simple WiFi enabled relay to control the boiler which might cost £200 as a solution, but if you spent £300 on a HouseHeat boiler relay, USB PC controller and radiator Thermostat / Actuator you could not only achieve the current goal but would also be in good shape to have fine grained control over the entire heating system at a later date (including being able to monitor room temperatures).

10) Thou shall not re-invent the wheel (unless you have to).

Yes, it would be incredibly cool to build your own Raspberry Pi (and in the past I have done just that!) but bottom line is that whatever goal you are trying to achieve, chances are millions of people around the world have found a way to do it already!  If a solution suggested meets the 10 Commandments, there’s no point in re-inventing the wheel, as long as you don’t fall foul of any Intellectual Property constraints!

While it’s true that sometimes a little more thought and effort is required at both the initial planning stages and during installation / configuration, I find that following the above will generally lead to a system that is more flexible in the long run, allowing all manner of technology to interoperate successfully!

Thanks for reading,

Martyn Wendon