Revision as of 10:24, 12 January 2022 by Registered User

1. Introduction

Most Zigbee applications use bindings to address request from the source to the destination. It allows application to handle communication between one top many devices in a transparent way. Instead of sending multiple unicast requests, application only sends one single request to Zigbee stack. Binding mechanism is provided by the APS layer, so that the application can set up bindings using binding tables. Each device has its own binding table. The BDB provides Find and Bind method to automate the creation of bindings. This method may have some limitations that will be discussed later.

2. How to configure Binding?

Binding can be configured either locally or remotely. Local binding is to be used for client cluster commands. Remote binding is to be typically used for attribute reporting.

2.1. Local configuration

Be careful, ZbApsmeBindReq parameter shall be set as follow:

  • srcExtAddr: local client Extended Address
  • dst.extAddr: remote server Extended Address

2.2. Remote configuration

Be careful, ZbZdoBindReq parameter shall be set as follow:

  • srcExtAddr: remote server Extended Address
  • dst.extAddr: client Extended Address
  • target: remote server Short Address

3. Find and Bind

Finding and binding mechanism is triggered automatically if the ZB_BDB_CommissioningMode is set to BDB_COMMISSION_MODE_FIND_BIND. However, Finding and binding can be started manually from the application by calling ZbStartupFindBindStart() on all endpoints, or calling ZbStartupFindBindStartEndpoint() from a specific endpoint.
Remote binding is only performed for below clusters:

  • Alarm
  • SE Messaging
  • Poll Control

The Find and Bind mechanism has several limitations regarding customer needs. One of them is that Find and Bind can only bind local client clusters to remote server clusters. In some cases, the opposite way (server to client) is needed.

4. Reporting attribute configuration from server side

In order to configure attribute reporting on a cluster server, cluster client shall send a ZCL Configure Reporting to server. This can be achieved through ZbZclAttrReportConfigReq API. Reporting configuration is set remotely by client. There is no dedicated reporting configuration command on server side.

ZCL Configure Reporting can be sent from client application using either dedicated addressing or binding. It only depends if client application is aware of server address (Short or Extended one). If client application is not aware of server address, it can trigger a Finding & Binding procedure first to find Zigbee devices embedding matching server clusters. In such a case, address type of config.dst.mode shall be set to ZB_APSDE_ADDRMODE_NOTPRESENT instead of ZB_APSDE_ADDRMODE_SHORT or ZB_APSDE_ADDRMODE_EXT.

No categories assignedEdit