Zigbee Long Poll Interval does not follow the set value

Wireshark_poll_interval_ok.pcapng     Wireshark_poll_interval_error.pcapng

We have created a zigbee custom sleepy end device with the base from light switch example. We are able to perform most of the operations successfully.

We have set the following configurations for end device polling.
zb_zdo_pim_set_long_poll_interval(7000)

zb_set_ed_timeout(ED_AGING_TIMEOUT_64MIN)

zb_set_keepalive_timeout(ZB_MILLISECONDS_TO_BEACON_INTERVAL(5000));

The long poll interval is set immediately after network steering and device reboot in default_signal_handler as explained in this link.

It works perfectly when connected to a particular gateway, but not when connected to another gateway. The polling interval is too fast (approx 200ms) in the non-working gateway, be whatever the value set using zb_zdo_pim_set_long_poll_interval..

My query is, Will the gateway influence polling interval? Apart from the above settings is there anything else that should be taken care of? Can you guide me where is that we are going wrong? 

We are using NRF Connect SDK V2.0.0. 

Attached are the Wireshark and PPK logs for both working and non working gateway. 



Parents
  • Hi

    I got an answer from our developers on this, and here are their thoughts on what the issue likely is connected to:

    The poll interval is indeed configurable, and depends on the device configuration, Turbo poll functionality, and the configuration commands, sent by the coordinator/hub. Detailed information on this can be found in the "End device keep alive" and "Data polling" mechanism in the ZBOSS documentation:

    One of these (likely the config commands) sent by I.E. the Alexa hub is likely the difference between your working and non-working application.

    Best regards,

    Simon

  • Hi,
        We found the problem to be in setting the value of long poll interval and keep alive timeout. As keep alive timeout is less and it is more or less equal to long poll interval, it created the problem. We are able to achieve the required polling interval by increasing the keep alive timeout to a large value.

    Thank you very much for your time and effort.

Reply
  • Hi,
        We found the problem to be in setting the value of long poll interval and keep alive timeout. As keep alive timeout is less and it is more or less equal to long poll interval, it created the problem. We are able to achieve the required polling interval by increasing the keep alive timeout to a large value.

    Thank you very much for your time and effort.

Children
No Data
Related