ZCL and BDB commands explenation

Hello,


I'm new to Nordic Zigbee solutions and where to find information so hoping someone can point me in right direction.


Using 2 nrf52840-DK boards. One is flashed with Nordic Zigbee Network coordinator example. The other is the Nordic Zigbee Ligh bulb example.
Using the example default configuration for libraries etc.
I use the BDB and ZCL commands to control coordinator through PuTTY terminal window. See screen shot.

  1. Other than the terminal "help" for API commands syntax, is there some more detailed documentation available?
    I see a lot of ZCL_xx documented definitions but it's unclear how this related to what the valid ZCL and BDB commands are in terminal. Ex: "BDB start" starts a new PAN and open network for 180 sec for zigbee nodes to join.
  2. Is there a "CLOSE" network BDB or ZCL or other command I can use? I don't want to wait 180 sec if device joins quickly. Any suggestions how to close the PAN with a command and not wait for time-out?
  3. I was not able to make "ZCL attr" cmd to work. Are there there any examples of the command on how to read the attributes and clusters supported on a device (the Nordic Zigbee lightbulb as example) It should show support of LIGHT and ON/OFF/DIM. 
    I also tried reading a Securafi smart plug that connected to pan with no luck.

Thanks in advance!

Parents
  • Hi,

    1. You can find documentation for Zigbee shell here: nRF Connect SDK » Zigbee shell. The supported commands are listed there, with explanations and examples of how to use them. If you want more detailed information about the commands themselves you can look in the Zigbee specification.
    2. No, there is not. This minimum duration for which a network is opened to allow nodes to join is decided by the constant bdbcMinCommissioningTime. This value is defined as 180 seconds by the Zigbee specification.
    3. This can be found in the link above:
      zcl attr read h:dst_addr d:ep h:cluster [-c] h:profile h:attr_id
      If you want to read the OnOff attribute in the On/Off cluster this will be:
      zcl attr read h:dst_addr d:ep 0x0006 0x0104 0x00

    We also have some guides that can be worth going through if you are new to Zigbee in nRF Connect SDK, such as Zigbee quick start guide and Adding ZCL clusters to application

    Best regards,

    Marte

  • Thanks Marte for quick reply. I will try this.

    It does not look like there is a shell command to get a listing of Devices connected to PAN such as their dst_addr or (E)UID or MAC address etc.?

    In my previous experience using different SoC this device listing is not "real time" since it has an aging out component to it, but it can still be useful.

    Can you recommend a way to get this list (other than my app keeping track of announcements when devices connect)?
    If App for some reason misses the new device or rejoined announcement message it gets a bit messy.

    Thanks again!

  • Hi,

    There is no shell command to list all devices on the network, but you can use zdo mgmt_lqi to get the neighbor table of a device. As an example, here I send the command to the coordinator, and the coordinator responds with its neighbor table which currently has two entries:

    > zdo mgmt_lqi 0x0000
    [idx] ext_pan_id       ext_addr         short_addr flags permit_join depth lqi
    [ 0]  f4ce36314cd4585a f4ce3663c6e40fe2 0x6848     0x95  1           1     180
    [ 1]  f4ce36314cd4585a f4ce36836ec0da13 0xc100     0x15  0           1     255

    Best regards,

    Marte

  • Hello,
    Great, that will work. Plus I get the LQI numbers. I will try.

    Thanks!

    Jorgen

    Btw: Great quick support !

  • Hi Jorgen,

    I just found that there is an option to close the network early after all. This was added in nRF Connect SDK v1.9, and it seems to be a new feature in the Base Device Behavior specification, so I was not aware that this was possible yet when I answered you earlier. This allows you to locally disable network steering. To do so, all you need to do is to call the function zb_bdb_close_network().

    Best regards,

    Marte

  • Hi Marte,
    Great! Sorry for late reply. Had to try to find some Nordic parts...:)
    Yes I did see new version 1.9 come out. Hopefully some other new useful commands also.

    I'm also looking for reference schematic for the interface between 52840 and the 21540 (PA). Is there a simpler version than the developer kit  version section? Have to trace it all out and can easily miss something.

    Is there some documentation and examples on how to write to 52840 USB port (not the jlink in eval board) so I can configure the 21540 gain and perhaps some other "slow" parameters using the spi interface of the 52840?
    I should be able to do that, right?

    Thanks!

  • Hi,

    Please create a new ticket with these questions as they are not related to the original issue in the ticket. Thanks!

    Best regards,

    Marte

Reply Children
No Data
Related