Here is a brief overview of the home automation system I’ve recently started building. My goal is to collect and analyze data from my house. Why? Cause I am curious. I’m not sure if money can be saved on heating through some optimization. This would seem like some sales talk – “reduce up to 30% heating cost through home automation” – bla bla bla. I just want to play around with some electronics, write some code and most importantly:
Switch on my garden sauna, using my mobile device, as I’m driving home after a day of awesome snowboarding.
The system is built on a network of Arduino based devices (nodes). Each node has some sensors attached to it. Most nodes also have relays that allow them to control (switch on/off) appliances and devices.
After some research I’ve decided to base the system on mysensors.org framework. The framework is open source, fairly modular and has a fair community behind it. Furthermore the nodes are fairly cheap to build and quite easy to manage. You do need to have some basic programming skills to program the nodes (using Arduino IDE and C++ as programing language). The nodes do not contain much logic.
The nodes are connected, through a gateway, to a Raspberry Pi computer which acts as a server and collects all the sensor data. Domoticz is installed on the Rapsberry Pi and acts as a hub for the whole system. Domoticz is an open-source platform for home automation. It triggers scripts based on sensor data, like switching on the heating when it’s too cold.
Domoticz is also set up to push the data into the cloud, so that the data is accessible anywhere. For the cloud I’ve decided to use ThingSpeak by Matlab. Below is the graph of the temperature outside my house during the last 24 hours.
Here’s what I got so far:
- Rapberry Pi with Domoticz and mysensors gateway
- Home Heating node – reading temperatures inside and outside the house, controlling the heater and circulation pump
- Garden Sauna node – reading temperatures inside and outside the sauna, controlling sauna heater and sauna lights
- Hot Tub node – reading the water in/out temperatures as well as solar heater temperature, controlling the circulation pump
- Some scripts on Domoticz to control the temperature of the house and hot tub.
- Pushing all data to ThingSpeak cloud from Domoticz system
- Control temperature in the house per room
- Add a node with Infra Red receiver to control the air-conditioner
- Control sauna from outside the home network (from the Internet) – UPDATE: Done. Check out How to Control a Home Device Using Twitter
- Add some nodes in the garden to control garden lights remotely.
I’ll gradually add the description, diagrams and source code for all the nodes.