Make ZHA Power consumption reporting user-configurable

One of the biggest detriments to Zigbee mesh stability is that power reporting is that reporting options (Min, Max, and Delta) are pre-set by ZHA and cannot be changed by the user. By default Zigbee energy reporting plugs (“SmartPlugs”) report every 5 seconds, as long as the value has changed by 1. That results in most plugs reporting changes in power every 5 seconds if the load varies by so much as a watt. For some device, like lights (I.e. Christmas lights), it’s simply unnecessary to track 1 watt variations in consumption.

As more SmartPlug devices are added the load on the mesh grows exponentially.

My suggestion is to make attribute reporting options configurable for all devices, although at a minimum for energy reporting devices since they can wreak havoc on the stability of the mesh.

Note: It is technically possible to use a 3rd party tool like zha_toolkit to override the reporting set by ZHA but that can be (and has been) reverted by ZHA if the device gets reconfigured (or reconnected).

Disclaimer: I also admit this issue likely only affects those with large Zigbee deployments (> 200 devices) with a large amount of energy reporting devices.