Multiple smart plug (TS011F) - polling interval and network traffic

Hi,

I have a bigger ZHA network running with about 100 devices and multiple smart plugs that i hoped to be able to use as routers and track the power consumption around the house.

I fear, that the network traffic the zigbee network is almost at a maximum (reports of ~85% utilization occured multiple times). I already moved the wifi away from the zigbee channel.
Besides the power report on the zigbee channel I find it hard with the standard tools to get a feeling for the traffic that is going on in the network and to distinguish actual traffic that the network generated from noise on the channel.
Is there anyway to just monitor the message or data rate of the coordinator and categorize it by e.g. device?

Back to the routers. They are
14x TS011F by _TZ3000_gjnozsaz
3x TS011F by _TZ3000_w0qqde0g

both are using the quirk
Quirk: zhaquirks.tuya.ts011f_plug.Plug

So far I understood, that there are push messages by the devices and I think in this case it is cluster 0x0702 for which I can also read and set the respective parameters that influence the pushing of messages by the device:
min_interval: 60
max_interval: 900
reportable_change: 10
tries: 3

this seems to be only energy (kWh delivered).

The cluster 0x0b04 seems to provide the values for voltage, current and power. There is no setting for the reporting (push) interval, so I guess that these values are collected by issuing pull request, correct?

How can I influence the frequency of these pull messages? I really would love to better understand and configure the traffic on the network. Or do I misunderstand sth?

Thanks a lot for your help!

Unless you’re seeing issues with devices dropping off or Zigbee commands not getting through, I wouldn’t worry too much about it.

That warning is simply a warning - if you’re doing your best to follow the best practices with regards to zigbee, then you can safely ignore it as long as everything’s working fine.

In your case, you seem to be doing whatever you can, and with 100 devices, 85% isn’t bad unless the ZHA diagnostics reports an actual usage which is much higher than that.

I have devices getting lost and commands being delayed or not getting through.

Are there tools to monitor the traffic?

Is there an option or variable of the power plugs to influence the polling interval?

I still have devices getting lost and commands being delayer or not getting through.

Are there tools to monitor the traffic?

Is there an option or variable of the power plugs to influence the polling interval?

I really think that this is an issue. Why is there no option to configure the polling interval. Can somebody point me to the source code, that controls the behavior? I tried going through the classes but it was not very intuitive where the actual polling is implemented.

I have a smart card, that sorts all zigbee devices based on the last seen timestamp. This list is the only easy way I found to get a feeling for the number of messages that are on the network. an indeed the smart plugs are updated in intervals of seconds and are thus very likely causing the overall network to get jammed.

You can enable debug logging in ZHA to see how frequently each cluster attribute publishes a message.

I use Z2MQTT, which lets you set the reporting interval for each one of those easily in the UI. This screenshot is from a TS011F, same model as yours:

It might be time for you to move on to Z2M.

Thank you for the hint.

Are the attributes in the ElectricalMeasurement cluster being send by the device with the configurable intervals and change conditions or is this pulled by Z2M. In the later case the change value does not make sense?

In ZHA I can manage the device and also see the attributes but I am looking either for the corresponding device setting to change the reporting interval or for the software polling intervals.

I am not too familiar with Zigbee devices, maybe I just missunderstand completely how the communication (active sending by device or polling by ZHA/Z2M) works.

I have absolutely no idea whether those settings are for push or pull. All I can confirm is that I have no issue with them, and that your original request was for setting the polling interval

Assuming it is done by polling and the polling interval that is then used by Z2M, I guess the implementation in ZHA works in a similar way.

Is there anybody that knows where the polling interval is implemented in ZHA, I would be willing to dig down into source code or scripts if it is not configurable in a different way (which I really think it should).