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

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

introducedIn=se-1.1-07-5356-16

# Description of the plugin.
description=This plugin provides an implementation of a Smart Energy price server.  The price server holds a table of prices locally and will answer requests to retrieve the list of commodity prices.  It requires extension to add / remove prices from the table, and to send out new prices to those devices that have subscribed to the ESI for price updates.

# List of .c files that need to be compiled and linked in.
sourceFiles=price-server.c,price-server-cli.c, price-server-tariff-matrix.c, price-server-tariff-matrix-cli.c, price-server-tick.c

# List of callbacks implemented by this plugin
implementedCallbacks=emberAfPriceClusterServerInitCallback,emberAfPriceClusterServerTickCallback,emberAfPriceClusterGetCurrentPriceCallback,emberAfPriceClusterGetScheduledPricesCallback,emberAfPriceClusterGetTariffInformationCallback,emberAfPriceClusterGetPriceMatrixCallback,emberAfPriceClusterGetBlockThresholdsCallback,emberAfPriceClusterGetConversionFactorCallback,emberAfPriceClusterGetCalorificValueCallback,emberAfPriceClusterGetTierLabelsCallback,emberAfPriceClusterGetCO2ValueCallback,emberAfPriceClusterGetBillingPeriodCallback,emberAfPriceClusterCppEventResponseCallback,emberAfPriceClusterGetConsolidatedBillCallback,emberAfPriceClusterGetCreditPaymentCallback,emberAfPriceClusterGetCurrencyConversionCommandCallback,emberAfPriceClusterGetTariffCancellationCallback,emberAfPriceClusterGetBlockPeriodsCallback,emberAfPriceClusterPriceAcknowledgementCallback

requiredPlugins=price-common

# Turn this on by default
includedByDefault=true

dependsOnClusterServer=price

options=priceTableSize, tariffMatrixSupport, tariffTableSize, conversionFactorTableSize, calorificValueTableSize, co2ValueTableSize, tierLabelsTableSize, billingPeriodTableSize, consolidatedBillTableSize, creditPaymentTableSize, maxTiersPerTariff, blockPeriodTableSize

priceTableSize.name=Price table size
priceTableSize.description=Maximum amount of saved prices
priceTableSize.type=NUMBER:5,255
priceTableSize.default=5

blockPeriodTableSize.name=Block period table size
blockPeriodTableSize.description=The number of block period table entries
blockPeriodTableSize.type=NUMBER:1,255
blockPeriodTableSize.default=2

tariffMatrixSupport.name=Price Tariff and Price Matrix Support (Smart Energy 1.2)
tariffMatrixSupport.description=This option enables Price Tariff and Matrix support for Smart Energy 1.2 functionality in the Price Cluster.
tariffMatrixSupport.type=BOOLEAN
tariffMatrixSupport.default=FALSE

tariffTableSize.name=Tariff table size
tariffTableSize.description=Maximum number of stored tariffs
tariffTableSize.type=NUMBER:2,255
tariffTableSize.default=2

conversionFactorTableSize.name=Conversion Factor table size
conversionFactorTableSize.description=Maximum number of stored conversion factors
conversionFactorTableSize.type=NUMBER:2,255
conversionFactorTableSize.default=2

calorificValueTableSize.name=Calorific Value table size
calorificValueTableSize.description=Maximum number of stored calorific values
calorificValueTableSize.type=NUMBER:2,255
calorificValueTableSize.default=2

co2ValueTableSize.name=CO2 Value table size
co2ValueTableSize.description=Maximum number of Co2  values
co2ValueTableSize.type=NUMBER:2,255
co2ValueTableSize.default=2

tierLabelsTableSize.name=Tier Label table size
tierLabelsTableSize.description=Maximum number of tier labels
tierLabelsTableSize.type=NUMBER:2,255
tierLabelsTableSize.default=2

maxTiersPerTariff.name=Max tiers per tariff
maxTiersPerTariff.description=Maximum number of tiers and tier labels for a given tariff ID
maxTiersPerTariff.type=NUMBER:1,255
maxTiersPerTariff.default=2

billingPeriodTableSize.name=Billing Period table size
billingPeriodTableSize.description=Maximum number of billing period entries
billingPeriodTableSize.type=NUMBER:2,255
billingPeriodTableSize.default=2

consolidatedBillTableSize.name=Consolidated Bill table size
consolidatedBillTableSize.description=Maximum number of consolidated bills
consolidatedBillTableSize.type=NUMBER:5,255
consolidatedBillTableSize.default=5

creditPaymentTableSize.name=Credit Payment table size
creditPaymentTableSize.description=Maximum number of stored credit payments
creditPaymentTableSize.type=NUMBER:5,255
creditPaymentTableSize.default=5
