# Name of the plugin.
name=Reporting
category=Common Clusters

# Any string is allowable here.  Generally it is either: Production Ready, Test Tool, or Requires Extending
qualityString=Production Ready
# This is must be one of the following:  productionReady, testTool, extensionNeeded
quality=production

introducedIn=zcl-1.0-07-5123-03

# Description of the plugin.
description=Ember implementation of reporting. Reports are asynchronous messages sent out when an ZCL attribute has changed. This plugin supports both requesting reports from another device and sending out attribute reports when the device has been configured to do so. If the application will receive reports from multiple sources, Ember recommends configuring it as a concentrator. Note: This plugin only supports the binding-based interpretation of reporting in which reports are sent to corresponding entries in the binding table. Either the node sending the reports, the node receiving the reports, or another third-party configuration device may create the binding table entry(s) on the reporting node. For more details, please refer to Ember Application Framework Developer Guide.

# List of .c files that need to be compiled and linked in.
sourceFiles=reporting.c,reporting-cli.c,reporting-default-configuration.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfPluginReportingInitCallback,emberAfConfigureReportingCommandCallback,emberAfReadReportingConfigurationCommandCallback,emberAfClearReportTableCallback,emberAfReportingAttributeChangeCallback,emberAfPluginReportingStackStatusCallback

# Turn this on by default
includedByDefault=false

# Provided API
providedApis=reporting

# Required API
requiredApis=binding

# List of options
options=tableSize,enableGroupBoundReports

tableSize.name=Reporting table size
tableSize.description=Maximum number of entries in the reporting table.
tableSize.type=NUMBER:1,255
tableSize.default=5

enableGroupBoundReports.name=Allow reports to send via group bindings (zigbee 3.0 mandatory behavior)
enableGroupBoundReports.description=This feature is enabled by default to satisfy zigbee 3.0 compliance. Network commissioners should handle reports over group bindings with caution as the frequency and number of reports over multicasts can stagnate the network. Multicasts are treated as broadcasts, which consume network bandwidth.
enableGroupBoundReports.type=BOOLEAN
enableGroupBoundReports.default=TRUE

# List of events used by this plugin
events=tick

setup(token) {
  files=reporting-tokens.h
}