Skip to content
Thomas E.-E. edited this page Apr 22, 2014 · 2 revisions

Documentation of the xPL Binding

Note: This Binding will be available in the upcoming 1.5 Release. For preliminary builds please see the CI server at Cloudbees.

Introduction

The xPL Bundle provides two packages :

  • Action to send messages over the xPL network
  • Bindings to grab xPL messages values in items and send xPL commands

Pre-requisites

The xPL Bundle relies on Gerry Duprey xPL4Java Library. The library is packaged in the bundle, then you won't need to install it - but in order to make it work, you'll need a working xPL Hub on the openHAB server (please find all needed information on how-to on the xPL Project website.

Configuration in openhab.cfg

############################## xPL Binding ##############################
#
# The instance name of the xPL server
xpl:instance=somemachinename

xPL Action

This add-on provides xPL message sending on the network:

  • sendxPLMessage(String target, String msgType, String msgClass, String bodyLine1, String bodyLine2 ...) : Sends a message over the xPL network.

Parameters shall follow xPL message elements syntax.

  • target : string spelled vendor-device.instance
  • msgType : being one of : command, trigger, status
  • msgClass : string spelled class.type
  • bodyLineX : string containing key and value in the form of "bodykey1=bodyvalue1" There may be as many bodyLine parameters as needed

xPL Bindings

Bindings to items can be SwitchItem,NumberItem,StringItem. They allow to receive/send commands (#COMMAND parameter) and to grab current values in xPL messages (#CURRENT parameter).

Switch testswitch "testswitch"  {xpl="*,command,ac.basic,device=0x0a2b,unit=0,command=#COMMAND"}
//Will broadcast (* address| vendor-device.instance) an xPL message in response of sendCommand(testxplswitch, [ON | OFF]) 

Number testxpltemp "testxpltemp" {xpl="*,status,sensor.basic,device=0x0a2x,type=temp,current=#CURRENT"}
//Will get "current" value in the body for the message matching xpl-stat/sensor.basic/device=0x0a2x,type=temp
    
String testxplstr "testxplstr" {xpl="*,status,sensor.basic,device=outside,type=temp,current=#CURRENT"}
//Will get "current" value in the body for the message matching xpl-stat/sensor.basic/device=0x0a2x,type=temp

xPL messages can be catched multiple times in multiple items (grabbing different parts of the message).

String LivingRoom_Player_Kind "Xmbc [%s]" (LivingRoom)   {xpl="*,status,media.mptrnspt,mp=xbmc,kind=#COMMAND"}
String LivingRoom_Player_Status "Xmbc [%s]" (LivingRoom) {xpl="*,status,media.mptrnspt,mp=xbmc,command=#COMMAND"}

Installation

Community

Features

Samples

Release Notes

Clone this wiki locally