XBee ZigBee networks ZigBee application layers: in depth
XBee/XBee-PRO ZigBee RF Modules User Guide 37
Application Support Sublayer (APS)
The APS layer in ZigBee adds support for application profiles, cluster IDs, and endpoints.
Application profiles
Application profiles specify various device descriptions including required functionality for various devices. The
collection of device descriptions forms an application profile. Application profiles can be defined as “Public” or
“Private” profiles. Private profiles are defined by a manufacturer whereas public profiles are defined, developed,
and maintained by the ZigBee Alliance. Each application profile has a unique profile identifier assigned by the
ZigBee Alliance.
Examples of public profiles include:
Home automation
Smart energy
Commercial building automation
The Smart Energy profile, for example, defines various device types including an energy service portal, load
controller, thermostat, in-home display, and so forth. The Smart Energy profile defines required functionality for
each device type. For example, a load controller must respond to a defined command to turn a load on or off. By
defining standard communication protocols and device functionality, public profiles allow interoperable ZigBee
solutions to be developed by independent manufacturers.
Digi XBee ZB firmware operates on a private profile called the Digi Drop-In Networking profile. However, the API
firmware in the module can be used in many cases to talk to devices in public profiles or non-Digi private profiles.
See API operation on page 108 for details.
Clusters
A cluster is an application message type defined within a profile. Clusters are used to specify a unique function,
service, or action. For example, the following are some clusters defined in the home automation profile:
On/off - used to switch devices on or off (lights, thermostats, and so forth.)
Level control - used to control devices that can be set to a level between on and off
Color control - controls the color of color capable devices.
Each cluster has an associated 2-byte cluster identifier (cluster ID). The cluster ID is included in all application
transmissions. Clusters often have associated request and response messages. For example, a smart energy
gateway (service portal) might send a load control event to a load controller in order to schedule turning on or off
an appliance. Upon executing the event, the load controller would send a load control report message back to
the gateway.
Devices that operate in an application profile (private or public) must respond correctly to all required clusters.
For example, a light switch that will operate in the home automation public profile must correctly implement the
On/Off and other required clusters in order to interoperate with other home automation devices. The ZigBee
Alliance has defined a ZigBee Cluster Library (ZCL) that contains definitions or various general use clusters that
could be implemented in any profile.
XBee modules implement various clusters in the Digi private profile. In addition, the API can be used to send or
receive messages on any cluster ID (and profile ID or endpoint). See Explicit Addressing ZigBee Command frame
on page 119 for details.
Endpoints
The APS layer includes supports for endpoints. An endpoint can be thought of as a running application, similar to
a TCP/IP port. A single device can support one or more endpoints. Each application endpoint is identified by a 1-
byte value, ranging from 1 to 240. Each defined endpoint on a device is tied to an application profile. A device