Misterhouse - a Home Driven by Perl Scripts
An anonymous submitter copies from the website: "MisterHouse is an open source home automation program. It's fun, it's free, and it's entirely geeky. Written in Perl, it fires events based on time, web, socket, voice, and serial data. It currently runs on Windows 95/98/NT/2k/XP and on most Unix based platforms, including Linux and Mac OSX. It can talk, it can check your messages, control the lights, program your VCR, and what is best - it understands spoken commands. It can even track your car by interfacing to a TNC. And there are 600 users and 209 authors contributing to this project. Cool, eh?"
Perl can thank decades of sloppy programmers for its bad rap as far as readability and maintainability. The language itself can be as clean as you want it to be, unless you have a manic hatred for sigils. Perl is also superior at more than just text processing, you know. IPC and databasing (DBI/CGI) are also extremely powerful and easy to do in Perl. As for running the code, well, it depends how you look at group projects...do more people just add to the disaster, or do they catch each other's mistakes? Perl folks (those who love Perl and spend a lot of time developing Perl apps) are generally pretty clever...
Something to remember...
Depending on how tightly you integrate home automation, and how *removeable* you make it, the resale value of your home will drop. Nobody wants to buy a house that isn't under their control and requires intricate knowledge to work and troubleshoot.
As a second tip...I work professionally in industrial automation, and have designed and worked on control systems for years. This control hardware is unreliable at best...remember, it is your house after all, and you DO get what you pay for when it comes to this kind of hardware! Using this to automate a few lights and such won't hurt you one bit, but as the scope increases, so will the problems. Obviously you don't want to spend an arm and a leg on it, but maybe that should say something about whether you really want to take the plunge or not ;)
You'd want to do this with *real* automation hardware if you were going to do your whole house, with backup redundancy and a switch that "turns everything back to manual mode". It's not a problem really, you'd just have to wire all your switches back to a main panel and control every light/outlet with a relay. You'd be doing that anyway with a whole-house automation system, so building in a backup would be part of the game.
Anyway I'm just saying, before you spend many hours putting in X-10, that crappy PLC (Programmable Logic Controller) he uses, or something like AutomationDirect offers, consider the consequences!
Links to real (and also expensive) automation hardware:
Allen Bradley (used by most major amusement parks and many large companies)
Siemens (the standard in most of Europe)