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.
Please Bruce, introduce yourself to the CaFe?.pm group
I'm a 46 year old Electrical Engineer, living in Rochester, Minnesota, USA, working in the IBM Engineering services division. Our group designs integrated circuits for a wide variety of companies, like the CPUs? for the BlueGene? supercomputer and the 3 next generation gaming boxes.
Which one was your motivation to build MisterHouse? ??
My house is a energy efficient earth-bermed home designed to be heated with passive solar energy from south facing windows. To manage that heat gain, I installed home brewed, motor controlled window quilt curtains, so we could open them on those cold but sunny Winter days, then close them at night or when it was cloudy.
I needed software to track the indoor/outdoor temperature and sunlight level, and control the curtains, furnace, and fans accordingly. Once I had MisterHouse? doing those practical chores, I extended it into other less practical, but fun and goofy things, like controlling and speaking through a couple of robots.
Why it's stated that MisterHouse? is entirely geeky ??
Having your house remind you to water the plants or telling you where your car is traveling is not for everyone. It is a better fit for the geeky type. Not only are they the type that might enjoy that sort of interaction, but also it takes some computer skill to get it running well.
And your family, did accept easily the idea of dealing with an automated system ?? How did you managed this ??
They like most of it. The occasional bug that causes Mozart to play over the PA system at 2 am is not so popular, but things like phone callers being announced when the phone rings make up for it.
What skills (Perl related or not) did you gain while you build MisterHouse? ??
I use Perl quite a bit in my chip design work at IBM. I don't share any of that code in MisterHouse?, but I use many of the Perl tricks I learned writing MisterHouse? at work and vise-versa.
Which devices management did you added first and why ??
As with most home automation programs, we started by supporting X10 devices, as they are very common, simple, and inexpensive. After that, we add support for digital inputs and outputs and analog inputs for things like door monitors, furnace controls, and temperature monitoring.
What advice will you give to the wanna be designers and hobbists facing a new project ??
Make it open sourced. In the case of Home Automation, there is no way that one person, or even a small company, could encompass all the possible applications, so it is a perfect fit for open source. Others contribute as they write code to fit there specific needs, which is then shared with others.
In which parts of the code you will advice to the novice Perl coder to look at, in order to have a very pleasant learning experience ?
We have many people learn Perl so they can run MisterHouse?. There are also quite a few who run MisterHouse? as a fun way of learning Perl for some other use.
We have a variety of code files listed here: http://misterhouse.net/examples.html
How can anyone colaborate with MisterHouse? ??
We have over 600 members on the mailing list, with almost 300 of them listed in our authors log file as having contributed in some way. Some simply post suggestions or find bugs, others will post patches to fix bugs or extend functionality, and some will write new applications. I take changes through the mailing list, or emailed directly to me, or via CVS at Sourceforge.
What features you think are missed, and which ones will you add soon ??
The holy grail of Home Automation is reliable and convenient voice recognition. VR with a good headset in a quiet room works pretty well, but not many of us wonder around the house with headsets.
Being an electrical engineer, how do you think Perl fits in this field ?? And open source ??
Many of the problems we face in chip design are either new or are unique to a specific chip, so we don't always have an existing solution we can use. We often code up Perl scripts for quick throw away solutions. These programs are very specific to our design process or chip, so they are not good candidates for sharing as open source.
Any favorite CPAN module ?
That would be Bill Birthisel's SerialPort? module. Thats what enables us to talk to serial devices, on both Unix and Windows.
Which uses of MisterHouse? surprised you ?? (because of rare platforms implementation, stange devices, not intended use, etc.)
Some examples of MisterHouse? uses: MisterCar?, MisterBus?, MisterAquarium?, MisterDoorRoom?. A group at Fermi Labs uses it as MisterLab?, controlling some of their control room displays and giving alerts when their anti-matter monitors show problems. Kind of like a computerized Scotty on Start Trek!
Have you received feedback from the home automation industry in any way (comments, business porposals, etc.) ??
Not too much. I'm enjoying this as a hobby, so do not have an interest in this as a business.
Do you have any experience (funny or not so) that you had while making MisterHouse? and that want to share with us ??
A proud moment for open source authors is when they make their first public post to the world announcing their software is available. When I first posted to the UseNet? comp.home.automation list, I didn't review my spell checker results very carefully, so I didn't notice that it changed MisterHouse? to mysterious. Mysterious House was not what I had in mind!
Anything else that you want to tell us and we haven't asked you ??
You don't need a house to try MisterHouse?. We have some guys using in the apartments, dorm rooms, fish bowls, cars, and even national science labs!
Source: URL: http://www.bit-man.com.ar/en/CaFePMMisterHouse