Perl modules for the xPL Home Automation Protocol
Perl Shell Other
Latest commit 8f0159e Jan 3, 2012 @beanz Add change entry.


xPL Perl

These modules are intended to provide a framework for writing xPL
applications (see in Perl.  A number
of sample applications are also provided including a hub, a logging
client, a bridge and a command line message sender.

In order to ensure that the applications stay running,  I run
the applications using Dan Bernstein's "daemontools" from:

You could also use runit ( or just
using wrappers and /etc/inittab.

When looking at the code, particularly the code for the message
schemas, you will notice that there isn't much of it.  This is
intentional.  I don't generally like writing the same code more than
once and would rather get Perl to generate it.  Also, I'd like
eventually to parse a schema definition directly to generate the
classes representing that message schema.

This is an early release of the API and it likely that it will still
change a little over the next few weeks and months.

Example xPL clients are provided for:

  X10 using heyu (,
  Phaedrus VIOM IO controllers,
  Milford DMX transmitters,
  EasyDAQ USB relay controllers,
  Dawn and Dusk,
  Current Cost Energy Meters,
  Free Desktop (D-Bus) Notifications,
  RFXCOM RF transmitters and receivers,
  W800 RF receivers,
  sending SMS messages,
  UDIN USB relay controllers,
  X11 On-screen display nofitications,
  Wake-on LAN,
  X11 virtual keyboard for faking key presses,
  and more

Further clients written and maintained by others are listed at:


To install this module type the following:

   perl Makefile.PL
   make test
   make install

(Note, there are a couple of timing issues that occasionally cause
a few tests to fail.  Try repeating the tests if you get failures.)


Most of the required modules are distributed with recent versions
of Perl.  Some of the more elaborate clients require additional
modules from CPAN.

Debian Packages

The repository at contains
Debian packages for xPL Perl.

ArchLinux Packages

Arch Linux packages are available at:

Mac OS X

There are some instructions about installing on Mac OS X at:


See for details
of mailing lists for xPL Perl.


Copyright (C) 2005, 2011 by Mark Hindess

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.7 or,
at your option, any later version of Perl 5 you may have available.