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

nrf52840 dongle In the ZigBee CLI example obtaining the endpoint fails

    in \nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8\examples\zigbee\experimental\cli\cli_agent_router example , we use the nrf52840 dongle as the Coordinator, for joining  the third zigbee  device,  we can get the short address, by  zdo mgmt_lqi 0x0000 command,  but can not get the endpoint,  by zdo active_ep 0xa3b0 command, with the log out  "<info> app: Unimplemented signal (signal: 21, status: 0)" ,what is the reason?  

I have tested  other different  severa devices have the same question.

Parents
  • Hi,

    Is the other device always in range of the network? Is it a legacy device? I see that the device keeps leaving the network and rejoining again. Is this leave initiated by you, or does the device do it automatically? If you are not doing this, then this might be caused by the device being a legacy device. Try to issue the following command before the device joins the network:

    bdb legacy

    The coordinator is unable to get the endpoint of the device, as they are unable to reach the device at all. The device does not send link status commands, so the coordinator will mark it as a stale node in it's neighbor table. Next time you tell the coordinator to send a command to the device, it sends a route request to find a route to the device, but this route request does not seem to get answered.

    Best regards,

    Marte

  • nrf52840-temp.pcapng

    Hi Marte,

    Nice to see your reply,we check the test, again 

     now, we can get the endpoint, when we press the button of temperarue zigbee device for reporting the tempture value, then  run the  zdo active_ep 0xde3a cli command at ance , but  after a while, we couldn't get the endpoint,  I don not know the reason,
    At the same time, I have other puzzles , 
     1.  we can not find the temperature cluster id =0x0402, by the zdo simple_desc_req 0xDE3A 1 cli command, we find the cluser infor as belows:
     but we can find the cluster infor 0x0402 , in the snifff capture data,  what is the reason,how to find the cluster id by cli command ?  the sniff data file at the top . 
       2.  we can find the zigbee device report the temperture information, in the sniff captue data,  
            how to get the information and display by the cli command? 
    thanks
    fchen2006
Reply
  • nrf52840-temp.pcapng

    Hi Marte,

    Nice to see your reply,we check the test, again 

     now, we can get the endpoint, when we press the button of temperarue zigbee device for reporting the tempture value, then  run the  zdo active_ep 0xde3a cli command at ance , but  after a while, we couldn't get the endpoint,  I don not know the reason,
    At the same time, I have other puzzles , 
     1.  we can not find the temperature cluster id =0x0402, by the zdo simple_desc_req 0xDE3A 1 cli command, we find the cluser infor as belows:
     but we can find the cluster infor 0x0402 , in the snifff capture data,  what is the reason,how to find the cluster id by cli command ?  the sniff data file at the top . 
       2.  we can find the zigbee device report the temperture information, in the sniff captue data,  
            how to get the information and display by the cli command? 
    thanks
    fchen2006
Children
  • Hi,

    1. It seems like the cluster is implemented on the device, but it is not correctly added to the endpoint's Simple Descriptor. Please make sure that you declare the simple descriptor and endpoint correctly in the code. You can read about declaring endpoints and simple descriptor in Implementing a Zigbee end product with ZCL in our documentation. You can also look at similar examples, such as Zigbee Multi Sensor Example.

    2. The Zigbee CLI example logs the reports instead of directly printing them. In order to see them, you must enable displaying of reports:

    log enable info zigbee.report

    It seems like the Multi Sensor example is similar to what you want to achieve, so you might find it helpful to look at that example. You can check out the "Testing" part of the the example's documentation, which can be found in the link above, and at the code itself.

    Best regards,

    Marte

Related