exPL Application Layer

Application Layer Addressing

Application layer addressing defines how xPL endpoints are uniquely identified in an xPL network. The xPL specification does not require globally unique identification (GUID) of each xPL device and xPL endpoint. This specification will add GUIDs so that xPL devices can be physically moved and can be assigned new network addresses while still being uniquely identified by other xPL applications. Unique identification of the device is important for widely scattered sensors that will be configured over the network.

Device Identification

Each exPL device will have a unique 64bit device ID

Each exPL device can also be configured with a source ID as specified in the xPL specification. Once a device has been configured with a source ID, the device will use that ID for all future transmissions. The device will accept messages targeted to either the configured ID or the unique 64bit ID.


  • Inherently uses a 64bit device ID plus the application endpoint ID
  • Can reuse the 64bit device ID for xPL
  • Should assume there is only one xPL application object at the Zigbee layer
  • Then the xPL device might have multiple endpoints but this is a xPL identifier, not Zigbee
  • Requires that every xPL message will have the source Zigbee device id and xPL endpoint id


  • In the exPL RS485 specification the RS485 network addressing is dynamically assigned
  • Addressing is dynamic and could potentially change over time for a specific device
  • Each device will require a 64 bit GUID assigned during manufacturing
  • This could be an Ethernet card MAC (e.g. a LAN card owned by the manufacturer) plus a serial number


  • For a node connected strictly through a point-2-point serial interface, addressing is technically not required
  • There is a possibility of moving a serial device from one host or host port to another
  • Other network layers require unique a GUID
  • For consistency this specification requires a 64bit GUID for devices connected via serial interfaces

Endpoint Identification

Within an xPL device there can be multiple application endpoints. An endpoint represents each xPL managed object (e.g. each relay, temperature sensor, etc.). These endpoints are addressed using standard xPL target and device nomenclature.

exPL Application Heartbeats

eApp heartbeats use the xPL hbeat.basic schema with the addition of one or more group attributes. eApps must include a group attribute and value for each configured group address. All other heartbeat behaviors defined in xPL should be supported including shutdown behavior, identity changes, and responding to heartbeat requests.

exPL Application Network Join Procedure

  • eApp registers with the local exPL network layer and provides a callback function address for message reception
  • eApp initializes heartbeat FSM
    • eApp calls network layer message send function with heartbeat
    • eApp continues to send heartbeats per the xPL specification until the eApp hears its own heartbeat echoed from the LSG and then enters normal operation
    • Once in normal operation the eApp should restart the network join process if the eApp fails to hear its own heartbeat.
  • eApp optionally initializes the configure FSM
    • This functions as specified in the xPL specification

exPL Application Network Leave Procedure

  • eApp sends xpl-stat message with schema hbeat.end
  • eApp deregisters with the local network layer
Contributors to this page: michael .
Page last modified on Sunday 27 of November, 2011 17:16:33 CST by michael.