Hello,
We are currently developing an application that requires a device to have multiple endpoints. All these endpoints have to make reports to another device.
We take as reference the example ble_zigbee_dynamic_color_light_bulb_thingy. We are declaring all endpoints exactly the same way that example does.
We have a total of 10 endpoints that should report but only the last of them reports.
We found that when we want to configure the reports of each endpoint when calling the function zb_zcl_find_reporting_info(), to find the array of reports of each endpoint, it returns a null value except in the case of the last endpoint.
Researching through the forum we saw this thread: devzone.nordicsemi.com/.../zigbee-unable-to-subscribe-to-attributes-and-or-receive-reports-on-device- with-multiple-endpoints
and we implement the sort_ep_desc_list() function before configuring the reports for each endpoint. When implementing this function with each endpoint the zb_zcl_find_reporting_info() function returns a non-null value and the reports are configured (apparently). With this implementation we saw that the reports are executed in wireshark using the sniffer.
What we want to know is if this implementation is correct or if it modifies something else that it shouldn't. Now using this function before configuring each report all endpoints report fine, but we don't want to be surprised later that we broke some other section of the stack.
Regards,
jnr