xPL Applications, Tools and Frameworks

xPL is a protocol used by home automation equipment and software allowing machines and software from different vendors to interact.  You can read mode about xPL here

These are the frameworks, tools and applications I've created and use for my own homes automation.  They are available for free, including source code.  If you make changes to the source code, I'd appreciate it if you'd pass those changes back to me.  Depending on how they fit in, they could be integrate into the base and made available to everyone.

I have two primary platforms I develop for -- linux and Java.  Linux specific stuff is becoming less and less my focus because I really do not want to write things that cannot be used on another platform.  As such, most of my current development effort goes toward my Java code, which can run under Linux, Windows, Solarix, Mac OSX, etc.

Areas of interest
xPL4Linux - this includes a C based xPL framework (95% done), a series of examples, a very reliable hub, an xPL interface for the HomeVision device and an interface the statnet RS485/232 thermostats.

xPL4Java - this includes a complete xPL framework, a series of examples, a scripting engine (to allows simple scripting of your xPL network), a Java container manager to allow multiple xPL4Java based apps to run under a common process (reduces the memory footprint of seperate Java instances for each app) and more.

UPB4Java - This isn't xPL specific (though there is optional UPB <-> xPL support included), but is an API for accessing the UPB (Universal Power Bus) automation system via Java.

Last Updated May 15, 2007