Well, my setup is really tiny, mostly because I live in a flat and here are not so many things to automate.
As a controller I use RaspberryPi 2 with RaZberry board to communicate with ZWave devices (recently ordered Aeon USB stick to be able to debug on a computer).
I use it to control 2 thermostats for floor heating and 3 dimmers (1 of them is a bit broken and only works as a switch). Also, I have 2 Fibaro multisensors.
Thermostats are programmed to use the scheduler. I have an idea to use weather program too, because it may be cold here even in May and June.
Light in the corridor is programmed to limit it brightness during the night, it’s very convenient.