I’ve been playing with home automation for a long time now. It’s always interested me but was never really affordable until I found the Home Easy range available in B&Q. They have a lot of different options for controlling various areas of the home and the different scenarios that may crop up.
I have two side lights plugged in to sockets with a remote in the drawer to turn them on. My current plan is to us a Makey Makey to try and get the lights to turn on by tapping the side of the sofa. For now they are controlled by the schedule, the remote and the web interface.
In the kitchen there are two light sources and 2 plug sockets that need to be controlled. There are plinth lights, a fish tank light, speakers and an iPhone charger.
The plinth and fish tank lights are on the same house code and therefore work off the same signal. They can be controlled by schedule, web interface and a wireless switch on the side of the fridge.
The bedroom was the latest room to have a home automation addition. The lamp that provides the nicest light to the room is on the opposite side of the room to the bed. This meant we had to get out of bed when we’d finished reading to turn it off. The simple solution to that was to use a HomeEasy remote and socket combination but this has the disadvantage that we couldn’t turn the light off at the wall. To get around this I bought a plug socket with HomeEasy built in. This was added to the Tellstick and a remote velcro’d to the bed for easy access, two buttons control each individual socket.
I used to have the outdoor light controlled by a remote that I could have on my keys or on my car but as this interfered with the operation of the normal light switch in the house this has been removed for now. I’ve always had an agreement with Rachael that I could have whatever tech in the house as long as she can’t see it or it doesn’t get in her way. Things like TV’s etc. are fine but trailing wires through the house is a no no.
Raspberry Pi as the server using the Telldus Tellstick
The schedule and web interface are run on the Raspberry Pi (Model B – 256 RAM). The server has Nginx as a web server with PHP and MySQL.
The Telldus Tellstick is a USB device with drivers for Windows, OSX and Linux. This provides a way for a computer to send commands (and to receive on the Duo model) to the devices in your house. Somebody much more intelligent than me has provided instructions to us this with the Raspberry Pi Raspbian OS. After following them it was fairly trivial to use PHP to issue the correct commands.
The Telldus daemon runs and can be interacted with using simple PHP exec commands, these are provided through a web interface. The device list is cached every 24 hours to improve performance.
A custom Symfony2 app was written to provide a simple responsive web interface to the devices and the local weather. It’s very much a work in progress but it does what I need for now, it’s more a case of use it until I find out what’s missing and then implement that.
Scheduling of devices is provided by Google Calendar using the GCalcron2 Python script by Fabrice Bernhard. It runs as a cron job every 10 minutes to fetch a list of jobs it needs to queue using at. This allows me to manage the calendar from all my devices and set schedules for all devices individually.