Something like the open-hardware ARM-powered BeagleBoard would be perfect for a small home controller unit:
http://beagleboard.org/
In a similar vein to SteamOS & Steamboxes - different manufacturers could provide different levels of hardware, depending on your needs. Then throw on Hardened Linux from Scratch: (HLFS)
http://www.linuxfromscratch.org/hlfs/
And then create a community for scripts that you could add to your server, like apps from the app store. So a standard lighting package would include control scripts for "time of day", "user schedule by calendar date & time", "vacation mode", "smartphone remote control" and so on. So to recap:
1. Open hardware server (BeagleBoard)
2. Open software server (HLFS + Misterhome)
3. Online central repository (Manufacturer data + Scripts repository)
4. Standardized, encrypted device communications protocol (ex. HTTPS XML + Python programming language)
5. HTML5 front-end (and since the language is standardized, you could tie it into smartphone apps, webpages, Flash interfaces, whatever you want really)
See, it's not complex. All of this stuff already exists. Technology keeps getting smaller, cheaper, faster, lower-power, and more powerful. What we lack is a standardized system to get everything talking in a consumer-friendly way. Here's what I imagine for the future:
1. Purchase a central home controller (the backend - a dual-board Beagleboard for failover, each with an SD card & one SD card for backup, and an integrated hot-swap battery backup)
2. Say "oh, I want a Smart Outlet, so I buy one from Home Depot"
3. Let's say it uses Zwave, so you buy the Outlet plus the Control Module (a USB to Zwave RF adapter for your central home computer)
4. Plug the Control Module into the home server (auto-recognized per daily downloaded specs)
5. Install the Outlet. It's auto-discovered by the home server, so you pair it to your network and then program in what you want it to do. For example, the top outlet could be on/off only for an appliance like a floorstanding fan. The bottom could be on/off/dim for a floor lamp.
6. Now that the super-easy programming is done, you can control it from a smart wallswitch, a smartphone, a computer via webpage, and timers & other schedules. Or hook it up to a pre-made script like "vacation mode" so it turns on randomly in the evening hours while you're away.
We're almost there. Again, Indigo is the best I've seen, but the easiest route to go would be a $600 Mac Mini that you have to run 24/7, manage your own backup, install your own control software, and still doesn't talk to everything. And then you have issues like INSTEON, which doesn't work 100% of the time, even on the new RF-driven dual-band equipment.
So I think we have a ways to go, and what we're really lacking is simply a central managing body to implement something simple like this. Apple, are you listening? Haha!