xPL Protocol

xPL is an open protocol intended to permit the control and monitoring of home automation devices.

The primary design goal of xPL is to provide a rich set of features and functionality, whilst maintaining an elegant, uncomplicated message structure.

The protocol includes complete discovery and auto-configuration capabilities which support a fully "plug-n-play" architecture - essential to ensure a good end-user experience.

xPL benefits from a strongly specified message structure, required to ensure that xPL-enabled devices from different vendors are able to communicate without the risk of incompatibilities.

[1] Communications between xPL applications on a Local Area Network (LAN) use UDP on port 3865.

[2] xPL development has primarily occurred in the DIY community, where users have written connecting software to existing protocols and devices.

As on modern operating systems only one program can listen to a given port, there is a need for a hub forwarding the messages to all devices on the same machine.

Applications add functionality to a home automation solution such as light control, sun rise/set, weather information and so on.