Collection of Home Automation Info
A hobby project over the last 10 years or so has been a continuous process of refining and improving my Home Automation. This started with the replacement of the control system for Central Heating system and has progressed to integration with my house security alarm system, control of appliances and a network of 1-wire sensors for temperature control.
There is a custom made web interface to control and monitor the system, including an iOS app which detects location and relays that information back to the central server. The server code is not public, due to the code being a constant work in progress and generally not much use to anyone outside of my highly customised hardware! This has been a project to learn and tinker with hardware, but what's usable and useful information will be published here.
To put the details here into context, the system is setup as follows;
- Python based server listens on an IP address for commands from various devices sent via UDP.
- iOS client uses location zoning and makes callbacks over HTTP to trigger actions based on certain zones being entered or left.
- Various 433mhz devices are being used to trigger events and provide data to the python server (motion PIR, light sensors, door sensors, temperature sensors etc).
- Scripts running in crontab trigger checks for criteria used to enable/disable items, for example a temperature being breached causing the heating to turn on.
- Google Charts API used to draw temperature graphs and show other data, such as presence in the home, time variance appliances are on, etc.
Home Automation Pages
- http://wiki.siftah.com/RFRemotech_RR2LN_433_mhz_rf_Protocol - Using RFRemotechs' RR2LN Relay control modules with Arduino and a basic 433mhz wireless transmitter via RCSwitch.
- http://wiki.siftah.com/Status_RCS-K09_Control - How to control this common 433mhz remote sockets via an Arduino and RCSwitch.
- http://wiki.siftah.com/DX_433Mhz_Wireless_Door_Contact_248919 - Using a DealExtreme wireless door contact with Arduino and RCSwitch.