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

Sleepy End Device in Zigbee polling parent to often

I have a custom built multimotion sensor that is using NRF52840 and is setup as a sleepy Zigbee end device, however I can not find a way for it to poll its parent less frequently than once every 5 seconds. 

I currently have this line which should to my understanding have it poll once every 10 minutes. It does however poll once every 5 seconds.

zb_set_keepalive_timeout(ZB_MILLISECONDS_TO_BEACON_INTERVAL(60000)); 
 
I have also tried to problem on a DK using the light_switch example and I do get the same result.
Parents
  • Hi Darwand,

    The zb_set_keepalive_timeout is used to configure how often the keep alive messages are sent. The end device will sent a periodic keep alive message to their router parent to ensure they remain in the router's neighbor table. This is configured independely from the data polling mechanism.

    To change the data polling intervall you need to use zb_zdo_pim_set_long_poll_interval(zb_time_t ms). The default value for long poll interval is 5 seconds. You need to change this value as well if you want your sleepy end device to poll less frecuently from his parent.

    So to summarize polling interval defines when to poll data from parent, while keep alive is used for mantaining the connection with the parent. More info in the infocenter here and here.

    Best regards,

    Marjeris

Reply
  • Hi Darwand,

    The zb_set_keepalive_timeout is used to configure how often the keep alive messages are sent. The end device will sent a periodic keep alive message to their router parent to ensure they remain in the router's neighbor table. This is configured independely from the data polling mechanism.

    To change the data polling intervall you need to use zb_zdo_pim_set_long_poll_interval(zb_time_t ms). The default value for long poll interval is 5 seconds. You need to change this value as well if you want your sleepy end device to poll less frecuently from his parent.

    So to summarize polling interval defines when to poll data from parent, while keep alive is used for mantaining the connection with the parent. More info in the infocenter here and here.

    Best regards,

    Marjeris

Children
No Data
Related