I’m using a program called HomeRun (open source, java) for my home automation setup. The program is developed by Richard Rogers (USA) and is using the OSGI model. It is a very structured program and can easily be extended.
You can find detailed information here.
I'm using HomeRun to control most of the lights in my home, read temperature, humidity, light intensity and pressure, close the blinds, link to my alarm system, send messages to my email address and to my Nabaztag (speaking rabbit).
Closing the blinds is dependent on sun set time; they open at 8 in the morning. Nabaztag is welcoming me when I come home and tells me to place the garbage- or paper bin outside for collection the next day.
HomeRun is running on a Raspberry Pi B+ and uses Pidora as operating system.