XPL Protocol
≈ 4 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
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. Communications between xPL applications on a Local Area Network (LAN) use UDP on port 3865. xPL development has primarily occurred in the DIY community, where users have written connecting software to existing protocols and devices. Some examples include bridges to other home automation protocols like Z-Wave and UPB. Commercially, the Logitech SqueezeCenter software for the Squeezebox supports 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. Communications between xPL applications on a Local Area Network (LAN) use UDP on port 3865. xPL development has primarily occurred in the DIY community, where users have written connecting software to existing protocols and devices. Some examples include bridges to other home automation protocols like Z-Wave and UPB. Commercially, the Logitech SqueezeCenter software for the Squeezebox supports xPL. All devices send a heartbeat message to the hub on a regular basis (typically 5 minutes). When disconnecting, they also can send a special heartbeat end message for the hub to radiate them out of his list. The hub forwards all messages to every device in its list. There is no filtering of messages: a blind redistribution of all messages is carried out. The message types are one of the following: command, targeted to control other devices status, generally as an answer to a command trigger, used to notify a change in a device's state An extensive list of applications can be downloaded from the net. Tooklits are also provided for users wishing to develop their own devices. On Windows, xPL HAL processes incoming xPL messages and executes scripts to perform a wide variety of tasks. Configuration is done either through a Windows-based Manager or via a browser. xPL HAL also includes an xPL Configuration Manager. On Linux or Mac OS, xpl-central monitors all xPL messages and can trigger other messages based on a set of rules stored in an XML file. hop=1 source=xpl-xplhal.myhouse target=acme-cm12.server } x10.basic { command=dim device=a1 level=75 } hop=n, the hop count which is incremented each time the xPL message is transferred from one physical network to another source=vendor_id-device_id.instance_id, which serves to identify the sender of the message target=vendor_id-device_id.instance_id, which serves to identify the destination of the message The message schema, in the format class.type The message body, inside curly braces, containing name=value pairs In the header block, the target name is replaced by the wildcard symbol "*" for broadcast messages. This is the case for tigger and status messages. xPL uses well defined message schemas to ensure that applications from different vendors can interact sensibly. Message Schemas are extensible, and define not only the elements which should be present in a message, but also the order in which they appear. This allows simple devices and applications to parse messages more easily. All of the existing message schemas can be found on the xPL project home page. Developers looking to create a new schema are invited to do so.
See also
xAP Home Automation protocol - A substantially similar home automation protocol
References
External links
Other
Misterhouse supports xPL Logitech Media Server supports xPL, Logitech Media Server message schema
Text derived from https://en.wikipedia.org/w/index.php?oldid=1355989533 under CC BY-SA 4.0; modifications have been made.