What is xPL?
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.
The protocol consists of three basic message types:
- xpl-cmnd (Command)
This message type carries instructions to be performed. For example, open lounge curtain.
- xpl-trig (Trigger)
This message is generated when a device/application has a change of state.
It may also be generated in response to an xPL command (confirming action)
For example, lounge curtain is open.
- xpl-stat (Status)
This message type is used for four main purposes,
1. Request remote configuration at startup
2. Provide an "i'm alive" heartbeat
3. Provide regular status information, if applicable
4. Generate a response that cannot be considered a 'change of state' (e.g. the results of a database lookup)
Please see the xPL Specification Document for complete technical details on the xPL protocol.