aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-zbee-zcl-se.c
diff options
context:
space:
mode:
authorKenneth Soerensen <knnthsrnsn@gmail.com>2017-03-26 11:56:36 +0200
committerMichael Mann <mmann78@netscape.net>2017-04-18 23:11:36 +0000
commit111973c294a575ca201f955c5775dd0be1023467 (patch)
tree05388bb15e2b93554f0451d6849e20c092ca54bc /epan/dissectors/packet-zbee-zcl-se.c
parent243da1fb3c856e4d3973ecec200a85b9e502ea1c (diff)
ZigBee: Use value_string_ext and VALUE_STRING macros
Change-Id: I04d8e1f89e0d6cf34f94ba1b6e0249297834c078 Reviewed-on: https://code.wireshark.org/review/21141 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-zbee-zcl-se.c')
-rw-r--r--epan/dissectors/packet-zbee-zcl-se.c1007
1 files changed, 390 insertions, 617 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-se.c b/epan/dissectors/packet-zbee-zcl-se.c
index 8d617ac775..bdf0653db6 100644
--- a/epan/dissectors/packet-zbee-zcl-se.c
+++ b/epan/dissectors/packet-zbee-zcl-se.c
@@ -41,7 +41,6 @@
/* #### common to all SE clusters ########################################### */
/* ########################################################################## */
-#define ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS 0xFFFE
#define ZBEE_ZCL_SE_ATTR_REPORT_PENDING 0x00
#define ZBEE_ZCL_SE_ATTR_REPORT_COMPLETE 0x01
@@ -51,9 +50,6 @@ static const value_string zbee_zcl_se_reporting_status_names[] = {
{ 0, NULL }
};
-#define ZBEE_ZCL_SE_ATTR_NAMES \
- { ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS, "Attribute Reporting Status" }
-
/*************************/
/* Global Variables */
/*************************/
@@ -63,315 +59,179 @@ static const value_string zbee_zcl_se_reporting_status_names[] = {
/* ########################################################################## */
/* Attributes */
-/* Client: Notification AttributeSet / Server: Reading Information Set */
-#define ZBEE_ZCL_ATTR_ID_MET_FUNC_NOTI_FLAGS_CUR_SUM_DEL 0x0000
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS2_CUR_SUM_RECV 0x0001
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS3_CUR_MAX_DE_DEL 0x0002
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS4_CUR_MAX_DE_RECV 0x0003
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS5_DFT_SUM 0x0004
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS6_DAI_FREE_TIME 0x0005
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS7_POW_FAC 0x0006
-#define ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS8_READ_SNAP_TIME 0x0007
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_DEL_TIME 0x0008
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_RECV_TIME 0x0009
-#define ZBEE_ZCL_ATTR_ID_MET_DEFAULT_UPDATE_PERIOD 0x000A
-#define ZBEE_ZCL_ATTR_ID_MET_FAST_POLL_UPDATE_PERIOD 0x000B
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_BLOCK_PER_CON_DEL 0x000C
-#define ZBEE_ZCL_ATTR_ID_MET_DAILY_CON_TARGET 0x000D
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK 0x000E
-#define ZBEE_ZCL_ATTR_ID_MET_PROFILE_INTERVAL_PERIOD 0x000F
-/* #define ZBEE_ZCL_ATTR_ID_MET_DEPRECATED 0x0010 */
-#define ZBEE_ZCL_ATTR_ID_MET_PRESET_READING_TIME 0x0011
-#define ZBEE_ZCL_ATTR_ID_MET_VOLUME_PER_REPORT 0x0012
-#define ZBEE_ZCL_ATTR_ID_MET_FLOW_RESTRICTION 0x0013
-#define ZBEE_ZCL_ATTR_ID_MET_SUPPLY_STATUS 0x0014
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_SUM 0x0015
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_SUM 0x0016
-#define ZBEE_ZCL_ATTR_ID_MET_INLET_TEMPERATURE 0x0017
-#define ZBEE_ZCL_ATTR_ID_MET_OUTLET_TEMPERATURE 0x0018
-#define ZBEE_ZCL_ATTR_ID_MET_CONTROL_TEMPERATURE 0x0019
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_DEM 0x001A
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_DEM 0x001B
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCK_CON_DEL 0x001C
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCL_CON_RECV 0x001D
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK_RECEIVED 0x001E
-#define ZBEE_ZCL_ATTR_ID_MET_DFT_SUMMATION_RECEIVED 0x001F
-#define ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_DEL 0x0020
-#define ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_RECV 0x0021
-#define ZBEE_ZCL_ATTR_ID_MET_LAST_BLOCK_SWITCH_TIME 0x0022
-/* Summation TOU Information Set */
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_1_SUM_DEL 0x0100
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_2_SUM_DEL 0x0102
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_3_SUM_DEL 0x0104
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_4_SUM_DEL 0x0106
-/* Meter Status Attribute Set */
-#define ZBEE_ZCL_ATTR_ID_MET_STATUS 0x0200
-#define ZBEE_ZCL_ATTR_ID_MET_REMAIN_BAT_LIFE_DAYS 0x0205
-#define ZBEE_ZCL_ATTR_ID_MET_CURRENT_METER_ID 0x0206
-#define ZBEE_ZCL_ATTR_ID_MET_AMBIENT_CON_IND 0x0207
-/* Formatting */
-#define ZBEE_ZCL_ATTR_ID_MET_UNIT_OF_MEASURE 0x0300
-#define ZBEE_ZCL_ATTR_ID_MET_MULTIPLIER 0x0301
-#define ZBEE_ZCL_ATTR_ID_MET_DIVISOR 0x0302
-#define ZBEE_ZCL_ATTR_ID_MET_SUMMATION_FORMATTING 0x0303
-#define ZBEE_ZCL_ATTR_ID_MET_METERING_DEVICE_TYPE 0x0306
-#define ZBEE_ZCL_ATTR_ID_MET_SITE_ID 0x0307
-#define ZBEE_ZCL_ATTR_ID_MET_CUSTOMER_ID_NUMBER 0x0311
-#define ZBEE_ZCL_ATTR_ID_MET_ALT_UNIT_OF_MEASURE 0x0312
-#define ZBEE_ZCL_ATTR_ID_MET_ALT_CON_FORMATTING 0x0314
-/* Historical Consumption Attribute */
-#define ZBEE_ZCL_ATTR_ID_MET_INSTANT_DEMAND 0x0400
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_CON_DEL 0x0401
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_CON_DEL 0x0403
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_2_DAY_CON_DEL 0x0420
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_3_DAY_CON_DEL 0x0422
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_4_DAY_CON_DEL 0x0424
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_5_DAY_CON_DEL 0x0426
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_6_DAY_CON_DEL 0x0428
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_7_DAY_CON_DEL 0x042A
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_8_DAY_CON_DEL 0x042C
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_CON_DEL 0x0430
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_CON_DEL 0x0432
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_CON_DEL 0x0434
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_CON_DEL 0x0436
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_CON_DEL 0x0438
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_CON_DEL 0x043A
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_CON_DEL 0x0440
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_CON_DEL 0x0442
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_CON_DEL 0x0444
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_CON_DEL 0x0446
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_CON_DEL 0x0448
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_CON_DEL 0x044A
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_CON_DEL 0x044C
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_CON_DEL 0x044E
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_CON_DEL 0x0450
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_CON_DEL 0x0452
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_CON_DEL 0x0454
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_CON_DEL 0x0456
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_CON_DEL 0x0458
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_CON_DEL 0x045A
-/* Supply Limit Attributes */
-#define ZBEE_ZCL_ATTR_ID_MET_SUPPLY_TAMPER_STATE 0x0607
-#define ZBEE_ZCL_ATTR_ID_MET_SUPPLY_DEPLETION_STATE 0x0608
-/* Block Information Attribute Set (Delivered) */
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_1_SUM_DEL 0x0700
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_2_SUM_DEL 0x0701
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_3_SUM_DEL 0x0702
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_4_SUM_DEL 0x0703
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_1_SUM_DEL 0x0710
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_2_SUM_DEL 0x0711
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_3_SUM_DEL 0x0712
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_4_SUM_DEL 0x0713
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_1_SUM_DEL 0x0720
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_2_SUM_DEL 0x0721
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_3_SUM_DEL 0x0722
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_4_SUM_DEL 0x0723
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_1_SUM_DEL 0x0730
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_2_SUM_DEL 0x0731
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_3_SUM_DEL 0x0732
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_4_SUM_DEL 0x0733
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_1_SUM_DEL 0x0740
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_2_SUM_DEL 0x0741
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_3_SUM_DEL 0x0742
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_4_SUM_DEL 0x0743
-/* Meter Billing Attribute Set */
-#define ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_DELIVERED 0x0A00
-#define ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_TIMESTAMP_DEL 0x0A01
-#define ZBEE_ZCL_ATTR_ID_MET_BILL_DELIVERED_TRAILING_DIGIT 0x0A04
-/* Alternative Historical Consumption Attribute Set */
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_ALT_CON_DEL 0x0C01
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_ALT_CON_DEL 0x0C03
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_2_ALT_CON_DEL 0x0C20
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_3_ALT_CON_DEL 0x0C22
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_4_ALT_CON_DEL 0x0C24
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_5_ALT_CON_DEL 0x0C26
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_6_ALT_CON_DEL 0x0C28
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_7_ALT_CON_DEL 0x0C2A
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_8_ALT_CON_DEL 0x0C2C
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_ALT_CON_DEL 0x0C30
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_ALT_CON_DEL 0x0C32
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_ALT_CON_DEL 0x0C34
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_ALT_CON_DEL 0x0C36
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_ALT_CON_DEL 0x0C38
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_ALT_CON_DEL 0x0C3A
-#define ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_ALT_CON_DEL 0x0C40
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_ALT_CON_DEL 0x0C42
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_ALT_CON_DEL 0x0C44
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_ALT_CON_DEL 0x0C46
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_ALT_CON_DEL 0x0C48
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_ALT_CON_DEL 0x0C4A
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_ALT_CON_DEL 0x0C4C
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_ALT_CON_DEL 0x0C4E
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_ALT_CON_DEL 0x0C50
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_ALT_CON_DEL 0x0C52
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_ALT_CON_DEL 0x0C54
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_ALT_CON_DEL 0x0C56
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_ALT_CON_DEL 0x0C58
-#define ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_ALT_CON_DEL 0x0C5A
-
-static const value_string zbee_zcl_met_attr_names[] = {
- /* Client: Notification AttributeSet / Server: Reading Information Set */
- { ZBEE_ZCL_ATTR_ID_MET_FUNC_NOTI_FLAGS_CUR_SUM_DEL, "Client: Functional Notification Flags / Server: Current Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS2_CUR_SUM_RECV, "Client: Notification Flag 2 / Server: Current Summation Received" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS3_CUR_MAX_DE_DEL, "Client: Notification Flag 3 / Server: Current Max Demand Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS4_CUR_MAX_DE_RECV, "Client: Notification Flag 4 / Server: Current Max Demand Received" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS5_DFT_SUM, "Client: Notification Flag 5 / Server: DFTSummation" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS6_DAI_FREE_TIME, "Client: Notification Flag 6 / Server: Daily Freeze Time" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS7_POW_FAC, "Client: Notification Flag 7 / Server: Power Factor" },
- { ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS8_READ_SNAP_TIME, "Client: Notification Flag 8 / Server: Reading Snapshot Time" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_DEL_TIME, "Current Max Demand Delivered Time" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_RECV_TIME, "Current Max Demand Received Time" },
- { ZBEE_ZCL_ATTR_ID_MET_DEFAULT_UPDATE_PERIOD, "Default Update Period" },
- { ZBEE_ZCL_ATTR_ID_MET_FAST_POLL_UPDATE_PERIOD, "Fast Poll Update Period" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_BLOCK_PER_CON_DEL, "Current Block Period Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_DAILY_CON_TARGET, "Daily Consumption Target" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK, "Current Block" },
- { ZBEE_ZCL_ATTR_ID_MET_PROFILE_INTERVAL_PERIOD, "Profile Interval Period" },
-/* { ZBEE_ZCL_ATTR_ID_MET_DEPRECATED, "Deprecated" }, */
- { ZBEE_ZCL_ATTR_ID_MET_PRESET_READING_TIME, "Preset Reading Time" },
- { ZBEE_ZCL_ATTR_ID_MET_VOLUME_PER_REPORT, "Volume Per Report" },
- { ZBEE_ZCL_ATTR_ID_MET_FLOW_RESTRICTION, "Flow Restriction" },
- { ZBEE_ZCL_ATTR_ID_MET_SUPPLY_STATUS, "Supply Status" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_SUM, "Current Inlet Energy Carrier Summation" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_SUM, "Current Outlet Energy Carrier Summation" },
- { ZBEE_ZCL_ATTR_ID_MET_INLET_TEMPERATURE, "Inlet Temperature" },
- { ZBEE_ZCL_ATTR_ID_MET_OUTLET_TEMPERATURE, "Outlet Temperature" },
- { ZBEE_ZCL_ATTR_ID_MET_CONTROL_TEMPERATURE, "Control Temperature" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_DEM, "Current Inlet Energy Carrier Demand" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_DEM, "Current Outlet Energy Carrier Demand" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCK_CON_DEL, "Previous Block Period Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCL_CON_RECV, "Current Block Period Consumption Received" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK_RECEIVED, "Current Block Received" },
- { ZBEE_ZCL_ATTR_ID_MET_DFT_SUMMATION_RECEIVED, "DFT Summation Received" },
- { ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_DEL, "Active Register Tier Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_RECV, "Active Register Tier Received" },
- { ZBEE_ZCL_ATTR_ID_MET_LAST_BLOCK_SWITCH_TIME, "Last Block Switch Time" },
- /* Summation TOU Information Set */
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_1_SUM_DEL, "Current Tier 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_2_SUM_DEL, "Current Tier 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_3_SUM_DEL, "Current Tier 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_4_SUM_DEL, "Current Tier 4 Summation Delivered" },
- /* Meter Status Attribute Set */
- { ZBEE_ZCL_ATTR_ID_MET_STATUS, "Status" },
- { ZBEE_ZCL_ATTR_ID_MET_REMAIN_BAT_LIFE_DAYS, "Remaining Battery Life in Days" },
- { ZBEE_ZCL_ATTR_ID_MET_CURRENT_METER_ID, "Current Meter ID" },
- { ZBEE_ZCL_ATTR_ID_MET_AMBIENT_CON_IND, "Ambient Consumption Indicator" },
- /* Formatting */
- { ZBEE_ZCL_ATTR_ID_MET_UNIT_OF_MEASURE, "Unit of Measure" },
- { ZBEE_ZCL_ATTR_ID_MET_MULTIPLIER, "Multiplier" },
- { ZBEE_ZCL_ATTR_ID_MET_DIVISOR, "Divisor" },
- { ZBEE_ZCL_ATTR_ID_MET_SUMMATION_FORMATTING, "Summation Formatting" },
- { ZBEE_ZCL_ATTR_ID_MET_METERING_DEVICE_TYPE, "Metering Device Type" },
- { ZBEE_ZCL_ATTR_ID_MET_SITE_ID, "Site ID" },
- { ZBEE_ZCL_ATTR_ID_MET_CUSTOMER_ID_NUMBER, "Customer ID Number" },
- { ZBEE_ZCL_ATTR_ID_MET_ALT_UNIT_OF_MEASURE, "Alternative Unit of Measure" },
- { ZBEE_ZCL_ATTR_ID_MET_ALT_CON_FORMATTING, "Alternative Consumption Formatting" },
- /* Historical Consumption Attribute */
- { ZBEE_ZCL_ATTR_ID_MET_INSTANT_DEMAND, "Instantaneous Demand" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_CON_DEL, "Current Day Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_CON_DEL, "Previous Day Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_2_DAY_CON_DEL, "Previous Day 2 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_3_DAY_CON_DEL, "Previous Day 3 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_4_DAY_CON_DEL, "Previous Day 4 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_5_DAY_CON_DEL, "Previous Day 5 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_6_DAY_CON_DEL, "Previous Day 6 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_7_DAY_CON_DEL, "Previous Day 7 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_8_DAY_CON_DEL, "Previous Day 8 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_CON_DEL, "Current Week Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_CON_DEL, "Previous Week Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_CON_DEL, "Previous Week 2 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_CON_DEL, "Previous Week 3 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_CON_DEL, "Previous Week 4 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_CON_DEL, "Previous Week 5 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_CON_DEL, "Current Month Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_CON_DEL, "Previous Month Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_CON_DEL, "Previous Month 2 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_CON_DEL, "Previous Month 3 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_CON_DEL, "Previous Month 4 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_CON_DEL, "Previous Month 5 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_CON_DEL, "Previous Month 6 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_CON_DEL, "Previous Month 7 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_CON_DEL, "Previous Month 8 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_CON_DEL, "Previous Month 9 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_CON_DEL, "Previous Month 10 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_CON_DEL, "Previous Month 11 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_CON_DEL, "Previous Month 12 Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_CON_DEL, "Previous Month 13 Consumption Delivered" },
- /* Supply Limit Attributes */
- { ZBEE_ZCL_ATTR_ID_MET_SUPPLY_TAMPER_STATE, "Supply Tamper State" },
- { ZBEE_ZCL_ATTR_ID_MET_SUPPLY_DEPLETION_STATE, "Supply Depletion State" },
- /* Block Information Attribute Set (Delivered) */
- { ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_1_SUM_DEL, "Current No Tier Block 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_2_SUM_DEL, "Current No Tier Block 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_3_SUM_DEL, "Current No Tier Block 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_4_SUM_DEL, "Current No Tier Block 4 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_1_SUM_DEL, "Current Tier 1 Block 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_2_SUM_DEL, "Current Tier 1 Block 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_3_SUM_DEL, "Current Tier 1 Block 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_4_SUM_DEL, "Current Tier 1 Block 4 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_1_SUM_DEL, "Current Tier 2 Block 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_2_SUM_DEL, "Current Tier 2 Block 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_3_SUM_DEL, "Current Tier 2 Block 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_4_SUM_DEL, "Current Tier 2 Block 4 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_1_SUM_DEL, "Current Tier 3 Block 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_2_SUM_DEL, "Current Tier 3 Block 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_3_SUM_DEL, "Current Tier 3 Block 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_4_SUM_DEL, "Current Tier 3 Block 4 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_1_SUM_DEL, "Current Tier 4 Block 1 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_2_SUM_DEL, "Current Tier 4 Block 2 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_3_SUM_DEL, "Current Tier 4 Block 3 Summation Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_4_SUM_DEL, "Current Tier 4 Block 4 Summation Delivered" },
- /* Meter Billing Attribute Set */
- { ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_DELIVERED, "Bill To Date Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_TIMESTAMP_DEL, "BillToDateTimeStampDelivered" },
- { ZBEE_ZCL_ATTR_ID_MET_BILL_DELIVERED_TRAILING_DIGIT, "Bill Delivered Trailing Digit" },
- /* Alternative Historical Consumption Attribute Set */
- { ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_ALT_CON_DEL, "Current Day Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_ALT_CON_DEL, "Previous Day Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_2_ALT_CON_DEL, "Previous Day 2 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_3_ALT_CON_DEL, "Previous Day 3 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_4_ALT_CON_DEL, "Previous Day 4 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_5_ALT_CON_DEL, "Previous Day 5 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_6_ALT_CON_DEL, "Previous Day 6 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_7_ALT_CON_DEL, "Previous Day 7 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_8_ALT_CON_DEL, "Previous Day 8 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_ALT_CON_DEL, "Current Week Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_ALT_CON_DEL, "Previous Week Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_ALT_CON_DEL, "Previous Week 2 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_ALT_CON_DEL, "Previous Week 3 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_ALT_CON_DEL, "Previous Week 4 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_ALT_CON_DEL, "Previous Week 5 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_ALT_CON_DEL, "Current Month Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_ALT_CON_DEL, "Previous Month Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_ALT_CON_DEL, "Previous Month 2 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_ALT_CON_DEL, "Previous Month 3 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_ALT_CON_DEL, "Previous Month 4 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_ALT_CON_DEL, "Previous Month 5 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_ALT_CON_DEL, "Previous Month 6 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_ALT_CON_DEL, "Previous Month 7 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_ALT_CON_DEL, "Previous Month 8 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_ALT_CON_DEL, "Previous Month 9 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_ALT_CON_DEL, "Previous Month 10 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_ALT_CON_DEL, "Previous Month 11 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_ALT_CON_DEL, "Previous Month 12 Alternative Consumption Delivered" },
- { ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_ALT_CON_DEL, "Previous Month 13 Alternative Consumption Delivered" },
- /* Smart Energy */
- ZBEE_ZCL_SE_ATTR_NAMES,
- { 0, NULL }
-};
+#define zbee_zcl_met_attr_names_VALUE_STRING_LIST(XXX) \
+/* Client: Notification AttributeSet / Server: Reading Information Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_FUNC_NOTI_FLAGS_CUR_SUM_DEL, 0x0000, "Client: Functional Notification Flags / Server: Current Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS2_CUR_SUM_RECV, 0x0001, "Client: Notification Flag 2 / Server: Current Summation Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS3_CUR_MAX_DE_DEL, 0x0002, "Client: Notification Flag 3 / Server: Current Max Demand Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS4_CUR_MAX_DE_RECV, 0x0003, "Client: Notification Flag 4 / Server: Current Max Demand Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS5_DFT_SUM, 0x0004, "Client: Notification Flag 5 / Server: DFTSummation" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS6_DAI_FREE_TIME, 0x0005, "Client: Notification Flag 6 / Server: Daily Freeze Time" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS7_POW_FAC, 0x0006, "Client: Notification Flag 7 / Server: Power Factor" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_NOT_FLAGS8_READ_SNAP_TIME, 0x0007, "Client: Notification Flag 8 / Server: Reading Snapshot Time" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_DEL_TIME, 0x0008, "Current Max Demand Delivered Time" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_MAX_DEMAND_RECV_TIME, 0x0009, "Current Max Demand Received Time" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_DEFAULT_UPDATE_PERIOD, 0x000A, "Default Update Period" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_FAST_POLL_UPDATE_PERIOD, 0x000B, "Fast Poll Update Period" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_BLOCK_PER_CON_DEL, 0x000C, "Current Block Period Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_DAILY_CON_TARGET, 0x000D, "Daily Consumption Target" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK, 0x000E, "Current Block" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PROFILE_INTERVAL_PERIOD, 0x000F, "Profile Interval Period" ) \
+/* XXX(ZBEE_ZCL_ATTR_ID_MET_DEPRECATED, 0x0010, "Deprecated" }, */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PRESET_READING_TIME, 0x0011, "Preset Reading Time" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_VOLUME_PER_REPORT, 0x0012, "Volume Per Report" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_FLOW_RESTRICTION, 0x0013, "Flow Restriction" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_SUPPLY_STATUS, 0x0014, "Supply Status" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_SUM, 0x0015, "Current Inlet Energy Carrier Summation" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_SUM, 0x0016, "Current Outlet Energy Carrier Summation" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_INLET_TEMPERATURE, 0x0017, "Inlet Temperature" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_OUTLET_TEMPERATURE, 0x0018, "Outlet Temperature" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CONTROL_TEMPERATURE, 0x0019, "Control Temperature" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_INLET_ENER_CAR_DEM, 0x001A, "Current Inlet Energy Carrier Demand" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_OUTLET_ENER_CAR_DEM, 0x001B, "Current Outlet Energy Carrier Demand" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCK_CON_DEL, 0x001C, "Previous Block Period Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_BLOCL_CON_RECV, 0x001D, "Current Block Period Consumption Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_BLOCK_RECEIVED, 0x001E, "Current Block Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_DFT_SUMMATION_RECEIVED, 0x001F, "DFT Summation Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_DEL, 0x0020, "Active Register Tier Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_ACTIVE_REG_TIER_RECV, 0x0021, "Active Register Tier Received" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_LAST_BLOCK_SWITCH_TIME, 0x0022, "Last Block Switch Time" ) \
+/* Summation TOU Information Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_1_SUM_DEL, 0x0100, "Current Tier 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_2_SUM_DEL, 0x0102, "Current Tier 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_3_SUM_DEL, 0x0104, "Current Tier 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_TIER_4_SUM_DEL, 0x0106, "Current Tier 4 Summation Delivered" ) \
+/* Meter Status Attribute Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_STATUS, 0x0200, "Status" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_REMAIN_BAT_LIFE_DAYS, 0x0205, "Remaining Battery Life in Days" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CURRENT_METER_ID, 0x0206, "Current Meter ID" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_AMBIENT_CON_IND, 0x0207, "Ambient Consumption Indicator" ) \
+/* Formatting */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_UNIT_OF_MEASURE, 0x0300, "Unit of Measure" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_MULTIPLIER, 0x0301, "Multiplier" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_DIVISOR, 0x0302, "Divisor" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_SUMMATION_FORMATTING, 0x0303, "Summation Formatting" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_METERING_DEVICE_TYPE, 0x0306, "Metering Device Type" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_SITE_ID, 0x0307, "Site ID" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUSTOMER_ID_NUMBER, 0x0311, "Customer ID Number" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_ALT_UNIT_OF_MEASURE, 0x0312, "Alternative Unit of Measure" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_ALT_CON_FORMATTING, 0x0314, "Alternative Consumption Formatting" ) \
+/* Historical Consumption Attribute */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_INSTANT_DEMAND, 0x0400, "Instantaneous Demand" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_CON_DEL, 0x0401, "Current Day Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_CON_DEL, 0x0403, "Previous Day Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_2_DAY_CON_DEL, 0x0420, "Previous Day 2 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_3_DAY_CON_DEL, 0x0422, "Previous Day 3 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_4_DAY_CON_DEL, 0x0424, "Previous Day 4 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_5_DAY_CON_DEL, 0x0426, "Previous Day 5 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_6_DAY_CON_DEL, 0x0428, "Previous Day 6 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_7_DAY_CON_DEL, 0x042A, "Previous Day 7 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_8_DAY_CON_DEL, 0x042C, "Previous Day 8 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_CON_DEL, 0x0430, "Current Week Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_CON_DEL, 0x0432, "Previous Week Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_CON_DEL, 0x0434, "Previous Week 2 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_CON_DEL, 0x0436, "Previous Week 3 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_CON_DEL, 0x0438, "Previous Week 4 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_CON_DEL, 0x043A, "Previous Week 5 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_CON_DEL, 0x0440, "Current Month Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_CON_DEL, 0x0442, "Previous Month Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_CON_DEL, 0x0444, "Previous Month 2 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_CON_DEL, 0x0446, "Previous Month 3 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_CON_DEL, 0x0448, "Previous Month 4 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_CON_DEL, 0x044A, "Previous Month 5 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_CON_DEL, 0x044C, "Previous Month 6 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_CON_DEL, 0x044E, "Previous Month 7 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_CON_DEL, 0x0450, "Previous Month 8 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_CON_DEL, 0x0452, "Previous Month 9 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_CON_DEL, 0x0454, "Previous Month 10 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_CON_DEL, 0x0456, "Previous Month 11 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_CON_DEL, 0x0458, "Previous Month 12 Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_CON_DEL, 0x045A, "Previous Month 13 Consumption Delivered" ) \
+/* Supply Limit Attributes */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_SUPPLY_TAMPER_STATE, 0x0607, "Supply Tamper State" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_SUPPLY_DEPLETION_STATE, 0x0608, "Supply Depletion State" ) \
+/* Block Information Attribute Set (Delivered) */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_1_SUM_DEL, 0x0700, "Current No Tier Block 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_2_SUM_DEL, 0x0701, "Current No Tier Block 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_3_SUM_DEL, 0x0702, "Current No Tier Block 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_NO_TIER_BLOCK_4_SUM_DEL, 0x0703, "Current No Tier Block 4 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_1_SUM_DEL, 0x0710, "Current Tier 1 Block 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_2_SUM_DEL, 0x0711, "Current Tier 1 Block 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_3_SUM_DEL, 0x0712, "Current Tier 1 Block 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_1_BLOCK_4_SUM_DEL, 0x0713, "Current Tier 1 Block 4 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_1_SUM_DEL, 0x0720, "Current Tier 2 Block 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_2_SUM_DEL, 0x0721, "Current Tier 2 Block 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_3_SUM_DEL, 0x0722, "Current Tier 2 Block 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_2_BLOCK_4_SUM_DEL, 0x0723, "Current Tier 2 Block 4 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_1_SUM_DEL, 0x0730, "Current Tier 3 Block 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_2_SUM_DEL, 0x0731, "Current Tier 3 Block 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_3_SUM_DEL, 0x0732, "Current Tier 3 Block 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_3_BLOCK_4_SUM_DEL, 0x0733, "Current Tier 3 Block 4 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_1_SUM_DEL, 0x0740, "Current Tier 4 Block 1 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_2_SUM_DEL, 0x0741, "Current Tier 4 Block 2 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_3_SUM_DEL, 0x0742, "Current Tier 4 Block 3 Summation Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_TIER_4_BLOCK_4_SUM_DEL, 0x0743, "Current Tier 4 Block 4 Summation Delivered" ) \
+/* Meter Billing Attribute Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_DELIVERED, 0x0A00, "Bill To Date Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_BILL_TO_DATE_TIMESTAMP_DEL, 0x0A01, "BillToDateTimeStampDelivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_BILL_DELIVERED_TRAILING_DIGIT, 0x0A04, "Bill Delivered Trailing Digit" ) \
+/* Alternative Historical Consumption Attribute Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_DAY_ALT_CON_DEL, 0x0C01, "Current Day Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_ALT_CON_DEL, 0x0C03, "Previous Day Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_2_ALT_CON_DEL, 0x0C20, "Previous Day 2 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_3_ALT_CON_DEL, 0x0C22, "Previous Day 3 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_4_ALT_CON_DEL, 0x0C24, "Previous Day 4 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_5_ALT_CON_DEL, 0x0C26, "Previous Day 5 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_6_ALT_CON_DEL, 0x0C28, "Previous Day 6 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_7_ALT_CON_DEL, 0x0C2A, "Previous Day 7 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_DAY_8_ALT_CON_DEL, 0x0C2C, "Previous Day 8 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_WEEK_ALT_CON_DEL, 0x0C30, "Current Week Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_ALT_CON_DEL, 0x0C32, "Previous Week Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_2_ALT_CON_DEL, 0x0C34, "Previous Week 2 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_3_ALT_CON_DEL, 0x0C36, "Previous Week 3 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_4_ALT_CON_DEL, 0x0C38, "Previous Week 4 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_WEEK_5_ALT_CON_DEL, 0x0C3A, "Previous Week 5 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_CUR_MONTH_ALT_CON_DEL, 0x0C40, "Current Month Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_ALT_CON_DEL, 0x0C42, "Previous Month Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_2_ALT_CON_DEL, 0x0C44, "Previous Month 2 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_3_ALT_CON_DEL, 0x0C46, "Previous Month 3 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_4_ALT_CON_DEL, 0x0C48, "Previous Month 4 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_5_ALT_CON_DEL, 0x0C4A, "Previous Month 5 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_6_ALT_CON_DEL, 0x0C4C, "Previous Month 6 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_7_ALT_CON_DEL, 0x0C4E, "Previous Month 7 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_8_ALT_CON_DEL, 0x0C50, "Previous Month 8 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_9_ALT_CON_DEL, 0x0C52, "Previous Month 9 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_10_ALT_CON_DEL, 0x0C54, "Previous Month 10 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_11_ALT_CON_DEL, 0x0C56, "Previous Month 11 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_12_ALT_CON_DEL, 0x0C58, "Previous Month 12 Alternative Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_MET_PREV_MONTH_13_ALT_CON_DEL, 0x0C5A, "Previous Month 13 Alternative Consumption Delivered" ) \
+/* Smart Energy */ \
+ XXX(ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_MET, 0xFFFE, "Attribute Reporting Status" )
+
+VALUE_STRING_ENUM(zbee_zcl_met_attr_names);
+VALUE_STRING_ARRAY(zbee_zcl_met_attr_names);
+static value_string_ext zbee_zcl_met_attr_names_ext = VALUE_STRING_EXT_INIT(zbee_zcl_met_attr_names);
/* Server Commands Received */
-#define ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR_RSP 0x01
-#define ZBEE_ZCL_CMD_ID_MET_GET_SNAPSHOT 0x06
-#define ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA 0x08
-#define ZBEE_ZCL_CMD_ID_MET_LOCAL_CHANGE_SUPPLY 0x0C
+#define zbee_zcl_met_srv_rx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR_RSP, 0x01, "Request Mirror Response" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_GET_SNAPSHOT, 0x06, "Get Snapshot" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA, 0x08, "Get Sampled Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_LOCAL_CHANGE_SUPPLY, 0x0C, "Local Change Supply" )
+
+VALUE_STRING_ENUM(zbee_zcl_met_srv_rx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_met_srv_rx_cmd_names);
/* Server Commands Generated */
-#define ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR 0x01
-#define ZBEE_ZCL_CMD_ID_MET_PUBLISH_SNAPSHOT 0x06
-#define ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA_RSP 0x07
-#define ZBEE_ZCL_CMD_ID_MET_CONFIGURE_MIRROR 0x08
-#define ZBEE_ZCL_CMD_ID_MET_GET_NOTIFIED_MESSAGE 0x0B
+#define zbee_zcl_met_srv_tx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR, 0x01, "Request Mirror" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_PUBLISH_SNAPSHOT, 0x06, "Publish Snapshot" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA_RSP, 0x07, "Get Sampled Data Response" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_CONFIGURE_MIRROR, 0x08, "Configure Mirror" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MET_GET_NOTIFIED_MESSAGE, 0x0B, "Get Notified Message" )
+
+VALUE_STRING_ENUM(zbee_zcl_met_srv_tx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_met_srv_tx_cmd_names);
/*************************/
/* Function Declarations */
@@ -399,25 +259,6 @@ static int hf_zbee_zcl_met_attr_reporting_status = -1;
/* Initialize the subtree pointers */
static gint ett_zbee_zcl_met = -1;
-/* Server Commands Received */
-static const value_string zbee_zcl_met_srv_rx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR_RSP, "Request Mirror Response" },
- { ZBEE_ZCL_CMD_ID_MET_GET_SNAPSHOT, "Get Snapshot" },
- { ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA, "Get Sampled Data" },
- { ZBEE_ZCL_CMD_ID_MET_LOCAL_CHANGE_SUPPLY, "Local Change Supply" },
- { 0, NULL }
-};
-
-/* Server Commands Generated */
-static const value_string zbee_zcl_met_srv_tx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_MET_REQUEST_MIRROR, "Request Mirror" },
- { ZBEE_ZCL_CMD_ID_MET_PUBLISH_SNAPSHOT, "Publish Snapshot" },
- { ZBEE_ZCL_CMD_ID_MET_GET_SAMPLED_DATA_RSP, "Get Sampled Data Response" },
- { ZBEE_ZCL_CMD_ID_MET_CONFIGURE_MIRROR, "Configure Mirror" },
- { ZBEE_ZCL_CMD_ID_MET_GET_NOTIFIED_MESSAGE, "Get Notified Message" },
- { 0, NULL }
-};
-
/*************************/
/* Function Bodies */
/*************************/
@@ -436,7 +277,7 @@ dissect_zcl_met_attr_data(proto_tree *tree, tvbuff_t *tvb, guint *offset, guint1
{
switch (attr_id) {
/* applies to all SE clusters */
- case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS:
+ case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_MET:
proto_tree_add_item(tree, hf_zbee_zcl_met_attr_reporting_status, tvb, *offset, 1, ENC_NA);
*offset += 1;
break;
@@ -563,7 +404,7 @@ proto_register_zbee_zcl_met(void)
static hf_register_info hf[] = {
{ &hf_zbee_zcl_met_attr_id,
- { "Attribute", "zbee_zcl_se.met.attr_id", FT_UINT16, BASE_HEX, VALS(zbee_zcl_met_attr_names),
+ { "Attribute", "zbee_zcl_se.met.attr_id", FT_UINT16, BASE_HEX | BASE_EXT_STRING, &zbee_zcl_met_attr_names_ext,
0x0, NULL, HFILL } },
{ &hf_zbee_zcl_met_attr_reporting_status, /* common to all SE clusters */
@@ -619,21 +460,31 @@ proto_reg_handoff_zbee_zcl_met(void)
/* ########################################################################## */
/* Attributes - None (other than Attribute Reporting Status) */
-static const value_string zbee_zcl_msg_attr_names[] = {
- ZBEE_ZCL_SE_ATTR_NAMES,
- { 0, NULL }
-};
+#define zbee_zcl_msg_attr_names_VALUE_STRING_LIST(XXX) \
+/* Smart Energy */ \
+ XXX(ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_MSG, 0xFFFE, "Attribute Reporting Status" )
+
+VALUE_STRING_ENUM(zbee_zcl_msg_attr_names);
+VALUE_STRING_ARRAY(zbee_zcl_msg_attr_names);
/* Server Commands Received */
-#define ZBEE_ZCL_CMD_ID_MSG_GET_LAST_MSG 0x00 /* Get Last Message */
-#define ZBEE_ZCL_CMD_ID_MSG_MSG_CONFIRM 0x01 /* Message Confirmation */
-#define ZBEE_ZCL_CMD_ID_MSG_GET_MESSAGE_CANCEL 0x02 /* Get Message Cancellation */
+#define zbee_zcl_msg_srv_rx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_GET_LAST_MSG, 0x00, "Get Last Message" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_MSG_CONFIRM, 0x01, "Message Confirmation" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_GET_MESSAGE_CANCEL, 0x02, "Get Message Cancellation" )
+
+VALUE_STRING_ENUM(zbee_zcl_msg_srv_rx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_msg_srv_rx_cmd_names);
/* Server Commands Generated */
-#define ZBEE_ZCL_CMD_ID_MSG_DISPLAY_MSG 0x00 /* Display Message */
-#define ZBEE_ZCL_CMD_ID_MSG_CANCEL_MSG 0x01 /* Cancel Message */
-#define ZBEE_ZCL_CMD_ID_MSG_DISPLAY_PROTECTED_MSG 0x02 /* Display Protected Message */
-#define ZBEE_ZCL_CMD_ID_MSG_CANCEL_ALL_MSG 0x03 /* Cancel All Messages */
+#define zbee_zcl_msg_srv_tx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_DISPLAY_MSG, 0x00, "Display Message" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_CANCEL_MSG, 0x01, "Cancel Message" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_DISPLAY_PROTECTED_MSG, 0x02, "Display Protected Message" ) \
+ XXX(ZBEE_ZCL_CMD_ID_MSG_CANCEL_ALL_MSG, 0x03, "Cancel All Messages" )
+
+VALUE_STRING_ENUM(zbee_zcl_msg_srv_tx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_msg_srv_tx_cmd_names);
/* Message Control Field Bit Map */
#define ZBEE_ZCL_MSG_CTRL_TX_MASK 0x03
@@ -716,23 +567,6 @@ static gint ett_zbee_zcl_msg_ext_message_control = -1;
static expert_field ei_zbee_zcl_msg_msg_ctrl_depreciated = EI_INIT;
-/* Server Commands Received */
-static const value_string zbee_zcl_msg_srv_rx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_MSG_GET_LAST_MSG, "Get Last Message" },
- { ZBEE_ZCL_CMD_ID_MSG_MSG_CONFIRM, "Message Confirmation" },
- { ZBEE_ZCL_CMD_ID_MSG_GET_MESSAGE_CANCEL, "Get Message Cancellation" },
- { 0, NULL }
-};
-
-/* Server Commands Generated */
-static const value_string zbee_zcl_msg_srv_tx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_MSG_DISPLAY_MSG, "Display Message" },
- { ZBEE_ZCL_CMD_ID_MSG_CANCEL_MSG, "Cancel Message" },
- { ZBEE_ZCL_CMD_ID_MSG_DISPLAY_PROTECTED_MSG, "Display Protected Message"},
- { ZBEE_ZCL_CMD_ID_MSG_CANCEL_ALL_MSG, "Cancel All Messages" },
- { 0, NULL }
-};
-
/* Message Control Transmission */
static const value_string zbee_zcl_msg_ctrl_tx_names[] = {
{ ZBEE_ZCL_MSG_CTRL_TX_NORMAL_ONLY, "Normal Transmission Only" },
@@ -770,7 +604,7 @@ dissect_zcl_msg_attr_data(proto_tree *tree, tvbuff_t *tvb, guint *offset, guint1
/* no cluster specific attributes */
/* applies to all SE clusters */
- case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS:
+ case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_MSG:
proto_tree_add_item(tree, hf_zbee_zcl_msg_attr_reporting_status, tvb, *offset, 1, ENC_NA);
*offset += 1;
break;
@@ -1245,31 +1079,39 @@ proto_reg_handoff_zbee_zcl_msg(void)
/* ########################################################################## */
/* Attributes */
-#define ZBEE_ZCL_ATTR_ID_TUN_CLOSE_TIMEOUT 0x0000 /* Close Tunnel Timeout */
+#define zbee_zcl_tun_attr_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_ATTR_ID_TUN_CLOSE_TIMEOUT, 0x0000, "Close Tunnel Timeout" ) \
+/* Smart Energy */ \
+ XXX(ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_TUN, 0xFFFE, "Attribute Reporting Status" )
-static const value_string zbee_zcl_tun_attr_names[] = {
- { ZBEE_ZCL_ATTR_ID_TUN_CLOSE_TIMEOUT, "Close Tunnel Timeout" },
- ZBEE_ZCL_SE_ATTR_NAMES,
- { 0, NULL }
-};
+VALUE_STRING_ENUM(zbee_zcl_tun_attr_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_attr_names);
/* Server Commands Received */
-#define ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL 0x00 /* Request Tunnel */
-#define ZBEE_ZCL_CMD_ID_TUN_CLOSE_TUNNEL 0x01 /* Close Tunnel */
-#define ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA 0x02 /* Transfer Data */
-#define ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR 0x03 /* Transfer Data Error */
-#define ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA 0x04 /* Ack Transfer Data */
-#define ZBEE_ZCL_CMD_ID_TUN_READY_DATA 0x05 /* Ready Data */
-#define ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS 0x06 /* Get Supported Tunnel Protocols */
+#define zbee_zcl_tun_srv_rx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL, 0x00, "Request Tunnel" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_CLOSE_TUNNEL, 0x01, "Close Tunnel" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA, 0x02, "Transfer Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR, 0x03, "Transfer Data Error" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA, 0x04, "Ack Transfer Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_READY_DATA, 0x05, "Ready Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS, 0x06, "Get Supported Protocols" )
+
+VALUE_STRING_ENUM(zbee_zcl_tun_srv_rx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_srv_rx_cmd_names);
/* Server Commands Generated */
-#define ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL_RSP 0x00 /* Request Tunnel Response*/
-#define ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_TX 0x01 /* Transfer Data */
-#define ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR_TX 0x02 /* Transfer Data Error */
-#define ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA_TX 0x03 /* Ack Transfer Data */
-#define ZBEE_ZCL_CMD_ID_TUN_READY_DATA_TX 0x04 /* Ready Data */
-#define ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS_RSP 0x05 /* Get Supported Tunnel Protocols */
-#define ZBEE_ZCL_CMD_ID_TUN_CLOSURE_NOTIFY 0x06 /* Tunnel Closure Notification */
+#define zbee_zcl_tun_srv_tx_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL_RSP, 0x00, "Request Tunnel Response" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_TX, 0x01, "Transfer Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR_TX, 0x02, "Transfer Data Error" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA_TX, 0x03, "Ack Transfer Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_READY_DATA_TX, 0x04, "Ready Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS_RSP, 0x05, "Get Supported Tunnel Protocols" ) \
+ XXX(ZBEE_ZCL_CMD_ID_TUN_CLOSURE_NOTIFY, 0x06, "Tunnel Closure Notification" )
+
+VALUE_STRING_ENUM(zbee_zcl_tun_srv_tx_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_srv_tx_cmd_names);
/*************************/
/* Function Declarations */
@@ -1316,86 +1158,41 @@ static gint ett_zbee_zcl_tun = -1;
static dissector_handle_t ipv4_handle;
static dissector_handle_t ipv6_handle;
-/* Server Commands Received */
-static const value_string zbee_zcl_tun_srv_rx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL, "Request Tunnel" },
- { ZBEE_ZCL_CMD_ID_TUN_CLOSE_TUNNEL, "Close Tunnel" },
- { ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA, "Transfer Data" },
- { ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR, "Transfer Data Error" },
- { ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA, "Ack Transfer Data" },
- { ZBEE_ZCL_CMD_ID_TUN_READY_DATA, "Ready Data" },
- { ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS, "Get Supported Protocols" },
- { 0, NULL }
-};
-
-/* Server Commands Generated */
-static const value_string zbee_zcl_tun_srv_tx_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_TUN_REQUEST_TUNNEL_RSP, "Request Tunnel Response" },
- { ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_TX, "Transfer Data" },
- { ZBEE_ZCL_CMD_ID_TUN_TRANSFER_DATA_ERROR_TX, "Transfer Data Error" },
- { ZBEE_ZCL_CMD_ID_TUN_ACK_TRANSFER_DATA_TX, "Ack Transfer Data" },
- { ZBEE_ZCL_CMD_ID_TUN_READY_DATA_TX, "Ready Data" },
- { ZBEE_ZCL_CMD_ID_TUN_GET_SUPPORTED_PROTOCOLS_RSP, "Get Supported Tunnel Protocols" },
- { ZBEE_ZCL_CMD_ID_TUN_CLOSURE_NOTIFY, "Tunnel Closure Notification" },
- { 0, NULL }
-};
-
-#define ZBEE_ZCL_TUN_PROTO_DLMS 0x00
-#define ZBEE_ZCL_TUN_PROTO_IEC_61107 0x01
-#define ZBEE_ZCL_TUN_PROTO_ANSI_C12 0x02
-#define ZBEE_ZCL_TUN_PROTO_M_BUS 0x03
-#define ZBEE_ZCL_TUN_PROTO_SML 0x04
-#define ZBEE_ZCL_TUN_PROTO_CLIMATE_TALK 0x05
-#define ZBEE_ZCL_TUN_PROTO_GB_HRGP 0x06
-#define ZBEE_ZCL_TUN_PROTO_IPV6 0x07
-#define ZBEE_ZCL_TUN_PROTO_IPV4 0x08
-#define ZBEE_ZCL_TUN_PROTO_NULL 0x09
-#define ZBEE_ZCL_TUN_PROTO_TEST 199
-#define ZBEE_ZCL_TUN_PROTO_MANUFACTURER 200
-#define ZBEE_ZCL_TUN_PROTO_RESERVED 0xFF
-
-static const value_string zbee_zcl_tun_protocol_names[] = {
- { ZBEE_ZCL_TUN_PROTO_DLMS, "DLMS/COSEM (IEC 62056)" },
- { ZBEE_ZCL_TUN_PROTO_IEC_61107, "IEC 61107" },
- { ZBEE_ZCL_TUN_PROTO_ANSI_C12, "ANSI C12" },
- { ZBEE_ZCL_TUN_PROTO_M_BUS, "M-BUS" },
- { ZBEE_ZCL_TUN_PROTO_SML, "SML" },
- { ZBEE_ZCL_TUN_PROTO_CLIMATE_TALK, "ClimateTalk" },
- { ZBEE_ZCL_TUN_PROTO_GB_HRGP, "GB-HRGP" },
- { ZBEE_ZCL_TUN_PROTO_IPV6, "IPv6" },
- { ZBEE_ZCL_TUN_PROTO_IPV4, "IPv4" },
- { ZBEE_ZCL_TUN_PROTO_NULL, "null" },
- { ZBEE_ZCL_TUN_PROTO_TEST, "test" },
- { ZBEE_ZCL_TUN_PROTO_MANUFACTURER, "Manufacturer Specific" },
- { ZBEE_ZCL_TUN_PROTO_RESERVED, "Reserved" },
- { 0, NULL }
-};
-
-#define ZBEE_ZCL_TUN_TRANS_STATUS_NO_TUNNEL 0x00
-#define ZBEE_ZCL_TUN_TRANS_STATUS_WRONG_DEV 0x01
-#define ZBEE_ZCL_TUN_TRANS_STATUS_OVERFLOW 0x02
-
-static const value_string zbee_zcl_tun_trans_data_status_names[] = {
- { ZBEE_ZCL_TUN_TRANS_STATUS_NO_TUNNEL, "Tunnel ID Does Not Exist" },
- { ZBEE_ZCL_TUN_TRANS_STATUS_WRONG_DEV, "Wrong Device" },
- { ZBEE_ZCL_TUN_TRANS_STATUS_OVERFLOW, "Data Overflow" },
- { 0, NULL }
-};
-
-#define ZBEE_ZCL_TUN_STATUS_SUCCESS 0x00
-#define ZBEE_ZCL_TUN_STATUS_BUSY 0x01
-#define ZBEE_ZCL_TUN_STATUS_NO_MORE_IDS 0x02
-#define ZBEE_ZCL_TUN_STATUS_PROTO_NOT_SUPP 0x03
-#define ZBEE_ZCL_TUN_STATUS_FLOW_CONTROL_NOT_SUPP 0x04
-
-static const value_string zbee_zcl_tun_status_names[] = {
- { ZBEE_ZCL_TUN_STATUS_SUCCESS, "Success" },
- { ZBEE_ZCL_TUN_STATUS_BUSY, "Busy" },
- { ZBEE_ZCL_TUN_STATUS_NO_MORE_IDS, "No More Tunnel IDs" },
- { ZBEE_ZCL_TUN_STATUS_PROTO_NOT_SUPP, "Protocol Not Supported" },
- { ZBEE_ZCL_TUN_STATUS_FLOW_CONTROL_NOT_SUPP, "Flow Control Not Supported" },
- { 0, NULL }
-};
+#define zbee_zcl_tun_protocol_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_TUN_PROTO_DLMS, 0x00, "DLMS/COSEM (IEC 62056)" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_IEC_61107, 0x01, "IEC 61107" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_ANSI_C12, 0x02, "ANSI C12" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_M_BUS, 0x03, "M-BUS" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_SML, 0x04, "SML" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_CLIMATE_TALK, 0x05, "ClimateTalk" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_GB_HRGP, 0x06, "GB-HRGP" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_IPV6, 0x07, "IPv6" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_IPV4, 0x08, "IPv4" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_NULL, 0x09, "null" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_TEST, 199, "test" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_MANUFACTURER, 200, "Manufacturer Specific" ) \
+ XXX(ZBEE_ZCL_TUN_PROTO_RESERVED, 0xFF, "Reserved" )
+
+VALUE_STRING_ENUM(zbee_zcl_tun_protocol_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_protocol_names);
+
+#define zbee_zcl_tun_trans_data_status_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_TUN_TRANS_STATUS_NO_TUNNEL, 0x00, "Tunnel ID Does Not Exist" ) \
+ XXX(ZBEE_ZCL_TUN_TRANS_STATUS_WRONG_DEV, 0x01, "Wrong Device" ) \
+ XXX(ZBEE_ZCL_TUN_TRANS_STATUS_OVERFLOW, 0x02, "Data Overflow" )
+
+VALUE_STRING_ENUM(zbee_zcl_tun_trans_data_status_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_trans_data_status_names);
+
+#define zbee_zcl_tun_status_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_TUN_STATUS_SUCCESS, 0x00, "Success" ) \
+ XXX(ZBEE_ZCL_TUN_STATUS_BUSY, 0x01, "Busy" ) \
+ XXX(ZBEE_ZCL_TUN_STATUS_NO_MORE_IDS, 0x02, "No More Tunnel IDs" ) \
+ XXX(ZBEE_ZCL_TUN_STATUS_PROTO_NOT_SUPP, 0x03, "Protocol Not Supported" ) \
+ XXX(ZBEE_ZCL_TUN_STATUS_FLOW_CONTROL_NOT_SUPP, 0x04, "Flow Control Not Supported" )
+
+VALUE_STRING_ENUM(zbee_zcl_tun_status_names);
+VALUE_STRING_ARRAY(zbee_zcl_tun_status_names);
/*************************/
/* Function Bodies */
@@ -1421,7 +1218,7 @@ dissect_zcl_tun_attr_data(proto_tree *tree, tvbuff_t *tvb, guint *offset, guint1
break;
/* applies to all SE clusters */
- case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS:
+ case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_TUN:
proto_tree_add_item(tree, hf_zbee_zcl_tun_attr_reporting_status, tvb, *offset, 1, ENC_NA);
*offset += 1;
break;
@@ -1872,91 +1669,92 @@ proto_reg_handoff_zbee_zcl_tun(void)
/* Attributes */
#define zbee_zcl_pp_attr_names_VALUE_STRING_LIST(XXX) \
- /* Prepayment Information Set */ \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PAYMENT_CONTROL_CONFIGURATION , 0x0000, "Payment Control Configuration" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CREDIT_REMAINING , 0x0001, "Credit Remaining" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_REMAINING , 0x0002, "Emergency Credit Remaining" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_ACCUMULATED_DEBT , 0x0005, "Accumulated Debt" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_OVERALL_DEBT_CAP , 0x0006, "Overall Debt Cap" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_LIMIT , 0x0010, "Emergency Credit Limit / Allowance" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_THRESHOLD , 0x0011, "Emergency Credit Threshold" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_MAX_CREDIT_LIMIT , 0x0021, "Max Credit Limit" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_MAX_CREDIT_PER_TOPUP , 0x0022, "Max Credit Per Top Up" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_LOW_CREDIT_WARNING , 0x0031, "Low Credit Warning" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CUT_OFF_VALUE , 0x0040, "Cut Off Value" ) \
- /* Debt Set */ \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_1 , 0x0211, "Debt Amount 1" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_1 , 0x0216, "Debt Recovery Frequency 1" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_1 , 0x0217, "Debt Recovery Amount 1" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_1 , 0x0219, "Debt Recovery Top Up Percentage 1" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_2 , 0x0221, "Debt Amount 2" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_2 , 0x0226, "Debt Recovery Frequency 2" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_2 , 0x0227, "Debt Recovery Amount 2" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_2 , 0x0229, "Debt Recovery Top Up Percentage 2" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_3 , 0x0231, "Debt Amount 3" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_3 , 0x0236, "Debt Recovery Frequency 3" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_3 , 0x0237, "Debt Recovery Amount 3" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_3 , 0x0239, "Debt Recovery Top Up Percentage 3" ) \
- /* Alarm Set */ \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREPAYMENT_ALARM_STATUS , 0x0400, "Prepayment Alarm Status" ) \
- /* Historical Cost Consumption Information Set */ \
- XXX(ZBEE_ZCL_ATTR_ID_PP_HISTORICAL_COST_CON_FORMAT , 0x0500, "Historical Cost Consumption Formatting" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CONSUMPTION_UNIT_OF_MEASUREMENT , 0x0501, "Consumption Unit of Measurement" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENCY_SCALING_FACTOR , 0x0502, "Currency Scaling Factor" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENCY , 0x0503, "Currency" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_DAY_COST_CON_DELIVERED , 0x051C, "Current Day Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_COST_CON_DELIVERED , 0x051E, "Previous Day Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_2_COST_CON_DELIVERED , 0x0520, "Previous Day 2 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_3_COST_CON_DELIVERED , 0x0522, "Previous Day 3 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_4_COST_CON_DELIVERED , 0x0524, "Previous Day 4 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_5_COST_CON_DELIVERED , 0x0526, "Previous Day 5 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_6_COST_CON_DELIVERED , 0x0528, "Previous Day 6 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_7_COST_CON_DELIVERED , 0x052A, "Previous Day 7 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_8_COST_CON_DELIVERED , 0x052C, "Previous Day 8 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_WEEK_COST_CON_DELIVERED , 0x0530, "Current Week Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_COST_CON_DELIVERED , 0x0532, "Previous Week Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_2_COST_CON_DELIVERED , 0x0534, "Previous Week 2 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_3_COST_CON_DELIVERED , 0x0536, "Previous Week 3 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_4_COST_CON_DELIVERED , 0x0538, "Previous Week 4 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_5_COST_CON_DELIVERED , 0x053A, "Previous Week 5 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_MON_COST_CON_DELIVERED , 0x0540, "Current Month Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_COST_CON_DELIVERED , 0x0542, "Previous Month Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_2_COST_CON_DELIVERED , 0x0544, "Previous Month 2 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_3_COST_CON_DELIVERED , 0x0546, "Previous Month 3 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_4_COST_CON_DELIVERED , 0x0548, "Previous Month 4 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_5_COST_CON_DELIVERED , 0x054A, "Previous Month 5 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_6_COST_CON_DELIVERED , 0x054C, "Previous Month 6 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_7_COST_CON_DELIVERED , 0x054E, "Previous Month 7 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_8_COST_CON_DELIVERED , 0x0550, "Previous Month 8 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_9_COST_CON_DELIVERED , 0x0552, "Previous Month 9 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_10_COST_CON_DELIVERED , 0x0554, "Previous Month 10 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_11_COST_CON_DELIVERED , 0x0556, "Previous Month 11 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_12_COST_CON_DELIVERED , 0x0558, "Previous Month 12 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_13_COST_CON_DELIVERED , 0x055A, "Previous Month 13 Cost Consumption Delivered" ) \
- XXX(ZBEE_ZCL_ATTR_ID_PP_HISTORICAL_FREEZE_TIME , 0x055C, "Historical Freeze Time" ) \
- /* Smart Energy */ \
- XXX(ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS , 0xFFFE, "Attribute Reporting Status" )
-
+/* Prepayment Information Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PAYMENT_CONTROL_CONFIGURATION, 0x0000, "Payment Control Configuration" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CREDIT_REMAINING, 0x0001, "Credit Remaining" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_REMAINING, 0x0002, "Emergency Credit Remaining" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_ACCUMULATED_DEBT, 0x0005, "Accumulated Debt" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_OVERALL_DEBT_CAP, 0x0006, "Overall Debt Cap" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_LIMIT, 0x0010, "Emergency Credit Limit / Allowance" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_EMERGENCY_CREDIT_THRESHOLD, 0x0011, "Emergency Credit Threshold" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_MAX_CREDIT_LIMIT, 0x0021, "Max Credit Limit" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_MAX_CREDIT_PER_TOPUP, 0x0022, "Max Credit Per Top Up" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_LOW_CREDIT_WARNING, 0x0031, "Low Credit Warning" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CUT_OFF_VALUE, 0x0040, "Cut Off Value" ) \
+/* Debt Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_1, 0x0211, "Debt Amount 1" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_1, 0x0216, "Debt Recovery Frequency 1" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_1, 0x0217, "Debt Recovery Amount 1" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_1, 0x0219, "Debt Recovery Top Up Percentage 1" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_2, 0x0221, "Debt Amount 2" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_2, 0x0226, "Debt Recovery Frequency 2" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_2, 0x0227, "Debt Recovery Amount 2" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_2, 0x0229, "Debt Recovery Top Up Percentage 2" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_AMOUNT_3, 0x0231, "Debt Amount 3" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_FREQ_3, 0x0236, "Debt Recovery Frequency 3" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_AMOUNT_3, 0x0237, "Debt Recovery Amount 3" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_DEBT_RECOVERY_TOP_UP_PERCENTAGE_3, 0x0239, "Debt Recovery Top Up Percentage 3" ) \
+/* Alarm Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREPAYMENT_ALARM_STATUS, 0x0400, "Prepayment Alarm Status" ) \
+/* Historical Cost Consumption Information Set */ \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_HISTORICAL_COST_CON_FORMAT, 0x0500, "Historical Cost Consumption Formatting" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CONSUMPTION_UNIT_OF_MEASUREMENT, 0x0501, "Consumption Unit of Measurement" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENCY_SCALING_FACTOR, 0x0502, "Currency Scaling Factor" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENCY, 0x0503, "Currency" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_DAY_COST_CON_DELIVERED, 0x051C, "Current Day Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_COST_CON_DELIVERED, 0x051E, "Previous Day Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_2_COST_CON_DELIVERED, 0x0520, "Previous Day 2 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_3_COST_CON_DELIVERED, 0x0522, "Previous Day 3 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_4_COST_CON_DELIVERED, 0x0524, "Previous Day 4 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_5_COST_CON_DELIVERED, 0x0526, "Previous Day 5 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_6_COST_CON_DELIVERED, 0x0528, "Previous Day 6 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_7_COST_CON_DELIVERED, 0x052A, "Previous Day 7 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_DAY_8_COST_CON_DELIVERED, 0x052C, "Previous Day 8 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_WEEK_COST_CON_DELIVERED, 0x0530, "Current Week Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_COST_CON_DELIVERED, 0x0532, "Previous Week Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_2_COST_CON_DELIVERED, 0x0534, "Previous Week 2 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_3_COST_CON_DELIVERED, 0x0536, "Previous Week 3 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_4_COST_CON_DELIVERED, 0x0538, "Previous Week 4 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_WEEK_5_COST_CON_DELIVERED, 0x053A, "Previous Week 5 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_CURRENT_MON_COST_CON_DELIVERED, 0x0540, "Current Month Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_COST_CON_DELIVERED, 0x0542, "Previous Month Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_2_COST_CON_DELIVERED, 0x0544, "Previous Month 2 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_3_COST_CON_DELIVERED, 0x0546, "Previous Month 3 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_4_COST_CON_DELIVERED, 0x0548, "Previous Month 4 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_5_COST_CON_DELIVERED, 0x054A, "Previous Month 5 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_6_COST_CON_DELIVERED, 0x054C, "Previous Month 6 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_7_COST_CON_DELIVERED, 0x054E, "Previous Month 7 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_8_COST_CON_DELIVERED, 0x0550, "Previous Month 8 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_9_COST_CON_DELIVERED, 0x0552, "Previous Month 9 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_10_COST_CON_DELIVERED, 0x0554, "Previous Month 10 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_11_COST_CON_DELIVERED, 0x0556, "Previous Month 11 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_12_COST_CON_DELIVERED, 0x0558, "Previous Month 12 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_PREVIOUS_MON_13_COST_CON_DELIVERED, 0x055A, "Previous Month 13 Cost Consumption Delivered" ) \
+ XXX(ZBEE_ZCL_ATTR_ID_PP_HISTORICAL_FREEZE_TIME, 0x055C, "Historical Freeze Time" ) \
+/* Smart Energy */ \
+ XXX(ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_PP, 0xFFFE, "Attribute Reporting Status" )
+
+VALUE_STRING_ENUM(zbee_zcl_pp_attr_names);
VALUE_STRING_ARRAY(zbee_zcl_pp_attr_names);
static value_string_ext zbee_zcl_pp_attr_names_ext = VALUE_STRING_EXT_INIT(zbee_zcl_pp_attr_names);
/* Server Commands Received */
#define zbee_zcl_pp_srv_rx_cmd_names_VALUE_STRING_LIST(XXX) \
- XXX(ZBEE_ZCL_CMD_ID_PP_SELECT_AVAILABLE_EMERGENCY_CREDIT , 0x00, "Select Available Emergency Credit" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_CONSUMER_TOP_UP , 0x04, "Consumer Top Up" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_GET_PREPAY_SNAPTSHOT , 0x07, "Get Prepay Snapshot" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_GET_TOP_UP_LOG , 0x08, "Get Top Up Log" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_GET_DEBT_REPAYMENT_LOG , 0x0A, "Get Debt Repayment Log" )
+ XXX(ZBEE_ZCL_CMD_ID_PP_SELECT_AVAILABLE_EMERGENCY_CREDIT, 0x00, "Select Available Emergency Credit" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_CONSUMER_TOP_UP, 0x04, "Consumer Top Up" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_GET_PREPAY_SNAPTSHOT, 0x07, "Get Prepay Snapshot" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_GET_TOP_UP_LOG, 0x08, "Get Top Up Log" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_GET_DEBT_REPAYMENT_LOG, 0x0A, "Get Debt Repayment Log" )
VALUE_STRING_ENUM(zbee_zcl_pp_srv_rx_cmd_names);
VALUE_STRING_ARRAY(zbee_zcl_pp_srv_rx_cmd_names);
/* Server Commands Generated */
#define zbee_zcl_pp_srv_tx_cmd_names_VALUE_STRING_LIST(XXX) \
- XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_PREPAY_SNAPSHOT , 0x01, "Publish Prepay Snapshot" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_CONSUMER_TOP_UP_RESPONSE , 0x03, "Consumer Top Up Response" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_TOP_UP_LOG , 0x05, "Publish Top Up Log" ) \
- XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_DEBT_LOG , 0x06, "Publish Debt Log" )
+ XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_PREPAY_SNAPSHOT, 0x01, "Publish Prepay Snapshot" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_CONSUMER_TOP_UP_RESPONSE, 0x03, "Consumer Top Up Response" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_TOP_UP_LOG, 0x05, "Publish Top Up Log" ) \
+ XXX(ZBEE_ZCL_CMD_ID_PP_PUBLISH_DEBT_LOG, 0x06, "Publish Debt Log" )
VALUE_STRING_ENUM(zbee_zcl_pp_srv_tx_cmd_names);
VALUE_STRING_ARRAY(zbee_zcl_pp_srv_tx_cmd_names);
@@ -2005,7 +1803,7 @@ dissect_zcl_pp_attr_data(proto_tree *tree, tvbuff_t *tvb, guint *offset, guint16
{
switch (attr_id) {
/* applies to all SE clusters */
- case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS:
+ case ZBEE_ZCL_ATTR_ID_SE_ATTR_REPORT_STATUS_PP:
proto_tree_add_item(tree, hf_zbee_zcl_pp_attr_reporting_status, tvb, *offset, 1, ENC_NA);
*offset += 1;
break;
@@ -2192,13 +1990,61 @@ proto_reg_handoff_zbee_zcl_pp(void)
/* Defines */
/*************************/
-/* Initialize the subtree pointers */
-static gint ett_zbee_zcl_ke = -1;
-static gint ett_zbee_zcl_ke_cert = -1;
-static gint ett_zbee_zcl_ke_key_usage = -1;
+#define ZBEE_ZCL_KE_USAGE_KEY_AGREEMENT 0x08
+#define ZBEE_ZCL_KE_USAGE_DIGITAL_SIGNATURE 0x80
/* Attributes */
-#define ZBEE_ZCL_ATTR_ID_KE_SUITE 0x0000 /* Key Establishment Suite */
+#define zbee_zcl_ke_attr_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_ATTR_ID_KE_SUITE, 0x0000, "Supported Key Establishment Suites" )
+
+VALUE_STRING_ARRAY(zbee_zcl_ke_attr_names);
+
+/* Server Commands Received and Generated */
+#define zbee_zcl_ke_srv_cmd_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_CMD_ID_KE_INITIATE, 0x00, "Initiate Key Establishment" ) \
+ XXX(ZBEE_ZCL_CMD_ID_KE_EPHEMERAL, 0x01, "Ephemeral Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_KE_CONFIRM, 0x02, "Confirm Key Data" ) \
+ XXX(ZBEE_ZCL_CMD_ID_KE_TERMINATE, 0x03, "Terminate Key Establishment" )
+
+VALUE_STRING_ENUM(zbee_zcl_ke_srv_cmd_names);
+VALUE_STRING_ARRAY(zbee_zcl_ke_srv_cmd_names);
+
+/* Suite Names */
+#define zbee_zcl_ke_suite_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_KE_SUITE_1, 0x0001, "Crypto Suite 1 (CBKE K163)" ) \
+ XXX(ZBEE_ZCL_KE_SUITE_2, 0x0002, "Crypto Suite 2 (CBKE K283)" )
+
+VALUE_STRING_ENUM(zbee_zcl_ke_suite_names);
+VALUE_STRING_ARRAY(zbee_zcl_ke_suite_names);
+
+/* Crypto Suite 2 Type Names */
+#define zbee_zcl_ke_type_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_KE_TYPE_NO_EXT, 0x00, "No Extensions" )
+
+VALUE_STRING_ARRAY(zbee_zcl_ke_type_names);
+
+/* Crypto Suite 2 Curve Names */
+#define zbee_zcl_ke_curve_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_KE_CURVE_SECT283K1, 0x0D, "sect283k1" )
+
+VALUE_STRING_ARRAY(zbee_zcl_ke_curve_names);
+
+/* Crypto Suite 2 Hash Names */
+#define zbee_zcl_ke_hash_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_KE_HASH_AES_MMO, 0x08, "AES MMO" )
+
+VALUE_STRING_ARRAY(zbee_zcl_ke_hash_names);
+
+#define zbee_zcl_ke_status_names_VALUE_STRING_LIST(XXX) \
+ XXX(ZBEE_ZCL_KE_STATUS_RESERVED, 0x00, "Reserved" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_UNKNOWN_ISSUER, 0x01, "Unknown Issuer" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_BAD_KEY_CONFIRM, 0x02, "Bad Key Confirm" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_BAD_MESSAGE, 0x03, "Bad Message" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_NO_RESOURCES, 0x04, "No Resources" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_UNSUPPORTED_SUITE, 0x05, "Unsupported Suite" ) \
+ XXX(ZBEE_ZCL_KE_STATUS_INVALID_CERTIFICATE, 0x06, "Invalid Certificate" )
+
+VALUE_STRING_ARRAY(zbee_zcl_ke_status_names);
/*************************/
/* Function Declarations */
@@ -2242,88 +2088,15 @@ static int hf_zbee_zcl_ke_ephemeral_qev = -1;
static int hf_zbee_zcl_ke_macu = -1;
static int hf_zbee_zcl_ke_macv = -1;
-/* Server Commands Received and Generates (symmetrical) */
-#define ZBEE_ZCL_CMD_ID_KE_INITIATE 0x00 /* Initiate Key Establishment */
-#define ZBEE_ZCL_CMD_ID_KE_EPHEMERAL 0x01 /* Ephemeral Data Request */
-#define ZBEE_ZCL_CMD_ID_KE_CONFIRM 0x02 /* Confirm Key Data Request */
-#define ZBEE_ZCL_CMD_ID_KE_TERMINATE 0x03 /* Terminate Key Establishment */
-
-#define ZBEE_ZCL_KE_SUITE_1 0x0001
-#define ZBEE_ZCL_KE_SUITE_2 0x0002
-
-#define ZBEE_ZCL_KE_TYPE_NO_EXT 0x00 /* no extensions were used */
-
-#define ZBEE_ZCL_KE_CURVE_SECT283K1 0x0D
-
-#define ZBEE_ZCL_KE_HASH_AES_MMO 0x08
-
-#define ZBEE_ZCL_KE_USAGE_KEY_AGREEMENT 0x08
-#define ZBEE_ZCL_KE_USAGE_DIGITAL_SIGNATURE 0x80
-
-/* Attributes */
-static const value_string zbee_zcl_ke_attr_names[] = {
- { ZBEE_ZCL_ATTR_ID_KE_SUITE, "Supported Key Establishment Suites" },
- { 0, NULL }
-};
-
-/* Server Commands Received and Generated */
-static const value_string zbee_zcl_ke_srv_cmd_names[] = {
- { ZBEE_ZCL_CMD_ID_KE_INITIATE, "Initiate Key Establishment" },
- { ZBEE_ZCL_CMD_ID_KE_EPHEMERAL, "Ephemeral Data" },
- { ZBEE_ZCL_CMD_ID_KE_CONFIRM, "Confirm Key Data" },
- { ZBEE_ZCL_CMD_ID_KE_TERMINATE, "Terminate Key Establishment" },
- { 0, NULL }
-};
-
-/* Suite Names */
-static const value_string zbee_zcl_ke_suite_names[] = {
- { ZBEE_ZCL_KE_SUITE_1, "Crypto Suite 1 (CBKE K163)" },
- { ZBEE_ZCL_KE_SUITE_2, "Crypto Suite 2 (CBKE K283)" },
- { 0, NULL }
-};
-
-/* Crypto Suite 2 Type Names */
-static const value_string zbee_zcl_ke_type_names[] = {
- { ZBEE_ZCL_KE_TYPE_NO_EXT, "No Extensions" },
- { 0, NULL }
-};
-
-/* Crypto Suite 2 Curve Names */
-static const value_string zbee_zcl_ke_curve_names[] = {
- { ZBEE_ZCL_KE_CURVE_SECT283K1, "sect283k1" },
- { 0, NULL }
-};
-
-/* Crypto Suite 2 Hash Names */
-static const value_string zbee_zcl_ke_hash_names[] = {
- { ZBEE_ZCL_KE_HASH_AES_MMO, "AES MMO" },
- { 0, NULL }
-};
-
-#define ZBEE_ZCL_KE_STATUS_RESERVED 0x00
-#define ZBEE_ZCL_KE_STATUS_UNKNOWN_ISSUER 0x01
-#define ZBEE_ZCL_KE_STATUS_BAD_KEY_CONFIRM 0x02
-#define ZBEE_ZCL_KE_STATUS_BAD_MESSAGE 0x03
-#define ZBEE_ZCL_KE_STATUS_NO_RESOURCES 0x04
-#define ZBEE_ZCL_KE_STATUS_UNSUPPORTED_SUITE 0x05
-#define ZBEE_ZCL_KE_STATUS_INVALID_CERTIFICATE 0x06
-
-static const value_string zbee_zcl_ke_status_names[] = {
- { ZBEE_ZCL_KE_STATUS_RESERVED, "Reserved" },
- { ZBEE_ZCL_KE_STATUS_UNKNOWN_ISSUER, "Unknown Issuer"},
- { ZBEE_ZCL_KE_STATUS_BAD_KEY_CONFIRM, "Bad Key Confirm"},
- { ZBEE_ZCL_KE_STATUS_BAD_MESSAGE, "Bad Message"},
- { ZBEE_ZCL_KE_STATUS_NO_RESOURCES, "No Resources"},
- { ZBEE_ZCL_KE_STATUS_UNSUPPORTED_SUITE, "Unsupported Suite"},
- { ZBEE_ZCL_KE_STATUS_INVALID_CERTIFICATE, "Invalid Certificate"},
- { 0, NULL }
-};
+/* Initialize the subtree pointers */
+static gint ett_zbee_zcl_ke = -1;
+static gint ett_zbee_zcl_ke_cert = -1;
+static gint ett_zbee_zcl_ke_key_usage = -1;
/*************************/
/* Function Bodies */
/*************************/
-
/**
*This function dissects the Suite 1 Certificate
*