Hi,
I am working on a hub based on a raspberry compute module. Zigbee support is enabled by a u-blox (or Rigado) BMD340 module connected via UART to the compute module. I guess that the design architecture is the CLI co-processor design ( https://infocenter.nordicsemi.com/topic/sdk_tz_v3.2.0/zigbee_architectures.html?cp=7_7_0_3_1 ) because I am able to play with the CLI example (bdb, zdo and zcl commands using minicom).
The hardware has been designed by a third-party company and I don't really know which firmware they flashed on the module. They told me "the module has been flashed with a slightly modified version of the standard serial controller API firmware". But that sounds quite vague to me (maybe not for you?).
Is the Zigbee CLI meant to be used also for production or is it only an example that do not implement all the functionalities? I have seen in your SDK (nRF5_SDK_for_Thread_and_Zigbee_v4.0.0) that the cli_agent_router directory in the example directory is using functions from the zigbee_cli directory in the components directory. But then some commands seem to be missing in the zigbee_cli component (e.g the zdo node descriptor request). So, is it also part of the example? I am a bit lost about what I am supposed to use...
Also, to be a bit more clear, I would like to interface the BMD340 module with zigpy, which is a python3 library that implements the Zigbee stack already. I thought about using the zb_cli_wrapper but I feel like I am trying to interface two things that are at the same layer... I am a bit confused with the layers shown in the graph from the specification. Also what is ZBOSS stack actually doing in all that?
Sorry, I guess that is a lot of vague questions but I need to sort things out in my head, and I hope you can help me in that.
BR
Damien