I"m assuming this was to send the Configure Reporting frame from section 2.5.7 of the Zigbee cluster spec with the parameters set as follows:
0x${device.deviceNetworkId} 0x${device.endpointId} are obvious, just the device and endpoint
0x0006 - looks like the cluster
0 following the cluster: I can't figure out what this is for. Maybe its the direction field?
0x10: I think this is the attribute.
0: unsure. Perhaps its the Minimum Reporting Interval
0xFFFF -> If the prior item was the minimum reporting, then this seems to be the maximum reporting interval.
Then for the brackets {} - maybe this is where you put the "Reportable Change" and "Timeout period" if those are being set.
Thank you. That's a lot clearer. Greatly appreciated.
As an FYI - what I was experimenting with was whether you can get automatic reports after issuing a command.
For example, if I change the level of the bulb, what is done in sample code that I've looked at is that you then do a read attributes to confirm the new value. I was trying to see if devices can be configured to report the change by themselves so you don't have to issue a query after a setting. Maybe you already know?
yeah, this is exactly what configureReporting is all about.
you shouldn't have to query a device for an attribute after a command is sent to it.
The issue with reporting on the level cluster being it can spam the hub with level values depending on how its configured.
To get around this you can disable reporting, then query for the value after some fixed period of time (usually based on the transition time that's been configured), this is how most dimmer drivers are setup.
For bulbs you can disable reporting as well, then store the level command value in state then commit that as an event when the bulb returns the result of the command response, this is how the advanced bulb drivers do it.