Change ONLINE/OFFLINE timeout interval (IsAlive Tracker scheduled task)

Hello. I run openhab 4.3.7 and I have number of zigbee devices which are responding very rarely. Zigbee binding is used. The result is that my devices are going offline/online after equal time intervals. I see in Karaf console the next lines:
13:21:21.721 [DEBUG] [ing.zigbee.handler.ZigBeeThingHandler] - A4C138D3B568F808: Setting ONLINE/OFFLINE timeout interval to: 14430
13:21:21.722 [DEBUG] [g.zigbee.handler.ZigBeeIsAliveTracker] - IsAlive Tracker added for thingUID=zigbee:device:940023d2ba:a4c138d3b568f808
13:21:21.723 [DEBUG] [g.zigbee.handler.ZigBeeIsAliveTracker] - IsAlive Tracker scheduled task for thingUID=zigbee:device:940023d2ba:a4c138d3b568f808 in 14430 seconds

Is there any way to change 14430 secs value to a bigger one? Thanks.

This value is twice the reporting period, plus 30 seconds (from memory). The concept being that a device should report twice within the IsAlive time - if it misses one report, then it will still stay as ONLINE, but if it misses two in a row, it will be marked OFFLINE.

If you’re regularly missing two reports, then you might want to look at the network topology since it likely indicates that the network is not robust.

Thank you for the help. I have devices that do not support polling but are sending values once in 6 hours (tuya water leak sensors). At first I thought it will be easy to change maximum reporting interval to fit 6 hours, but now I see it is not. So I went with creating creating separate custom switch which goes to OFF state if there is not update in 6 hours. Thanks.

That’s fine - as I said above, this is the REPORTING period - not the polling period. Most zigbee devices support reporting and don’t require polling.

If the device doesn’t allow you to configure the reporting period, then just set it using the UI to 6 hours, and it should stop the timeouts.

The device doesn’t allow me change the reporting period, but I can’t modify it in zigbee binding as well. Once I connect the channel it becomes polled and isAlive tracker timeout is 7200 * 2 + 30 = 14430. I see something like this in Code tab of thing:
channels:
id: A4C138D3B568F808_1_batterylevel
channelTypeUID: system:battery-level
label: Battery Level
configuration:
zigbee_reporting_polling: 11000

but it is not used. I modified it but got 14430 as before.

I understand that, but I think if you change the reporting period, the binding should update the isAlive time - even if it doesn’t (ie can’t) update the reporting period in the device.

Are you referring to the zigbee_reporting_polling - this is polling. From memory this is different to the reporting config used in the binding.

See the configuration below for a standard channel -:

It’s possibl that if the binding doesnt get confirmation of the reporting update, that it doesn’t update these values - I dont recall now (I wrote this many years ago :slight_smile: )

Thank you for the detailed explanation. I see an empty page there (openhab 4.3.9):

The page is empty even for Zigbee devices, which do support polling. For non-polled devices, this page shows the line “This channel has no configuration“. Could you tell me, please, how did you get to that pretty menu? Thanks.