My home automation is based on X10 technology. I have numerous wall switch and plug-in light and appliance modules, a few two-way light and appliance modules, and a handful of wireless remotes.. The whole system is controlled by computer through a LynX10 device and a TW523 line interface.
The computer interface is connected to a PC running Linux (Debian) and my own custom software for X10 control, scheduling, and macro processing. This software is always under development. provides command-line control of any X10 device from (potentially) any machine on the internet via TCP/IP. Event scheduling and macro processing is all handled within the X10 server process. All of this software is written in Perl, so it should work on just about any Unix machine. I use the POE module for I/O processing and event handling. You can grab a version of this software from my Perl page, but it's probably not the very latest version I've got. If you're interested in it, it'd be better to contact me directly at email@example.com.