I've read around about the communication between battery powered Zigbee devices (sleepy end devices) and the gateway
for example: https://www.qorvo.com/design-hub/blog/demystifying-polling-control-in-zigbee-networks
So I get that the device call the gateway every long_polling to check for new commands/data: would it be possible to know, for a specific device, the time of the last received packet? Alternatively, I'd like to know every time a packet arrive, so I could extract the ieee (the device identifier) and update somewhere the current time.
In my case, I have a PC with a connected ConBee II, running Home Assistant and ZHA. I'm interested in determining if the device is still online, and since it periodically communicate with the gateway, I'd like to leverage this behavior. (Home Assistant will receive a value update every 15 minutes, but I'd like to know if the device is offline in less than a minute)
The device is a Aeotec Multipurpose Sensor (also reported as Samjin Multi) These are the configured values
'checkin_interval': 0 = disabled
'long_poll_interval': 28 = 7sec
'short_poll_interval': 1
'fast_poll_timeout': 40 = 10s
'cluster_revision': 1
So my device will communicate with the gateway at least every 7 seconds, right? I kinda can confirm this because though home assistant I can make a LED on the device blink, and the max observed time is about 7 seconds.
Any help would be appreciated, cheers