diff options
Diffstat (limited to 'Middlewares/ST/STM32_WPAN/zigbee/stack/include/zcl/se/zcl.meter.attr.gbcs.h')
-rw-r--r-- | Middlewares/ST/STM32_WPAN/zigbee/stack/include/zcl/se/zcl.meter.attr.gbcs.h | 577 |
1 files changed, 577 insertions, 0 deletions
diff --git a/Middlewares/ST/STM32_WPAN/zigbee/stack/include/zcl/se/zcl.meter.attr.gbcs.h b/Middlewares/ST/STM32_WPAN/zigbee/stack/include/zcl/se/zcl.meter.attr.gbcs.h new file mode 100644 index 000000000..ca0a982e3 --- /dev/null +++ b/Middlewares/ST/STM32_WPAN/zigbee/stack/include/zcl/se/zcl.meter.attr.gbcs.h @@ -0,0 +1,577 @@ +/* Copyright [2009 - 2019] Exegin Technologies Limited. All rights reserved. */ + +#include "zcl/se/zcl.meter.h" + +#ifdef ZCL_METER_ATTR_GBCS_CALLBACK +/* Optional attribute flags. If providing an attribute callback (), then need to specify the appropriate flag(s): + * ZCL_ATTR_FLAG_CB_READ + * ZCL_ATTR_FLAG_CB_WRITE + * ZCL_ATTR_FLAG_CB_NOTIFY + */ +# ifndef ZCL_METER_ATTR_GBCS_FLAGS +# error "Must define ZCL_METER_ATTR_GBCS_FLAGS if defining ZCL_METER_ATTR_GBCS_CALLBACK" +# endif +#else +# define ZCL_METER_ATTR_GBCS_CALLBACK NULL +# define ZCL_METER_ATTR_GBCS_FLAGS ZCL_ATTR_FLAG_NONE +#endif + +/* Uncrustify is adding too many new-lines. For some reason, it doesn't + * do this in a .c file. */ +/* *INDENT-OFF* */ + +/* Use this as-is to append the GBCS Metering Attributes to the + * Metering Server. Or use this as a template to create the + * attribute's as your application requires. */ + +const struct ZbZclAttrT zcl_meter_server_gbcs_attr_list[] = { + /* CurrentNoTierBlock1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(0, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(0, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(0, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(0, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier1Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(1, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(1, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(1, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(1, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier2Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(2, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(2, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(2, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(2, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier3Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(3, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(3, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(3, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(3, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier4Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(4, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(4, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(4, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(4, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier5Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(5, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(5, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(5, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(5, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier6Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(6, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(6, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(6, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(6, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier7Block1-4SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(7, 1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(7, 2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(7, 3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_BLOCKN_DELIV(7, 4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* Misc */ + { + ZCL_METER_SVR_ATTR_MULTIPLIER, ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_DIVISOR, ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_DEVICE_TYPE, ZCL_DATATYPE_ENUMERATION_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_SITE_ID, ZCL_DATATYPE_STRING_OCTET, ZCL_METER_ATTR_GBCS_FLAGS, 32, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_SUMMATION_FORMAT, ZCL_DATATYPE_BITMAP_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + /* DemandFormatting is not listed, but providing since + * InstantaneousDemand is included. */ + { + ZCL_METER_SVR_ATTR_DEMAND_FORMAT, ZCL_DATATYPE_BITMAP_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + /* HistoricalConsumptionFormatting is not listed, but providing since + * various consumption attributes are included. */ + { + ZCL_METER_SVR_ATTR_HISTORICAL_CONSUMPTION_FORMAT, ZCL_DATATYPE_BITMAP_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_UNIT_OF_MEASURE, ZCL_DATATYPE_ENUMERATION_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_CUSTOMER_ID_NUMBER, ZCL_DATATYPE_STRING_OCTET, ZCL_METER_ATTR_GBCS_FLAGS, 24, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_INSTANTANEOUS_DEMAND, ZCL_DATATYPE_SIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_BILL_DELIV_TRAILING_DIGIT, ZCL_DATATYPE_BITMAP_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_BTD_DELIV, ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_AMBIENT_CONSUMPTION_INDICATOR, ZCL_DATATYPE_ENUMERATION_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_METER_STATUS, ZCL_DATATYPE_BITMAP_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_CURSUM_DELIV, ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_CURSUM_RECV, ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_SUPPLY_STATUS, ZCL_DATATYPE_ENUMERATION_8BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentDayConsumption */ + { + ZCL_METER_SVR_ATTR_CURDAY_DM_DELIV, ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + /* PreviousDayConsumption */ + { + ZCL_METER_SVR_ATTR_PRVDAY_DM_DELIV, ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + /* PreviousDay[2..8]Consumption */ + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(2), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(3), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(4), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(5), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(6), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(7), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_PRVDAY_N_DELIV_CONSUMP(8), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentMonthConsumptionDelivered and + * PreviousMonthConsumption and + * PreviousMonth[2..13]Consumption*/ + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(0), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(1), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(2), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(3), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(4), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(5), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(6), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(7), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(8), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(9), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(10), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(11), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(12), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_MONTH_N_CONSUMP_DELIV(13), ZCL_DATATYPE_UNSIGNED_32BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentWeekConsumptionDelivered and + * PreviousWeekConsumption and + * PreviousWeek[2..5]Consumption */ + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(0), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(1), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(2), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(3), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(4), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_WEEK_N_CONSUMP_DELIV(5), ZCL_DATATYPE_UNSIGNED_24BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier1-9SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(1), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(2), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(3), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(4), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(5), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(6), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(7), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(8), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(9), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier10-19SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(10), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(11), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(12), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(13), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(14), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(15), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(16), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(17), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(18), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(19), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier20-29SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(20), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(21), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(22), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(23), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(24), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(25), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(26), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(27), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(28), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(29), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier30-39SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(30), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(31), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(32), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(33), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(34), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(35), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(36), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(37), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(38), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(39), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + + /* CurrentTier40-48SummationDelivered */ + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(40), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(41), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(42), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(43), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(44), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(45), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(46), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(47), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, + { + ZCL_METER_SVR_ATTR_TIERN_DELIV(48), ZCL_DATATYPE_UNSIGNED_48BIT, ZCL_METER_ATTR_GBCS_FLAGS, 0, + ZCL_METER_ATTR_GBCS_CALLBACK, {0, 0}, {0, 0} + }, +}; + +const unsigned int ZCL_METER_SVR_GBCS_ATTR_LIST_LEN = ZCL_ATTR_LIST_LEN(zcl_meter_server_gbcs_attr_list); |