Show manufacturer specific cluster

When the ZCL cluster id is in the range 0xFC00 .. 0xFFFF the cluster is a manufacturer specific cluster.
The information shown was 'Unknown' and should be 'Manufacturer Specific'.

Change-Id: Id3ae90aea65c6049c38df2029871fdcfc41ce565
Reviewed-on: https://code.wireshark.org/review/31668
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Kenneth Soerensen <knnthsrnsn@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Paul Zander 2019-01-22 08:29:22 +01:00 committed by Anders Broman
parent f535a6318b
commit f3e27b8a3e
8 changed files with 116 additions and 110 deletions

View File

@ -778,7 +778,7 @@ void proto_register_gbcs_gbz(void)
},
{&hf_gbcs_gbz_extended_header_cluster,
{"Extended Header Cluster ID", "gbcs_gbz.extended_header_cluster",
FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names), 0x0, NULL, HFILL}
FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names), 0x0, NULL, HFILL}
},
{&hf_gbcs_gbz_extended_header_length,
{"Extended Header Length", "gbcs_gbz.extended_header_length",

View File

@ -533,117 +533,120 @@ const range_string zbee_aps_apid_abbrs[] = {
/* ZCL Cluster Names */
/* BUGBUG: big enough to hash? */
const value_string zbee_aps_cid_names[] = {
const range_string zbee_aps_cid_names[] = {
/* General */
{ ZBEE_ZCL_CID_BASIC, "Basic"},
{ ZBEE_ZCL_CID_POWER_CONFIG, "Power Configuration"},
{ ZBEE_ZCL_CID_DEVICE_TEMP_CONFIG, "Device Temperature Configuration"},
{ ZBEE_ZCL_CID_IDENTIFY, "Identify"},
{ ZBEE_ZCL_CID_GROUPS, "Groups"},
{ ZBEE_ZCL_CID_SCENES, "Scenes"},
{ ZBEE_ZCL_CID_ON_OFF, "On/Off"},
{ ZBEE_ZCL_CID_ON_OFF_SWITCH_CONFIG, "On/Off Switch Configuration"},
{ ZBEE_ZCL_CID_LEVEL_CONTROL, "Level Control"},
{ ZBEE_ZCL_CID_ALARMS, "Alarms"},
{ ZBEE_ZCL_CID_TIME, "Time"},
{ ZBEE_ZCL_CID_RSSI_LOCATION, "RSSI Location"},
{ ZBEE_ZCL_CID_ANALOG_INPUT_BASIC, "Analog Input (Basic)"},
{ ZBEE_ZCL_CID_ANALOG_OUTPUT_BASIC, "Analog Output (Basic)"},
{ ZBEE_ZCL_CID_ANALOG_VALUE_BASIC, "Analog Value (Basic)"},
{ ZBEE_ZCL_CID_BINARY_INPUT_BASIC, "Binary Input (Basic)"},
{ ZBEE_ZCL_CID_BINARY_OUTPUT_BASIC, "Binary Output (Basic)"},
{ ZBEE_ZCL_CID_BINARY_VALUE_BASIC, "Binary Value (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_INPUT_BASIC, "Multistate Input (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_OUTPUT_BASIC, "Multistate Output (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_VALUE_BASIC, "Multistate Value (Basic)"},
{ ZBEE_ZCL_CID_COMMISSIONING, "Commissioning"},
{ ZBEE_ZCL_CID_PARTITION, "Partition"},
{ ZBEE_ZCL_CID_OTA_UPGRADE, "OTA Upgrade"},
{ ZBEE_ZCL_CID_POLL_CONTROL, "Poll Control"},
{ ZBEE_ZCL_CID_GP, "Green Power"},
{ ZBEE_ZCL_CID_BASIC, ZBEE_ZCL_CID_BASIC, "Basic"},
{ ZBEE_ZCL_CID_POWER_CONFIG, ZBEE_ZCL_CID_POWER_CONFIG, "Power Configuration"},
{ ZBEE_ZCL_CID_DEVICE_TEMP_CONFIG, ZBEE_ZCL_CID_DEVICE_TEMP_CONFIG, "Device Temperature Configuration"},
{ ZBEE_ZCL_CID_IDENTIFY, ZBEE_ZCL_CID_IDENTIFY, "Identify"},
{ ZBEE_ZCL_CID_GROUPS, ZBEE_ZCL_CID_GROUPS, "Groups"},
{ ZBEE_ZCL_CID_SCENES, ZBEE_ZCL_CID_SCENES, "Scenes"},
{ ZBEE_ZCL_CID_ON_OFF, ZBEE_ZCL_CID_ON_OFF, "On/Off"},
{ ZBEE_ZCL_CID_ON_OFF_SWITCH_CONFIG, ZBEE_ZCL_CID_ON_OFF_SWITCH_CONFIG, "On/Off Switch Configuration"},
{ ZBEE_ZCL_CID_LEVEL_CONTROL, ZBEE_ZCL_CID_LEVEL_CONTROL, "Level Control"},
{ ZBEE_ZCL_CID_ALARMS, ZBEE_ZCL_CID_ALARMS, "Alarms"},
{ ZBEE_ZCL_CID_TIME, ZBEE_ZCL_CID_TIME, "Time"},
{ ZBEE_ZCL_CID_RSSI_LOCATION, ZBEE_ZCL_CID_RSSI_LOCATION, "RSSI Location"},
{ ZBEE_ZCL_CID_ANALOG_INPUT_BASIC, ZBEE_ZCL_CID_ANALOG_INPUT_BASIC, "Analog Input (Basic)"},
{ ZBEE_ZCL_CID_ANALOG_OUTPUT_BASIC, ZBEE_ZCL_CID_ANALOG_OUTPUT_BASIC, "Analog Output (Basic)"},
{ ZBEE_ZCL_CID_ANALOG_VALUE_BASIC, ZBEE_ZCL_CID_ANALOG_VALUE_BASIC, "Analog Value (Basic)"},
{ ZBEE_ZCL_CID_BINARY_INPUT_BASIC, ZBEE_ZCL_CID_BINARY_INPUT_BASIC, "Binary Input (Basic)"},
{ ZBEE_ZCL_CID_BINARY_OUTPUT_BASIC, ZBEE_ZCL_CID_BINARY_OUTPUT_BASIC, "Binary Output (Basic)"},
{ ZBEE_ZCL_CID_BINARY_VALUE_BASIC, ZBEE_ZCL_CID_BINARY_VALUE_BASIC, "Binary Value (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_INPUT_BASIC, ZBEE_ZCL_CID_MULTISTATE_INPUT_BASIC, "Multistate Input (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_OUTPUT_BASIC, ZBEE_ZCL_CID_MULTISTATE_OUTPUT_BASIC, "Multistate Output (Basic)"},
{ ZBEE_ZCL_CID_MULTISTATE_VALUE_BASIC, ZBEE_ZCL_CID_MULTISTATE_VALUE_BASIC, "Multistate Value (Basic)"},
{ ZBEE_ZCL_CID_COMMISSIONING, ZBEE_ZCL_CID_COMMISSIONING, "Commissioning"},
{ ZBEE_ZCL_CID_PARTITION, ZBEE_ZCL_CID_PARTITION, "Partition"},
{ ZBEE_ZCL_CID_OTA_UPGRADE, ZBEE_ZCL_CID_OTA_UPGRADE, "OTA Upgrade"},
{ ZBEE_ZCL_CID_POLL_CONTROL, ZBEE_ZCL_CID_POLL_CONTROL, "Poll Control"},
{ ZBEE_ZCL_CID_GP, ZBEE_ZCL_CID_GP, "Green Power"},
/* */
{ ZBEE_ZCL_CID_POWER_PROFILE, "Power Profile"},
{ ZBEE_ZCL_CID_APPLIANCE_CONTROL, "Appliance Control"},
{ ZBEE_ZCL_CID_POWER_PROFILE, ZBEE_ZCL_CID_POWER_PROFILE, "Power Profile"},
{ ZBEE_ZCL_CID_APPLIANCE_CONTROL, ZBEE_ZCL_CID_APPLIANCE_CONTROL, "Appliance Control"},
/* Closures */
{ ZBEE_ZCL_CID_SHADE_CONFIG, "Shade Configuration"},
{ ZBEE_ZCL_CID_DOOR_LOCK, "Door Lock"},
{ ZBEE_ZCL_CID_SHADE_CONFIG, ZBEE_ZCL_CID_SHADE_CONFIG, "Shade Configuration"},
{ ZBEE_ZCL_CID_DOOR_LOCK, ZBEE_ZCL_CID_DOOR_LOCK, "Door Lock"},
/* HVAC */
{ ZBEE_ZCL_CID_PUMP_CONFIG_CONTROL, "Pump Configuration Control"},
{ ZBEE_ZCL_CID_THERMOSTAT, "Thermostat"},
{ ZBEE_ZCL_CID_FAN_CONTROL, "Fan Control"},
{ ZBEE_ZCL_CID_DEHUMIDIFICATION_CONTROL, "Dehumidification Control"},
{ ZBEE_ZCL_CID_THERMOSTAT_UI_CONFIG, "Thermostat User Interface Configuration"},
{ ZBEE_ZCL_CID_PUMP_CONFIG_CONTROL, ZBEE_ZCL_CID_PUMP_CONFIG_CONTROL, "Pump Configuration Control"},
{ ZBEE_ZCL_CID_THERMOSTAT, ZBEE_ZCL_CID_THERMOSTAT, "Thermostat"},
{ ZBEE_ZCL_CID_FAN_CONTROL, ZBEE_ZCL_CID_FAN_CONTROL, "Fan Control"},
{ ZBEE_ZCL_CID_DEHUMIDIFICATION_CONTROL, ZBEE_ZCL_CID_DEHUMIDIFICATION_CONTROL, "Dehumidification Control"},
{ ZBEE_ZCL_CID_THERMOSTAT_UI_CONFIG, ZBEE_ZCL_CID_THERMOSTAT_UI_CONFIG, "Thermostat User Interface Configuration"},
/* Lighting */
{ ZBEE_ZCL_CID_COLOR_CONTROL, "Color Control"},
{ ZBEE_ZCL_CID_BALLAST_CONFIG, "Ballast Configuration"},
{ ZBEE_ZCL_CID_COLOR_CONTROL, ZBEE_ZCL_CID_COLOR_CONTROL, "Color Control"},
{ ZBEE_ZCL_CID_BALLAST_CONFIG, ZBEE_ZCL_CID_BALLAST_CONFIG, "Ballast Configuration"},
/* Measurement and Sensing */
{ ZBEE_ZCL_CID_ILLUMINANCE_MEASUREMENT, "Illuminance Measurement"},
{ ZBEE_ZCL_CID_ILLUMINANCE_LEVEL_SENSING, "Illuminance Level Sensing"},
{ ZBEE_ZCL_CID_TEMPERATURE_MEASUREMENT, "Temperature Measurement"},
{ ZBEE_ZCL_CID_PRESSURE_MEASUREMENT, "Pressure Measurement"},
{ ZBEE_ZCL_CID_FLOW_MEASUREMENT, "Flow Measurement"},
{ ZBEE_ZCL_CID_REL_HUMIDITY_MEASUREMENT, "Relative Humidity Measurement"},
{ ZBEE_ZCL_CID_OCCUPANCY_SENSING, "Occupancy Sensing"},
{ ZBEE_ZCL_CID_ILLUMINANCE_MEASUREMENT, ZBEE_ZCL_CID_ILLUMINANCE_MEASUREMENT, "Illuminance Measurement"},
{ ZBEE_ZCL_CID_ILLUMINANCE_LEVEL_SENSING, ZBEE_ZCL_CID_ILLUMINANCE_LEVEL_SENSING, "Illuminance Level Sensing"},
{ ZBEE_ZCL_CID_TEMPERATURE_MEASUREMENT, ZBEE_ZCL_CID_TEMPERATURE_MEASUREMENT, "Temperature Measurement"},
{ ZBEE_ZCL_CID_PRESSURE_MEASUREMENT, ZBEE_ZCL_CID_PRESSURE_MEASUREMENT, "Pressure Measurement"},
{ ZBEE_ZCL_CID_FLOW_MEASUREMENT, ZBEE_ZCL_CID_FLOW_MEASUREMENT, "Flow Measurement"},
{ ZBEE_ZCL_CID_REL_HUMIDITY_MEASUREMENT, ZBEE_ZCL_CID_REL_HUMIDITY_MEASUREMENT, "Relative Humidity Measurement"},
{ ZBEE_ZCL_CID_OCCUPANCY_SENSING, ZBEE_ZCL_CID_OCCUPANCY_SENSING, "Occupancy Sensing"},
/* Security and Safety */
{ ZBEE_ZCL_CID_IAS_ZONE, "Intruder Alarm System Zone"},
{ ZBEE_ZCL_CID_IAS_ACE, "Intruder Alarm System ACE"},
{ ZBEE_ZCL_CID_IAS_WD, "Intruder Alarm System WD"},
{ ZBEE_ZCL_CID_IAS_ZONE, ZBEE_ZCL_CID_IAS_ZONE, "Intruder Alarm System Zone"},
{ ZBEE_ZCL_CID_IAS_ACE, ZBEE_ZCL_CID_IAS_ACE, "Intruder Alarm System ACE"},
{ ZBEE_ZCL_CID_IAS_WD, ZBEE_ZCL_CID_IAS_WD, "Intruder Alarm System WD"},
/* Protocol Interfaces */
{ ZBEE_ZCL_CID_GENERIC_TUNNEL, "BACnet Generic Tunnel"},
{ ZBEE_ZCL_CID_BACNET_PROTOCOL_TUNNEL, "BACnet Protocol Tunnel"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_REG, "BACnet Analog Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_EXT, "BACnet Analog Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_REG, "BACnet Analog Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_EXT, "BACnet Analog Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_REG, "BACnet Analog Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_EXT, "BACnet Analog Value (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_INPUT_REG, "BACnet Binary Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_INPUT_EXT, "BACnet Binary Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_REG, "BACnet Binary Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_EXT, "BACnet Binary Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_VALUE_REG, "BACnet Binary Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_VALUE_EXT, "BACnet Binary Value (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_REG, "BACnet Multistage Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_EXT, "BACnet Multistage Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_REG, "BACnet Multistage Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_EXT, "BACnet Multistage Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_REG, "BACnet Multistage Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_EXT, "BACnet Multistage Value (Extended)"},
{ ZBEE_ZCL_CID_GENERIC_TUNNEL, ZBEE_ZCL_CID_GENERIC_TUNNEL, "BACnet Generic Tunnel"},
{ ZBEE_ZCL_CID_BACNET_PROTOCOL_TUNNEL, ZBEE_ZCL_CID_BACNET_PROTOCOL_TUNNEL, "BACnet Protocol Tunnel"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_REG, ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_REG, "BACnet Analog Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_EXT, ZBEE_ZCL_CID_BACNET_ANALOG_INPUT_EXT, "BACnet Analog Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_REG, ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_REG, "BACnet Analog Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_EXT, ZBEE_ZCL_CID_BACNET_ANALOG_OUTPUT_EXT, "BACnet Analog Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_REG, ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_REG, "BACnet Analog Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_EXT, ZBEE_ZCL_CID_BACNET_ANALOG_VALUE_EXT, "BACnet Analog Value (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_INPUT_REG, ZBEE_ZCL_CID_BACNET_BINARY_INPUT_REG, "BACnet Binary Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_INPUT_EXT, ZBEE_ZCL_CID_BACNET_BINARY_INPUT_EXT, "BACnet Binary Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_REG, ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_REG, "BACnet Binary Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_EXT, ZBEE_ZCL_CID_BACNET_BINARY_OUTPUT_EXT, "BACnet Binary Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_VALUE_REG, ZBEE_ZCL_CID_BACNET_BINARY_VALUE_REG, "BACnet Binary Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_BINARY_VALUE_EXT, ZBEE_ZCL_CID_BACNET_BINARY_VALUE_EXT, "BACnet Binary Value (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_REG, ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_REG, "BACnet Multistage Input (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_EXT, ZBEE_ZCL_CID_BACNET_MULTISTATE_INPUT_EXT, "BACnet Multistage Input (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_REG, ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_REG, "BACnet Multistage Output (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_EXT, ZBEE_ZCL_CID_BACNET_MULTISTATE_OUTPUT_EXT, "BACnet Multistage Output (Extended)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_REG, ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_REG, "BACnet Multistage Value (Regular)"},
{ ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_EXT, ZBEE_ZCL_CID_BACNET_MULTISTATE_VALUE_EXT, "BACnet Multistage Value (Extended)"},
/* ZCL Cluster IDs - Smart Energy */
{ ZBEE_ZCL_CID_KEEP_ALIVE, "Keep-Alive"},
{ ZBEE_ZCL_CID_PRICE, "Price"},
{ ZBEE_ZCL_CID_DEMAND_RESPONSE_LOAD_CONTROL, "Demand Response and Load Control"},
{ ZBEE_ZCL_CID_SIMPLE_METERING, "Simple Metering"},
{ ZBEE_ZCL_CID_MESSAGE, "Message"},
{ ZBEE_ZCL_CID_TUNNELING, "Tunneling"},
{ ZBEE_ZCL_CID_PRE_PAYMENT, "Pre-Payment"},
{ ZBEE_ZCL_CID_ENERGY_MANAGEMENT, "Energy Management"},
{ ZBEE_ZCL_CID_CALENDAR, "Calendar"},
{ ZBEE_ZCL_CID_DEVICE_MANAGEMENT, "Device Management"},
{ ZBEE_ZCL_CID_EVENTS, "Events"},
{ ZBEE_ZCL_CID_MDU_PAIRING, "MDU Pairing"},
{ ZBEE_ZCL_CID_SUB_GHZ, "Sub-Ghz"},
{ ZBEE_ZCL_CID_DAILY_SCHEDULE, "Daily Schedule"},
{ ZBEE_ZCL_CID_KEEP_ALIVE, ZBEE_ZCL_CID_KEEP_ALIVE, "Keep-Alive"},
{ ZBEE_ZCL_CID_PRICE, ZBEE_ZCL_CID_PRICE, "Price"},
{ ZBEE_ZCL_CID_DEMAND_RESPONSE_LOAD_CONTROL, ZBEE_ZCL_CID_DEMAND_RESPONSE_LOAD_CONTROL, "Demand Response and Load Control"},
{ ZBEE_ZCL_CID_SIMPLE_METERING, ZBEE_ZCL_CID_SIMPLE_METERING, "Simple Metering"},
{ ZBEE_ZCL_CID_MESSAGE, ZBEE_ZCL_CID_MESSAGE, "Message"},
{ ZBEE_ZCL_CID_TUNNELING, ZBEE_ZCL_CID_TUNNELING, "Tunneling"},
{ ZBEE_ZCL_CID_PRE_PAYMENT, ZBEE_ZCL_CID_PRE_PAYMENT, "Pre-Payment"},
{ ZBEE_ZCL_CID_ENERGY_MANAGEMENT, ZBEE_ZCL_CID_ENERGY_MANAGEMENT, "Energy Management"},
{ ZBEE_ZCL_CID_CALENDAR, ZBEE_ZCL_CID_CALENDAR, "Calendar"},
{ ZBEE_ZCL_CID_DEVICE_MANAGEMENT, ZBEE_ZCL_CID_DEVICE_MANAGEMENT, "Device Management"},
{ ZBEE_ZCL_CID_EVENTS, ZBEE_ZCL_CID_EVENTS, "Events"},
{ ZBEE_ZCL_CID_MDU_PAIRING, ZBEE_ZCL_CID_MDU_PAIRING, "MDU Pairing"},
{ ZBEE_ZCL_CID_SUB_GHZ, ZBEE_ZCL_CID_SUB_GHZ, "Sub-Ghz"},
{ ZBEE_ZCL_CID_DAILY_SCHEDULE, ZBEE_ZCL_CID_DAILY_SCHEDULE, "Daily Schedule"},
/* ZCL Cluster IDs - Key Establishment */
{ ZBEE_ZCL_CID_KE, "Key Establishment"},
{ ZBEE_ZCL_CID_KE, ZBEE_ZCL_CID_KE, "Key Establishment"},
/* ZCL Cluster IDs - Home Automation */
{ZBEE_ZCL_CID_APPLIANCE_IDENTIFICATION, "Appliance Identification"},
{ZBEE_ZCL_CID_METER_IDENTIFICATION, "Meter Identification"},
{ZBEE_ZCL_CID_APPLIANCE_EVENTS_AND_ALERT, "Appliance Events And Alerts"},
{ZBEE_ZCL_CID_APPLIANCE_STATISTICS, "Appliance Statistics"},
{ZBEE_ZCL_CID_APPLIANCE_IDENTIFICATION, ZBEE_ZCL_CID_APPLIANCE_IDENTIFICATION, "Appliance Identification"},
{ZBEE_ZCL_CID_METER_IDENTIFICATION, ZBEE_ZCL_CID_METER_IDENTIFICATION, "Meter Identification"},
{ZBEE_ZCL_CID_APPLIANCE_EVENTS_AND_ALERT, ZBEE_ZCL_CID_APPLIANCE_EVENTS_AND_ALERT, "Appliance Events And Alerts"},
{ZBEE_ZCL_CID_APPLIANCE_STATISTICS, ZBEE_ZCL_CID_APPLIANCE_STATISTICS, "Appliance Statistics"},
{ZBEE_ZCL_CID_ZLL, "ZLL Commissioning"},
{ 0, NULL }
{ZBEE_ZCL_CID_ZLL, ZBEE_ZCL_CID_ZLL, "ZLL Commissioning"},
/* ZCL Cluster IDs - Manufacturer Specific */
{ZBEE_ZCL_CID_MANUFACTURER_SPECIFIC_MIN, ZBEE_ZCL_CID_MANUFACTURER_SPECIFIC_MAX, "Manufacturer Specific"},
{ 0, 0, NULL }
};
/* APS Test Profile #2 Cluster Names */
@ -1879,8 +1882,8 @@ void proto_register_zbee_aps(void)
NULL, HFILL }},
{ &hf_zbee_aps_cluster,
{ "Cluster", "zbee_aps.cluster", FT_UINT16, BASE_HEX,
VALS(zbee_aps_cid_names), 0x0, NULL, HFILL }},
{ "Cluster", "zbee_aps.cluster", FT_UINT16, BASE_HEX | BASE_RANGE_STRING,
RVALS(zbee_aps_cid_names), 0x0, NULL, HFILL }},
{ &hf_zbee_aps_profile,
{ "Profile", "zbee_aps.profile", FT_UINT16, BASE_HEX | BASE_RANGE_STRING,

View File

@ -223,6 +223,9 @@
#define ZBEE_ZCL_CID_ZLL 0x1000
#define ZBEE_ZCL_CID_MANUFACTURER_SPECIFIC_MIN 0xFC00
#define ZBEE_ZCL_CID_MANUFACTURER_SPECIFIC_MAX 0xFFFF
/* ZCL Test Profile #2 Clusters */
#define ZBEE_APS_T2_CID_TCP 0x0001
#define ZBEE_APS_T2_CID_RESPC 0x0002
@ -306,7 +309,7 @@ enum {
**************************************
*/
extern const value_string zbee_aps_cid_names[];
extern const range_string zbee_aps_cid_names[];
extern const range_string zbee_aps_apid_names[];
#endif /* PACKET_ZBEE_APS_H*/

View File

@ -2227,7 +2227,7 @@ proto_register_zbee_nwk_gp(void)
0x0, NULL, HFILL } },
{ &hf_zbee_nwk_gp_zcl_attr_cluster_id,
{ "ZigBee Cluster ID", "zbee_nwk_gp.zcl.attr.cluster_id", FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names),
{ "ZigBee Cluster ID", "zbee_nwk_gp.zcl.attr.cluster_id", FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names),
0x0, NULL, HFILL }},
{ &hf_zbee_nwk_gp_cmd_channel_request_toggling_behaviour,

View File

@ -3071,7 +3071,7 @@ proto_register_zbee_zcl_scenes(void)
0x00, NULL, HFILL }},
{ &hf_zbee_zcl_scenes_extension_set_cluster,
{ "Cluster", "zbee_zcl_general.scenes.extension_set.cluster", FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names),
{ "Cluster", "zbee_zcl_general.scenes.extension_set.cluster", FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names),
0x00, NULL, HFILL }},
{ &hf_zbee_zcl_scenes_extension_set_onoff,
@ -9632,7 +9632,7 @@ void proto_register_zbee_zcl_part(void)
0x00, NULL, HFILL } },
{ &hf_zbee_zcl_part_partitioned_cluster_id,
{ "Partitioned Cluster ID", "zbee_zcl_general.part.part_cluster_id", FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names),
{ "Partitioned Cluster ID", "zbee_zcl_general.part.part_cluster_id", FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names),
0x00, NULL, HFILL } },
{ &hf_zbee_zcl_part_ack_opt,
@ -15316,7 +15316,7 @@ proto_register_zbee_zcl_gp(void)
{ "Number of Client clusters", "zbee_zcl_general.gp.pc.n_srv_clusters", FT_UINT8, BASE_DEC,
NULL, ZBEE_ZCL_GP_CLUSTER_LIST_LEN_CLI, NULL, HFILL }},
{ &hf_zbee_gp_gpd_cluster_id,
{ "Cluster ID", "zbee_zcl_general.gp.pc.cluster", FT_UINT8, BASE_HEX, VALS(zbee_aps_cid_names),
{ "Cluster ID", "zbee_zcl_general.gp.pc.cluster", FT_UINT8, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names),
0x0, NULL, HFILL }},
/* GP Sink Table Request and GP Proxy Table Request commands */

View File

@ -170,7 +170,7 @@ dissect_zbee_zdp_req_bind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
offset += 1;
ti = proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
if (version >= ZBEE_VERSION_2007) {
proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_addr_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN, &dst_mode);
@ -201,7 +201,7 @@ dissect_zbee_zdp_req_bind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
zbee_append_info(tree, pinfo, ", Dst: %s", eui64_to_display(wmem_packet_scope(), dst64));
}
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
/* Dump any leftover bytes. */
zdp_dump_excess(tvb, offset, pinfo, tree);
@ -231,7 +231,7 @@ dissect_zbee_zdp_req_unbind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
offset += 1;
ti = proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
if (version >= ZBEE_VERSION_2007) {
proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_addr_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN, &dst_mode);
@ -262,7 +262,7 @@ dissect_zbee_zdp_req_unbind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
zbee_append_info(tree, pinfo, ", Dst: %s", eui64_to_display(wmem_packet_scope(), dst64));
}
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
/* Dump any leftover bytes. */
zdp_dump_excess(tvb, offset, pinfo, tree);
@ -339,7 +339,7 @@ dissect_zbee_zdp_req_store_bak_bind_entry(tvbuff_t *tvb, packet_info *pinfo, pro
offset += 1;
ti = proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_addr_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN, &dst_mode);
offset += 1;
@ -357,7 +357,7 @@ dissect_zbee_zdp_req_store_bak_bind_entry(tvbuff_t *tvb, packet_info *pinfo, pro
zbee_append_info(tree, pinfo, ", Src: %s", eui64_to_display(wmem_packet_scope(), src64));
zbee_append_info(tree, pinfo, ", Src Endpoint: %d", src_ep);
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
zbee_append_info(tree, pinfo, ", %s (Cluster ID: 0x%04x)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"), cluster);
/* Dump any leftover bytes. */
zdp_dump_excess(tvb, offset, pinfo, tree);

View File

@ -198,7 +198,7 @@ dissect_zbee_zdp_req_match_desc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
for (i=0; i<in_count; i++) {
ti = proto_tree_add_item_ret_uint(field_tree, hf_zbee_zdp_in_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
}
/* Add the output cluster list. */
@ -210,7 +210,7 @@ dissect_zbee_zdp_req_match_desc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
for (i=0; i<out_count; i++) {
ti = proto_tree_add_item_ret_uint(field_tree, hf_zbee_zdp_out_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
}
zbee_append_info(tree, pinfo, ", Nwk Addr: 0x%04x, Profile: 0x%04x", device, profile);
@ -1291,12 +1291,12 @@ dissect_zbee_zdp_rsp_ext_simple_desc(tvbuff_t *tvb, packet_info *pinfo, proto_tr
for (i=idx; (i<in_count) && tvb_bytes_exist(tvb, offset, sizeof_cluster); i++) {
ti = proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_in_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
} /* for */
for (i-=in_count; (i<out_count) && tvb_bytes_exist(tvb, offset, sizeof_cluster); i++) {
ti = proto_tree_add_item_ret_uint(tree, hf_zbee_zdp_out_cluster, tvb, offset, sizeof_cluster, ENC_LITTLE_ENDIAN, &cluster);
offset += sizeof_cluster;
proto_item_append_text(ti, " (%s)", val_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
proto_item_append_text(ti, " (%s)", rval_to_str(cluster, zbee_aps_cid_names, "Unknown Cluster"));
} /* for */
zbee_append_info(tree, pinfo, ", Nwk Addr: 0x%04x", device);

View File

@ -1381,7 +1381,7 @@ void proto_register_zbee_zdp(void)
NULL, HFILL }},
{ &hf_zbee_zdp_addr_mode,
{ "Address Mode", "zbee_zdp.addr_mode", FT_UINT8, BASE_DEC|BASE_RANGE_STRING, RVALS(zbee_zcl_zdp_address_modes), 0x0,
{ "Address Mode", "zbee_zdp.addr_mode", FT_UINT8, BASE_DEC | BASE_RANGE_STRING, RVALS(zbee_zcl_zdp_address_modes), 0x0,
NULL, HFILL }},
{ &hf_zbee_zdp_cluster,
@ -1409,11 +1409,11 @@ void proto_register_zbee_zdp(void)
NULL, HFILL }},
{ &hf_zbee_zdp_in_cluster,
{ "Input Cluster", "zbee_zdp.in_cluster", FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names), 0x0,
{ "Input Cluster", "zbee_zdp.in_cluster", FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names), 0x0,
NULL, HFILL }},
{ &hf_zbee_zdp_out_cluster,
{ "Output Cluster", "zbee_zdp.out_cluster", FT_UINT16, BASE_HEX, VALS(zbee_aps_cid_names), 0x0,
{ "Output Cluster", "zbee_zdp.out_cluster", FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(zbee_aps_cid_names), 0x0,
NULL, HFILL }},
{ &hf_zbee_zdp_assoc_device_count,