ZBOSS library configuration

The ZBOSS stack is distributed as a set of precompiled linkable libraries. These libraries are available in the following versions:

Each version supports different Zigbee device roles, with each variant having its own configuration. This allows you to scale the application and select the most suitable set of features.

These libraries are used in the Zigbee protocol configuration in the nRF Connect SDK when defining the Zigbee device role, as described in Mandatory configuration in the nRF Connect SDK documentation. They are included by the OSIF subsystem, which acts as the linking layer between the ZBOSS stack and nRF Connect SDK. OSIF implements a series of functions used by ZBOSS and is included in the nRF Connect SDK’s Zigbee subsystem.

ZBOSS production libraries

For a complete list of the ZBOSS configuration options, see the following files:

  • zboss/production/include/osif/libzboss_config.h - Library for Coordinators and Routers

  • zboss/production/include/osif/libzboss_config.ed.h - Library for End Devices

The ZBOSS production library version is enabled by default with the CONFIG_ZIGBEE_LIBRARY_PRODUCTION Kconfig option.

ZBOSS development libraries

The ZBOSS libraries in the development state include all the production code, but also features that are still in the experimental state.

For a complete list of the ZBOSS configuration options, see the following files:

  • zboss/development/include/osif/libzboss_config.h - Library for Coordinators and Routers

  • zboss/development/include/osif/libzboss_config.ed.h - Library for End Devices

You can select the ZBOSS development library version with the CONFIG_ZIGBEE_LIBRARY_DEVELOPMENT Kconfig option. These libraries include implementation of the eight version of the ZCL specification.

Note

This implementation includes new features defined in the new version of the specification, but they introduce incompatibilities with devices that implement older versions of the specification.

Configuration options

In the nRF Connect SDK, you can enable the ZBOSS library using the CONFIG_ZIGBEE Kconfig option. Enabling this library is required when configuring the Zigbee protocol in the nRF Connect SDK, for example when testing the available Zigbee samples.

To enable additional features in the ZBOSS libraries, you can use the following Kconfig options:

  • CONFIG_ZIGBEE_LIBRARY_NCP_DEV - With this option enabled, the application links with an additional library, which implements NCP commands. This option is enabled by default in the Zigbee NCP sample. This option uses a production version of ZBOSS that has not been certified.

  • CONFIG_ZIGBEE_GP_CB - With this option enabled, the application can support the Green Power Combo feature, which implements the basic set of Green Power Proxy and Green Power Sink functionalities within a single device. This option can only be enabled for an application that is built from ZBOSS stack sources. It has been added only for evaluation purposes and does not have a dedicated sample.