Openhab is excellent home automation software for geeks. It has support for many bits of home automation hardware via its plugable bindings, of which there are many in the Openhab repositories. In case this isn’t enough various people have written prototype bindings that are not yet complete and/or robust enough to make it into the official openhab distribution.
Here is a list, let me know if you find any more and I’ll update this post.
CM11A X10 Interface
An initial implementation written by myself. Supports sending basic X10 commands but not receiving any. Works well enough for that, though the CM11A hardware appears to lockup occassionally.
Source-code can be found at: https://github.com/engineergreen/openhab/tree/cm11a-binding
Basic chromecast binding. Supports reading the current Chromecast state, and controlling volume.
Original source is at: https://github.com/ibaton/Chromecast-Openhab-Binding
The same code incorporated into a fork of the openhab repo can be found at: https://github.com/engineergreen/openhab/tree/chromecast-binding