# Name of the plugin.
name=Simple Metering Server
category=Smart Energy

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

introducedIn=se-1.1-07-5356-16

# Description of the plugin.
description=This is a test implementation of the simple metering server. This plugin should only be used for testing but is helpful to test devices that require interoperation with a working meter. It supports the required current summation delivered attribute (0x0000), but optionally the following attributes as well, if they are selected in the attributes supported selection box on the ZCL cluster configuration tab: current tier 1 summation delivered (0x0100), battery life remaining (0x0201), hours in operation (0x0202), and instantaneous demand (0x0400).

# List of .c files that need to be compiled and linked in.
sourceFiles=simple-metering-server.c,simple-metering-test.c,simple-metering-server-cli.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfSimpleMeteringClusterServerInitCallback,emberAfSimpleMeteringClusterServerTickCallback,emberAfSimpleMeteringClusterGetProfileCallback,emberAfSimpleMeteringClusterRequestFastPollModeCallback,emberAfSimpleMeteringClusterServerDefaultResponseCallback,emberAfSimpleMeteringClusterGetSampledDataCallback,emberAfSimpleMeteringClusterStartSamplingCallback,emberAfSimpleMeteringClusterResetLoadLimitCounterCallback,emberAfSimpleMeteringClusterChangeSupplyCallback,emberAfSimpleMeteringClusterLocalChangeSupplyCallback,emberAfSimpleMeteringClusterSetSupplyStatusCallback,emberAfSimpleMeteringClusterSetUncontrolledFlowThresholdCallback,emberAfSimpleMeteringClusterMirrorReportAttributeResponseCallback

# Turn this on by default
includedByDefault=true

# Which clusters does it depend on
dependsOnClusterServer=simple metering

# Options
options=testMeterEnable,testMeterType,testMeterBatteryRate,testMeterErrors,testMeterProfiles,maxSamplingSessions,maxSamplesPerSession

testMeterEnable.name=Enable test meter
testMeterEnable.description=Enable the code that pretends it is a meter
testMeterEnable.type=BOOLEAN
testMeterEnable.default=FALSE

testMeterType.name=Test Meter Type
testMeterType.description=What kind of meter is going to be simulated
testMeterType.type=LIST:Electric meter,Gas meter
testMeterType.default=Electric meter
testMeterType.dependsOn=testMeterEnable

testMeterBatteryRate.name=Battery Consumption Rate (in minutes)
testMeterBatteryRate.description=Battery Life Remaining begins at 255. This will be decremented by one battery percentage point every X minutes.
testMeterBatteryRate.type=NUMBER
testMeterBatteryRate.default=5
testMeterBatteryRate.dependsOn=testMeterEnable

testMeterErrors.name=Supports errors
testMeterErrors.description=Support occasional inserter error for testing
testMeterErrors.type=BOOLEAN
testMeterErrors.default=FALSE
testMeterErrors.dependsOn=testMeterEnable

testMeterProfiles.name=Number of profiles
testMeterProfiles.description=How many profiles do you wish to support in a test meter
testMeterProfiles.type=NUMBER
testMeterProfiles.default=5
testMeterProfiles.dependsOn=testMeterEnable

maxSamplingSessions.name=Max Sampling sessions.
maxSamplingSessions.description=Maximum number of sampling sessions.
maxSamplingSessions.type=NUMBER:0,10
maxSamplingSessions.default=5

maxSamplesPerSession.name=Max Samples per session
maxSamplesPerSession.description=Maximum number of samples per session.
maxSamplesPerSession.type=NUMBER:1,65535
maxSamplesPerSession.default=5

#Events
events=sampling,supply

