Zigbee polling frequency change? Devices reporting every 5 minutes

Hi,
I’m new to OpenHAB2 and been trying to migrate from SmartThings hub to OpenHABian.

So far, most things are working as expected except I noticed that my devices are polling every 5 minutes. I’m using a Telegesis ETRX3USB Zigbee adapter with my Pi3 Model B.

Is there a way to increase the polling frequency to 30 minutes or longer? I don’t want the network traffic, especially for devices that I don’t need to hear about frequently.

The polling seems to be consistent with all devices, and happens at once (see log snippet below) so I don’t think its device initiated (I’m guessing the polling event is generated either by OpenHAB2 or the Zigbee hub).

I tried grep’ing the configuration files to see if there was any configuration flag that I could change and haven’t come up with anything.

I did find a zigbee-network-zigbee_coordinator_telegesis…xml file that has the following XML tags for each device:
< minimumReportingPeriod >0< /minimumReportingPeriod >
< maximumReportingPeriod >0< /maximumReportingPeriod >

Changing these results in the values being reset back to 0 again, so the changes don’t seem to persist.

Any advice is greatly appreciated!
ZJS

PS: I’m very new to the OpenHAB environment, so if you have any tips, please be specific on the location of the files.

Log snippet:
2018-10-21 11:47:58.711 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:7cb03eaa00a2310c’ has been updated.
2018-10-21 11:47:59.069 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:f0d1b80000026e98’ has been updated.
2018-10-21 11:47:59.336 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c5722’ has been updated.
2018-10-21 11:47:59.606 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c54c2’ has been updated.
2018-10-21 11:47:59.991 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c4bb6’ has been updated.
2018-10-21 11:48:00.402 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000dc130’ has been updated.
2018-10-21 11:48:00.672 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000dc031’ has been updated.
2018-10-21 11:48:01.237 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:7cb03eaa00a223c4’ has been updated.
2018-10-21 11:48:01.513 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:f0d1b800000270d7’ has been updated.

2018-10-21 11:52:56.193 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c5722’ has been updated.
2018-10-21 11:52:57.218 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000dc130’ has been updated.
2018-10-21 11:52:57.562 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c4bb6’ has been updated.
2018-10-21 11:52:58.196 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000dc031’ has been updated.
2018-10-21 11:52:58.498 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:f0d1b80000026e98’ has been updated.
2018-10-21 11:52:58.775 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:f0d1b800000270d7’ has been updated.
2018-10-21 11:53:10.929 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:7cb03eaa00a2310c’ has been updated.
2018-10-21 11:53:12.793 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:7cb03eaa00a223c4’ has been updated.
2018-10-21 11:53:13.434 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:84182600000c54c2’ has been updated.

No - currently it is not configurable. Polling is only used if reporting does not work - for most devices that use reporting, polling gets set to a long period just so we can check it’s really still there.

There is no synchronisation between devices, and there is in fact some randomisation to try and avoid them being synchronised.

Hi Chris,
Thanks so much for your quick response.

On polling being used if reporting doesn’t work: Is reporting (on/off, or frequency) something that can be configured in OH? From the sounds of things, what I’m seeing may be a fall-back response?

Regarding the setting not being configurable: would you happen to know if this is hardcoded in OH? (reason I’m asking is if its something in the code, I can try my luck on changing the Java source and recompile my own version if possible).

Thanks again.

No. This is hard coded. It’s set to 1 second min, and something like 10 minutes max - but it’s then up to the device to report any changes. What this basically means is that if the state of something on the device changes, it will send a report no more often than every 1 second, and no less often than every 10 minutes - so if there are no changes, it will be 10 minutes update. I think for some channels like battery level, this is 1 or 2 hours as it doesn’t change.

For analogue data (such as temperatures) there’s an additional requirement on reporting, and that’s the amount it changes by. For temperatures for example, it will report if the temperature changes by 0.1 deg.

Currently none of this is changeable by the user.

Possibly, but if the binding fails to configure reporting, it uses a high polling rate - I think this is something like 30 seconds, but I’d need to check.

It is all defined in the binding - but as I don’t really know what your problem is, I can’t say if changing something here will help.

I can’t find anywhere in the binding code that this is set to 5 minutes, so my guess is there is something else at play. Maybe you have a rule or something doing updates at a 5 minute rate (this would also explain why it is synchronised).

I would suggest to get a debug log to see what is happening before you start modifying code.

Hi Chris,
Thanks for the ideas and leads… I tried a few things based on your advice:

First, I installed fresh copy (new image, initial config, no rules):
-Then installed Telegesis USB dongle: Still all is quiet in the logs
-Then installed the Samsung SmartThings outlet, still ok (no 5 minute updates)
-Turned Samsung outlet switch on/off several times… tested fine for 45 minutes.
-Then I added the first light (Lightify)… and the 5 minute cycle starts, even for the SmartThings outlet that had tested fine for 45 mins.

New info:
-5 minute cascade doesn’t seem to include the motion sensor I added, it operates normally.
-It doesn’t seem to matter if bulb is on or off… once it starts, the 5 minute update cycle doesn’t stop.

On your suggestion for examining the logs, I gave this a spin and I think this is the common thread to the issue:

2018-10-27 18:45:30.995 [INFO ] [bee.discovery.ZigBeeDiscoveryService] - 7CB03EAA00A2310C: Starting ZigBee device discovery

2018-10-27 18:48:04.782 [me.event.InboxRemovedEvent] - Discovery Result with UID ‘zigbee:device:04000B51:7cb03eaa00a2310c’ has been removed.

2018-10-27 18:48:04.871 [hingStatusInfoChangedEvent] - ‘zigbee:device:04000B51:7cb03eaa00a2310c’ changed from UNINITIALIZED to INITIALIZING

2018-10-27 18:48:04.885 [hingStatusInfoChangedEvent] - ‘zigbee:device:04000B51:7cb03eaa00a2310c’ changed from INITIALIZING to OFFLINE

2018-10-27 18:48:04.909 [me.event.ThingUpdatedEvent] - Thing ‘zigbee:device:04000B51:7cb03eaa00a2310c’ has been updated.

2018-10-27 18:48:04.927 [nt.FirmwareStatusInfoEvent] - Firmware status of thing zigbee:device:04000B51:7cb03eaa00a2310c changed to UNKNOWN.

2018-10-27 18:48:08.499 [hingStatusInfoChangedEvent] - ‘zigbee:device:04000B51:7cb03eaa00a2310c’ changed from OFFLINE to ONLINE

I think this may be rooted in the zigbee rediscovery kicking off every 5 minutes.

Last, I pulled down the code tonight along with the IDE and spent a few minutes looking at the Zigbee binding. I didn’t find anything popping out… but then again, I’m a .NET programmer trying to decipher Java… so its slow sailing there but I’ll keep digging.

thanks again,
s