Silver Spring Networks Command Flows

The table below lists the communication flows used with each Silver Spring Networks command, including:

  • Command: The specific smart meter command
  • Outbound Communication: The outbound communication business object created by the command. This sends the command request to the head end system.
    • Get Status Outbound Communication: The outbound communication business object used to request the status of a command request
    • Result Outbound Communication: The outbound communication business object used to request the result of a command request
  • Outbound Messages: The outbound message business objects for one or more outbound messages created by the outbound communication. These should be configured on the Silver Spring Networks external system.
  • Completion Event: The completion event(s) triggered by the command, if any. Completion events are used to update data in the system as a result of a smart meter command. For example, if a command changes the status of a device, the completion event is responsible for making that change.

Command

Outbound Communication

Outbound Messages

Completion Event

Device Commissioning (see Note below)

SSN - Replace Location (D7-ReplaceLocationDR)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Replace Location:

SSN - Replace Location (Comm) OB Message (D7-ReplaceLocationOBMsg)

Device Commissioning Completion Event

Device Decommissioning

SSN - Replace Device At Location (Decomm) (D7-ReplDeviceAtLocForDecommDR)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Replace Device at Location:

SSN - Replace Device At Loc O/B Message: (D7-ReplaceDeviceAtLocOBMsg)

Device Decommissioning Completion Event

Remote Connect

SSN - Add Remote Provisioning Job - Polling (D7-AddRemoteProvJobDRP)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Connect Disconnect:

SSN - Connect Disconnect OB Message (D7-ConnectDisconnectOBMsg)

Connect Device Completion Event

Get Status: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Outbound Message (D7-GetJobStatusOutboundMsg)

Result: SSN - Connect Disconnect Results (D7-ConnectDisconnectResultDR)

SSN - GetConnectDisconnectResult OB Message (D7-GetCntDiscntResultOBMsg)

Remote Disconnect

SSN - Add Remote Provisioning Job - Polling (D7-AddRemoteProvJobDRP)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Connect Disconnect:

SSN - Connect Disconnect OB Message (D7-ConnectDisconnectOBMsg)

Disconnect Device Completion Event

Get Status: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Outbound Message (D7-GetJobStatusOutboundMsg)

Result: SSN - Connect Disconnect Results (D7-ConnectDisconnectResultDR)

SSN - GetConnectDisconnectResult OB Message (D7-GetCntDiscntResultOBMsg)

On-Demand Read (Scalar)

SSN - Add Mtr Read Job (Scalar) - Polling (D7-AddMeterReadJobScalarDRP)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Add Meter Read Job Scalar: SSN - Add Meter Read Job Scalar OB Msg Type

(D7-AddMeterReadJobScalarOBMsg)

Create IMD Completion Event

Get Status: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Outbound Message (D7-GetJobStatusOutboundMsg)

Result: SSN - Meter Read Results (Scalar)

(D7-MeterReadResultsScalar)

SSN - GetMeterReadResults(Scalar) By JobId

(D7-GetSclrMtrRdRstByJobIdOBMsg)

On-Demand Read (Interval)

SSN - Add Mtr Read Job (Interval) - Polling (D7-AddMeterReadJobIntervalDRP)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Add Meter Read Job Interval: SSN - AddMeterReadJob Interval OB Msg Type

(D7-AddMeterReadJobIntervalOBMsg)

Create IMD Completion Event

Get Status: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Outbound Message (D7-GetJobStatusOutboundMsg)

Result: SSN - Meter Read Results (Interval)

(D7-MeterReadResultsInterval)

SSN - GetMeterReadResults(Interval) By JobId

(D7-GetIntMtrRdRsltByJobIdOBMsg)

Device Status Check

SSN - Add Ping Job - Polling (D7-AddPingJobDRP)

Find Device:

SSN - Find Device Outbound Message (D7-FindDeviceOutboundMsg)

Add Ping Job:

SSN - Add Ping Job OB Message (D7-AddPingJobOBMsg)

Get Status: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Outbound Message (D7-GetJobStatusOutboundMsg)

Result: SSN - Ping Results (D7-PingResultsDR)

SSN - Get Ping Results O/B Message (D7-GetPingResultsOBMsg)

Note: Service points must be provisioned in the Silver Spring Networks (Itron AMM) system before the Device Commissioning command can be used.

Configuring Communication Types for Job Status Polling

The following outbound communication business objects (from the table above) all have corresponding communication types that must be configured before outbound communications based on those business objects can be created. The table below lists the communication type business objects used with each.

Outbound Communication Business Object

Communication Type Business Object

SSN - Add Remote Provisioning Job - Polling (D7-AddRemoteProvJobDRP)

SSN - Add Remote Prov Job Polling DR Type (D7-AddRemoteProvDRPType)

SSN - Add Mtr Read Job (Scalar) - Polling (D7-AddMeterReadJobScalarDRP)

SSN - Add Meter Read Job (Scalar) Polling DR Type (D7-AddMeterReadJobScalrDRPType)

SSN - Add Mtr Read Job (Interval) - Polling (D7-AddMeterReadJobIntervalDRP)

SSN - Add Meter Read Job (Interval) Polling DR Type (D7-AddMeterReadJobIntDRPType)

SSN - Add Ping Job - Polling (D7-AddPingJobDRP)

SSN - Add Ping Job Polling DR Type (D7-AddPingJobDRPType)

Get Job Status for Polling (D7-GetJobStatusDRP)

SSN - Get Job Status Polling DR Type (D7-GetJobStatusDRPType)

Refer to  Communication Types for more information about communication types.

Get Job Status Polling Parameters and Polling Modes

The Get Job Status Polling parameters on these communication types are used to define how polling works with outbound communications of the corresponding type. These include Retry Frequency parameters (the minimum amount of time (expressed as hours:minutes:seconds) the system will wait between polling iterations for jobs created by communications of this type) and Maximum Retries parameters (the maximum number of times the system will try to poll for the status of jobs created by communications of this type), which must be configured in order to use these outbound communications.

There are two modes of polling:

  • Initial polling occurs immediately and within the same transaction as any previous portion of the command. This setting is useful when the head end is expected to quickly complete the job (within a few seconds). To use Initial polling, define values for the Initial Polling Retry Frequency  and Initial Polling Maximum Retries parameters.

  • Out of Process  polling occurs within its own transaction triggered either separately by a user or by a batch process. This mode is useful when the head end system is likely to take more than a few seconds to complete the job. The Polling Retry Frequency and Polling Maximum Retries parameters are used with Out of Process polling. If these parameters are not configured on the communication type, the values defined in the SSN - Get Job Status Configuration section of the Silver Spring Networks Version Master Configuration are used in their place.

Refer to the Get Job Status Polling embedded help on the above communication types for more information about polling modes and parameters.

Polling and Batch Processing

When a communication enters the "Polling Ready" state, it polls the head end system via a Get Status Outbound Communication. If the initial polling parameters have been exceeded (or the initial polling parameters were not defined), the communication transitions to the "Polling in Progress" state. Communications in this state can be transitioned using the Outbound Communication Polling - Monitor (D7-OCPL) batch process (or the Poll Job Status button in the Outbound Communication zone in the Communication portal.)

If using the Outbound Communication Polling - Monitor (D7-OCPL) batch process, the system should be configured to run the process frequently (every few minutes).

Polling and the creation of Get Job Status outbound communications requires  the following "Get Job Status" processing method be defined for the Silver Spring Networks head end system:

  • Processing Role: Get Job Status

  • Default Business Object: SSN - Get Job Status for Polling (D7-GetJobStatusDRP)

See  Silver Spring Networks Processing Methods  for more information about processing methods used with Silver Spring Networks.

Unit of Measure Filtering for On-Demand Reads

Readings returned via On-Demand Read commands are filtered on the combination of Unit of Measure/Time of Use/Service Quantity Identifiers (UOM/TOU/SQI) configured for the device and measuring component. When filtering is enabled, only readings that match a configured UOM/TOU/SQI combination are processed. All others are filtered out.

Filtering is enabled by default via the “Opt Out Of Filtering” parameter (set to "false" by default) on the D7-CCOMPEVSR (SSN - Create Completion Event Scalar) algorithm on the Create Completion Events status of the D7-MeterReadResultsScalar (SSN - Meter Read Results (Scalar)) business object (for scalar on-demand read commands) and/or on the D7-CCEVTINDR (SSN - Create Completion Event Interval) algorithm on the Create Completion Events status of the D7-MeterReadResultsInterval (SSN - Meter Read Results (Interval)) business object (for interval on-demand read commands).

When filtering is enabled, the “Filter if invalid external MC identifier” parameter on the D7-CCOMPEVSR and D7-CCEVTINDR algorithms controls what should happen if a measuring component cannot be found using the MC Identifier Number sent from the head end system. When set to 'Yes' and no measuring component is found, the initial measurement will be filtered. When set to 'No' and no measuring component is found, the system will attempt to find the measuring component using the UOM and TOU. The value of the “Filter if invalid external MC identifier” on the D7-CCOMPEVSR and D7-CCEVTINDR algorithms must match the value of the “Error if invalid external MC identifier” parameter on the D1-DER-SPRMC algorithm on the IMD Seeder (D1-IMDSeeder) business object. The parameters should both be set to either ‘yes’ or ‘no’.

Deprecated Outbound Communications

The outbound communication business objects listed in the table above replace the following outbound communication business objects, which will be deprecated in a future release.

Command

Deprecated Outbound Communication Business Object

Remote Connect/Remote Disconnect

SSN - Connect or Disconnect (D7-ConnectDisconnectDR)

On-Demand Read (Scalar)

SSN - Add Meter Read Job (Scalar) (D7-AddMeterReadJobScalarDR)

On-Demand Read (Interval)

SSN - Add Meter Read Job (Interval) (D7-AddMeterReadJobIntervalDR)

Device Status Check

SSN - Add Ping Job (D7-AddPingJobDR)