Skip to content
This repository

Perl modules for the xPL Home Automation Protocol

branch: master
README
xPL Perl
========

These modules are intended to provide a framework for writing xPL
applications (see http://wiki.xplproject.org.uk/) 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:

  http://cr.yp.to/daemontools.html

You could also use runit (http://smarden.org/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 (http://www.heyu.org/),
  Phaedrus VIOM IO controllers,
  Milford DMX transmitters,
  1-wire,
  EasyDAQ USB relay controllers,
  Dawn and Dusk,
  CTX35,
  Current Cost Energy Meters,
  Free Desktop (D-Bus) Notifications,
  LIRC,
  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:

  https://github.com/beanz/xpl-perl/wiki/Other-xPL-Applications-using-xPL-Perl


Installation

To install this module type the following:

   perl Makefile.PL
   make
   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.)


Dependencies

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 http://debian.temporalanomaly.com/ contains
Debian packages for xPL Perl.


ArchLinux Packages

Arch Linux packages are available at:

  https://aur.archlinux.org/packages.php?ID=53033


Mac OS X

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

  http://www.xplproject.org.uk/wiki/index.php?title=Get_Started_on_Mac_Os


MAILING LISTS

See https://github.com/beanz/xpl-perl/wiki/MailingLists for details
of mailing lists for xPL Perl.


COPYRIGHT AND LICENCE

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.


Something went wrong with that request. Please try again.