Welcome to Smarthome

My idea was that code written in Prolog would make a great central "brain" for a home automation system, and it has worked very well!  My Smarthome system is a distributed system running on a combination of Windows and Linux machines, with all the components implemented as modules which are currently connected via CORBA.  I can move modules from machine to machine while the whole system keeps running.  The system isn't just designed to be a fancy remote control for devices (although it does do that), it's also designed to collect information and deliver it to me in useful ways.  A secondary goal of the system is the educational spinoff - techiques I've learned and developed while working on Smarthome have often become useful at work.



This is the architecture of the system as it is working right now.
Click on a link below for a description of a component (more will appear as I document them).

SmarthomeServer, SmarthomeServerHistory, ChatServer, ChatServerInternals, ChatClient, TheBrain

original smarthome (circa 1995), first smarthome server (1998-2002)