Enumerations

‘Attribute ID’ Enumerations

The following structure contains the enumerations used to identify the attributes of the Simple Metering cluster.

Note: Some of the following enumerations correspond to attributes that are not certifiable in SE 1.1.1 (07-5356-17) or earlier and are for future use (as indicated in the attribute descriptions in Section 42.2).

typedef enum PACK
{
    /* Reading information attribute set attribute IDs*/
    E_CLD_SM_ATTR_ID_CURRENT_SUMMATION_DELIVERED     =    0x0000,
    E_CLD_SM_ATTR_ID_CURRENT_SUMMATION_RECEIVED,
    E_CLD_SM_ATTR_ID_CURRENT_MAX_DEMAND_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_MAX_DEMAND_RECEIVED,
    E_CLD_SM_ATTR_ID_DFT_SUMMATION,
    E_CLD_SM_ATTR_ID_DAILY_FREEZE_TIME,
    E_CLD_SM_ATTR_ID_POWER_FACTOR,
    E_CLD_SM_ATTR_ID_READING_SNAPSHOT_TIME,
    E_CLD_SM_ATTR_ID_CURRENT_MAX_DEMAND_DELIVERED_TIME,
    E_CLD_SM_ATTR_ID_CURRENT_MAX_DEMAND_RECEIVED_TIME,
    E_CLD_SM_ATTR_ID_DEFAULT_UPDATE_PERIOD,
    E_CLD_SM_ATTR_ID_FAST_POLL_UPDATE_PERIOD,
    E_CLD_SM_ATTR_ID_CURRENT_BLOCK_PERIOD_CONSUMPTION_DELIVERED,
    E_CLD_SM_ATTR_ID_DAILY_CONSUMPTION_TARGET,
    E_CLD_SM_ATTR_ID_CURRENT_BLOCK,
    E_CLD_SM_ATTR_ID_PROFILE_INTERVAL_PERIOD,
    E_CLD_SM_ATTR_ID_INTERVAL_READ_REPORTING_PERIOD,
    E_CLD_SM_ATTR_ID_PRESET_READING_TIME,
    E_CLD_SM_ATTR_ID_VOLUME_PER_REPORT,
    E_CLD_SM_ATTR_ID_FLOW_RESTRICTION,
    E_CLD_SM_ATTR_ID_SUPPLY_STATUS,
    E_CLD_SM_ATTR_ID_CURRENT_INLET_ENERGY_CARRIER_SUMMATION,
    E_CLD_SM_ATTR_ID_CURRENT_OUTLET_ENERGY_CARRIER_SUMMATION,
    E_CLD_SM_ATTR_ID_INLET_TEMPERATURE,
    E_CLD_SM_ATTR_ID_OUTLET_TEMPERATURE,
    E_CLD_SM_ATTR_ID_CONTROL_TEMPERATURE,
    E_CLD_SM_ATTR_ID_CURRENT_INLET_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_OUTLET_ENERGY_CARRIER_DEMAND,
    /* Time Of Use Information attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_CURRENT_TIER_1_SUMMATION_DELIVERED  =   0x0100,
    E_CLD_SM_ATTR_ID_CURRENT_TIER_1_SUMMATION_RECEIVED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER_2_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER_2_SUMMATION_RECEIVED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER_15_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER_15_SUMMATION_RECEIVED,
    /* Meter status attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_STATUS            =    0x0200,
    E_CLD_SM_ATTR_ID_REMAINING_BATTERY_LIFE,
    E_CLD_SM_ATTR_ID_HOURS_IN_OPERATION,
    E_CLD_SM_ATTR_ID_HOURS_IN_FAULT,
    /* Formatting attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_UNIT_OF_MEASURE            =    0x0300,
    E_CLD_SM_ATTR_ID_MULTIPLIER,
    E_CLD_SM_ATTR_ID_DIVISOR,
    E_CLD_SM_ATTR_ID_SUMMATION_FORMATING,           
    E_CLD_SM_ATTR_ID_DEMAND_FORMATING,
    E_CLD_SM_ATTR_ID_HISTORICAL_CONSUMPTION_FORMATTING,
    E_CLD_SM_ATTR_ID_METERING_DEVICE_TYPE,            
    E_CLD_SM_ATTR_ID_SITE_ID,
    E_CLD_SM_ATTR_ID_METER_SERIAL_NUMBER,
    E_CLD_SM_ATTR_ID_ENERGY_CARRIER_UNIT_OF_MEASURE,
    E_CLD_SM_ATTR_ID_ENERGY_CARRIER_SUMMATION_FORMATTING,
    E_CLD_SM_ATTR_ID_ENERGY_CARRIER_DEMAND_FORMATTING,
    E_CLD_SM_ATTR_ID_TEMPERATURE_UNIT_OF_MEASURE,
    E_CLD_SM_ATTR_ID_TEMPERATURE_FORMATTING,
    /* ESP Historical Consumption set attribute IDs */
    E_CLD_SM_ATTR_ID_INSTANTANEOUS_DEMAND         =    0x0400,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_CONSUMPTION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_CONSUMPTION_RECEIVED,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_CONSUMPTION_DELIVERED,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_CONSUMPTION_RECEIVED,
    E_CLD_SM_ATTR_ID_CURRENT_PARTIAL_PROFILE_INTERVAL_START_TIME_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_PARTIAL_PROFILE_INTERVAL_START_TIME_RECEIVED,
    E_CLD_SM_ATTR_ID_CURRENT_PARTIAL_PROFILE_INTERVAL_VALUE_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_PARTIAL_PROFILE_INTERVAL_VALUE_RECEIVED,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_MAXIMUM_PRESSURE,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_MINIMUM_PRESSURE,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_MAXIMUM_PRESSURE,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_MINIMUM_PRESSURE,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_MAXIMUM_DEMAND,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_MAXIMUM_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_MONTH_MAXIMUM_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_YEAR_MAXIMUM_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_DAY_MAXIMUM_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_PREVIOUS_DAY_MAXIMUM_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_MONTH_MAXIMUM_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_MONTH_MINIMUM_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_YEAR_MAXIMUM_ENERGY_CARRIER_DEMAND,
    E_CLD_SM_ATTR_ID_CURRENT_YEAR_MINIMUM_ENERGY_CARRIER_DEMAND,
    /* Load Profile attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_MAX_NUMBER_OF_PERIODS_DELIVERED     =    0x0500,
    /* Supply Limit attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_CURRENT_DEMAND_DELIVERED      =    0x0600,
    E_CLD_SM_ATTR_ID_DEMAND_LIMIT,
    E_CLD_SM_ATTR_ID_DEMAND_INTEGRATION_PERIOD,
    E_CLD_SM_ATTR_ID_NUMBER_OF_DEMAND_SUBINTERVALS,
    /* Block Information Attribute set attribute IDs */
    /* Block Information Attribute set: No Tier Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_NOTIER_BLOCK1_SUMMATION_DELIVERED  =   0x0700,
    E_CLD_SM_ATTR_ID_CURRENT_NOTIER_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_NOTIER_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier1 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER1_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER1_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER1_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier2 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER2_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER2_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER2_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier5 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER3_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER3_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER3_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier4 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER4_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER4_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER4_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier5 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER5_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER5_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER5_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier6 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER6_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER6_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER6_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier8 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER7_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER7_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER7_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier8 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER8_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER8_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER8_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier9 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER9_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER9_BLOCK2_SUMMATION_DELIVERED,
    :
    E_CLD_SM_ATTR_ID_CURRENT_TIER9_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier10 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER10_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER10_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER10_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier11 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER11_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER11_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER11_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier12 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER12_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER12_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER12_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier13 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER13_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER13_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER13_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier14 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER14_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER14_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER14_BLOCK16_SUMMATION_DELIVERED,
    /* Block Information Attribute set: Tier15 Block Set */
    E_CLD_SM_ATTR_ID_CURRENT_TIER15_BLOCK1_SUMMATION_DELIVERED,
    E_CLD_SM_ATTR_ID_CURRENT_TIER15_BLOCK2_SUMMATION_DELIVERED,
 :
    E_CLD_SM_ATTR_ID_CURRENT_TIER15_BLOCK16_SUMMATION_DELIVERED,
    /* Alarm Attribute set attribute IDs */
    E_CLD_SM_ATTR_ID_GENERIC_ALARM_MASK = 0x0800,
    E_CLD_SM_ATTR_ID_ELECTRICITY_ALARM_MASK,
    E_CLD_SM_ATTR_ID_PRESSURE_ALARM_MASK,
    E_CLD_SM_ATTR_ID_WATER_SPECIFIC_ALARM_MASK,
    E_CLD_SM_ATTR_ID_HEAT_AND_COOLING_SPECIFIC_ALARM_MASK,
    E_CLD_SM_ATTR_ID_GAS_ALARM_MASK,
} teCLD_SM_SimpleMeteringAttributeID;

Parent topic:Enumerations

‘Meter Status’ Enumerations

Enumerations for the u8MeterStatus element in the Simple Metering cluster structure tsSE_SimpleMetering are provided as #defines.

The following enumerated masks can be used to set the meter status:

Enumeration

Description

E_CLD_SM_METER_STATUS_CHECK_METER_MASK

Non-fatal problem detected on meter

E_CLD_SM_METER_STATUS_LOW_BATTERY_MASK

Battery level is low

E_CLD_SM_METER_STATUS_TAMPER_DETECT_MASK

Detected tampering with device

E_CLD_SM_METER_STATUS_POWER_FAILURE_MASK

Indicates power failure on device

E_CLD_SM_METER_STATUS_POWER_QUALITY_MASK

Power anomaly detected

E_CLD_SM_METER_STATUS_LEAK_DETECT_MASK

Detected leak (e.g. of gas or water)

E_CLD_SM_METER_STATUS_SERVICE_DISCONNECT_OPEN_MASK

Service to premises disconnected

Parent topic:Enumerations

‘Unit of Measure’ Enumerations

The following enumerations are used to set the teSE_UnitOfMeasure element in the Simple Metering cluster structure tsSE_SimpleMetering. Separate sets of enumerations are provided for binary and BCD (Binary Coded Decimal) representations.

typedef enum PACK
{
    /* Binary values */
    E_CLD_SM_UOM_KILO_WATTS                = 0x00,
    E_CLD_SM_UOM_CUBIC_METER,
    E_CLD_SM_UOM_CUBIC_FEET,
    E_CLD_SM_UOM_100_CUBIC_FEET,           /* ccf & ccf/h */
    E_CLD_SM_UOM_US_GALLON,                /* USG & USG/h */
    E_CLD_SM_UOM_IMPERIAL_GALLON,          /* IMPG & IMPG/h */
    E_CLD_SM_UOM_BTU,                      /* BTU & BTU/h */
    E_CLD_SM_UOM_LITERS,                   /* Liters & Liters/h */
    E_CLD_SM_UOM_KPA_GAUGE,
    E_CLD_SM_UOM_KPA_ABSOLUTE,
    /* BCD values */
    E_CLD_SM_UOM_KILO_WATTS_BCD            = 0x80,
    E_CLD_SM_UOM_CUBIC_METER_BCD,
    E_CLD_SM_UOM_CUBIC_FEET_BCD,
    E_CLD_SM_UOM_100_CUBIC_FEET_BCD,       /* ccf & ccf/h */
    E_CLD_SM_UOM_US_GALLON_BCD,            /* USG & USG/h */
    E_CLD_SM_UOM_IMPERIAL_GALLON_BCD,      /* IMPG & IMPG/h */
    E_CLD_SM_UOM_BTU_BCD,                  /* BTU & BTU/h */
    E_CLD_SM_UOM_LITERS_BCD,               /* Liters & Liters/h */
    E_CLD_SM_UOM_KPA_GAUGE_BCD,
    E_CLD_SM_UOM_KPA_ABSOLUTE_BCD
} teCLD_SM_UnitOfMeasure;

The above enumerations are detailed in the table below.

Enumeration

Description

Instantaneous

Binary Values

E_CLD_SM_UOM_KILO_WATTS

kW (kiloWatts)

E_CLD_SM_UOM_CUBIC_METER

m3/h (cubic metres per hour)

E_CLD_SM_UOM_CUBIC_FEET

ft3/h (cubic feet per hour)

E_CLD_SM_UOM_100_CUBIC_FEET

ccf/h (100 cubic feet per hour)

E_CLD_SM_UOM_US_GALLON

US gl/h (US Gallons per hour)

E_CLD_SM_UOM_IMPERIAL_GALLON

Imperial gl/h (Imperial Gallons per hour)

E_CLD_SM_UOM_BTU

BTU/h (British Thermal Units per hour)

E_CLD_SM_UOM_LITERS

l/h (litres per hour)

E_CLD_SM_UOM_KPA_GAUGE

kPA (kiloPascal) gauge

E_CLD_SM_UOM_KPA_ABSOLUTE

kPA (kiloPascal) absolute

BCD Values

E_CLD_SM_UOM_KILO_WATTS_BCD

kW (kiloWatts)

E_CLD_SM_UOM_CUBIC_METER_BCD

m3/h (cubic metres per hour)

E_CLD_SM_UOM_CUBIC_FEET_BCD

ft3/h (cubic feet per hour)

E_CLD_SM_UOM_100_CUBIC_FEET_BCD

ccf/h (100 cubic feet per hour)

E_CLD_SM_UOM_US_GALLON_BCD

US gl/h (US Gallons per hour)

E_CLD_SM_UOM_IMPERIAL_GALLON_BCD

Imperial gl/h (Imperial Gallons per hour)

E_CLD_SM_UOM_BTU_BCD

BTU/h (British Thermal Units per hour)

E_CLD_SM_UOM_LITERS_BCD

l/h (litres per hour)

E_CLD_SM_UOM_KPA_GAUGE_BCD

kPA (kiloPascal) gauge

E_CLD_SM_UOM_KPA_ABSOLUTE_BCD

kPA (kiloPascal) absolute

Parent topic:Enumerations

‘Summation Formatting’ Enumerations

Enumerations for use with the u8SummationFormatting element in the Simple Metering cluster structure u8SummationFormatting are provided as #defines. The enumerations allow the following formatting information to be extracted from the u8SummationFormatting bitmap:

Enumeration

Description

E_CLD_SM_FORMATTING_DIGITS_TO_RIGHT_OF_DP_LS_BIT

Position of least significant bit of bit-field indicating number of digits to right of decimal point

E_CLD_SM_FORMATTING_DIGITS_TO_RIGHT_OF_DP_NUMBER_OF_BITS

Number of bits in bit-field indicating number of digits to right of decimal point

E_CLD_SM_FORMATTING_DIGITS_TO_RIGHT_OF_DP_MASK

Bit-mask used to extract number of digits to right of decimal point

E_CLD_SM_FORMATTING_DIGITS_TO_LEFT_OF_DP_LS_BIT

Position of least significant bit of bit-field indicating number of digits to left of decimal point

E_CLD_SM_FORMATTING_DIGITS_TO_LEFT_OF_DP_NUMBER_OF_BITS

Number of bits in bit-field indicating number of digits to left of decimal point

E_CLD_SM_FORMATTING_DIGITS_TO_LEFT_OF_DP_MASK

Bit-mask used to extract number of digits to left of decimal point

E_CLD_SM_FORMATTING_SUPPRESS_LEADING_ZEROS_BIT

Bit-mask used to extract bit indicating whether lead-ing zeros will be suppressed

The following are examples of the use of the above enumerations.

Extracting the number of digits to the right of the decimal point:

u8BitsToRight = (u8SummationFormatting & E_CLD_SM_FORMATTING_DIGITS_TO_RIGHT_OF_DP_MASK) 
>> E_CLD_SM_FORMATTING_DIGITS_TO_RIGHT_OF_DP_LS_BIT

Extracting the number of digits to the left of the decimal point:

u8BitsToLeft = (u8SummationFormatting & E_CLD_SM_FORMATTING_DIGITS_TO_LEFT_OF_DP_MASK) 
>> E_CLD_SM_FORMATTING_DIGITS_TO_LEFT_OF_DP_LS_BIT

Determining whether leading zeros will be suppressed:

bSuppressZeros = !((u8SummationFormatting & E_CLD_SM_FORMATTING_SUPPRESS_LEADING_ZEROS_BIT) == 0)

Parent topic:Enumerations

‘Supply Direction’ Enumerations

The following enumerations are used to indicate the direction of supply.

typedef enum PACK
{
    E_CLD_SM_CONSUMPTION_DELIVERED,
    E_CLD_SM_CONSUMPTION_RECEIVED
}teSM_IntervalChannel;

The above enumerations are detailed in the table below.

Enumeration

Description

E_CLD_SM_CONSUMPTION_DELIVERED

Specifies that the supply is from the customer to the utility company (in cases where the customer generates their own supply)

E_CLD_SM_CONSUMPTION_RECEIVED

Specifies that the supply is from the utility company to the customer

Parent topic:Enumerations

‘Metering Device Type’ Enumerations

The following enumerations are used to set the eMeteringDeviceType element in the Simple Metering cluster structure tsSE_SimpleMetering.

typedef enum PACK
{
    E_CLD_SM_MDT_ELECTRIC                = 0x00,
    E_CLD_SM_MDT_GAS,
    E_CLD_SM_MDT_WATER,
    E_CLD_SM_MDT_THERMAL,                /* Deprecated */
    E_CLD_SM_MDT_PRESSURE,
    E_CLD_SM_MDT_HEAT,
    E_CLD_SM_MDT_COOLING,
    E_CLD_SM_MDT_GAS_MIRRORED            = 0x80,
    E_CLD_SM_MDT_WATER_MIRRORED,
    E_CLD_SM_MDT_THERMAL_MIRRORED,
    E_CLD_SM_MDT_PRESSURE_MIRRORED,
    E_CLD_SM_MDT_HEAT_MIRRORED,
    E_CLD_SM_MDT_COOLING_MIRRORED,
} teCLD_SM_MeteringDeviceType;

The above enumerations are detailed in the table below.

Enumeration

Description

E_CLD_SM_MDT_ELECTRIC

Electric Meter

E_CLD_SM_MDT_GAS

Gas Meter

E_CLD_SM_MDT_WATER

Water Meter

E_CLD_SM_MDT_THERMAL

Thermal Meter (deprecated)

E_CLD_SM_MDT_PRESSURE

Pressure Meter

E_CLD_SM_MDT_HEAT

Heat Meter

E_CLD_SM_MDT_COOLING

Cooling Meter

E_CLD_SM_MDT_GAS_MIRRORED

Mirrored Gas Meter

E_CLD_SM_MDT_WATER_MIRRORED

Mirrored Water Meter

E_CLD_SM_MDT_THERMAL_MIRRORED

Mirrored Thermal Meter (deprecated)

E_CLD_SM_MDT_PRESSURE_MIRRORED

Mirrored Pressure Meter

E_CLD_SM_MDT_HEAT_MIRRORED

Mirrored Heat Meter

E_CLD_SM_MDT_COOLING_MIRRORED

Mirrored Cooling Meter

Parent topic:Enumerations

‘Simple Metering Event’ Enumerations

The event types generated by the Simple Metering cluster are enumerated in the teSM_CallBackEventType structure below:

typedef enum PACK
{
           E_CLD_SM_CLIENT_RECEIVED_COMMAND,                
           E_CLD_SM_SERVER_RECEIVED_COMMAND,
           E_CLD_SM_FAST_POLLING_TIMER_EXPIRED
}teSM_CallBackEventType;

The above event types are described in the table below.

Event Type Enumeration

Description

E_CLD_SM_CLIENT_RECEIVED_COMMAND

Generated on a cluster client when a command is received from the server

E_CLD_SM_SERVER_RECEIVED_COMMAND

Generated on the cluster server when a command is received from a client

E_CLD_SM_FAST_POLLING_TIMER_EXPIRED

Generated on the cluster server when the end-time of a fast polling episode is reached (for future use)

Parent topic:Enumerations

‘Server Command’ Enumerations

The comands issued by a Simple Metering cluster server and received by a client are enumerated in the teSM_ClusterServerCommands structure below:

typedef enum PACK
{
    E_CLD_SM_GET_PROFILE_RESPONSE,
    E_CLD_SM_REQUEST_MIRROR,
    E_CLD_SM_REMOVE_MIRROR,
    E_CLD_SM_REQUEST_FAST_POLL_MODE_RESPONSE,
    E_CLD_SM_CLIENT_ERROR
}teSM_ClusterServerCommands;

Command Enumeration

Description

E_CLD_SM_GET_PROFILE_RESPONSE

Response to ‘Get Profile’ request - content of response is contained in the structure tsS-M_GetProfileResponseCommand in the event (see Section 42.11.9)

E_CLD_SM_REQUEST_MIRROR

An ‘Add Mirror’ request

E_CLD_SM_REMOVE_MIRROR

A ‘Remove Mirror’ request

E_CLD_SM_REQUEST_FAST_POLL_MODE_-RESPONSE

Response to ‘Fast Polling’ request (for future use)

E_CLD_SM_CLIENT_ERROR

Error condition - content of error is contained in the structure tsSM_Error in the event (see Section 42.11.10)

Parent topic:Enumerations

‘Client Command’ Enumerations

The comands issued by a Simple Metering cluster client and received by the server are enumerated in the teSM_ClusterClientCommands structure below:

typedef enum PACK
{
    E_CLD_SM_GET_PROFILE,
    E_CLD_SM_REQUEST_MIRROR_RESPONSE,
    E_CLD_SM_MIRROR_REMOVED,
    E_CLD_SM_REQUEST_FAST_POLL_MODE,
    E_CLD_SM_SERVER_ERROR
}teSM_ClusterClientCommands;

Command Enumeration

Description

E_CLD_SM_GET_PROFILE

A ‘Get Profile’ request - content of request is contained in the structure tsSM_GetProfile-RequestCommand in the event (see Section42.11.8)

E_CLD_SM_REQUEST_MIRROR_RESPONSE

Response to ‘Add Mirror’ request - content of response is contained in the structure tsS-M_RequestMirrorResponseCommand in the event (see Section 42.11.6)

E_CLD_SM_MIRROR_REMOVED

Response to ‘Remove Mirror’ request - content of response is contained in the structure tsS-M_MirrorRemovedResponseCommand in the event (see Section 42.11.7)

E_CLD_SM_REQUEST_FAST_POLL_MODE

A ‘Fast Polling’ request (for future use)

E_CLD_SM_SERVER_ERROR

Error condition - content of error is contained in the structure tsSM_Error in the event (see Section 42.11.10)

Parent topic:Enumerations

‘Consumption Interval’ Enumerations

The following enumerations define the possible time-intervals for the consumption data captured in the ‘Get Profile’ feature.

typedef enum PACK
{
    E_CLD_SM_TIME_FRAME_DAILY,
    E_CLD_SM_TIME_FRAME_60MINS,
    E_CLD_SM_TIME_FRAME_30MINS,
    E_CLD_SM_TIME_FRAME_15MINS,
    E_CLD_SM_TIME_FRAME_10MINS,
    E_CLD_SM_TIME_FRAME_7_5MINS,
    E_CLD_SM_TIME_FRAME_5MINS,
    E_CLD_SM_TIME_FRAME_2_5MINS
}teSM_TimeFrame;

Time Frame Enumeration

Time Interval

E_CLD_SM_TIME_FRAME_DAILY

One day

E_CLD_SM_TIME_FRAME_60MINS

60 minutes

E_CLD_SM_TIME_FRAME_30MINS

30 minutes

E_CLD_SM_TIME_FRAME_15MINS

15 minutes

E_CLD_SM_TIME_FRAME_10MINS

10 minutes

E_CLD_SM_TIME_FRAME_7_5MINS

7.5 minutes

E_CLD_SM_TIME_FRAME_5MINS

5 minutes

E_CLD_SM_TIME_FRAME_2_5MINS

2.5 minutes

Parent topic:Enumerations

‘Simple Metering Status’ Enumerations

The following enumerations are used to report status in the Simple Metering cluster.

typedef enum PACK
{
    E_CLD_SM_STATUS_SUCCESS,
    E_CLD_SM_STATUS_UNDEFINED_INTERVAL_CHANNEL,
    E_CLD_SM_STATUS_INTERVAL_NOT_SUPPORTED,
    E_CLD_SM_STATUS_INVALID_END_TIME,
    E_CLD_SM_STATUS_MORE_PERIODS_REQUESTED_THAN_SUPPORTED,
    E_CLD_SM_STATUS_NO_INTERVALS_AVAILABLE_FOR_REQUESTED_TIME,
    E_CLD_SM_STATUS_EP_NOT_AVAILABLE
}teSM_Status;

Status Enumeration

Description

E_CLD_SM_STATUS_SUCCESS

Success

E_CLD_SM_STATUS_UNDEFINED_INTERVAL_CHANNEL

Undefined eIntervalChannel value speci-fied in ‘Get Profile’ request (see Section42.11.8)

E_CLD_SM_STATUS_INTERVAL_NOT_SUPPORTED

Unsupported consumption data specifed through eIntervalChannel in ‘Get Profile’ request (see Section 42.11.8)

E_CLD_SM_STATUS_INVALID_END_TIME

Invalid end-time specified in ‘Get Profile’ request (Section 42.11.8)

E_CLD_SM_STATUS_MORE_PERIODS_REQUESTED_THAN_SUPPORTED

More periods specified in ‘Get Profile’ request than can be returned

E_CLD_SM_STATUS_NO_INTERVALS_AVAILABLE_FOR_REQUESTED_TIME

No intervals available for the end-time specified in ‘Get Profile’ request

E_CLD_SM_STATUS_EP_NOT_AVAILABLE

Specified endpoint not available

Parent topic:Enumerations

Parent topic:Simple Metering Cluster