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 2B and uses Rasbian as operating system.
Update: As CNR/ISTI no longer supports Zigbee4Osgi, I switched to zigbee4 java as developed by Tommi Laukkanen: development site of zigbee4java.
A few screen shots of the HomeRun user interface: