Payload Handler Classes and Parameters

This section provides valid Payload Handler Class Names and associated dynamic parameters for supported head end systems and payload types.

Adapter Development Kit

As delivered, the Adapter Development Kit supports payload processing of usage and event data exported from an AMI head end system in the “native” initial measurement and device event data formats (the format of the initial measurement and device event seeder business objects). See The Adapter Development Kit Native Format for more information.

Payload Type: ADK CSV

  • Payload Handler Class: com.splwg.d1.domain.sgg.dg.processing.CSVPayloadHandler

Payload Type: ADK XML

  • Payload Handler Class: com.splwg.d1.domain.sgg.dg.processing.XMLPayloadHandler

Payload Type: ADK Seeder

  • Payload Handler Class: com.splwg.d1.domain.sgg.dg.processing.SeederPayloadHandler

Processing Custom and Non-Standard Formats

The Adapter Development Kit can be configured to support payload processing of data from AMI head end systems in custom and non-standard formats. Processing payloads of this type requires a specific Payload Handler Class (see below), and creation of Groovy Library Scripts to parse and transform data into the “native” format. See Adapter Development Kit Custom Payload Processing and Payload Processing User Exit Interceptor Scripts for more information.

  • Payload Handler Class: com.splwg.d1.domain.sgg.dg.processing.PayloadHandlerViaUserExits

The Adapter Development Kit also supports payload processing of data in the Common Information Model (CIM) format. See Adapter Development Kit Common Information Model (CIM) Payload Processing for more information.

Adapter for Itron OpenWay

Payload Type: Itron OpenWay XML

  • Payload Handler Class: com.splwg.d1.domain.sgg.d8.processing.ItronXMLPayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

intervalValueDecPlaces

Optional value. Specifies the number of digits after the decimal place for the quantity value. If this parameter is missing, the processing logic defaults the number of digits after the decimal place to 6.

filterRegisterSource

Optional value. Determines if source register data should be filtered. Valid values are ‘true’ and ‘false’ (default)

Payload Type: Itron OpenWay Exception

  • Payload Handler Class: com.splwg.d1.domain.sgg.d8.processing.ExceptionPayloadHandler

MV90 Adapter for Itron

Payload Type: MV90

  • Payload Handler Class: com.splwg.d1.domain.sgg.d5.processing.MV90PayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

usePhysicalChannel

Optional value. Determines whether the physical channel ID is passed to the IMD seeder to create the measuring component identifier number. If this is set to false, the MV90 LOGCHAN field is used.

fieldForDvcIdN

Optional value. Specifies which field is used as the value for the device ID. Valid values include:

  • DC_​RECID

  • DC_​CUSTID

  • DC_​METERID (default)

MV90ScalarChannelSuffix

Optional value. Holds a suffix value to be added to the measuring component identifier number when a scalarIMD is created for register reads. Default value is “_​S”

processMV90ScalarData

Optional value. Determines if register reads are processed. Valid values are ‘true’ and ‘false’ (default).

sendStatusAsIs

Optional value. Determines if the status codes will be passed as they came from the head end. If this set to false or not provided, then the default existing behavior when a status code is parsed and status types passed to the IMD seeder in which bits are turned on. Valid values are ‘true’ and ‘false’ (default).

MV90DateFormat

Optional value. Holds the date format used to parse provided date-time fields. The code supports the limited list of values for the format. If this parameter is missing or if the value supplied to it does not match the values from this list then the format used will be MDDYYhhmm, the default value. Valid values include:

  • MMDDYYhhmm (default)

  • MMYYDDhhmm

  • DDMMYYhhmm

  • DDYYMMhhmm

  • YYMMDDhhmm

  • YYDDMMhhmm

MV90IntervalValueDecPlaces

Optional value. Specifies the number of digits after the decimal place for the quantity value. If this parameter is missing, the processing logic defaults the number of digits after the decimal place to 6.

MV90StrtmtrAndStopmtrToDecimal

Optional value. Determines if the MV90 STRTMTR (Start Reading Meter) and STOPMTR (Stop Reading Meter) will be converted to a decimal. The processing logic will treat these fields as decimal use the setting to determine how many decimal points are required.

Adapter for Landis+Gyr

Payload Type: L+G Usage

  • Payload Handler Class: com.splwg.d1.domain.sgg.d3.processing.LGUsagePayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

dateTimeInUTC

Indicates whether the Landis+Gyr system is sending date/time information in UTC (true) or local time of the device (false). If not provided the default behavior will be local time of the device. Valid values are ‘true’ and ‘false’ (default)

Payload Type: L+G Event

  • Payload Handler Class: com.splwg.d1.domain.sgg.d3.processing.LGEventPayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

dateTimeInUTC

Indicates whether the Landis+Gyr system is sending date/time information in UTC (true) or local time of the device (false). If not provided the default behavior will be local time of the device. Valid values are ‘true’ and ‘false’ (default)

Payload Type: L+G CIM Event

  • Payload Handler Class: com.splwg.d1.domain.sgg.d3.processing.LGCIMEventPayloadHandler
  • Dynamic Parameters: N/A

Adapter for Sensus

Payload Type: Sensus RNI Usage

  • Payload Handler Class: com.splwg.d1.domain.sgg.d6.processing.SensusUsagePayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

dateTimeInUTC

Indicates whether the Sensus RNI system is sending date/time information in UTC (true) or local time of the device (false). If not provided the default behavior will be local time of the device. Valid values are ‘true’ and ‘false’ (default).

useExternalTOU

Applies to Scalar usage only.

Indicates whether or not an externally referenced TOU period should be used when processing measurement data.

When set to true the TOU period Sensus provides will be passed to the IMD Seeder as an external TOU “preVEE/externalTOU”. When not provided or set to false then the TOU period Sensus provides will be passed to the IMD Seeder as the external MC identifier number “preVEE/mcIdN”. Valid values are ‘true’ and ‘false’ (default).

sendStatusAsIs

Determines if the status codes will be passed as they received from the head end. When set to true status codes will be sent as they are received from the head end. When not provided or set to false the status codes from the head will be processed through a bit mask to produce multiple individual statuses. Valid values are ‘true’ and ‘false’ (default).

sendIntervalDateTimes

When set to true the “preVEE/msrms/mL/dt” element of the IMD seeder for interval records will be populated with the interval date/time and the element “preVEE/enDt” will be populated with the interval date/time of the last interval. When not provided or set to false the “preVEE/msrms/mL/dt” element of the IMD seeder for interval records will not be populated and the element “preVEE/enDt” will be populated with: start date + spi * number of intervals. Valid values are ‘true’ and ‘false’ (default).

scalarExpanding

Optional Value. Defines the number of register reads to process in scalar payloads. When defined, Sensus payload processing uses this setting to ensure that all the scalar reads included in a payload will be processed.

Default value is 2.

Payload Type: Sensus RNI Event

  • Payload Handler Class: com.splwg.d1.domain.sgg.d6.processing.SensusEventPayloadHandler
  • Dynamic Parameters:

Dynamic Parameter Name

Description and Valid Values

dateTimeInUTC

Indicates whether the Sensus RNI system is sending date/time information in UTC (true) or local time of the device (false). If not provided the default behavior will be local time of the device. Valid values are ‘true’ and ‘false’ (default)

Adapter for Silver Spring Networks

Payload Type: Silver Spring Networks CSV

  • Payload Handler Class: com.splwg.d1.domain.sgg.d7.processing.SSNCSVPayloadHandler

Payload Type: Silver Spring Networks XML

  • Payload Handler Class: com.splwg.d1.domain.sgg.d7.processing.SSNXMLPayloadHandler

Common Parameters

The following parameters can be used by all of the supported head end system adapters.

Dynamic Parameter Name

Description and Valid Values

suppressPayloadStatistics

Optional parameter. Determines if the PayloadStatistics business object will not be created while processing payload. If this set to false or not provided, then the default existing behavior when a PayloadStatistics business object is created at the start of the payload processing. Valid values are ‘true’ and ‘false’ (default).

suppressPayloadErrorNotification

Optional parameter. Determines if the PayloadErrorNotification business object will not be created when an error occurs while processing payload. If this set to false or not provided, then the default existing behavior when a PayloadErrorNotification business object is created for every error occurred during the payload processing. If this set to false, the error description will be written into the application log file. Valid values are ‘true’ and ‘false’ (default).

suppressPayloadSummary

Optional parameter. Determines if the PayloadSummary business object will not be created while processing payload. If this set to false or not provided, then the default existing behavior when a PayloadSummary business object is created at the end of the payload processing. Valid values are ‘true’ and ‘false’ (default).

commitSizeInKB

Optional Parameter. Specifies the total amount of memory (in KB) allocated for Device Event and IMD seeders before they are committed. Seeders are kept in memory until their size exceeds the value defined for this parameter or the end of payload is reached.

Default value is 100.

Note: This parameter (either the default value or a specified value) is ignored when the chunkSize parameter is set.

chunkSize

Optional parameter. Specifies the size in bytes of a portion (chunk) of the payload that will be processed in a single batch “thread”.

If parameter is set, the commitSizeInKB parameter is ignored.

This parameter is supported by the following payload formats:
  • Landis+Gyr Usage

  • Landis+Gyr Events

  • MV90 Usage

  • Sensus RNI Usage

  • Sensus RNI Events

  • Silver Spring Networks Usage (CSV)

  • Adapter Development Kit Usage sample format (CSV)

  • Adapter Development Kit via User Exits (if an instance returned from the getParser method implements the com.splwg.d1.domain.sgg.dg.processing.ChunkProcessor  interface).