Initiating Smart Meter Commands from an External Application

Though often initiated as part of an orchestration activity (such as Enable Service or Exchange Meter) or from the Oracle Utilities Meter Data Management application, smart meter commands can also be initiated from external applications such as a customer information system such as Oracle Utilities Customer Care and Billing, a self-service application such as Oracle Utilities Digital Self-Service Transactions, or an outage management system such as Oracle Utilities Network Management System.

External applications initiate commands through the use of inbound web services, and outbound messages are used to send the results back to the initiating application. This section describes how smart meter commands can be initiated from external applications. 

Command Processing Overview

This section provides a high level overview of how the system processes commands initiated from external applications.

For each step in the process, the table below provides a brief description of the processing that takes place, and lists the specific base package objects used. Note that the process outlined below has been simplified for illustrative purposes, and does not reference every step performed in this process. This example uses an "On-Demand Read - Interval" command.

Table listing the steps of command initiation and processing

Step

Process

Sample Object

1

External application initiates a command request via inbound web service

Inbound Web Service: D1-OnDemandReadInterval

2

Command activity is created in the Pending state.

Activity Business Object: D1-OnDemandReadInterval

3

The command activity goes through it's lifecycle, creating outbound communications as defined by the head end system, receiving the response.

4

When the command enters the Completed state, an Enter algorithm sends the result to the initiating application. 

Algorithm: Send On Demand Read to Edge Application (D1-SNDRDTEA)

5

The algorithm uses a "Response - Success" processing method (based on the the Response - Success (D1SR) processing role) defined for the external application to create an outbound message (based on the outbound message type defined for the processing method).

Processing Method Business Object: How to Send Activity Related O\B Messages (D1-HowToSendActivityResponse) 

Outbound Message Business Object: Outbound Message for Communication BOs (D1-OutboundMessage)

6

The external system and message sender sends the outbound message to the external application.

Inbound Web Services

This section provides information about the inbound web services available for initiating smart meter commands from an external application. The table below lists the smart meter commands available, and the specific inbound web services provided for each.

Table listing supported commands and corresponding inbound web services

Command

Inbound Web Service

Device Status Check

Device Status Check (D1-DeviceStatusCheck)

On-Demand Read (Interval)

On Demand Read Interval (D1-OnDemandReadInterval)

On-Demand Read (Scalar)

On Demand Read Scalar (D1-OnDemandReadScalar)

Remote Connect

Remote Connect (D1-RemoteConnect)

Remote Disconnect

Remote Disconnect (D1-RemoteDisconnect)

See  Inbound Web Services  for more information about using inbound web services.

Required Data Elements

The inbound web service calls used to initiate commands must include some specific data elements in order to be successfully processed. 

The table below lists the specific data elements required when initiating commands via inbound web service calls. Use the WSDL link to view the full web service description language definition for each command.

Table listing required data elements

Data Element

Description

Used by

requester

The system or person submitting the command request. This should be the name of the external application.

Device Status Check

On-Demand Read (Interval)

On-Demand Read (Scalar)

Remote Connect

Remote Disconnect

utilityDeviceIdentifierNumber

The ID of the device in the external system. This should be based on the Utility Device ID Type defined for the external application. For example, if the external application uses Serial Numbers for their device IDs, this would be the device's serial number.

Device Status Check

On-Demand Read (Interval)

On-Demand Read (Scalar)

Remote Connect

Remote Disconnect

measurementDestination

The destination for measurements returned by On-Demand read commands, from the Measurement Destination (MSRMT_​DEST_​FLG) lookup. Valid values include:

  • Calling Edge Application (D1EA)

  • Calling & Subscribing Edge Application (D1ES)

  • Measurement Subscribing Edge Application (D1SE)

On-Demand Read (Interval)

On-Demand Read (Scalar)

Send to Edge Application Algorithms

As noted above, when the command enters the Completed state, an Enter algorithm sends the result to the initiating application. The table below lists the specific algorithms used with each command.

Table listing activity business objects and corresponding algorithms

Activity Business Object

Send to Edge Application Algorithm

Device Status Check (D1-DeviceStatusCheck)

Send Device Status Check Notification to Edge Application (D1-SNDDVSTCK)

On Demand Read Interval (D1-OnDemandReadInterval)

Send On Demand Read to Edge Application (D1-SNDRDTEA)

On Demand Read Scalar (D1-OnDemandReadScalar)

Send On Demand Read to Edge Application (D1-SNDRDTEA)

Remote Connect (D1-RemoteConnect)

Send Remote Connect Notification to Edge Application (D1-SRCNTEA)

Remote Disconnect (D1-RemoteDisconnect)

Send Remote Disconnect Notification to Edge Application (D1-SRDNTEA)

Sending Messages Back to the External Application

Sending outbound communications to am external application involves configuring a number of entities. This section provides an overview of the objects required to send outbound communications to external applications.

Outbound Message Types

Outbound message types define the details of outbound messages sent to the external application. You should create an outbound message type for each different type of message to be sent to the external application.

See  Outbound Messages and  Defining Outbound Message Types  for more information about creating outbound message types.

Message Senders

Message senders define details for sending messages to external applications. You must create a message sender for each type of message to be sent to the external application.

Note: The Message Class MUST be set to SOAPSNDR (Sender for real-time HTTP / SOAP messages).

See  Message Senders  for more information about creating message senders.

External Systems

You must create an external system that represents the external application and defines the outbound message types that can be sent to the external application. The external system will be referenced on the external application.

You must configure an outbound message type on the external system for each type of message you will send to the external application. An external system’s outbound message types are defined by the following:

  • Outbound Message Type: The outbound message type (see above) created for the message

  • Processing Method: The method by which the message will be sent. This should be set to “Real-time”.

  • Message Sender: The message sender (see above) created for the message.

  • Message XSL / Response XSL: XSL files used to transform your message and the response to the message into the appropriate format used by the external application (Message XSL) and Smart Grid Gateway (Response XSL). 

See  External Systems  for more information about creating external systems.

External Applications

The external applications that can initiate smart meter commands must be defined as External Applications. Examples can include:

  • A customer information system (such as Oracle Utilities Customer Care and Billing)

  • A self-service application (such as Oracle Utilities Digital Self-Service Transactions)

Information defined for external applications include:

  • External System: The external system (see above) the defines the types of outbound messages to be sent to the external application.

  • Our Name/ID in Their System: The value that the external application uses to identify our system.

  • Utility Device ID Type: The Device ID Type that will be used when communicating with the external application and it will be the assumed Device ID Type for any device identifiers sent from the external application.

  • Utility Service Point ID Type: The Service Point ID Type that will be used when communicating with the external application and it will be the assumed Service Point ID Type for any service point identifiers sent from the external application.

  • Processing Methods: The external application’s processing methods define how data relevant to the application is sent and/or created. At least one processing method should reference the outbound message type used to send responses to the external application. External applications that initiate smart meter commands should use the following processing roles:

    • Response- Success: Used to send an acknowledgement that the command was successfully executed and the results of the command, if applicable.  

Refer to  Understanding External Applications  and  Configuring External Applications  for more information about external applications.