This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to test ZigBee Coordinator multiprotocol example

Hello,

I am using nRF52833, nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8 and SEGGER Embedded Studio for ARM 5.34.

I have imported the ble_zigbee_dynamic_door_lock_nus multiprotocol example and build it successfully.

While referring to the below link I have changed zb_set_network_ed_role() to zb_set_network_coordinator_role().

ZigBee Coordinator and BLE peripheral - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

It builds successfully. Now I want to test it i.e. form a small Zigbee network.

I also tried with the Zigbee CLI Agent but "Zigbee End Device is not currently supported on the CLI Agent".

Please advise me on how to test this functionality.

Thank you,

Pranav.

Parents
  • I also tried with the Zigbee CLI Agent but "Zigbee End Device is not currently supported on the CLI Agent".

     Where does this information come from?

    You can use the CLI example to represent any nodes in a Zigbee network. Check out this guide for how to test that example.

    If you want a CLI device to be a zigbee router instead of a coordinator, you can use the command "bdb role zr" instead of "bdb role zc".

    I suggest that you test this with a CLI device acting as a coordinator first, before you change it out with your multiprotocol example. Also, consider setting ERASE_PERSISTENT_CONFIG to ZB_TRUE in your main.c files, as this resets the network data on every reset. If you don't do this, and then erase the flash on one device, but not the coordinator, for example, then one of the devices will hold the old network data, but the other will not, and you will not be able to connect. Note that programming the application does not erase the network data area. Using the nRF Command Line Tools's command "nrfjprog --eraseall" will erase the network data.

    Best regards,

    Edvin

Reply
  • I also tried with the Zigbee CLI Agent but "Zigbee End Device is not currently supported on the CLI Agent".

     Where does this information come from?

    You can use the CLI example to represent any nodes in a Zigbee network. Check out this guide for how to test that example.

    If you want a CLI device to be a zigbee router instead of a coordinator, you can use the command "bdb role zr" instead of "bdb role zc".

    I suggest that you test this with a CLI device acting as a coordinator first, before you change it out with your multiprotocol example. Also, consider setting ERASE_PERSISTENT_CONFIG to ZB_TRUE in your main.c files, as this resets the network data on every reset. If you don't do this, and then erase the flash on one device, but not the coordinator, for example, then one of the devices will hold the old network data, but the other will not, and you will not be able to connect. Note that programming the application does not erase the network data area. Using the nRF Command Line Tools's command "nrfjprog --eraseall" will erase the network data.

    Best regards,

    Edvin

Children
  • Hello,

    Thank you for your quick reply. I have tried what you suggest. But whenever I issued command bdb role zed on Zigbee CLI Agent example it shows "Error: Role unsupported". 

    Also in the below link mentioned that "Zigbee End Device is not currently supported on the CLI Agent"

    Nordic Semiconductor Infocenter - zigbee_example_cli_reference.html 

    So, I am not getting how to test it.

    Can you please suggest to me how to do it?

    Thanks,

    Pranav

  • Pranav3 said:
    Thank you for your quick reply. I have tried what you suggest. But whenever I issued command bdb role zed on Zigbee CLI Agent example it shows "Error: Role unsupported". 

     ok. Thank you for clarifying. I guess that doesn't work in the CLI example then. I was looking for the text "Zigbee End Device is not currently supported on the CLI Agent" in the ticket that you linked to, you see.

     

    Pranav3 said:
    So, I am not getting how to test it.

     The light_switch example from the SDK is a ZED example. Perhaps you can use that to test with. You can see how this example has the ZB_ED_ROLE preprocessor definition, and how the library that is used is a different one than the one used in e.g. the light bulb:

    lobzboss.lib vs libzboss.ed.lib (ed = end device).

    Is there anything particular you need to use the end device for? Any reason to not allow it to be a router? 

    Best regards,

    Edvin

Related