B.2.1 Introduction
The IEEE 2030.5 model is organized into function sets, represented by sub-packages. However, all structures are defined inside a single namespace.
class Version Information IEEE 2030.5
tags
defaultNamespace = urn:ieee:std:2030.5:ns elementFormDefault = qualified
schemaLocation = sep.xsd
targetNamespace = urn:ieee:std:2030.5:ns trace_id =
version = 2.1.0
class Version Information IEEE 2030.5
tags
defaultNamespace = urn:ieee:std:2030.5:ns elementFormDefault = qualified
schemaLocation = sep.xsd
targetNamespace = urn:ieee:std:2030.5:ns trace_id =
version = 2.1.0
class Version Information IEEE 2030.5
tags
defaultNamespace = urn:ieee:std:2030.5:ns elementFormDefault = qualified
schemaLocation = sep.xsd
targetNamespace = urn:ieee:std:2030.5:ns trace_id =
version = 2.1.0

Figure B.1—Version information
B.2.2 DeviceCapability package
Contains definition of the objects used to convey the resources that are implemented by the publishing host.

class DeviceCapability
DeviceCapability
class DeviceCapability
DeviceCapability
class DeviceCapability
DeviceCapability
ListLink
ListLink
ListLink
EndDeviceListLink
EndDeviceListLink
EndDeviceListLink
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..1
0..1
0..1
ListLink
MirrorUsagePointListLink
ListLink
MirrorUsagePointListLink
ListLink
MirrorUsagePointListLink
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Making DeviceCapability
inherit from FunctionSetAssignments allows those group
resources to be published with or without use of FunctionSetAssignments.
Making DeviceCapability
inherit from FunctionSetAssignments allows those group
resources to be published with or without use of FunctionSetAssignments.
Making DeviceCapability
inherit from FunctionSetAssignments allows those group
resources to be published with or without use of FunctionSetAssignments.
Link
Link
Link
«XSDattribute»
::Resource
+ href: anyURI [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
SelfDeviceLink
SelfDeviceLink
SelfDeviceLink
Figure B.2—DeviceCapability DeviceCapability object (FunctionSetAssignmentsBase)
Returned by the URI provided by DNS-SD, to allow clients to find the URIs to the resources in which they are interested.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
B.2.3 Common package
B.2.3.1 Introduction
This package contains objects that are used in multiple function sets.
B.2.3.2 Identification package
Contains super-classes that define the attributes common to categories of objects.

class Identification
class Identification
class Identification
Resource
Resource
Resource
List
List
List
Link
Link
Link
ListLink
ListLink
ListLink
«XSDattribute»
+ href: anyURI [0..1]
«XSDattribute»
+ href: anyURI [0..1]
«XSDattribute»
+ href: anyURI [0..1]
«XSDattribute»
+ all: UInt32
+ results: UInt32
«XSDattribute»
+ all: UInt32
+ results: UInt32
«XSDattribute»
+ all: UInt32
+ results: UInt32
«XSDattribute»
+ href: anyURI
«XSDattribute»
+ href: anyURI
«XSDattribute»
+ href: anyURI
«XSDattribute»
+ all: UInt32 [0..1]
«XSDattribute»
+ all: UInt32 [0..1]
«XSDattribute»
+ all: UInt32 [0..1]
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
SubscribableIdentifiedObject
SubscribableIdentifiedObject
SubscribableIdentifiedObject
SubscribableList
SubscribableList
SubscribableList
RespondableIdentifiedObject
RespondableIdentifiedObject
RespondableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ all: UInt32
+ results: UInt32
«XSDattribute»
+ all: UInt32
+ results: UInt32
«XSDattribute»
+ all: UInt32
+ results: UInt32
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
RespondableSubscribableIdentifiedObject
RespondableSubscribableIdentifiedObject
RespondableSubscribableIdentifiedObject
«XSDattribute»
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
«XSDattribute»
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
«XSDattribute»
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
RespondableResource
RespondableResource
RespondableResource
SubscribableResource
SubscribableResource
SubscribableResource
Figure B.3—Identification IdentifiedObject object (Resource)
This is a root class to provide common naming attributes for all classes needing naming attributes.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
mRID attribute (mRIDType)
The global identifier of the object.
version attribute (VersionType) [0..1]
Contains the version number of the object. See the type definition for details.
Link object ()
Links provide a reference, via URI, to another resource.
href attribute (anyURI) «XSDattribute»
A URI reference.
List Object (Resource)
Container to hold a collection of object instances or references. See Clause 4 (design pattern) for additional details.
all attribute (UInt32) «XSDattribute»
The number specifying “all” of the items in the list. Required on a response to a GET, ignored otherwise.
results attribute (UInt32) «XSDattribute»
Indicates the number of items in this page of results.
ListLink Object (Link)
ListLinks provide a reference, via URI, to a List.
all attribute (UInt32) [0..1] «XSDattribute»
Indicates the total number of items in the referenced list. This attribute SHALL be present if the href is a local or relative URI. This attribute SHOULD NOT be present if the href is a remote or absolute URI, as the server may be unaware of changes to the value.
Resource object ()
A resource is an addressable unit of information, either a collection (List) or instance of an object (identifiedObject, or simply, Resource).
href attribute (anyURI) [0..1] «XSDattribute»
A reference to the resource address (URI). Required in a response to a GET, ignored otherwise.
RespondableIdentifiedObject object (RespondableResource)
An IdentifiedObject to which a Response can be requested.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
mRID attribute (mRIDType)
The global identifier of the object.
version attribute (VersionType) [0..1]
Contains the version number of the object. See the type definition for details.
RespondableResource object (Resource)
A Resource to which a Response can be requested.
replyTo attribute (anyURI) [0..1] «XSDattribute»
A reference to the response resource address (URI). Required on a response to a GET if responseRequired is “true.”
responseRequired attribute (HexBinary8) [0..1] «XSDattribute»
Indicates whether or not a response is required upon receipt, creation, or update of this resource. Responses shall be posted to the collection specified in “replyTo.”
If the resource has a deviceCategory field, devices that match one or more of the device types indicated in deviceCategory SHALL respond according to the rules listed below. If the category does not match, the device SHALL NOT respond. If the resource does not have a deviceCategory field, a device receiving the resource SHALL respond according to the rules listed below.
Value encoded as hex according to the following bit assignments, any combination is possible. See Table 27 for the list of appropriate response status codes to be sent for these purposes.
0 = End device shall indicate that message was received
1 = End device shall indicate specific response
2 = End user/customer response is required All other values reserved.
RespondableSubscribableIdentifiedObject object (RespondableResource)
An IdentifiedObject to which a Response can be requested.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
mRID attribute (mRIDType)
The global identifier of the object.
subscribable attribute (SubscribableType) [0..1] «XSDattribute»
Indicates whether or not subscriptions are supported for this resource, and whether or not conditional (thresholds) are supported. If not specified, is “not subscribable” (0).
version attribute (VersionType) [0..1]
Contains the version number of the object. See the type definition for details.
SubscribableIdentifiedObject object (SubscribableResource)
An IdentifiedObject to which a Subscription can be requested.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
mRID attribute (mRIDType)
The global identifier of the object.
version attribute (VersionType) [0..1]
Contains the version number of the object. See the type definition for details.
SubscribableList object (SubscribableResource)
A List to which a Subscription can be requested.
all attribute (UInt32) «XSDattribute»
The number specifying “all” of the items in the list. Required on GET, ignored otherwise.
results attribute (UInt32) «XSDattribute»
Indicates the number of items in this page of results.
SubscribableResource object (Resource)
A Resource to which a Subscription can be requested.
subscribable attribute (SubscribableType) [0..1] «XSDattribute»
Indicates whether or not subscriptions are supported for this resource, and whether or not conditional (thresholds) are supported. If not specified, is “not subscribable” (0).
B.2.3.3 Objects package
Contains definitions of objects used by multiple function sets.

class Events
class Events
class Events
RespondableResource
RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
RespondableResource
RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
RespondableResource
RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
EventStatus
EventStatus
EventStatus
RandomizableEvent
RandomizableEvent
RandomizableEvent
Event
Event
Event
+ currentStatus: UInt8
+ currentStatus: UInt8
+ currentStatus: UInt8
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
+ dateTime: TimeType
1
+ dateTime: TimeType
1
+ dateTime: TimeType
1
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
TimeTariffInterval
TimeTariffInterval
TimeTariffInterval
DERControl
DERControl
DERControl
TextMessage
TextMessage
TextMessage
+ touTier: TOUType
+ touTier: TOUType
+ touTier: TOUType
+ deviceCategory: DeviceCategoryType [0..1]
+ deviceCategory: DeviceCategoryType [0..1]
+ deviceCategory: DeviceCategoryType [0..1]
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
EndDeviceControl
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
EndDeviceControl
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
EndDeviceControl
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
Figure B.4—Events

class Programs
class Programs
class Programs
IdentifiedObject
IdentifiedObject
IdentifiedObject
UInt8
UInt8
UInt8
DemandResponseProgram PrimacyType
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
DemandResponseProgram PrimacyType
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
DemandResponseProgram PrimacyType
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
IdentifiedObject
IdentifiedObject
IdentifiedObject
TariffProfile
TariffProfile
TariffProfile
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
Lower numbers indicate higher priority.
UInt8
PriorityType
Lower numbers indicate higher priority.
UInt8
PriorityType
Lower numbers indicate higher priority.
UInt8
PriorityType
SubscribableIdentifiedObject
MessagingProgram
SubscribableIdentifiedObject
MessagingProgram
SubscribableIdentifiedObject
MessagingProgram
+
+
+
+
+
+
locale: LocaleType
primacy: PrimacyType
locale: LocaleType
primacy: PrimacyType
locale: LocaleType
primacy: PrimacyType
Event
Event
Event
TextMessage
TextMessage
TextMessage
SubscribableIdentifiedObject
DERProgram
SubscribableIdentifiedObject
DERProgram
SubscribableIdentifiedObject
DERProgram
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
+ originator: String20 [0..1]
+ priority: PriorityType
+ textMessage: string
notes
Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
notes
Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
notes
Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
+ primacy: PrimacyType
+ primacy: PrimacyType
+ primacy: PrimacyType
Figure B.5—Programs

class Error
class Error
class Error
reasonCode
Code indicating the reason for failure.
0 - Invalid request format
1 - Invalid request values (e.g. invalid threshold values)
2 - Resource limit reached
3 - Conditional subscription field not supported
4 - Maximum request frequency exceeded All other values reserved
reasonCode
Code indicating the reason for failure.
0 - Invalid request format
1 - Invalid request values (e.g. invalid threshold values)
2 - Resource limit reached
3 - Conditional subscription field not supported
4 - Maximum request frequency exceeded All other values reserved
reasonCode
Code indicating the reason for failure.
0 - Invalid request format
1 - Invalid request values (e.g. invalid threshold values)
2 - Resource limit reached
3 - Conditional subscription field not supported
4 - Maximum request frequency exceeded All other values reserved
+ maxRetryDuration: UInt16 [0..1]
+ reasonCode: UInt16
+ maxRetryDuration: UInt16 [0..1]
+ reasonCode: UInt16
+ maxRetryDuration: UInt16 [0..1]
+ reasonCode: UInt16
Error
Error
Error
Figure B.6—Error
Error object ()
Contains information about the nature of an error if a request could not be completed successfully.
maxRetryDuration attribute (UInt16) [0..1]
Contains the number of seconds the client SHOULD wait before retrying the request.
reasonCode attribute (UInt16)
Code indicating the reason for failure.
0 = Invalid request format
1 = Invalid request values (e.g., invalid threshold values)
2 = Resource limit reached
3 = Conditional Subscription field not supported
4 = Maximum request frequency exceeded All other values reserved.
Event object (RespondableSubscribableIdentifiedObject)
An Event indicates information that applies to a particular period of time. Events SHALL be executed relative to the time of the server, as described in the Time function set, 9.2.
creationTime attribute (TimeType)
The time at which the Event was created.
interval attribute (DateTimeInterval)
The period during which the Event applies.
EventStatus object ()
Current status information relevant to a specific object. The Status object is used to indicate the current status of an Event. Devices can read the containing resource (e.g., TextMessage) to get the most up-to-date status of the event. Devices can also subscribe to a specific resource instance to get updates when any of its attributes change, including the Status object.
currentStatus attribute (UInt8)
Field representing the current status type.
0 = Scheduled
This status indicates that the event has been scheduled and the event has not yet started. The server SHALL set the event to this status when the event is first scheduled and persist until the event has become active or has been cancelled. For events with a start time less than or equal to the current time, this status SHALL never be indicated, the event SHALL start with a status of “Active.”
1 = Active
This status indicates that the event is currently active. The server SHALL set the event to this status when the event reaches its earliest Effective Start Time.
2 = Cancelled
When events are cancelled, the Status.dateTime attribute SHALL be set to the time the cancellation occurred, which cannot be in the future. The server is responsible for maintaining the cancelled event in its collection for the duration of the original event, or until the server has run out of space and needs to store a new event. Client devices SHALL be aware of Cancelled events, determine if the Cancelled event applies to them, and cancel the event immediately if applicable.
3 = Cancelled with Randomization
The server is responsible for maintaining the cancelled event in its collection for the duration of the Effective Scheduled Period. Client devices SHALL be aware of Cancelled with Randomization events, determine if the Cancelled event applies to them, and cancel the event immediately, using the larger of (absolute value of randomizeStart) and (absolute value of randomizeDuration) as the end randomization, in seconds. This Status.type SHALL NOT be used with “regular” Events, only with specializations of RandomizableEvent.
4 = Superseded
Events marked as Superseded by servers are events that may have been replaced by new events from the same program that targets the exact same set of deviceCategory’s (if applicable) and DERControl controls (e.g., opModTargetW) (if applicable), and overlap for a given period of time. Servers SHALL mark an event as Superseded at the earliest Effective Start Time of the overlapping event. Servers are responsible for maintaining the Superseded event in their collection for the duration of the Effective Scheduled Period.
Client devices encountering a Superseded event SHALL terminate execution of the event immediately and commence execution of the new event immediately, unless the current time is within the start randomization window of the superseded event, in which case the client SHALL obey the start randomization of the new event. This Status.type SHALL NOT be used with TextMessage, since multiple text messages can be active.
All other values reserved.
dateTime attribute (TimeType)
The dateTime attribute will provide a timestamp of when the current status was defined. dateTime MUST be set to the time at which the status change occurred, not a time in the future or past.
potentiallySuperseded attribute (boolean)
Set to true by a server of this event if there are events that overlap this event in time and also overlap in some, but not all, deviceCategory’s (if applicable) and DERControl controls (e.g., opModTargetW) (if applicable) in the same function set instance.
potentiallySupersededTime attribute (TimeType) [0..1]
Indicates the time that the potentiallySuperseded flag was set.
reason attribute (String192) [0..1]
The Reason attribute allows a Service provider to provide a textual explanation of the status.
RandomizableEvent object (Event)
An Event that can indicate time ranges over which the start time and duration SHALL be randomized.
randomizeDuration attribute (OneHourRangeType) [0..1]
Number of seconds boundary inside which a random value must be selected to be applied to the associated interval duration, to avoid sudden synchronized demand changes. If related to price level changes, sign may be ignored. Valid range is −3600 to 3600. If not specified, 0 is the default.
randomizeStart attribute (OneHourRangeType) [0..1]
Number of seconds boundary inside which a random value must be selected to be applied to the associated interval start time, to avoid sudden synchronized demand changes. If related to price level changes, sign may be ignored. Valid range is −3600 to 3600. If not specified, 0 is the default.
B.2.3.4 Types package
Contains definitions of reusable data types.

class Types
class Types
class Types
UnitType
UnitType
UnitType
unsignedByte
«XSDsimple...
UInt8
unsignedByte
«XSDsimple...
UInt8
unsignedByte
«XSDsimple...
UInt8
byte
byte
byte
«XSDsimpleType»
SubscribableType
«XSDsimpleType»
SubscribableType
«XSDsimpleType»
SubscribableType
«XSDsimple...
Int8
«XSDsimple...
Int8
«XSDsimple...
Int8
PowerOfTenMultiplierType
PowerOfTenMultiplierType
PowerOfTenMultiplierType
PriorityType
PriorityType
PriorityType
PerCent
PerCent
PerCent
UomType
UomType
UomType
unsignedShort
unsignedShort
unsignedShort
short
short
short
SignedPerCent
SignedPerCent
SignedPerCent
KindType
KindType
KindType
«XSDsimple...
UInt16
«XSDsimple...
UInt16
«XSDsimple...
UInt16
CurrencyCode
CurrencyCode
CurrencyCode
«XSDsimple...
Int16
«XSDsimple...
Int16
«XSDsimple...
Int16
OneHourRangeType
OneHourRangeType
OneHourRangeType
AccumulationBehaviourType
AccumulationBehaviourType
AccumulationBehaviourType
VersionType
VersionType
VersionType
DataQualifierType
DataQualifierType
DataQualifierType
unsignedInt
unsignedInt
unsignedInt
int
int
int
«XSDsimple...
UInt32 PINType
«XSDsimple...
UInt32 PINType
«XSDsimple...
UInt32 PINType
«XSDsimple...
Int32
«XSDsimple...
Int32
«XSDsimple...
Int32
TimeOffsetType
TimeOffsetType
TimeOffsetType
FlowDirectionType
ConsumptionBlockType PENType
FlowDirectionType
ConsumptionBlockType PENType
FlowDirectionType
ConsumptionBlockType PENType
TOUType
TOUType
TOUType
unsignedLong
«XSDsimple...
UInt40
unsignedLong
«XSDsimple...
UInt40
unsignedLong
«XSDsimple...
UInt40
SFDIType
SFDIType
SFDIType
long
«XSDsimple...
Int64
long
«XSDsimple...
Int64
long
«XSDsimple...
Int64
TimeType
TimeType
TimeType
CommodityType
PhaseCode
CommodityType
PhaseCode
CommodityType
PhaseCode
hexBinary
«XSDsimple...
HexBinary16
hexBinary
«XSDsimple...
HexBinary16
hexBinary
«XSDsimple...
HexBinary16
RoleFlagsType
RoleFlagsType
RoleFlagsType
ServiceKind
ServiceKind
ServiceKind
DERControlType
DERControlType
DERControlType
ChargeKind
ChargeKind
ChargeKind
hexBinary
hexBinary
hexBinary
string
string
string
DERType
DERType
DERType
«XSDsimple...
HexBinary32
«XSDsimple...
HexBinary32
«XSDsimple...
HexBinary32
DeviceCategoryType
DeviceCategoryType
DeviceCategoryType
«XSDsimple...
String42
«XSDsimple...
String42
«XSDsimple...
String42
LocaleType
LocaleType
LocaleType
DstRuleType
DstRuleType
DstRuleType
DERCurveType
DERCurveType
DERCurveType
hexBinary
hexBinary
hexBinary
ApplianceLoadReductionType
ApplianceLoadReductionType
ApplianceLoadReductionType
«XSDsimple...
HexBinary128
«XSDsimple...
HexBinary128
«XSDsimple...
HexBinary128
mRIDType
mRIDType
mRIDType
Figure B.7—Types
AccumulationBehaviourType object (UInt8)
0 = Not Applicable (default, if not specified) 3 = Cumulative
The sum of the previous billing period values. Note: “Cumulative” is commonly used in conjunction with “demand.” Each demand reset causes the maximum demand value for the present billing period (since the last demand reset) to accumulate as an accumulative total of all maximum demands. So instead of “zeroing” the demand register, a demand reset has the affect of adding the present maximum demand to this accumulating total.
4 = DeltaData
The difference between the value at the end of the prescribed interval and the beginning of the interval. This is used for incremental interval data.
Note: One common application would be for load profile data; another use might be to report the number of events within an interval (such as the number of equipment energizations within the specified period of time).
6 = Indicating
As if a needle is swung out on the meter face to a value to indicate the current value. (Note: An “indicating” value is typically measured over hundreds of milliseconds or greater, or may imply a “pusher” mechanism to capture a value. Compare this to “instantaneous” which is measured over a shorter period of time.)
9 = Summation
A form of accumulation which is selective with respect to time.
NOTE—“Summation” could be considered a specialization of “Bulk Quantity” according to the rules of inheritance where “Summation” selectively accumulates pulses over a timing pattern, and “BulkQuantity” accumulates pulses all of the time.
12 = Instantaneous
Typically measured over the fastest period of time allowed by the definition of the metric (usually milliseconds or tens of milliseconds). (Note: “Instantaneous” was moved to attribute #3 in 61968-9Ed2 from attribute #1 in 61968-9Ed1.)
All other values reserved.
ApplianceLoadReductionType object (UInt8)
0 = Delay Appliance Load
Parameter requesting the appliance to respond by providing a moderate load reduction for the duration of a delay period. Typically referring to a “non-emergency” event in which appliances can continue operating if already in a load-consuming period.
1 = Temporary appliance load reduction
Parameter requesting the appliance to respond by providing an aggressive load reduction for a short time period. Typically referring to an “emergency/spinning reserve” event in which an appliance should start shedding load if currently in a load-consuming period.
Full definition of how appliances react when receiving each parameter is document in the EPA document, ENERGY STAR® Program Requirements, Product Specification for Residential Refrigerators and Freezers, Eligibility Criteria 5, Draft 2 Version 5.0.
All other values reserved.
CommodityType object (UInt8)
0 = Not applicable (default, if not specified)
1 = Electricity secondary metered value (a premises meter is typically on the low voltage, or secondary, side of a service transformer)
2 = Electricity primary metered value (measured on the high voltage, or primary, side of the service transformer)
4 = Air
7 = NaturalGas
8 = Propane
9 = PotableWater
10 = Steam
11 = WasteWater
12 = HeatingFluid
13 = CoolingFluid
All other values reserved.
ConsumptionBlockType object (UInt8)
0 = Not Applicable (default, if not specified)
1 = Block 1
2 = Block 2
3 = Block 3
4 = Block 4
5 = Block 5
6 = Block 6
7 = Block 7
8 = Block 8
9 = Block 9
10 = Block 10
11 = Block 11
12 = Block 12
13 = Block 13
14 = Block 14
15 = Block 15
16 = Block 16
All other values reserved.
CurrencyCode object (UInt16)
Follows codes defined in ISO 4217.
0 = Not applicable (default, if not specified) 36 = Australian dollar
124 = Canadian dollar 840 = U.S. dollar
978 = Euro
This is not a complete list.
DataQualifierType object (UInt8)
0 = Not applicable (default, if not specified) 2 = Average
8 = Maximum
9 = Minimum
12 = Normal
29 = Standard deviation of a population (typically indicated by a lower case sigma)
30 = Standard deviation of a sample drawn from a population (typically indicated by a lower case “s”) All other values reserved.
DateTimeInterval object «Compound» ()
Interval of date and time.
duration attribute (UInt32)
Duration of the interval, in seconds.
start attribute (TimeType)
Date and time of the start of the interval.
DeviceCategoryType object (HexBinary32)
The Device category types defined.
Bit positions SHALL be defined as follows:
0 = Programmable communicating thermostat
1 = Strip heaters
2 = Baseboard heaters
3 = Water heater
4 = Pool pump
5 = Sauna
6 = Hot tub
7 = Smart appliance
8 = Irrigation pump
9 = Managed commercial and industrial (C&I) loads
10 = Simple misc. (residential on/off) loads
11 = Exterior lighting
12 = Interior lighting
13 = Load control switch
14 = Energy management system
15 = Smart energy module
16 = Electric vehicle
17 = Electric vehicle supply equipment (EVSE)
18 = Virtual or mixed DER
19 = Reciprocating engine
20 = Fuel cell
21 = Photovoltaic system
22 = Combined heat and power
23 = Combined PV and storage
24 = Other generation system
25 = Other storage system All other values reserved.
DstRuleType object (HexBinary32)
Bit map encoded rule from which is calculated the start or end time, within the current year, to which daylight savings time offset must be applied.
The rule encoding:
Bits 0 to 11: seconds 0 to 3599
Bits 12 to 16: hours 0 to 23
Bits 17 to 19: day of the week 0 = not applicable, 1 to 7 (Monday = 1)
Bits 20 to 24: day of the month 0 = not applicable, 1 to 31 Bits 25 to 27: operator (detailed below)
Bits 28 to 31: month 1 to 12
Rule value of 0xFFFFFFFF means rule processing/DST correction is disabled. The operators:
0: DST starts/ends on the Day of the Month
1: DST starts/ends on the Day of the Week that is on or after the Day of the Month 2: DST starts/ends on the first occurrence of the Day of the Week in a month
3: DST starts/ends on the second occurrence of the Day of the Week in a month 4: DST starts/ends on the third occurrence of the Day of the Week in a month 5: DST starts/ends on the forth occurrence of the Day of the Week in a month 6: DST starts/ends on the fifth occurrence of the Day of the Week in a month
7: DST starts/ends on the last occurrence of the Day of the Week in a month
An example: DST starts on the third Friday in March at 1:45 AM. The rule... Seconds: 2700
Hours: 1
Day of week: 5 Day of month: 0 Operator: 4
Month: 3
FlowDirectionType object (UInt8)
0 = Not applicable (default, if not specified)
1 = Forward (delivered to customer) 19 = Reverse (received from customer) All other values reserved.
GPSLocationType object «Compound» ()
Specifies a GPS location, expressed in WGS 84 coordinates.
lat attribute (String32)
Specifies the latitude from equator. −90 (south) to +90 (north) in decimal degrees.
lon attribute (String32)
Specifies the longitude from Greenwich Meridian. −180 (west) to +180 (east) in decimal degrees.
KindType object (UInt8)
0 = Not applicable (default, if not specified) 3 = Currency
8 = Demand
12 = Energy
37 = Power
All other values reserved.
LocaleType object (String42)
IETF RFC 4646 identifier of a language-region.
mRIDType object (HexBinary128)
A master resource identifier. The IANA Private Enterprise Number (PEN) provider ID SHALL be specified in bits 0 to 31, the least-significant bits, and objects created by that provider SHALL be assigned unique IDs with the remaining 96 bits.
0xFFFFFFFFFFFFFFFFFFFFFFFF[XXXXXXXX], where [XXXXXXXX] is the PEN, is reserved for a object that is being created (e.g., a ReadingSet for the current time that is still accumulating).
Except for this special reserved identifier, each modification of an object (resource) representation MUST have a different “version.”
OneHourRangeType object (Int16)
A signed time offset, typically applied to a Time value, expressed in seconds, with range −3600 to 3600.
PENType object (UInt32)
IANA Private Enterprise Number (PEN).
PerCent object (UInt16)
Used for percentages, specified in hundredths of a percent, 0 to 10 000. (10 000 = 100%)
PhaseCode object (UInt8)
0 = Not applicable (default, if not specified)
32 = Phase C (and S2)
33 = Phase CN (and S2N) 40 = Phase CA
64 = Phase B
65 = Phase BN
66 = Phase BC
128 = Phase A (and S1)
129 = Phase AN (and S1N) 132 = Phase AB
224 = Phase ABC
All other values reserved.
PINType object (UInt32)
Six digit unsigned decimal integer (0 to 999999).
(Note that this only requires 20 bits, if it can be allocated.)
PowerOfTenMultiplierType object (Int8)
−9 = Nano 109
−6 = Micro 106
−3 = Milli 103
0 = None = 1 (default, if not specified)
1 = Deca 10
2 = Hecto 100
3 = Kilo 1000
6 = Mega 106
9 = Giga 109
This is not a complete list. Any integer between −9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
PrimacyType object (UInt8)
Values possible for indication of “Primary” provider:
0 = In-home energy management system
1 = Contracted premises service provider
2 = Non-contractual service provider
3 to 64 -= Reserved
65 to 191 = User-defined
192 to 255 = Reserved
Lower numbers indicate higher priority.
RealEnergy object ()
Real electrical energy.
multiplier attribute (PowerOfTenMultiplierType)
Multiplier for “unit.”
value attribute (UInt48)
Value of the energy in watt-hours (uom 72).
RoleFlagsType object (HexBinary16)
Specifies the roles that apply to a usage point.
Bit 0—isMirror—SHALL be set if the server is not the measurement device
Bit 1—isPremisesAggregationPoint—SHALL be set if the UsagePoint is the point of delivery for a premises
Bit 2—isPEV—SHALL be set if the usage applies to an electric vehicle
Bit 3—isDER—SHALL be set if the usage applies to a distributed energy resource, capable of delivering power to the grid
Bit 4—isRevenueQuality—SHALL be set if usage was measured by a device certified as revenue quality Bit 5—isDC—SHALL be set if the usage point measures direct current
Bit 6—isSubmeter—SHALL be set if the usage point is not a premises aggregation point Bit 7 to 15—Reserved
ServiceKind object (UInt8)
Service kind:
0 = Electricity
1 = Gas
2 = Water
3 = Time
4 = Pressure
5 = Heat
6 = Cooling
All other values reserved.
SFDIType object (UInt40)
Unsigned integer, maximum inclusive 687194767359, which is 236 1 (68 719 476 735), with added check digit. See 8.4.2 for check digit calculation.
SignedPerCent object (Int16)
Used for signed percentages, specified in hundredths of a percent, −10 000 to 10 000. (10 000 = 100%)
SignedRealEnergy object ()
Real electrical energy, signed.
multiplier attribute (PowerOfTenMultiplierType)
Multiplier for “unit.”
value attribute (Int48)
Value of the energy in watt-hours (uom 72).
SubscribableType object «XSDsimpleType» (UInt8)
The subscribable values.
0 = Resource does not support subscriptions
1 = Resource supports non-conditional subscriptions
2 = Resource supports conditional subscriptions
3 = Resource supports both conditional and non-conditional subscriptions All other values reserved.
TimeOffsetType object (Int32)
A signed time offset, typically applied to a Time value, expressed in seconds.
TimeType object (Int64)
Time is a signed 64-bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on 1 January 1970, in UTC, not counting leap seconds.
TOUType object (UInt8)
0 = Not applicable (default, if not specified)
1 = TOU A
2 = TOU B
3 = TOU C
4 = TOU D
5 = TOU E
6 = TOU F
7 = TOU G
8 = TOU H
9 = TOU I
10 = TOU J
11 = TOU K
12 = TOU L
13 = TOU M
14 = TOU N
15 = TOU O
All other values reserved.
UnitType object (UInt8)
The unit types defined for end device control target reductions.
0 = kWh
1 = kW
2 = Watts
3 = Cubic meters
4 = Cubic feet
5 = U.S. gallons
6 = Imperial gallons
7 = British thermal units (BTUs)
8 = Liters
9 = kPA (gauge)
10 = kPA (absolute)
11 = Megajoule
12 = Unitless
All other values reserved.
UnitValueType object ()
Type for specification of a specific value, with units and power of ten multiplier.
multiplier attribute (PowerOfTenMultiplierType)
Multiplier for “unit.”
unit attribute (UomType)
Unit in symbol.
value attribute (Int32)
Value in units specified.
UomType object (UInt8)
The following values are recommended values sourced from the unit of measure enumeration in IEC 61968-9. Other values from the unit of measure enumeration in IEC 61968-9 MAY be used.
0 = Not applicable (default, if not specified)
5 = A (current in amperes [rms])
6 = Kelvin (temperature)
23 = Degrees Celsius (relative temperature) 29 = Voltage
31 = J (energy joule) 33 = Hz (frequency)
38 = W (real power in watts) 42 = m3 (cubic meter)
61 = VA (apparent power) 63 = var (reactive power)
65 = CosTheta (displacement power factor) 67 = V2 (volts squared)
69 = A2 (amp squared)
71 = VAh (apparent energy)
72 = Wh (real energy in watt-hours)
73 = varh (reactive energy)
106 = Ah (ampere-hours/available charge) 119 = ft3 (cubic feet)
122 = ft3/h (cubic feet per hour)
125 = m3/h (cubic meter per hour)
128 = U.S. gallons
129 = U.S. gal/h (U.S. gallons per hour)
130 = Imperial gallons
131 = IMP gal/h (Imperial gallons per hour)
132 = BTU
133 = BTU/h
134 = Liter
137 = L/h (liters per hour) 140 = PA (gauge)
155 = PA (absolute) 169 = Therm
VersionType object (UInt16)
Version SHALL indicate a distinct identifier for each revision of an IdentifiedObject. If not specified, a default version of “0” (initial version) SHALL be assumed. Upon modification of any IdentifiedObject, the mRID SHALL remain the same, but the version SHALL be incremented. Servers MAY NOT modify objects that they did not create, unless they were notified of the change from the entity controlling the object’s PEN.
B.2.3.5 Primitive types package
Contains definitions of primitive data types based on XML Schema primitives.

class Primitive Types
unsignedByte
«XSDsimple...
UInt8
class Primitive Types
unsignedByte
«XSDsimple...
UInt8
class Primitive Types
unsignedByte
«XSDsimple...
UInt8
unsignedShort
«XSDsimple...
UInt16
unsignedShort
«XSDsimple...
UInt16
unsignedShort
«XSDsimple...
UInt16
unsignedInt
«XSDsimple...
UInt32
unsignedInt
«XSDsimple...
UInt32
unsignedInt
«XSDsimple...
UInt32
unsignedLong
«XSDsimple...
UInt40
unsignedLong
«XSDsimple...
UInt40
unsignedLong
«XSDsimple...
UInt40
unsignedLong
«XSDsimple...
UInt48
unsignedLong
«XSDsimple...
UInt48
unsignedLong
«XSDsimple...
UInt48
unsignedLong
«XSDsimple...
UInt64
unsignedLong
«XSDsimple...
UInt64
unsignedLong
«XSDsimple...
UInt64
byte
«XSDsimple...
Int8
byte
«XSDsimple...
Int8
byte
«XSDsimple...
Int8
short
«XSDsimple...
Int16
short
«XSDsimple...
Int16
short
«XSDsimple...
Int16
int
«XSDsimple...
Int32
int
«XSDsimple...
Int32
int
«XSDsimple...
Int32
long
«XSDsimple...
Int48
long
«XSDsimple...
Int48
long
«XSDsimple...
Int48
long
«XSDsimple...
Int64
long
«XSDsimple...
Int64
long
«XSDsimple...
Int64
string
«XSDsimple...
String6
string
«XSDsimple...
String6
string
«XSDsimple...
String6
string
«XSDsimple...
String20
string
«XSDsimple...
String20
string
«XSDsimple...
String20
string
«XSDsimple...
String16
string
«XSDsimple...
String16
string
«XSDsimple...
String16
string
«XSDsimple...
String32
string
«XSDsimple...
String32
string
«XSDsimple...
String32
string
«XSDsimple...
String42
string
«XSDsimple...
String42
string
«XSDsimple...
String42
string
«XSDsimple...
String192
string
«XSDsimple...
String192
string
«XSDsimple...
String192
hexBinary
«XSDsimple...
HexBinary8
hexBinary
«XSDsimple...
HexBinary8
hexBinary
«XSDsimple...
HexBinary8
hexBinary
«XSDsimple...
HexBinary16
hexBinary
«XSDsimple...
HexBinary16
hexBinary
«XSDsimple...
HexBinary16
hexBinary
«XSDsimple...
HexBinary32
hexBinary
«XSDsimple...
HexBinary32
hexBinary
«XSDsimple...
HexBinary32
hexBinary
«XSDsimple...
HexBinary48
hexBinary
«XSDsimple...
HexBinary48
hexBinary
«XSDsimple...
HexBinary48
hexBinary
«XSDsimple...
HexBinary64
hexBinary
«XSDsimple...
HexBinary64
hexBinary
«XSDsimple...
HexBinary64
hexBinary
«XSDsimple...
HexBinary128
hexBinary
«XSDsimple...
HexBinary128
hexBinary
«XSDsimple...
HexBinary128
hexBinary
«XSDsimple...
HexBinary160
hexBinary
«XSDsimple...
HexBinary160
hexBinary
«XSDsimple...
HexBinary160
Figure B.8—Primitive types
HexBinary8 object «XSDsimpleType» (hexBinary)
An 8-bit field encoded as a hex string (2 hex characters). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary16 object «XSDsimpleType» (hexBinary)
A 16-bit field encoded as a hex string (4 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary32 object «XSDsimpleType» (hexBinary)
A 32-bit field encoded as a hex string (8 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary48 object «XSDsimpleType» (hexBinary)
A 48-bit field encoded as a hex string (12 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary64 object «XSDsimpleType» (hexBinary)
A 64-bit field encoded as a hex string (16 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary128 object «XSDsimpleType» (hexBinary)
A 128-bit field encoded as a hex string (32 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
HexBinary160 object «XSDsimpleType» (hexBinary)
A 160-bit field encoded as a hex string (40 hex characters maximum). Where applicable, bit 0, or the least significant bit, goes on the right. Note that hexBinary requires pairs of hex characters, so an odd number of characters requires a leading “0”.
String6 object «XSDsimpleType» (string)
Character string of maximum length 6. In order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
String16 object «XSDsimpleType» (string)
Character string of maximum length 16. In order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
String20 object «XSDsimpleType» (string)
Character string of maximum length 20. In order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
String32 object «XSDsimpleType» (string)
Character string of maximum length 32. In order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
String42 object «XSDsimpleType» (string)
Character string of maximum length 42. In order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
String192 object «XSDsimpleType» (string)
Character string of maximum length 192. For all string types, in order to limit internal storage, implementations SHALL reduce the length of strings using multi-byte characters so that the string may be stored using “maxLength” octets in the given encoding.
UInt8 object «XSDsimpleType» (unsignedByte)
Unsigned integer, maximum inclusive 255 ( 28 1 ).
UInt16 object «XSDsimpleType» (unsignedShort)
Unsigned integer, maximum inclusive 65 535 ( 216 1 ).
UInt32 object «XSDsimpleType» (unsignedInt)
Unsigned integer, maximum inclusive 4 294 967 295 ( 232 1 ).
UInt40 object «XSDsimpleType» (unsignedLong)
Unsigned integer, maximum inclusive 1 099 511 627 775 ( 240 1).
UInt48 object «XSDsimpleType» (unsignedLong)
Unsigned integer, maximum inclusive 281 474 976 710 655 ( 248 1 ).
UInt64 object «XSDsimpleType» (unsignedLong)
Unsigned integer, maximum inclusive 18 446 744 073 709 551 615 ( 264 1 ).
Int8 object «XSDsimpleType» (byte)
Signed integer, minimum −128, maximum 127.
Int16 object «XSDsimpleType» (short)
Signed integer, minimum −32 768, maximum 32 767.
Int32 object «XSDsimpleType» (int)
Signed integer, maximum inclusive 2 147 483 647 ( 231 ), minimum inclusive −2 147 483 647 (same as xs:int).
Int48 object «XSDsimpleType» (long)
Signed integer, maximum inclusive 140 737 488 355 328 ( 247 ), minimum inclusive −140 737 488 355 328.
Int64 object «XSDsimpleType» (long)
Signed integer, maximum inclusive 9 223 372 036 854 775 807 ( 263 ), minimum inclusive −9 223 372 036
854 775 808 (same as xs:long).
B.2.4 EndDevice package

class SelfDevice
class SelfDevice
class SelfDevice
FunctionSetAssignmentsBase
FunctionSetAssignmentsBase
FunctionSetAssignmentsBase
Link
Link
Link
DeviceCapability
DeviceCapability
DeviceCapability
ConfigurationLink
ConfigurationLink
ConfigurationLink
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
Link
DeviceInformationLink
Link
DeviceInformationLink
Link
DeviceInformationLink
0....1
0....1
0....1
Link
Link
Link
ListLink
FunctionSetAssignmentsListLink
ListLink
FunctionSetAssignmentsListLink
ListLink
FunctionSetAssignmentsListLink
DeviceStatusLink
DeviceStatusLink
DeviceStatusLink
Link
Link
Link
ListLink
ListLink
ListLink
Link
Link
Link
ListLink
IPInterfaceListLink
ListLink
IPInterfaceListLink
ListLink
IPInterfaceListLink
SelfDeviceLink
SelfDeviceLink
SelfDeviceLink
EndDeviceListLink
EndDeviceListLink
EndDeviceListLink
RegistrationLink
RegistrationLink
RegistrationLink
SelfDevice
SelfDevice
SelfDevice
SubscribableList
SubscribableList
SubscribableList
ListLink
ListLink
ListLink
ListLink
LoadShedAvailabilityListLink
ListLink
LoadShedAvailabilityListLink
ListLink
LoadShedAvailabilityListLink
EndDeviceList
EndDeviceList
EndDeviceList
SubscriptionListLink
SubscriptionListLink
SubscriptionListLink
ListLink
LogEventListLink
ListLink
LogEventListLink
ListLink
LogEventListLink
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
ListLink
FlowReservationRequestListLink
ListLink
FlowReservationRequestListLink
ListLink
FlowReservationRequestListLink
0..*
0..*
0..*
Link
Link
Link
EndDevice
EndDevice
EndDevice
PowerStatusLink
PowerStatusLink
PowerStatusLink
0..1
0..1
0..1
ListLink
FlowReservationResponseListLink
ListLink
FlowReservationResponseListLink
ListLink
FlowReservationResponseListLink
Link
Link
Link
FileStatusLink
FileStatusLink
FileStatusLink
SubscribableResource
SubscribableResource
SubscribableResource
ListLink
ListLink
ListLink
AbstractDevice
AbstractDevice
AbstractDevice
DERListLink
DERListLink
DERListLink
0..1
0..1
0..1
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
Figure B.9—SelfDevice

class EndDevice
class EndDevice
class EndDevice
SubscribableResource
SubscribableResource
SubscribableResource
EndDevice
EndDevice
EndDevice
AbstractDevice
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
AbstractDevice
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
AbstractDevice
+ deviceCategory: DeviceCategoryType [0..1]
+ lFDI: HexBinary160 [0..1]
+ sFDI: SFDIType
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
00...1... 1
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
00...1... 1
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
00...1... 1
0..1
0..1
0..1
Link
Link
Link
Link
Link
Link
DeviceStatusLink RegistrationLink
DeviceStatusLink RegistrationLink
DeviceStatusLink RegistrationLink
ListLink
FunctionSetAssignmentsListLink
ListLink
FunctionSetAssignmentsListLink
ListLink
FunctionSetAssignmentsListLink
ListLink
ListLink
ListLink
SubscriptionListLink
SubscriptionListLink
SubscriptionListLink
Resource
Resource
Resource
Resource
Resource
Resource
Registration
Registration
Registration
SubscribableList
FunctionSetAssignmentsList
SubscribableList
FunctionSetAssignmentsList
SubscribableList
FunctionSetAssignmentsList
List
List
List
DeviceStatus
DeviceStatus
DeviceStatus
SubscriptionList
SubscriptionList
SubscriptionList
+ changedTime: TimeType
+ onCount: UInt16 [0..1]
+ opState: UInt8 [0..1] = 0
+ opTime: UInt32 [0..1]
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ changedTime: TimeType
+ onCount: UInt16 [0..1]
+ opState: UInt8 [0..1] = 0
+ opTime: UInt32 [0..1]
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ changedTime: TimeType
+ onCount: UInt16 [0..1]
+ opState: UInt8 [0..1] = 0
+ opTime: UInt32 [0..1]
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ dateTimeRegistered: TimeType
+ pIN: PINType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ dateTimeRegistered: TimeType
+ pIN: PINType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ dateTimeRegistered: TimeType
+ pIN: PINType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
0..*
0..*
0..*
0..*
0..*
FunctionSetAssignments
FunctionSetAssignments
FunctionSetAssignments
SubscriptionBase
Subscription
SubscriptionBase
Subscription
SubscriptionBase
Subscription
+ description: String32 [0..1]
+ mRID: mRIDType + encoding: UInt8
+ version: VersionType [0..1] = 0 + level: String16
«XSDattribute» + limit: UInt32
+ subscribable: SubscribableType [0..1] = 0 + notificationURI: anyURI
+ description: String32 [0..1]
+ mRID: mRIDType + encoding: UInt8
+ version: VersionType [0..1] = 0 + level: String16
«XSDattribute» + limit: UInt32
+ subscribable: SubscribableType [0..1] = 0 + notificationURI: anyURI
+ description: String32 [0..1]
+ mRID: mRIDType + encoding: UInt8
+ version: VersionType [0..1] = 0 + level: String16
«XSDattribute» + limit: UInt32
+ subscribable: SubscribableType [0..1] = 0 + notificationURI: anyURI
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
0..1
0..1
0..1
0..*
0..*
0..*
subject
The subject of the temperature measurement
0 - Enclosure
1 - Transformer
2 - HeatSink
subject
The subject of the temperature measurement
0 - Enclosure
1 - Transformer
2 - HeatSink
subject
The subject of the temperature measurement
0 - Enclosure
1 - Transformer
2 - HeatSink
0..1
0..1
0..1
Temperature
+ multiplier: PowerOfTenMultiplierType
+ subject: UInt8
+ value: Int16
Temperature
+ multiplier: PowerOfTenMultiplierType
+ subject: UInt8
+ value: Int16
Temperature
+ multiplier: PowerOfTenMultiplierType
+ subject: UInt8
+ value: Int16
Link
Link
Link
TimeLink
TimeLink
TimeLink
Figure B.10—EndDevice AbstractDevice object (SubscribableResource)
The EndDevice providing the resources available within the DeviceCapabilities.
deviceCategory attribute (DeviceCategoryType) [0..1]
This field is for use in devices that can adjust energy usage (e.g., demand response, distributed energy resources). For devices that do not respond to EndDeviceControls or DERControls (for instance, an energy services interface [ESI]), this field should not have any bits set.
lFDI attribute (HexBinary160) [0..1]
Long form of device identifier. See Clause 6 (security) for additional details.
sFDI attribute (SFDIType)
Short form of device identifier, WITH the checksum digit. See Clause 6 (security) for additional details.
DeviceStatus object (Resource)
Status of device.
changedTime attribute (TimeType)
The time at which the reported values were recorded.
onCount attribute (UInt16) [0..1]
The number of times that the device has been turned on: Count of “device on” times since the last time the counter was reset.
opState attribute (UInt8) [0..1]
Device operational state:
0 = Not applicable/Unknown
1 = Not operating
2 = Operating
3 = Starting up
4 = Shutting down
5 = At disconnect level
6 = kW ramping
7 = kVar ramping
opTime attribute (UInt32) [0..1]
Total time device has operated: re-settable: Accumulated time in seconds since the last time the counter was reset.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
EndDevice object (AbstractDevice)
Asset container that performs one or more end device functions. Contains information about individual devices in the network.
changedTime attribute (TimeType)
The time at which this resource was last modified or created.
enabled attribute (boolean) [0..1]
This attribute indicates whether or not an EndDevice is enabled, or registered, on the server. If a server sets this attribute to false, the device is no longer registered. It should be noted that servers can delete EndDevice instances, but using this attribute for some time is more convenient for clients.
postRate attribute (UInt32) [0..1]
POST rate, or how often EndDevice and subordinate resources should be POSTed, in seconds. A client MAY indicate a preferred postRate when POSTing EndDevice. A server MAY add or modify postRate to indicate its preferred posting rate.
EndDeviceList object (SubscribableList)
A List element to hold EndDevice objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
Registration object (Resource)
Registration represents an authorization to access the resources on a host.
dateTimeRegistered attribute (TimeType)
Contains the time at which this registration was created, by which clients MAY prioritize information providers with the most recent registrations, when no additional direction from the consumer is available.
pIN attribute (PINType)
Contains the registration personal identification number (PIN) associated with the device, including the checksum digit.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
SelfDevice object (AbstractDevice)
The EndDevice providing the resources available within the DeviceCapabilities.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
Temperature object ()
Specification of a temperature.
multiplier attribute (PowerOfTenMultiplierType)
Multiplier for “unit.”
subject attribute (UInt8)
The subject of the temperature measurement:
0 = Enclosure
1 = Transformer
2 = HeatSink
value attribute (Int16)
Value in degrees Celsius (uom 23).
B.2.5 FunctionSetAssignments package

class FunctionSetAssignments
class FunctionSetAssignments
class FunctionSetAssignments
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
Link
Link
Link
ListLink
ListLink
ListLink
ListLink
ListLink
ListLink
TimeLink
TimeLink
TimeLink
FunctionSetAssignmentsListLink
FunctionSetAssignmentsListLink
FunctionSetAssignmentsListLink
UsagePointListLink
UsagePointListLink
UsagePointListLink
SubscribableList
FunctionSetAssignmentsList
SubscribableList
FunctionSetAssignmentsList
SubscribableList
FunctionSetAssignmentsList
ListLink
DemandResponseProgramListLink
ListLink
DemandResponseProgramListLink
ListLink
DemandResponseProgramListLink
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
ListLink
ListLink
ListLink
DERProgramListLink
DERProgramListLink
DERProgramListLink
0..*
0..*
0..*
ListLink
ListLink
ListLink
ListLink
ListLink
ListLink
TariffProfileListLink
TariffProfileListLink
TariffProfileListLink
FunctionSetAssignments
FunctionSetAssignments
FunctionSetAssignments
CustomerAccountListLink
CustomerAccountListLink
CustomerAccountListLink
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
ListLink
ListLink
ListLink
ListLink
ListLink
ListLink
MessagingProgramListLink
MessagingProgramListLink
MessagingProgramListLink
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
PrepaymentListLink
PrepaymentListLink
PrepaymentListLink
ListLink
ListLink
ListLink
ListLink
ListLink
ListLink
FileListLink
FileListLink
FileListLink
0..1
0..1
0..1
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
0..1
0..1
0..1
ResponseSetListLink
ResponseSetListLink
ResponseSetListLink
Figure B.11—FunctionSetAssignments FunctionSetAssignmentsBase object (Resource)
Defines a collection of function set instances that are to be used by one or more devices as indicated by the EndDevice object(s) of the server.
FunctionSetAssignments object (FunctionSetAssignmentsBase)
Provides an identifiable, subscribable collection of resources for a particular device to consume.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
mRID attribute (mRIDType)
The global identifier of the object.
subscribable attribute (SubscribableType) [0..1] «XSDattribute»
Indicates whether or not subscriptions are supported for this resource, and whether or not conditional (thresholds) are supported. If not specified, is “not subscribable” (0).
version attribute (VersionType) [0..1]
Contains the version number of the object. See the type definition for details.
FunctionSetAssignmentsList object (SubscribableList)
A List element to hold FunctionSetAssignments objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
B.2.6 Pub-Sub package
Contains resource definitions used to allow subscriptions and notifications of publications.
AbstractDevice EndDevice | |
0..1 | |
ListLink SubscriptionListLink | |

class Pub-Sub
class Pub-Sub
class Pub-Sub
0..*
0..*
0..*
0..*
0..*
0..*
0..1
0..1
0..1
0..1
0..1
0..1
attributeIdentifier
0 = Reading value 1-255 = Reserved
attributeIdentifier
0 = Reading value 1-255 = Reserved
attributeIdentifier
0 = Reading value 1-255 = Reserved
status
0 = Default Status
1 = Subscription canceled, no additional information
2 = Subscription canceled, resource moved
3 = Subscription canceled, resource definition changed (e.g., a new version of IEEE 2030.5)
4 = Subscription canceled, resource deleted All other values reserved.
status
0 = Default Status
1 = Subscription canceled, no additional information
2 = Subscription canceled, resource moved
3 = Subscription canceled, resource definition changed (e.g., a new version of IEEE 2030.5)
4 = Subscription canceled, resource deleted All other values reserved.
status
0 = Default Status
1 = Subscription canceled, no additional information
2 = Subscription canceled, resource moved
3 = Subscription canceled, resource definition changed (e.g., a new version of IEEE 2030.5)
4 = Subscription canceled, resource deleted All other values reserved.
+ attributeIdentifier: UInt8
+ lowerThreshold: Int48
+ upperThreshold: Int48
+ attributeIdentifier: UInt8
+ lowerThreshold: Int48
+ upperThreshold: Int48
+ attributeIdentifier: UInt8
+ lowerThreshold: Int48
+ upperThreshold: Int48
Condition
Condition
Condition
+ encoding: UInt8
+ level: String16
+ limit: UInt32
+ notificationURI: anyURI
+ encoding: UInt8
+ level: String16
+ limit: UInt32
+ notificationURI: anyURI
+ encoding: UInt8
+ level: String16
+ limit: UInt32
+ notificationURI: anyURI
Resource
Resource
Resource
Subscription
Subscription
Subscription
+ subscribedResource: anyURI
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ subscribedResource: anyURI
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ subscribedResource: anyURI
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ newResourceURI: anyURI [0..1]
+ status: UInt8
+ subscriptionURI: anyURI
+ newResourceURI: anyURI [0..1]
+ status: UInt8
+ subscriptionURI: anyURI
+ newResourceURI: anyURI [0..1]
+ status: UInt8
+ subscriptionURI: anyURI
SubscriptionBase
SubscriptionBase
SubscriptionBase
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
Notification
Notification
Notification
SubscriptionList
SubscriptionList
SubscriptionList
List
List
List
NotificationList
NotificationList
NotificationList
List
List
List
ListLink
NotificationListLink
ListLink
NotificationListLink
ListLink
NotificationListLink
Figure B.12—Pub-Sub
Condition object ()
Indicates a condition that must be satisfied for the Notification to be triggered.
attributeIdentifier attribute (UInt8)
0 = Reading value
1 to 255 = Reserved
lowerThreshold attribute (Int48)
The value of the lower threshold.
upperThreshold attribute (Int48)
The value of the upper threshold.
SubscriptionBase object (Resource)
Holds the information related to a client Subscription to receive updates to a resource automatically. The actual resources may be passed in the Notification by specifying a specific xsi:type for the Resource and passing the full representation.
subscribedResource attribute (anyURI)
The resource for which the Subscription applies. Query string parameters SHALL NOT be specified when subscribing to list resources. Should a query string parameter be specified, servers SHALL ignore them.
Subscription object (SubscriptionBase)
Holds the information related to a client Subscription to receive updates to a resource automatically.
encoding attribute (UInt8)
0 = application/sep+xml
1 = application/sep-exi
2 to 255 = Reserved
level attribute (String16)
Contains the preferred schema and extensibility level indication such as “+S1”.
limit attribute (UInt32)
This element is used to indicate the maximum number of list items that should be included in a Notification when the subscribed resource changes. This limit is meant to be functionally equivalent to the “limit” query string parameter, but applies to both list resources as well as other resources. For list resources, if a limit of 0 is specified, then Notifications SHALL contain a list resource with results = 0 (equivalent to a simple change Notification). For list resources, if a limit greater than 0 is specified, then Notifications SHALL contain a list resource with results equal to the limit specified (or less, should the list contain fewer items than the limit specified or should the server be unable to provide the requested number of items for any reason) and follow the same rules for list resources (e.g., ordering). For non-list resources, if a limit of 0 is specified, then Notifications SHALL NOT contain a resource representation (equivalent to a simple change Notification). For non-list resources, if a limit greater than 0 is specified, then Notifications SHALL contain the representation of the changed resource.
notificationURI attribute (anyURI)
The resource to which to post the Notifications about the requested subscribed resource. Because this URI will exist on a server other than the one being POSTed to, this attribute SHALL be a fully-qualified absolute URI, not a relative reference.
SubscriptionList object (List)
A List element to hold Subscription objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
Notification object (SubscriptionBase)
Holds the information related to a client Subscription to receive updates to a resource automatically. The actual resources may be passed in the Notification by specifying a specific xsi:type for the Resource and passing the full representation.
newResourceURI attribute (anyURI) [0..1]
The new location of the resource, if moved. This attribute SHALL be a fully-qualified absolute URI, not a relative reference.
status attribute (UInt8)
0 = Default status
1 = Subscription canceled, no additional information
2 = Subscription canceled, resource moved
3 = Subscription canceled, resource definition changed (e.g., a new version of IEEE Std 2030.5)
4 = Subscription canceled, resource deleted All other values reserved.
subscriptionURI attribute (anyURI)
The Subscription from which this Notification was triggered. This attribute SHALL be a fully-qualified absolute URI, not a relative reference.
NotificationList object (List)
A List element to hold Notification objects.
B.2.7 Response package
Contains definitions of objects enabling responses to be sent back to suppliers and providers.

class Response
Resource
FunctionSetAssignmentsBase
0..1
ListLink
ResponseSetListLink
List
class Response
Resource
FunctionSetAssignmentsBase
0..1
ListLink
ResponseSetListLink
List
class Response
Resource
FunctionSetAssignmentsBase
0..1
ListLink
ResponseSetListLink
List
DutyCycle
DutyCycle
DutyCycle
ResponseSetList
ResponseSetList
ResponseSetList
+ normalValue: UInt8
+ normalValue: UInt8
+ normalValue: UInt8
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
Offset
Offset
Offset
0..*
IdentifiedObject
ResponseSet
0..*
IdentifiedObject
ResponseSet
0..*
IdentifiedObject
ResponseSet
DERControlResponse
DERControlResponse
DERControlResponse
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
0..1
0..1
0..1
FlowReservationResponseResponse
FlowReservationResponseResponse
FlowReservationResponseResponse
SetPoint
SetPoint
SetPoint
ListLink
ResponseListLink
ListLink
ResponseListLink
ListLink
ResponseListLink
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
List
List
List
PriceResponse
PriceResponse
PriceResponse
ResponseList
ResponseList
ResponseList
AppliedTargetReduction
AppliedTargetReduction
AppliedTargetReduction
0..*
0..*
0..*
TextResponse
TextResponse
TextResponse
+ type: UnitType
+ value: UInt16
+ type: UnitType
+ value: UInt16
+ type: UnitType
+ value: UInt16
Resource
Response
+ createdDateTime: TimeType [0..1]
+ endDeviceLFDI: HexBinary160
+ status: UInt8 [0..1]
+ subject: mRIDType
Resource
Response
+ createdDateTime: TimeType [0..1]
+ endDeviceLFDI: HexBinary160
+ status: UInt8 [0..1]
+ subject: mRIDType
Resource
Response
+ createdDateTime: TimeType [0..1]
+ endDeviceLFDI: HexBinary160
+ status: UInt8 [0..1]
+ subject: mRIDType
DrResponse
DrResponse
DrResponse
ApplianceLoadReduction
ApplianceLoadReduction
ApplianceLoadReduction
+ overrideDuration: UInt16 [0..1]
+ overrideDuration: UInt16 [0..1]
+ overrideDuration: UInt16 [0..1]
0..1
0..1
0..1
+ type: ApplianceLoadReductionType
+ type: ApplianceLoadReductionType
+ type: ApplianceLoadReductionType
Figure B.13—Response DERControlResponse object (Response)
A response to a DERControl.
FlowReservationResponseResponse object (Response)
A response to a FlowReservationResponse.
AppliedTargetReduction object ()
Specifies the value of the TargetReduction applied by the device.
type attribute (UnitType)
Enumerated field representing the type of reduction requested.
value attribute (UInt16)
Indicates the requested amount of the relevant commodity to be reduced.
DrResponse object (Response)
A response to a Demand Response Load Control (EndDeviceControl) message.
overrideDuration attribute (UInt16) [0..1]
Indicates the amount of time, in seconds, that the client partially opts-out during the demand response event. When overriding within the allowed override duration, the client SHALL send a partial opt-out (response status code 8) for partial opt-out upon completion, with the total time the event was overridden (this attribute) populated. The client SHALL send a no participation status response (status type 10) if the user partially opts-out for longer than EndDeviceControl.overrideDuration.
PriceResponse object (Response)
A response related to a price message.
Response object (Resource)
The Response object is the generic response data repository which is extended for specific function sets.
createdDateTime attribute (TimeType) [0..1]
The createdDateTime field contains the date and time when the acknowledgement/status occurred in the client. The client will provide the timestamp to ensure the proper time is captured in case the response is delayed in reaching the server (server receipt time would not be the same as the actual confirmation time). The time reported from the client should be relative to the time server indicated by the FunctionSetAssignment that also indicated the event resource; if no FunctionSetAssignment exists, the time of the server where the event resource was hosted.
endDeviceLFDI attribute (HexBinary160)
Contains the long-form device identifier (LFDI) of the device providing the response.
status attribute (UInt8) [0..1]
The status field contains the acknowledgement or status. Each event type (DRLC, DER, Price, or Text) can return different status information (e.g., an Acknowledge will be returned for a Price event where a Demand Response Load Control (DRLC) event can return Event Received, Event Started, and Event Completed). The status field value definitions are defined in Table 27.
subject attribute (mRIDType)
The subject field provides a method to match the response with the originating event. It is populated with the mRID of the original object.
ResponseList object (List)
A List element to hold Response objects.
ResponseSet object (IdentifiedObject)
A container for a ResponseList.
ResponseSetList object (List)
A List element to hold ResponseSet objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
TextResponse object (Response)
A response to a text message.
B.2.8 Time package

class Time
class Time
class Time
Int64
Int64
Int64
TimeType
TimeType
TimeType
0..1
0..1
0..1
0..1
0..1
0..1
notes
Time is a signed 64 bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970, in UTC, not counting leap seconds.
notes
Time is a signed 64 bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970, in UTC, not counting leap seconds.
notes
Time is a signed 64 bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970, in UTC, not counting leap seconds.
Link
TimeLink
Resource
Time
quality
+ currentTime: TimeType Metric indicating the quality of the time source from which the service
+ dstEndTime: TimeType acquired time. Lower (smaller) quality enumeration values are assumed
+ dstOffset: TimeOffsetType to be more accurate.
+ dstStartTime: TimeType 3 - time obtained from external authoritative source such as NTP
+ localTime: TimeType [0..1] 4 - time obtained from level 3 source
+ quality: UInt8 5 - time manually set or obtained from level 4 source
+ tzOffset: TimeOffsetType 6 - time obtained from level 5 source
«XSDattribute» 7 - time intentionally uncoordinated
+ pollRate: UInt32 [0..1] = 900 All other values are reserved for future use.
Link
TimeLink
Resource
Time
quality
+ currentTime: TimeType Metric indicating the quality of the time source from which the service
+ dstEndTime: TimeType acquired time. Lower (smaller) quality enumeration values are assumed
+ dstOffset: TimeOffsetType to be more accurate.
+ dstStartTime: TimeType 3 - time obtained from external authoritative source such as NTP
+ localTime: TimeType [0..1] 4 - time obtained from level 3 source
+ quality: UInt8 5 - time manually set or obtained from level 4 source
+ tzOffset: TimeOffsetType 6 - time obtained from level 5 source
«XSDattribute» 7 - time intentionally uncoordinated
+ pollRate: UInt32 [0..1] = 900 All other values are reserved for future use.
Link
TimeLink
Resource
Time
quality
+ currentTime: TimeType Metric indicating the quality of the time source from which the service
+ dstEndTime: TimeType acquired time. Lower (smaller) quality enumeration values are assumed
+ dstOffset: TimeOffsetType to be more accurate.
+ dstStartTime: TimeType 3 - time obtained from external authoritative source such as NTP
+ localTime: TimeType [0..1] 4 - time obtained from level 3 source
+ quality: UInt8 5 - time manually set or obtained from level 4 source
+ tzOffset: TimeOffsetType 6 - time obtained from level 5 source
«XSDattribute» 7 - time intentionally uncoordinated
+ pollRate: UInt32 [0..1] = 900 All other values are reserved for future use.
Resource
DeviceStatus
Resource
DeviceStatus
Resource
DeviceStatus
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Figure B.14—Time
Time object (Resource)
Contains the representation of time, constantly updated.
currentTime attribute (TimeType)
The current time, in the format defined by TimeType.
dstEndTime attribute (TimeType)
Time at which daylight savings ends (dstOffset no longer applied). Result of dstEndRule calculation.
dstOffset attribute (TimeOffsetType)
Daylight savings time offset from local standard time. A typical practice is advancing clocks one hour when daylight savings time is in effect, which would result in a positive dstOffset.
dstStartTime attribute (TimeType)
Time at which daylight savings begins (apply dstOffset). Result of dstStartRule calculation.
localTime attribute (TimeType) [0..1]
Local time: localTime = currentTime + tzOffset (+ dstOffset when in effect).
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
quality attribute (UInt8)
Metric indicating the quality of the time source from which the service acquired time. Lower (smaller) quality enumeration values are assumed to be more accurate.
3 = Time obtained from external authoritative source such as NTP
4 = Time obtained from level 3 source
5 = Time manually set or obtained from level 4 source
6 = Time obtained from level 5 source
7 = Time intentionally uncoordinated
All other values are reserved for future use.
tzOffset attribute (TimeOffsetType)
Local time zone offset from currentTime. Does not include any daylight savings time offsets. For American time zones, a negative tzOffset SHALL be used (e.g., EST = GMT −5 which is −18 000).
B.2.9 DeviceInformation package
Contains general information about devices.

class DeviceInformation
SubscribableResource
AbstractDevice
class DeviceInformation
SubscribableResource
AbstractDevice
class DeviceInformation
SubscribableResource
AbstractDevice
UInt8
PowerSourceType
UInt8
PowerSourceType
UInt8
PowerSourceType
0..1
Link
DeviceInformationLink
0..1
Link
DeviceInformationLink
0..1
Link
DeviceInformationLink
Resource
Resource
Resource
DeviceInformation
DeviceInformation
DeviceInformation
notes
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
notes
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
notes
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
+ functionsImplemented: HexBinary64 [0..1]
+ gpsLocation: GPSLocationType [0..1]
+ lFDI: HexBinary160
+ mfDate: TimeType
+ mfHwVer: String32
+ mfID: PENType
+ mfInfo: String32 [0..1]
+ mfModel: String32
+ mfSerNum: String32
+ primaryPower: PowerSourceType
+ secondaryPower: PowerSourceType
+ swActTime: TimeType
+ swVer: String32
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ functionsImplemented: HexBinary64 [0..1]
+ gpsLocation: GPSLocationType [0..1]
+ lFDI: HexBinary160
+ mfDate: TimeType
+ mfHwVer: String32
+ mfID: PENType
+ mfInfo: String32 [0..1]
+ mfModel: String32
+ mfSerNum: String32
+ primaryPower: PowerSourceType
+ secondaryPower: PowerSourceType
+ swActTime: TimeType
+ swVer: String32
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ functionsImplemented: HexBinary64 [0..1]
+ gpsLocation: GPSLocationType [0..1]
+ lFDI: HexBinary160
+ mfDate: TimeType
+ mfHwVer: String32
+ mfID: PENType
+ mfInfo: String32 [0..1]
+ mfModel: String32
+ mfSerNum: String32
+ primaryPower: PowerSourceType
+ secondaryPower: PowerSourceType
+ swActTime: TimeType
+ swVer: String32
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
functionsImplemented
Bitmap indicating the function sets used by the device as a client.
0 - Device Capability
1 - Self Device Resource
2 - End Device Resource
3 - Function Set Assignments
4 - Subscription/Notification Mechanism
5 - Response
6 - Time
7 - Device Information
8 - Power Status
9 - Network Status
10 - Log Event
functionsImplemented
Bitmap indicating the function sets used by the device as a client.
0 - Device Capability
1 - Self Device Resource
2 - End Device Resource
3 - Function Set Assignments
4 - Subscription/Notification Mechanism
5 - Response
6 - Time
7 - Device Information
8 - Power Status
9 - Network Status
10 - Log Event
functionsImplemented
Bitmap indicating the function sets used by the device as a client.
0 - Device Capability
1 - Self Device Resource
2 - End Device Resource
3 - Function Set Assignments
4 - Subscription/Notification Mechanism
5 - Response
6 - Time
7 - Device Information
8 - Power Status
9 - Network Status
10 - Log Event
11 - Configuration Resource
12 - Software Download
13 - DRLC
14 - Metering
15 - Pricing
11 - Configuration Resource
12 - Software Download
13 - DRLC
14 - Metering
15 - Pricing
11 - Configuration Resource
12 - Software Download
13 - DRLC
14 - Metering
15 - Pricing
0..1
0..1
0..1
16 - Messaging
17 - Billing
18 - Prepayment
19 - Flow Reservation
20 - DER Control
16 - Messaging
17 - Billing
18 - Prepayment
19 - Flow Reservation
20 - DER Control
16 - Messaging
17 - Billing
18 - Prepayment
19 - Flow Reservation
20 - DER Control
0..1
0..1
0..1
DRLCCapabilities
DRLCCapabilities
DRLCCapabilities
ListLink
SupportedLocaleListLink
ListLink
SupportedLocaleListLink
ListLink
SupportedLocaleListLink
+ averageEnergy: RealEnergy
+ maxDemand: ActivePower
+ optionsImplemented: HexBinary32
+ averageEnergy: RealEnergy
+ maxDemand: ActivePower
+ optionsImplemented: HexBinary32
+ averageEnergy: RealEnergy
+ maxDemand: ActivePower
+ optionsImplemented: HexBinary32
optionsImplemented
Bitmap indicating the DRLC options implemented by the device.
0 - Target reduction (kWh)
1 - Target reduction (kW)
2 - Target reduction (Watts)
3 - Target reduction (Cubic Meters)
4 - Target reduction (Cubic Feet)
5 - Target reduction (US Gallons)
6 - Target reduction (Imperial Gallons)
7 - Target reduction (BTUs)
8 - Target reduction (Liters)
9 - Target reduction (kPA (gauge))
10 - Target reduction (kPA (absolute))
11 - Target reduction (Mega Joule)
12 - Target reduction (Unitless) 13-15 - Reserved
16 - Temperature set point
17 - Temperature offset
18 - Duty cycle
19 - Load adjustment percentage
20 - Appliance load reduction 21-31 - Reserved
optionsImplemented
Bitmap indicating the DRLC options implemented by the device.
0 - Target reduction (kWh)
1 - Target reduction (kW)
2 - Target reduction (Watts)
3 - Target reduction (Cubic Meters)
4 - Target reduction (Cubic Feet)
5 - Target reduction (US Gallons)
6 - Target reduction (Imperial Gallons)
7 - Target reduction (BTUs)
8 - Target reduction (Liters)
9 - Target reduction (kPA (gauge))
10 - Target reduction (kPA (absolute))
11 - Target reduction (Mega Joule)
12 - Target reduction (Unitless) 13-15 - Reserved
16 - Temperature set point
17 - Temperature offset
18 - Duty cycle
19 - Load adjustment percentage
20 - Appliance load reduction 21-31 - Reserved
optionsImplemented
Bitmap indicating the DRLC options implemented by the device.
0 - Target reduction (kWh)
1 - Target reduction (kW)
2 - Target reduction (Watts)
3 - Target reduction (Cubic Meters)
4 - Target reduction (Cubic Feet)
5 - Target reduction (US Gallons)
6 - Target reduction (Imperial Gallons)
7 - Target reduction (BTUs)
8 - Target reduction (Liters)
9 - Target reduction (kPA (gauge))
10 - Target reduction (kPA (absolute))
11 - Target reduction (Mega Joule)
12 - Target reduction (Unitless) 13-15 - Reserved
16 - Temperature set point
17 - Temperature offset
18 - Duty cycle
19 - Load adjustment percentage
20 - Appliance load reduction 21-31 - Reserved
List
List
List
SupportedLocaleList
SupportedLocaleList
SupportedLocaleList
0..*
0..*
0..*
String42
LocaleType
String42
LocaleType
String42
LocaleType
Resource
SupportedLocale
Resource
SupportedLocale
Resource
SupportedLocale
notes
[RFC 4646] identifier of a language-region
notes
[RFC 4646] identifier of a language-region
notes
[RFC 4646] identifier of a language-region
RealEnergy
RealEnergy
RealEnergy
+ locale: LocaleType
+ locale: LocaleType
+ locale: LocaleType
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
Figure B.15—DeviceInformation DeviceInformation object (Resource)
Contains identification and other information about the device that changes very infrequently, typically only when updates are applied, if ever.
functionsImplemented attribute (HexBinary64) [0..1]
Bitmap indicating the function sets used by the device as a client.
0 = Device capability
1 = SelfDevice resource
2 = EndDevice resource
3 = Function set assignments
4 = Subscription/Notification mechanism
5 = Response
6 = Time
7 = Device information
8 = Power status
9 = Network status
10 = Log event
11 = Configuration resource
12 = Software download
13 = DRLC
14 = Metering
15 = Pricing
16 = Messaging
17 = Billing
18 = Prepayment
19 = Flow reservation
20 = DER control
gpsLocation attribute (GPSLocationType) [0..1]
GPS location of this device.
lFDI attribute (HexBinary160)
Long form device identifier. See Clause 6 (security) for full details.
mfDate attribute (TimeType)
Date/time of manufacture.
mfHwVer attribute (String32)
Manufacturer hardware version.
mfID attribute (PENType)
The manufacturer’s IANA Enterprise Number.
mfInfo attribute (String32) [0..1]
Manufacturer dependent information related to the manufacture of this device.
mfModel attribute (String32)
Manufacturer’s model number.
mfSerNum attribute (String32)
Manufacturer assigned serial number.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
primaryPower attribute (PowerSourceType)
Primary source of power.
secondaryPower attribute (PowerSourceType)
Secondary source of power.
swActTime attribute (TimeType)
Activation date/time of currently running software.
swVer attribute (String32)
Currently running software version.
DRLCCapabilities object ()
Contains information about the static capabilities of the device, to allow service providers to know what types of functions are supported, what the normal operating ranges and limits are, and other similar information, in order to provide better suggestions of applicable programs to receive the maximum benefit.
averageEnergy attribute (RealEnergy)
The average hourly energy usage when in normal operating mode.
maxDemand attribute (ActivePower)
The maximum demand rating of this end device.
optionsImplemented attribute (HexBinary32)
Bitmap indicating the DRLC options implemented by the device.
0 = Target reduction (kWh)
1 = Target reduction (kW)
2 = Target reduction (watts)
3 = Target reduction (cubic meters)
4 = Target reduction (cubic feet)
5 = Target reduction (U.S. gallons)
6 = Target reduction (Imperial gallons)
7 = Target reduction (BTUs)
8 = Target reduction (liters)
9 = Target reduction (kPA [gauge])
10 = Target reduction (kPA [absolute])
11 = Target reduction (megajoule)
12 = Target reduction (unitless)
13 to 15 = Reserved
16 = Temperature set point
17 = Temperature offset
18 = Duty cycle
19 = Load adjustment percentage
20 = Appliance load reduction
21 to 31 = Reserved
SupportedLocale object (Resource)
Specifies a locale that is supported.
locale attribute (LocaleType)
The code for a locale that is supported.
SupportedLocaleList object (List)
A List element to hold SupportedLocale objects.
B.2.10 PowerStatus package

class PowerStatus
SubscribableResource
AbstractDevice
class PowerStatus
SubscribableResource
AbstractDevice
class PowerStatus
SubscribableResource
AbstractDevice
0..1
0..1
0..1
Link
Link
Link
PowerStatusLink
PowerStatusLink
PowerStatusLink
Resource
Resource
Resource
PowerStatus
PowerStatus
PowerStatus
UInt8
PowerSourceType
UInt8
PowerSourceType
UInt8
PowerSourceType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
batteryStatus: UInt8
changedTime: TimeType currentPowerSource: PowerSourceType
estimatedChargeRemaining: PerCent [0..1] estimatedTimeRemaining: UInt32 [0..1]
sessionTimeOnBattery: UInt32 [0..1] totalTimeOnBattery: UInt32 [0..1]
«XSDattribute»
batteryStatus: UInt8
changedTime: TimeType currentPowerSource: PowerSourceType
estimatedChargeRemaining: PerCent [0..1] estimatedTimeRemaining: UInt32 [0..1]
sessionTimeOnBattery: UInt32 [0..1] totalTimeOnBattery: UInt32 [0..1]
«XSDattribute»
batteryStatus: UInt8
changedTime: TimeType currentPowerSource: PowerSourceType
estimatedChargeRemaining: PerCent [0..1] estimatedTimeRemaining: UInt32 [0..1]
sessionTimeOnBattery: UInt32 [0..1] totalTimeOnBattery: UInt32 [0..1]
«XSDattribute»
PEVInfo
PEVInfo
PEVInfo
notes
notes
notes
+ pollRate: UInt32 [0..1] = 900
+ pollRate: UInt32 [0..1] = 900
+ pollRate: UInt32 [0..1] = 900
+
+
+
0..1 +
+
+
+
+
+
+
0..1 +
+
+
+
+
+
+
0..1 +
+
+
+
chargingPowerNow: ActivePower
energyRequestNow: RealEnergy maxForwardPower: ActivePower minimumChargingDuration: UInt32 targetStateOfCharge: PerCent timeChargeIsNeeded: TimeType timeChargingStatusPEV: TimeType
chargingPowerNow: ActivePower
energyRequestNow: RealEnergy maxForwardPower: ActivePower minimumChargingDuration: UInt32 targetStateOfCharge: PerCent timeChargeIsNeeded: TimeType timeChargingStatusPEV: TimeType
chargingPowerNow: ActivePower
energyRequestNow: RealEnergy maxForwardPower: ActivePower minimumChargingDuration: UInt32 targetStateOfCharge: PerCent timeChargeIsNeeded: TimeType timeChargingStatusPEV: TimeType
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
0 - none
1 - mains
2 - battery
3 - local generation
4 - emergency
5 - unknown
All other values reserved.
Figure B.16—PowerStatus
PowerStatus object (Resource)
Contains the status of the device’s power sources.
batteryStatus attribute (UInt8)
Battery system status:
0 = Unknown
1 = Normal (more than LowChargeThreshold remaining)
2 = Low (less than LowChargeThreshold remaining)
3 = Depleted (0% charge remaining)
4 = Not applicable (mains powered only)
changedTime attribute (TimeType)
The time at which the reported values were recorded.
currentPowerSource attribute (PowerSourceType)
This value will be fixed for devices powered by a single source. This value may change for devices able to transition between multiple power sources (mains to battery backup, etc.).
estimatedChargeRemaining attribute (PerCent) [0..1]
Estimate of remaining battery charge as a percent of full charge.
estimatedTimeRemaining attribute (UInt32) [0..1]
Estimated time (in seconds) to total battery charge depletion (undercurrent load).
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
sessionTimeOnBattery attribute (UInt32) [0..1]
If the device has a battery, this is the time since the device last switched to battery power, or the time since the device was restarted, whichever is less, in seconds.
totalTimeOnBattery attribute (UInt32) [0..1]
If the device has a battery, this is the total time the device has been on battery power, in seconds. It may be reset when the battery is replaced.
PowerSourceType object (UInt8)
0 = None
1 = Mains
2 = Battery
3 = Local generation
4 = Emergency
5 = Unknown
All other values reserved.
PEVInfo object ()
Contains attributes that can be exposed by PEVs and other devices that have charging requirements.
chargingPowerNow attribute (ActivePower)
This is the actual power flow in or out of the charger or inverter. This is calculated by the vehicle based on actual measurements. This number is positive for charging.
energyRequestNow attribute (RealEnergy)
This is the amount of energy that must be transferred from the grid to EVSE and PEV to achieve the target state of charge allowing for charger efficiency and any vehicle and EVSE parasitic loads. This is calculated
by the vehicle and changes throughout the connection as forward or reverse power flow change the battery state of charge. This number is positive for charging.
maxForwardPower attribute (ActivePower)
This is the maximum power transfer capability that could be used for charging the PEV to perform the requested energy transfer. It is the lower of the vehicle or EVSE physical power limitations. It is not based on economic considerations. The vehicle may draw less power than this value based on its charging cycle. The vehicle defines this parameter. This number is positive for charging power flow.
minimumChargingDuration attribute (UInt32)
This is computed by the PEV based on the charging profile to complete the energy transfer if the maximum power is authorized. The value will never be smaller than the ratio of the energy request to the power request because the charging profile may not allow the maximum power to be used throughout the transfer. This is a critical parameter for determining whether any slack time exists in the charging cycle between the current time and the Time Charge Is Needed (TCIN).
targetStateOfCharge attribute (PerCent)
This is the target state of charge that is to be achieved during charging before the time of departure (TCIN). The default value is 100%. The value cannot be set to a value less than the actual state of charge.
timeChargeIsNeeded attribute (TimeType)
Time Charge Is Needed (TCIN) is the time that the PEV is expected to depart. The value is manually entered using controls and displays in the vehicle, or on the EVSE, or using a mobile device. It is authenticated and saved by the PEV. This value may be updated during a charging session.
timeChargingStatusPEV attribute (TimeType)
This is the time that the parameters are updated, except for changes to TCIN.
B.2.11 NetworkStatus package

class NetworkStatus
SubscribableResource
AbstractDevice
0..1
ListLink
IPInterfaceListLink
class NetworkStatus
SubscribableResource
AbstractDevice
0..1
ListLink
IPInterfaceListLink
class NetworkStatus
SubscribableResource
AbstractDevice
0..1
ListLink
IPInterfaceListLink
ListLink
ListLink
ListLink
List
List
List
IPAddrListLink
IPAddrListLink
IPAddrListLink
ListLink
RPLInstanceListLink
ListLink
RPLInstanceListLink
ListLink
RPLInstanceListLink
ListLink
RPLSourceRoutesListLink
ListLink
RPLSourceRoutesListLink
ListLink
RPLSourceRoutesListLink
IPInterfaceList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
IPInterfaceList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
IPInterfaceList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
List
List
List
IPAddrList
IPAddrList
IPAddrList
List
RPLInstanceList
List
RPLInstanceList
List
RPLInstanceList
List
RPLSourceRoutesList
List
RPLSourceRoutesList
List
RPLSourceRoutesList
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
Resource Resource Resource Resource
IPInterface IPAddr RPLInstance RPLSourceRoutes
Resource Resource Resource Resource
IPInterface IPAddr RPLInstance RPLSourceRoutes
Resource Resource Resource Resource
IPInterface IPAddr RPLInstance RPLSourceRoutes
+ ifDescr: String192 [0..1]
+ ifHighSpeed: UInt32 [0..1]
+ ifInBroadcastPkts: UInt32 [0..1]
+ ifIndex: UInt32 [0..1]
+ ifInDiscards: UInt32 [0..1]
+ ifInErrors: UInt32 [0..1]
+ ifInMulticastPkts: UInt32 [0..1]
+ ifInOctets: UInt32 [0..1]
+ ifInUcastPkts: UInt32 [0..1]
+ ifInUnknownProtos: UInt32 [0..1]
+ ifMtu: UInt32 [0..1]
+ ifName: String16 [0..1]
+ ifOperStatus: UInt8 [0..1]
+ ifOutBroadcastPkts: UInt32 [0..1]
+ ifOutDiscards: UInt32 [0..1]
+ ifOutErrors: UInt32 [0..1]
+ ifOutMulticastPkts: UInt32 [0..1]
+ ifOutOctets: UInt32 [0..1]
+ ifOutUcastPkts: UInt32 [0..1]
+ ifPromiscuousMode: boolean [0..1]
+ ifSpeed: UInt32 [0..1]
+ ifType: UInt16 [0..1]
+ lastResetTime: Int64 [0..1]
+ lastUpdatedTime: Int64 [0..1]
+ ifDescr: String192 [0..1]
+ ifHighSpeed: UInt32 [0..1]
+ ifInBroadcastPkts: UInt32 [0..1]
+ ifIndex: UInt32 [0..1]
+ ifInDiscards: UInt32 [0..1]
+ ifInErrors: UInt32 [0..1]
+ ifInMulticastPkts: UInt32 [0..1]
+ ifInOctets: UInt32 [0..1]
+ ifInUcastPkts: UInt32 [0..1]
+ ifInUnknownProtos: UInt32 [0..1]
+ ifMtu: UInt32 [0..1]
+ ifName: String16 [0..1]
+ ifOperStatus: UInt8 [0..1]
+ ifOutBroadcastPkts: UInt32 [0..1]
+ ifOutDiscards: UInt32 [0..1]
+ ifOutErrors: UInt32 [0..1]
+ ifOutMulticastPkts: UInt32 [0..1]
+ ifOutOctets: UInt32 [0..1]
+ ifOutUcastPkts: UInt32 [0..1]
+ ifPromiscuousMode: boolean [0..1]
+ ifSpeed: UInt32 [0..1]
+ ifType: UInt16 [0..1]
+ lastResetTime: Int64 [0..1]
+ lastUpdatedTime: Int64 [0..1]
+ ifDescr: String192 [0..1]
+ ifHighSpeed: UInt32 [0..1]
+ ifInBroadcastPkts: UInt32 [0..1]
+ ifIndex: UInt32 [0..1]
+ ifInDiscards: UInt32 [0..1]
+ ifInErrors: UInt32 [0..1]
+ ifInMulticastPkts: UInt32 [0..1]
+ ifInOctets: UInt32 [0..1]
+ ifInUcastPkts: UInt32 [0..1]
+ ifInUnknownProtos: UInt32 [0..1]
+ ifMtu: UInt32 [0..1]
+ ifName: String16 [0..1]
+ ifOperStatus: UInt8 [0..1]
+ ifOutBroadcastPkts: UInt32 [0..1]
+ ifOutDiscards: UInt32 [0..1]
+ ifOutErrors: UInt32 [0..1]
+ ifOutMulticastPkts: UInt32 [0..1]
+ ifOutOctets: UInt32 [0..1]
+ ifOutUcastPkts: UInt32 [0..1]
+ ifPromiscuousMode: boolean [0..1]
+ ifSpeed: UInt32 [0..1]
+ ifType: UInt16 [0..1]
+ lastResetTime: Int64 [0..1]
+ lastUpdatedTime: Int64 [0..1]
+ address: HexBinary128
+ address: HexBinary128
+ address: HexBinary128
0..1
0..1
0..1
+ DODAGid: UInt8
+ DODAGroot: boolean
+ flags: UInt8
+ groundedFlag: boolean 0..1
+ MOP: UInt8
+ PRF: UInt8
+ rank: UInt16
+ RPLInstanceID: UInt8
+ versionNumber: UInt8
+ DODAGid: UInt8
+ DODAGroot: boolean
+ flags: UInt8
+ groundedFlag: boolean 0..1
+ MOP: UInt8
+ PRF: UInt8
+ rank: UInt16
+ RPLInstanceID: UInt8
+ versionNumber: UInt8
+ DODAGid: UInt8
+ DODAGroot: boolean
+ flags: UInt8
+ groundedFlag: boolean 0..1
+ MOP: UInt8
+ PRF: UInt8
+ rank: UInt16
+ RPLInstanceID: UInt8
+ versionNumber: UInt8
+ DestAddress: HexBinary128
+ SourceRoute: HexBinary128
+ DestAddress: HexBinary128
+ SourceRoute: HexBinary128
+ DestAddress: HexBinary128
+ SourceRoute: HexBinary128
0..1
0..1
0..1
0..1
0..1
0..1
ListLink
LLInterfaceListLink
ListLink
LLInterfaceListLink
ListLink
LLInterfaceListLink
List
LLInterfaceList
0..*
List
LLInterfaceList
0..*
List
LLInterfaceList
0..*
Resource
Resource
Resource
LLInterface
LLInterface
LLInterface
+ CRCerrors: UInt32
+ EUI64: HexBinary64
+ linkLayerType: UInt8
+ LLAckNotRx: UInt32 [0..1]
+ LLCSMAFail: UInt32 [0..1]
+ LLFramesDropRx: UInt32 [0..1]
+ LLFramesDropTx: UInt32 [0..1]
+ LLFramesRx: UInt32 [0..1]
+ LLFramesTx: UInt32 [0..1]
+ LLMediaAccessFail: UInt32 [0..1]
+ LLOctetsRx: UInt32 [0..1]
+ LLOctetsTx: UInt32 [0..1]
+ LLRetryCount: UInt32 [0..1]
+ LLSecurityErrorRx: UInt32 [0..1]
+ CRCerrors: UInt32
+ EUI64: HexBinary64
+ linkLayerType: UInt8
+ LLAckNotRx: UInt32 [0..1]
+ LLCSMAFail: UInt32 [0..1]
+ LLFramesDropRx: UInt32 [0..1]
+ LLFramesDropTx: UInt32 [0..1]
+ LLFramesRx: UInt32 [0..1]
+ LLFramesTx: UInt32 [0..1]
+ LLMediaAccessFail: UInt32 [0..1]
+ LLOctetsRx: UInt32 [0..1]
+ LLOctetsTx: UInt32 [0..1]
+ LLRetryCount: UInt32 [0..1]
+ LLSecurityErrorRx: UInt32 [0..1]
+ CRCerrors: UInt32
+ EUI64: HexBinary64
+ linkLayerType: UInt8
+ LLAckNotRx: UInt32 [0..1]
+ LLCSMAFail: UInt32 [0..1]
+ LLFramesDropRx: UInt32 [0..1]
+ LLFramesDropTx: UInt32 [0..1]
+ LLFramesRx: UInt32 [0..1]
+ LLFramesTx: UInt32 [0..1]
+ LLMediaAccessFail: UInt32 [0..1]
+ LLOctetsRx: UInt32 [0..1]
+ LLOctetsTx: UInt32 [0..1]
+ LLRetryCount: UInt32 [0..1]
+ LLSecurityErrorRx: UInt32 [0..1]
linkLayerType
Specifies the type of link layer interface associated with the IPInterface. Values are below.
0 = Unspecified
1 = IEEE 802.3 (Ethernet)
2 = IEEE 802.11 (WLAN)
3 = IEEE 802.15 (PAN)
4 = IEEE 1901 (PLC)
All other values reserved.
linkLayerType
Specifies the type of link layer interface associated with the IPInterface. Values are below.
0 = Unspecified
1 = IEEE 802.3 (Ethernet)
2 = IEEE 802.11 (WLAN)
3 = IEEE 802.15 (PAN)
4 = IEEE 1901 (PLC)
All other values reserved.
linkLayerType
Specifies the type of link layer interface associated with the IPInterface. Values are below.
0 = Unspecified
1 = IEEE 802.3 (Ethernet)
2 = IEEE 802.11 (WLAN)
3 = IEEE 802.15 (PAN)
4 = IEEE 1901 (PLC)
All other values reserved.
IEEE_802_15_4
+ capabilityInfo: HexBinary8
0..1
IEEE_802_15_4
+ capabilityInfo: HexBinary8
0..1
IEEE_802_15_4
+ capabilityInfo: HexBinary8
0..1
ListLink
NeighborListLink
ListLink
NeighborListLink
ListLink
NeighborListLink
+ shortAddress: UInt16
+ shortAddress: UInt16
+ shortAddress: UInt16
0..1
0..1
0..1
List
NeighborList
List
NeighborList
List
NeighborList
0..*
0..*
0..*
loWPAN
loWPAN
loWPAN
Resource
Resource
Resource
0..1 + octetsRx: UInt32 [0..1]
+ octetsTx: UInt32 [0..1]
+ packetsRx: UInt32
+ packetsTx: UInt32
+ rxFragError: UInt32
0..1 + octetsRx: UInt32 [0..1]
+ octetsTx: UInt32 [0..1]
+ packetsRx: UInt32
+ packetsTx: UInt32
+ rxFragError: UInt32
0..1 + octetsRx: UInt32 [0..1]
+ octetsTx: UInt32 [0..1]
+ packetsRx: UInt32
+ packetsTx: UInt32
+ rxFragError: UInt32
Neighbor
Neighbor
Neighbor
+ isChild: boolean
+ linkQuality: UInt8
+ shortAddress: UInt16
+ isChild: boolean
+ linkQuality: UInt8
+ shortAddress: UInt16
+ isChild: boolean
+ linkQuality: UInt8
+ shortAddress: UInt16
Figure B.17—NetworkStatus
IEEE_802_15_4 object ()
Contains 802.15.4 link layer specific attributes.
capabilityInfo attribute (HexBinary8)
As defined by IEEE Std 802.15.4.
shortAddress attribute (UInt16)
As defined by IEEE Std 802.15.4.
IPAddr object (Resource)
An Internet Protocol (IP) address object.
address attribute (HexBinary128)
An IP address value.
IPAddrList object (List)
List of IPAddr instances.
IPInterface object (Resource)
Specific IPInterface resource. This resource may be thought of as network status information for a specific network (IP) layer interface.
ifDescr attribute (String192) [0..1]
Use rules from IETF RFC 2863.
ifHighSpeed attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifInBroadcastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifIndex attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifInDiscards attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Input Datagrams Discarded.
ifInErrors attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifInMulticastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Multicast Datagrams Received.
ifInOctets attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Bytes Received.
ifInUcastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Datagrams Received.
ifInUnknownProtos attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Datagrams with Unknown Protocol Received.
ifMtu attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifName attribute (String16) [0..1]
Use rules from IETF RFC 2863.
ifOperStatus attribute (UInt8) [0..1]
Use rules and assignments from IETF RFC 2863.
ifOutBroadcastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Broadcast Datagrams Sent.
ifOutDiscards attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Output Datagrams Discarded.
ifOutErrors attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifOutMulticastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Multicast Datagrams Sent.
ifOutOctets attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Bytes Sent.
ifOutUcastPkts attribute (UInt32) [0..1]
Use rules from IETF RFC 2863. Can be thought of as Datagrams Sent.
ifPromiscuousMode attribute (boolean) [0..1]
Use rules from IETF RFC 2863.
ifSpeed attribute (UInt32) [0..1]
Use rules from IETF RFC 2863.
ifType attribute (UInt16) [0..1]
Use rules and assignments from IETF RFC 2863.
lastResetTime attribute (Int64) [0..1]
Similar to ifLastChange in IETF RFC 2863.
lastUpdatedTime attribute (Int64) [0..1]
The date/time of the reported status.
IPInterfaceList object (List)
List of IPInterface instances.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
LLInterface object (Resource)
A link-layer interface object.
CRCerrors attribute (UInt32)
Contains the number of CRC errors since reset.
EUI64 attribute (HexBinary64)
Contains the EUI-64 of the link layer interface. 48-bit MAC addresses SHALL be changed into an EUI-64 using the method defined in IETF RFC 4291, Appendix A. (The method is to insert “0xFFFE” as described in the reference.)
linkLayerType attribute (UInt8)
Specifies the type of link layer interface associated with the IPInterface. Values are below.
0 = Unspecified
1 = IEEE 802.3 (Ethernet)
2 = IEEE 802.11 (WLAN)
3 = IEEE 802.15 (PAN)
4 = IEEE 1901 (PLC)
All other values reserved.
LLAckNotRx attribute (UInt32) [0..1]
Number of times an ACK was not received for a frame transmitted (when ACK was requested).
LLCSMAFail attribute (UInt32) [0..1]
Number of times CSMA failed.
LLFramesDropRx attribute (UInt32) [0..1]
Number of dropped receive frames.
LLFramesDropTx attribute (UInt32) [0..1]
Number of dropped transmit frames.
LLFramesRx attribute (UInt32) [0..1]
Number of link layer frames received.
LLFramesTx attribute (UInt32) [0..1]
Number of link layer frames transmitted.
LLMediaAccessFail attribute (UInt32) [0..1]
Number of times access to media failed.
LLOctetsRx attribute (UInt32) [0..1]
Number of bytes received.
LLOctetsTx attribute (UInt32) [0..1]
Number of bytes transmitted.
LLRetryCount attribute (UInt32) [0..1]
Number of MAC transmit retries.
LLSecurityErrorRx attribute (UInt32) [0..1]
Number of receive security errors.
LLInterfaceList Object (List)
List of LLInterface instances.
loWPAN Object ()
Contains information specific to 6LoWPAN.
octetsRx attribute (UInt32) [0..1]
Number of bytes received.
octetsTx attribute (UInt32) [0..1]
Number of bytes transmitted.
packetsRx attribute (UInt32)
Number of packets received.
packetsTx attribute (UInt32)
Number of packets transmitted.
rxFragError attribute (UInt32)
Number of errors receiving fragments.
Neighbor object (Resource)
Contains 802.15.4 link layer specific attributes.
isChild attribute (boolean)
True if the neighbor is a child.
linkQuality attribute (UInt8)
The quality of the link, as defined by IEEE Std 802.15.4.
shortAddress attribute (UInt16)
As defined by IEEE Std 802.15.4.
NeighborList object (List)
List of 802.15.4 neighbors.
RPLInstance object (Resource)
Specific RPLInstance resource. This resource may be thought of as network status information for a specific RPL instance associated with IPInterface.
DODAGid attribute (UInt8)
See IETF RFC 6550.
DODAGroot attribute (boolean)
See IETF RFC 6550.
flags attribute (UInt8)
See IETF RFC 6550.
groundedFlag attribute (boolean)
See IETF RFC 6550.
MOP attribute (UInt8)
See IETF RFC 6550.
PRF attribute (UInt8)
See IETF RFC 6550.
rank attribute (UInt16)
See IETF RFC 6550.
RPLInstanceID attribute (UInt8)
See IETF RFC 6550.
versionNumber attribute (UInt8)
See IETF RFC 6550.
RPLInstanceList object (List)
List of RPLInstances associated with the IPInterface.
RPLSourceRoutes object (Resource)
A RPL source routes object.
DestAddress attribute (HexBinary128)
See IETF RFC 6554.
SourceRoute attribute (HexBinary128)
See IETF RFC 6554.
RPLSourceRoutesList object (List)
List of RPL source routes if the hosting device is the DODAGroot.
B.2.12 LogEvents package
SubscribableResource AbstractDevice | |
0..1 | |
ListLink LogEventListLink | |
SubscribableList LogEventList | |
«XSDattribute» + pollRate: UInt32 [0..1] = 900 | |
0..* | |
Resource LogEvent | |
+ createdDateTime: TimeType + details: String32 [0..1] + extendedData: UInt32 [0..1] + functionSet: UInt8 + logEventCode: UInt8 + logEventID: UInt16 + logEventPEN: PENType + profileID: UInt8 | |

class LogEvents
class LogEvents
class LogEvents
Figure B.18—LogEvents
LogEvent object (Resource)
A time-stamped instance of a significant event detected by the device.
createdDateTime attribute (TimeType)
The date and time that the event occurred.
details attribute (String32) [0..1]
Human-readable text that MAY be used to transmit additional details about the event. A host MAY remove this field when received.
extendedData attribute (UInt32) [0..1]
May be used to transmit additional details about the event.
functionSet attribute (UInt8)
If the profileID indicates this is IEEE 2030.5, the functionSet is defined by IEEE Std 2030.5 and SHALL be one of the values from the list below (IEEE 2030.5 function set identifiers). If the profileID is anything else, the functionSet is defined by the identified profile.
0 = General (not specific to a function set)
1 = Publish and subscribe
2 = End device
3 = Function set assignment
4 = Response
5 = Demand response and load control
6 = Metering
7 = Pricing
8 = Messaging
9 = Billing
10 = Prepayment
11 = Distributed energy resources
12 = Time
13 = Software download
14 = Device information
15 = Power status
16 = Network status
17 = Log event list
18 = Configuration
19 = Security
All other values are reserved.
logEventCode attribute (UInt8)
An 8-bit unsigned integer. logEventCodes are scoped to a profile and a function set. If the profile is IEEE 2030.5, the logEventCode is defined by IEEE Std 2030.5 within one of the function sets of IEEE Std 2030.5. If the profile is anything else, the logEventCode is defined by the specified profile.
logEventID attribute (UInt16)
This 16-bit value, combined with createdDateTime, profileID, and logEventPEN, should provide a reasonable level of uniqueness.
logEventPEN attribute (PENType)
The Private Enterprise Number (PEN) of the entity that defined the profileID, functionSet, and logEventCode of the logEvent. IEEE Std 2030.5-assigned logEventCodes SHALL use the IEEE 2030.5 PEN. Combinations of profileID, functionSet, and logEventCode SHALL have unique meaning within a logEventPEN and are defined by the owner of the PEN.
profileID attribute (UInt8)
The profileID identifies which profile (HA, BA, SE, etc.) defines the following event information.
0 = Not profile specific
1 = Vendor defined
2 = IEEE 2030.5
3 = Home automation
4 = Building automation
All other values are reserved.
LogEventList object (SubscribableList)
A List element to hold LogEvent objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
B.2.13 Configuration package

class Configuration
SubscribableResource
AbstractDevice
0..1
Link
ConfigurationLink
SubscribableResource
Configuration
class Configuration
SubscribableResource
AbstractDevice
0..1
Link
ConfigurationLink
SubscribableResource
Configuration
class Configuration
SubscribableResource
AbstractDevice
0..1
Link
ConfigurationLink
SubscribableResource
Configuration
ListLink
ListLink
ListLink
+ currentLocale: LocaleType
+ userDeviceName: String32
«XSDattribute»
+ currentLocale: LocaleType
+ userDeviceName: String32
«XSDattribute»
+ currentLocale: LocaleType
+ userDeviceName: String32
«XSDattribute»
0..1
0..1
0..1
PriceResponseCfgListLink
PriceResponseCfgListLink
PriceResponseCfgListLink
List
List
List
+ pollRate: UInt32 [0..1] = 900
+ pollRate: UInt32 [0..1] = 900
+ pollRate: UInt32 [0..1] = 900
PriceResponseCfgList
0..*
PriceResponseCfgList
0..*
PriceResponseCfgList
0..*
0..1
0..1
0..1
Resource
PriceResponseCfg
+ consumeThreshold: Int32
+ maxReductionThreshold: Int32
Resource
PriceResponseCfg
+ consumeThreshold: Int32
+ maxReductionThreshold: Int32
Resource
PriceResponseCfg
+ consumeThreshold: Int32
+ maxReductionThreshold: Int32
TimeConfiguration
TimeConfiguration
TimeConfiguration
PowerConfiguration
PowerConfiguration
PowerConfiguration
1
1
1
+
+
+
+
+
+
+
+
+
+
+
+
dstEndRule: DstRuleType
dstOffset: TimeOffsetType dstStartRule: DstRuleType tzOffset: TimeOffsetType
dstEndRule: DstRuleType
dstOffset: TimeOffsetType dstStartRule: DstRuleType tzOffset: TimeOffsetType
dstEndRule: DstRuleType
dstOffset: TimeOffsetType dstStartRule: DstRuleType tzOffset: TimeOffsetType
+ batteryInstallTime: TimeType [0..1]
+ lowChargeThreshold: UInt32 [0..1]
+ batteryInstallTime: TimeType [0..1]
+ lowChargeThreshold: UInt32 [0..1]
+ batteryInstallTime: TimeType [0..1]
+ lowChargeThreshold: UInt32 [0..1]
Link
RateComponentLink
Link
RateComponentLink
Link
RateComponentLink
Figure B.19—Configuration Configuration object (SubscribableResource)
This resource contains various settings to control the operation of the device.
currentLocale attribute (LocaleType)
IETF RFC 4646 identifier of the language-region currently in use.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
userDeviceName attribute (String32)
User assigned, convenience name used for network browsing displays, etc. For example, “My Thermostat.”
PowerConfiguration object ()
Contains configuration related to the device’s power sources.
batteryInstallTime attribute (TimeType) [0..1]
Time/Date at which battery was installed.
lowChargeThreshold attribute (UInt32) [0..1]
In context of the PowerStatus resource, this is the value of EstimatedTimeRemaining below which BatteryStatus “low” is indicated and the PS_LOW_BATTERY is raised.
PriceResponseCfg object (Resource)
Configuration data that specifies how price-responsive devices SHOULD respond to price changes while acting upon a given RateComponent.
consumeThreshold attribute (Int32)
Price-responsive clients acting upon the associated RateComponent SHOULD consume the associated commodity while the price is less than this threshold.
maxReductionThreshold attribute (Int32)
Price-responsive clients acting upon the associated RateComponent SHOULD reduce consumption to the maximum extent possible while the price is greater than this threshold.
PriceResponseCfgList object (List)
A List element to hold PriceResponseCfg objects.
TimeConfiguration object ()
Contains attributes related to the configuration of the time service.
dstEndRule attribute (DstRuleType)
Rule to calculate end of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule.
dstOffset attribute (TimeOffsetType)
Daylight savings time offset from local standard time.
dstStartRule attribute (DstRuleType)
Rule to calculate start of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule.
tzOffset attribute (TimeOffsetType)
Local time zone offset from UTCTime. Does not include any daylight savings time offsets.
B.2.14 SoftwareDownload package

class Files
Resource
FunctionSetAssignmentsBase
class Files
Resource
FunctionSetAssignmentsBase
class Files
Resource
FunctionSetAssignmentsBase
SubscribableResource
AbstractDevice
SubscribableResource
AbstractDevice
SubscribableResource
AbstractDevice
0..1 0..1
ListLink Link
FileListLink FileStatusLink
0..1 0..1
ListLink Link
FileListLink FileStatusLink
0..1 0..1
ListLink Link
FileListLink FileStatusLink
List
List
List
Resource
Resource
Resource
FileList
FileList
FileList
type
A value indicating the type of the file. MUST be one of the following values: 00 = Software Image
01 = Security Credential 02 = Configuration
03 = Log
04–7FFF = reserved
8000-FFFF = Manufacturer defined
type
A value indicating the type of the file. MUST be one of the following values: 00 = Software Image
01 = Security Credential 02 = Configuration
03 = Log
04–7FFF = reserved
8000-FFFF = Manufacturer defined
type
A value indicating the type of the file. MUST be one of the following values: 00 = Software Image
01 = Security Credential 02 = Configuration
03 = Log
04–7FFF = reserved
8000-FFFF = Manufacturer defined
FileStatus
FileStatus
FileStatus
Link
Link
Link
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ activateTime: TimeType [0..1]
+ loadPercent: UInt8
+ nextRequestAttempt: TimeType
+ request503Count: UInt16
+ requestFailCount: UInt16
+ status: UInt8
+ statusTime: TimeType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ activateTime: TimeType [0..1]
+ loadPercent: UInt8
+ nextRequestAttempt: TimeType
+ request503Count: UInt16
+ requestFailCount: UInt16
+ status: UInt8
+ statusTime: TimeType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
+ activateTime: TimeType [0..1]
+ loadPercent: UInt8
+ nextRequestAttempt: TimeType
+ request503Count: UInt16
+ requestFailCount: UInt16
+ status: UInt8
+ statusTime: TimeType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..1
0..1
0..1
FileLink
FileLink
FileLink
0..*
0..*
0..*
Resource
Resource
Resource
File
File
File
+ activateTime: TimeType [0..1]
+ fileURI: anyURI
+ lFDI: HexBinary160 [0..1]
+ mfHwVer: String32 [0..1]
+ mfID: PENType
+ mfModel: String32
+ mfSerNum: String32 [0..1]
+ mfVer: String16
+ size: UInt32
+ type: HexBinary16
+ activateTime: TimeType [0..1]
+ fileURI: anyURI
+ lFDI: HexBinary160 [0..1]
+ mfHwVer: String32 [0..1]
+ mfID: PENType
+ mfModel: String32
+ mfSerNum: String32 [0..1]
+ mfVer: String16
+ size: UInt32
+ type: HexBinary16
+ activateTime: TimeType [0..1]
+ fileURI: anyURI
+ lFDI: HexBinary160 [0..1]
+ mfHwVer: String32 [0..1]
+ mfID: PENType
+ mfModel: String32
+ mfSerNum: String32 [0..1]
+ mfVer: String16
+ size: UInt32
+ type: HexBinary16
status
Current loading status of the file indicated by FileLink. This element MUST be set to one of the following values:
0 - No load operation in progress
1 - File load in progress (first request for file content has been issued by LD)
2 - File load failed
3 - File loaded successfully (full content of file has been received by the LD), signature verification in progress
4 - File signature verification failed
5 - File signature verified, waiting to activate file.
6 - File activation failed
7 - File activation in progress
8 - File activated successfully (this state may not be reached/persisted through an image activation) 9-255 - Reserved for future use.
status
Current loading status of the file indicated by FileLink. This element MUST be set to one of the following values:
0 - No load operation in progress
1 - File load in progress (first request for file content has been issued by LD)
2 - File load failed
3 - File loaded successfully (full content of file has been received by the LD), signature verification in progress
4 - File signature verification failed
5 - File signature verified, waiting to activate file.
6 - File activation failed
7 - File activation in progress
8 - File activated successfully (this state may not be reached/persisted through an image activation) 9-255 - Reserved for future use.
status
Current loading status of the file indicated by FileLink. This element MUST be set to one of the following values:
0 - No load operation in progress
1 - File load in progress (first request for file content has been issued by LD)
2 - File load failed
3 - File loaded successfully (full content of file has been received by the LD), signature verification in progress
4 - File signature verification failed
5 - File signature verified, waiting to activate file.
6 - File activation failed
7 - File activation in progress
8 - File activated successfully (this state may not be reached/persisted through an image activation) 9-255 - Reserved for future use.
Figure B.20—Files
File object (Resource)
This resource contains various meta-data describing a file’s characteristics. The meta-data provides general file information and also is used to support filtered queries of file lists.
activateTime attribute (TimeType) [0..1]
This element MUST be set to the date/time at which this file is activated. If the activation time is less than or equal to current time, the LD MUST immediately place the file into the activated state (in the case of a firmware file, the file is now the running image). If the activation time is greater than the current time, the LD MUST wait until the specified activation time is reached, then MUST place the file into the activated state. Omission of this element means that the LD MUST NOT take any action to activate the file until a subsequent GET to this File resource provides an activateTime.
fileURI attribute (anyURI)
This element MUST be set to the URI location of the file binary artifact. This is the binary large object (BLOB) that is actually loaded by the LD.
lFDI attribute (HexBinary160) [0..1]
This element MUST be set to the LFDI of the device for which this file in targeted.
mfHwVer attribute (String32) [0..1]
This element MUST be set to the hardware version for which this file is targeted.
mfID attribute (PENType)
This element MUST be set to the manufacturer’s Private Enterprise Number (assigned by IANA).
mfModel attribute (String32)
This element MUST be set to the manufacturer model number for which this file is targeted. The syntax and semantics are left to the manufacturer.
mfSerNum attribute (String32) [0..1]
This element MUST be set to the manufacturer serial number for which this file is targeted. The syntax and semantics are left to the manufacturer.
mfVer attribute (String16)
This element MUST be set to the software version information for this file. The syntax and semantics are left to the manufacturer.
size attribute (UInt32)
This element MUST be set to the total size (in bytes) of the file referenced by fileURI.
type attribute (HexBinary16)
A value indicating the type of the file. MUST be one of the following values: 00 = Software image
01 = Security credential 02 = Configuration
03 = Log
04 to 7FFF = reserved
8000 to FFFF = Manufacturer defined
FileList object (List)
A List element to hold File objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
FileStatus object (Resource)
This object provides status of device file load and activation operations.
activateTime attribute (TimeType) [0..1]
Date/time at which this File, referred to by FileLink, will be activated. Omission of, or presence and value of, this element MUST exactly match omission or presence and value of the activateTime element from the File resource.
loadPercent attribute (UInt8)
This element MUST be set to the percentage of the file, indicated by FileLink, that was loaded during the latest load attempt. This value MUST be reset to 0 each time a load attempt is started for the File indicated by FileLink. This value MUST be increased when an LD receives HTTP response containing file content. This value MUST be set to 100 when the full content of the file has been received by the LD.
nextRequestAttempt attribute (TimeType)
This element MUST be set to the time at which the LD will issue its next GET request for file content from the File indicated by FileLink.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
request503Count attribute (UInt16)
This value MUST be reset to 0 when FileLink is first pointed at a new File. This value MUST be incremented each time an LD receives a 503 error from the FS.
requestFailCount attribute (UInt16)
This value MUST be reset to 0 when FileLink is first pointed at a new File. This value MUST be incremented each time a GET request for file content fails. 503 errors MUST be excluded from this counter.
status attribute (UInt8)
Current loading status of the file indicated by FileLink. This element MUST be set to one of the following values:
0 = No load operation in progress
1 = File load in progress (first request for file content has been issued by LD)
2 = File load failed
3 = File loaded successfully (full content of file has been received by the LD), signature verification in progress
4 = File signature verification failed
5 = File signature verified, waiting to activate file
6 = File activation failed
7 = File activation in progress
8 = File activated successfully (this state may not be reached/persisted through an image activation)
9 to 255 = Reserved for future use
statusTime attribute (TimeType)
This element MUST be set to the time at which file status transitioned to the value indicated in the status element.
B.2.15 DRLC package
Contains definitions for Demand Response Load Control functionality.
ListLink
DemandResponseProgramListLink
ListLink
DemandResponseProgramListLink
ListLink
DemandResponseProgramListLink

DRLC Event
DRLC Event
DRLC Event
EventStatus
EventStatus
EventStatus
RespondableSubscribableIdentifiedObject
Event
RespondableSubscribableIdentifiedObject
Event
RespondableSubscribableIdentifiedObject
Event
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
1
1
1
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
RandomizableEvent
RandomizableEvent
RandomizableEvent
0..1
0..1
0..1
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
IdentifiedObject
IdentifiedObject
IdentifiedObject
ListLink
ActiveEndDeviceControlListLink
ListLink
ActiveEndDeviceControlListLink
ListLink
ActiveEndDeviceControlListLink
DemandResponseProgram
DemandResponseProgram
DemandResponseProgram
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ availabilityUpdatePercentChangeThreshold: PerCent [0..1] = 0
+ availabilityUpdatePowerChangeThreshold: ActivePower [0..1] = 0
+ primacy: PrimacyType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
0..1
0..1
0..1
ListLink
EndDeviceControlListLink
ListLink
EndDeviceControlListLink
ListLink
EndDeviceControlListLink
0..1
0..1
0..1
EndDeviceControl
EndDeviceControl
EndDeviceControl
HexBinary32
DeviceCategoryType
notes
The Device category types defined.
Bit positions SHALL be defined as follows:
0 - Programmable Communicating Thermostat
1 - Strip Heaters
2 - Baseboard Heaters
3 - Water Heater
4 - Pool Pump
5 - Sauna
6 - Hot Tub
7 - Smart Appliance
8 - Irrigation Pump
9 - Managed Commercial and Industrial (C&I) Loads
10 - Simple Misc. (Residential On/Off) Loads
11 - Exterior Lighting
12 - Interior Lighting
13 - Load Control Switch
14 - Energy Management System
15 - Smart Energy Module
16 - Electric Vehicle
17 - EVSE
18 - Virtual or Mixed DER
19 - Reciprocating Engine
20 - Fuel Cell
21 - Photovoltaic System
22 - Combined Heat and Power
23 - Combined PV and Storage
24 - Other Generation System
25 - Other Storage System All other values reserved.
HexBinary32
DeviceCategoryType
notes
The Device category types defined.
Bit positions SHALL be defined as follows:
0 - Programmable Communicating Thermostat
1 - Strip Heaters
2 - Baseboard Heaters
3 - Water Heater
4 - Pool Pump
5 - Sauna
6 - Hot Tub
7 - Smart Appliance
8 - Irrigation Pump
9 - Managed Commercial and Industrial (C&I) Loads
10 - Simple Misc. (Residential On/Off) Loads
11 - Exterior Lighting
12 - Interior Lighting
13 - Load Control Switch
14 - Energy Management System
15 - Smart Energy Module
16 - Electric Vehicle
17 - EVSE
18 - Virtual or Mixed DER
19 - Reciprocating Engine
20 - Fuel Cell
21 - Photovoltaic System
22 - Combined Heat and Power
23 - Combined PV and Storage
24 - Other Generation System
25 - Other Storage System All other values reserved.
HexBinary32
DeviceCategoryType
notes
The Device category types defined.
Bit positions SHALL be defined as follows:
0 - Programmable Communicating Thermostat
1 - Strip Heaters
2 - Baseboard Heaters
3 - Water Heater
4 - Pool Pump
5 - Sauna
6 - Hot Tub
7 - Smart Appliance
8 - Irrigation Pump
9 - Managed Commercial and Industrial (C&I) Loads
10 - Simple Misc. (Residential On/Off) Loads
11 - Exterior Lighting
12 - Interior Lighting
13 - Load Control Switch
14 - Energy Management System
15 - Smart Energy Module
16 - Electric Vehicle
17 - EVSE
18 - Virtual or Mixed DER
19 - Reciprocating Engine
20 - Fuel Cell
21 - Photovoltaic System
22 - Combined Heat and Power
23 - Combined PV and Storage
24 - Other Generation System
25 - Other Storage System All other values reserved.
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType 0..1 + interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
DutyCycle
+ normalValue: UInt8
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType 0..1 + interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
DutyCycle
+ normalValue: UInt8
+ deviceCategory: DeviceCategoryType
+ drProgramMandatory: boolean
+ loadShiftForward: boolean
+ overrideDuration: UInt16 [0..1] = 0
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType 0..1 + interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
DutyCycle
+ normalValue: UInt8
Offset
Offset
Offset
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
SetPoint
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
SetPoint
+ coolingOffset: UInt8 [0..1]
+ heatingOffset: UInt8 [0..1]
+ loadAdjustmentPercentageOffset: PerCent [0..1]
SetPoint
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
+ coolingSetpoint: Int16 [0..1]
+ heatingSetpoint: Int16 [0..1]
TargetReduction
TargetReduction
TargetReduction
+ type: UnitType
+ value: UInt16
+ type: UnitType
+ value: UInt16
+ type: UnitType
+ value: UInt16
ApplianceLoadReduction
+ type: ApplianceLoadReductionType
ApplianceLoadReduction
+ type: ApplianceLoadReductionType
ApplianceLoadReduction
+ type: ApplianceLoadReductionType
Figure B.21—DRLC event
SubscribableResource AbstractDevice | |
0..1 | |
ListLink LoadShedAvailabilityListLink | |

class Load Shed Availability
class Load Shed Availability
class Load Shed Availability
0..*
0..*
0..*
0..1
0..1
0..1
Link
DemandResponseProgramLink
Link
DemandResponseProgramLink
Link
DemandResponseProgramLink
+ availabilityDuration: UInt32 [0..1]
+ sheddablePercent: PerCent [0..1]
+ sheddablePower: ActivePower [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ availabilityDuration: UInt32 [0..1]
+ sheddablePercent: PerCent [0..1]
+ sheddablePower: ActivePower [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ availabilityDuration: UInt32 [0..1]
+ sheddablePercent: PerCent [0..1]
+ sheddablePower: ActivePower [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
LoadShedAvailability
LoadShedAvailability
LoadShedAvailability
Resource
Resource
Resource
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
LoadShedAvailabilityList
LoadShedAvailabilityList
LoadShedAvailabilityList
List
List
List
Figure B.22—LoadShedAvailability LoadShedAvailabilityList Object (List)
A List element to hold LoadShedAvailability objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
ApplianceLoadReduction Object ()
The ApplianceLoadReduction object is used by a Demand Response service provider to provide signals for Energy Star–compliant appliances. See the definition of ApplianceLoadReductionType for more information.
type attribute (ApplianceLoadReductionType)
Indicates the type of appliance load reduction requested.
DemandResponseProgram Object (IdentifiedObject)
Demand response program.
availabilityUpdatePercentChangeThreshold attribute (PerCent) [0..1]
This attribute allows program providers to specify the requested granularity of updates to LoadShedAvailability sheddablePercent. If not present, or set to 0, then updates to LoadShedAvailability SHALL NOT be provided. If present and greater than zero, then clients SHALL provide their LoadShedAvailability if it has not previously been provided, and thereafter if the difference between the previously provided value and the current value of LoadShedAvailability sheddablePercent is greater than availabilityUpdatePercentChangeThreshold.
availabilityUpdatePowerChangeThreshold attribute (ActivePower) [0..1]
This attribute allows program providers to specify the requested granularity of updates to LoadShedAvailability sheddablePower. If not present, or set to 0, then updates to LoadShedAvailability SHALL NOT be provided. If present and greater than zero, then clients SHALL provide their LoadShedAvailability if it has not previously been provided, and thereafter if the difference between the previously provided value and the current value of LoadShedAvailability sheddablePower is greater than availabilityUpdatePowerChangeThreshold.
primacy attribute (PrimacyType)
Indicates the relative primacy of the provider of this program.
DemandResponseProgramList Object (SubscribableList)
A List element to hold DemandResponseProgram objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
DutyCycle Object ()
Duty cycle control is a device specific issue and is managed by the device. The duty cycle of the device under control should span the shortest practical time period in accordance with the nature of the device under control and the intent of the request for demand reduction. The default factory setting SHOULD be three minutes for each 10% of duty cycle. This indicates that the default time period over which a duty cycle is applied is 30 minutes, meaning a 10% duty cycle would cause a device to be on for 3 minutes. The “off state” SHALL precede the “on state.”
normalValue attribute (UInt8)
Contains the maximum on state duty cycle applied by the end device, as a percentage of time. The field not present indicates that this field has not been used by the end device.
EndDeviceControl Object (RandomizableEvent)
Instructs an EndDevice to perform a specified action.
deviceCategory attribute (DeviceCategoryType)
Specifies the bitmap indicating the categories of devices that SHOULD respond. Devices SHOULD ignore events that do not indicate their device category.
drProgramMandatory attribute (boolean)
A flag to indicate if the EndDeviceControl is considered a mandatory event as defined by the service provider issuing the EndDeviceControl. The drProgramMandatory flag alerts the client/user that they will be subject to penalty or ineligibility based on the service provider’s program rules for that deviceCategory.
loadShiftForward attribute (boolean)
Indicates that the event intends to increase consumption. A value of true indicates the intention to increase usage value, and a value of false indicates the intention to decrease usage.
overrideDuration attribute (UInt16) [0..1]
The overrideDuration attribute provides a duration, in seconds, for which a client device is allowed to override this EndDeviceControl and still meet the contractual agreement with a service provider without opting out. If overrideDuration is not specified, then it SHALL default to 0.
EndDeviceControlList Object (SubscribableList)
A List element to hold EndDeviceControl objects.
LoadShedAvailability Object (Resource)
Indicates current consumption status and ability to shed load.
availabilityDuration attribute (UInt32) [0..1]
Indicates for how many seconds the consuming device will be able to reduce consumption at the maximum response level.
sheddablePercent attribute (PerCent) [0..1]
Maximum percent of current operating load that is estimated to be sheddable.
sheddablePower attribute (ActivePower) [0..1]
Maximum amount of current operating load that is estimated to be sheddable, in watts.
Association object ()
Offset object ()
If a temperature offset is sent that causes the heating or cooling temperature set point to exceed the limit boundaries that are programmed into the device, the device SHALL respond by setting the temperature at the limit.
If an end device control (EDC) is being targeted at multiple devices or to a device that controls multiple devices (e.g., energy management system [EMS]), it can provide multiple Offset types within one EDC. For events with multiple Offset types, a client SHALL select the Offset that best fits their operating function.
Alternatively, an event with a single Offset type can be targeted at an EMS in order to request a percentage load reduction on the average energy usage of the entire premise. An EMS SHOULD use the Metering function set to determine the initial load in the premise, reduce energy consumption by controlling devices at its disposal, and at the conclusion of the event, once again use the Metering function set to determine if the desired load reduction was achieved.
coolingOffset attribute (UInt8) [0..1]
The value change requested for the cooling offset, in °C/10. The value should be added to the normal set point for cooling, or if loadShiftForward is true, then the value should be subtracted from the normal set point.
heatingOffset attribute (UInt8) [0..1]
The value change requested for the heating offset, in °C/10. The value should be subtracted for heating, or if loadShiftForward is true, then the value should be added to the normal set point.
loadAdjustmentPercentageOffset attribute (PerCent) [0..1]
The value change requested for the load adjustment percentage. The value should be subtracted from the normal setting, or if loadShiftForward is true, then the value should be added to the normal setting.
SetPoint object ()
The SetPoint object is used to apply specific temperature set points to a temperature control device. The values of the heatingSetpoint and coolingSetpoint attributes SHALL be calculated as follows:
![]()
Cooling/Heating Temperature Set Point 100
= temperature in °C where −273.15 °C temperature 327.67 °C,
corresponding to a Cooling and/or Heating Temperature Set Point. The maximum resolution this format allows is 0.01 °C.
The field not present in a Response indicates that this field has not been used by the end device.
If a temperature is sent that exceeds the temperature limit boundaries that are programmed into the device, the device SHALL respond by setting the temperature at the limit.
coolingSetpoint attribute (Int16) [0..1]
This attribute represents the cooling temperature set point in °C /100 (hundredths of a degree Celsius).
heatingSetpoint attribute (Int16) [0..1]
This attribute represents the heating temperature set point in °C/100 (hundredths of a degree Celsius).
TargetReduction Object ()
The TargetReduction object is used by a Demand Response service provider to provide a RECOMMENDED threshold that a device/premises should maintain its consumption below. For example, a service provider can provide a RECOMMENDED threshold of some kWh for a 3-hour event. This means that the device/premises would maintain its consumption below the specified limit for the specified period.
type attribute (UnitType)
Indicates the type of reduction requested.
value attribute (UInt16)
Indicates the requested amount of the relevant commodity to be reduced.
B.2.16 Metering package
Contains definitions related to measurements of energy at usage points.

Metering Data
SubscribableList
UsagePointList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
Metering Data
SubscribableList
UsagePointList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
Metering Data
SubscribableList
UsagePointList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
ListLink
0..1 RateComponentListLink
ListLink
0..1 RateComponentListLink
ListLink
0..1 RateComponentListLink
0..*
ListLink
UsagePoint 0..1 MeterReadingListLink
0..*
ListLink
UsagePoint 0..1 MeterReadingListLink
0..*
ListLink
UsagePoint 0..1 MeterReadingListLink
+ deviceLFDI: HexBinary160 [0..1]
+ deviceLFDI: HexBinary160 [0..1]
+ deviceLFDI: HexBinary160 [0..1]
MeterReadingBase
MeterReading
MeterReadingBase
MeterReading
MeterReadingBase
MeterReading
Link
Link
Link
1
1
1
ReadingTypeLink
ReadingTypeLink
ReadingTypeLink
Resource
Resource
Resource
IdentifiedObject
UsagePointBase
IdentifiedObject
UsagePointBase
IdentifiedObject
UsagePointBase
UInt8
ServiceKind
UInt8
ServiceKind
UInt8
ServiceKind
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
notes
Service kind
0 - electricity
1 - gas
2 - water
3 - time
4 - pressure
5 - heat
6 - cooling
All other values reserved.
notes
Service kind
0 - electricity
1 - gas
2 - water
3 - time
4 - pressure
5 - heat
6 - cooling
All other values reserved.
notes
Service kind
0 - electricity
1 - gas
2 - water
3 - time
4 - pressure
5 - heat
6 - cooling
All other values reserved.
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
ReadingType
ReadingType
ReadingType
0..1
0..1
0..1
status
Specifies the current status of the service at this usage point.
0 = off
1 = on
status
Specifies the current status of the service at this usage point.
0 = off
1 = on
status
Specifies the current status of the service at this usage point.
0 = off
1 = on
ListLink
ListLink
ListLink
roleFlags
Specifies the roles that
apply to the usage point.
roleFlags
Specifies the roles that
apply to the usage point.
roleFlags
Specifies the roles that
apply to the usage point.
ReadingSetListLink
ReadingSetListLink
ReadingSetListLink
ReadingSetBase
ReadingSet
ReadingSetBase
ReadingSet
ReadingSetBase
ReadingSet
+ accumulationBehaviour: AccumulationBehaviourType [0..1] = 0
+ calorificValue: UnitValueType [0..1]
+ commodity: CommodityType [0..1] = 0
+ conversionFactor: UnitValueType [0..1] = 1
+ dataQualifier: DataQualifierType [0..1] = 0
+ flowDirection: FlowDirectionType [0..1] = 0
+ intervalLength: UInt32 [0..1]
+ kind: KindType [0..1] = 0
+ maxNumberOfIntervals: UInt8 [0..1]
+ numberOfConsumptionBlocks: UInt8 [0..1] = 0
+ numberOfTouTiers: UInt8 [0..1] = 0
+ phase: PhaseCode [0..1] = 0
+ powerOfTenMultiplier: PowerOfTenMultiplierType [0..1] = 0
+ subIntervalLength: UInt32 [0..1]
+ supplyLimit: UInt48 [0..1]
+ tieredConsumptionBlocks: boolean [0..1] = false
+ uom: UomType [0..1] = 0
+ accumulationBehaviour: AccumulationBehaviourType [0..1] = 0
+ calorificValue: UnitValueType [0..1]
+ commodity: CommodityType [0..1] = 0
+ conversionFactor: UnitValueType [0..1] = 1
+ dataQualifier: DataQualifierType [0..1] = 0
+ flowDirection: FlowDirectionType [0..1] = 0
+ intervalLength: UInt32 [0..1]
+ kind: KindType [0..1] = 0
+ maxNumberOfIntervals: UInt8 [0..1]
+ numberOfConsumptionBlocks: UInt8 [0..1] = 0
+ numberOfTouTiers: UInt8 [0..1] = 0
+ phase: PhaseCode [0..1] = 0
+ powerOfTenMultiplier: PowerOfTenMultiplierType [0..1] = 0
+ subIntervalLength: UInt32 [0..1]
+ supplyLimit: UInt48 [0..1]
+ tieredConsumptionBlocks: boolean [0..1] = false
+ uom: UomType [0..1] = 0
+ accumulationBehaviour: AccumulationBehaviourType [0..1] = 0
+ calorificValue: UnitValueType [0..1]
+ commodity: CommodityType [0..1] = 0
+ conversionFactor: UnitValueType [0..1] = 1
+ dataQualifier: DataQualifierType [0..1] = 0
+ flowDirection: FlowDirectionType [0..1] = 0
+ intervalLength: UInt32 [0..1]
+ kind: KindType [0..1] = 0
+ maxNumberOfIntervals: UInt8 [0..1]
+ numberOfConsumptionBlocks: UInt8 [0..1] = 0
+ numberOfTouTiers: UInt8 [0..1] = 0
+ phase: PhaseCode [0..1] = 0
+ powerOfTenMultiplier: PowerOfTenMultiplierType [0..1] = 0
+ subIntervalLength: UInt32 [0..1]
+ supplyLimit: UInt48 [0..1]
+ tieredConsumptionBlocks: boolean [0..1] = false
+ uom: UomType [0..1] = 0
0..1
ListLink
ReadingListLink
0..1
ListLink
ReadingListLink
0..1
ListLink
ReadingListLink
0..1
0..1
0..1
HexBinary16
HexBinary16
HexBinary16
Link
Link
Link
RoleFlagsType
RoleFlagsType
RoleFlagsType
ReadingLink
ReadingLink
ReadingLink
notes
Specifies the roles that apply to a usage point.
Bit 0 - isMirror - SHALL be set if the server is not the measurement device
Bit 1 - isPremisesAggregationPoint - SHALL be set if the UsagePoint is the point of delivery for a premises
Bit 2 - isPEV - SHALL be set if the usage applies to an electric vehicle Bit 3 - isDER - SHALL be set if the usage applies to a distributed energy resource, capable of delivering power to the grid.
Bit 4 - isRevenueQuality - SHALL be set if usage was measured by a device certified as revenue quality
Bit 5 - isDC - SHALL be set if the usage point measures direct current Bit 6 - isSubmeter - SHALL be set if the usage point is not a premises aggregation point
Bit 7-15 - Reserved
notes
Specifies the roles that apply to a usage point.
Bit 0 - isMirror - SHALL be set if the server is not the measurement device
Bit 1 - isPremisesAggregationPoint - SHALL be set if the UsagePoint is the point of delivery for a premises
Bit 2 - isPEV - SHALL be set if the usage applies to an electric vehicle Bit 3 - isDER - SHALL be set if the usage applies to a distributed energy resource, capable of delivering power to the grid.
Bit 4 - isRevenueQuality - SHALL be set if usage was measured by a device certified as revenue quality
Bit 5 - isDC - SHALL be set if the usage point measures direct current Bit 6 - isSubmeter - SHALL be set if the usage point is not a premises aggregation point
Bit 7-15 - Reserved
notes
Specifies the roles that apply to a usage point.
Bit 0 - isMirror - SHALL be set if the server is not the measurement device
Bit 1 - isPremisesAggregationPoint - SHALL be set if the UsagePoint is the point of delivery for a premises
Bit 2 - isPEV - SHALL be set if the usage applies to an electric vehicle Bit 3 - isDER - SHALL be set if the usage applies to a distributed energy resource, capable of delivering power to the grid.
Bit 4 - isRevenueQuality - SHALL be set if usage was measured by a device certified as revenue quality
Bit 5 - isDC - SHALL be set if the usage point measures direct current Bit 6 - isSubmeter - SHALL be set if the usage point is not a premises aggregation point
Bit 7-15 - Reserved
qualityFlags
List of codes indicating the quality of the reading, using specification:
qualityFlags
List of codes indicating the quality of the reading, using specification:
qualityFlags
List of codes indicating the quality of the reading, using specification:
ReadingBase
Reading
+ localID: HexBinary16 [0..1]
::ReadingBase
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
ReadingBase
Reading
+ localID: HexBinary16 [0..1]
::ReadingBase
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
ReadingBase
Reading
+ localID: HexBinary16 [0..1]
::ReadingBase
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
Bit 0 - valid: data that has gone through all required validation
checks and either passed them all or has been verified Bit 1 - manually edited: Replaced or approved by a human
Bit 2 - estimated using reference day: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
Bit 3 - estimated using linear interpolation: data value was computed using linear interpolation based on the readings before and after it
Bit 4 - questionable: data that has failed one or more checks Bit 5 - derived: data that has been calculated (using logic or mathematical operations), not necessarily measured directly Bit 6 - projected (forecast): data that has been calculated as a projection or forecast of future readings
Bit 0 - valid: data that has gone through all required validation
checks and either passed them all or has been verified Bit 1 - manually edited: Replaced or approved by a human
Bit 2 - estimated using reference day: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
Bit 3 - estimated using linear interpolation: data value was computed using linear interpolation based on the readings before and after it
Bit 4 - questionable: data that has failed one or more checks Bit 5 - derived: data that has been calculated (using logic or mathematical operations), not necessarily measured directly Bit 6 - projected (forecast): data that has been calculated as a projection or forecast of future readings
Bit 0 - valid: data that has gone through all required validation
checks and either passed them all or has been verified Bit 1 - manually edited: Replaced or approved by a human
Bit 2 - estimated using reference day: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
Bit 3 - estimated using linear interpolation: data value was computed using linear interpolation based on the readings before and after it
Bit 4 - questionable: data that has failed one or more checks Bit 5 - derived: data that has been calculated (using logic or mathematical operations), not necessarily measured directly Bit 6 - projected (forecast): data that has been calculated as a projection or forecast of future readings
Figure B.23—Metering data

Metering Data Types
Metering Data Types
Metering Data Types
Data types based on CIM 61968-9 Annex C, D 2010-12-06 version
Data types based on CIM 61968-9 Annex C, D 2010-12-06 version
Data types based on CIM 61968-9 Annex C, D 2010-12-06 version
UInt8
UInt8
UInt8
Int8
Int8
Int8
PhaseCode PowerOfTenMultiplierType
PhaseCode PowerOfTenMultiplierType
PhaseCode PowerOfTenMultiplierType
UInt8
AccumulationBehaviourType
UInt8
AccumulationBehaviourType
UInt8
AccumulationBehaviourType
UInt8
UInt8
UInt8
UInt8
UInt8
UInt8
KindType
KindType
KindType
UomType
UomType
UomType
notes
0 = Not Applicable (default, if not specified)
32 = Phase C (and S2)
33 = Phase CN (and S2N) 40 = Phase CA
64 = Phase B
65 = Phase BN
66 = Phase BC
128 = Phase A (and S1)
129 = Phase AN (and S1N) 132 = Phase AB
224 = Phase ABC
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
32 = Phase C (and S2)
33 = Phase CN (and S2N) 40 = Phase CA
64 = Phase B
65 = Phase BN
66 = Phase BC
128 = Phase A (and S1)
129 = Phase AN (and S1N) 132 = Phase AB
224 = Phase ABC
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
32 = Phase C (and S2)
33 = Phase CN (and S2N) 40 = Phase CA
64 = Phase B
65 = Phase BN
66 = Phase BC
128 = Phase A (and S1)
129 = Phase AN (and S1N) 132 = Phase AB
224 = Phase ABC
All other values reserved.
notes
notes
notes
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
See definition for values
See definition for values
See definition for values
notes
0 = Not Applicable (default, if not specified) 3 = Currency
8 = Demand
12 = Energy
37 = Power
All other values reserved.
notes
0 = Not Applicable (default, if not specified) 3 = Currency
8 = Demand
12 = Energy
37 = Power
All other values reserved.
notes
0 = Not Applicable (default, if not specified) 3 = Currency
8 = Demand
12 = Energy
37 = Power
All other values reserved.
UInt8
UInt8
UInt8
TOUType
TOUType
TOUType
UInt8
DataQualifierType
UInt8
DataQualifierType
UInt8
DataQualifierType
UInt8
UInt8
UInt8
CommodityType
CommodityType
CommodityType
UInt8
FlowDirectionType
notes
0 = Not Applicable (default, if not specified) 1 = Forward (delivered to customer)
19 = Reverse (received from customer)
All other values reserved.
UInt8
FlowDirectionType
notes
0 = Not Applicable (default, if not specified) 1 = Forward (delivered to customer)
19 = Reverse (received from customer)
All other values reserved.
UInt8
FlowDirectionType
notes
0 = Not Applicable (default, if not specified) 1 = Forward (delivered to customer)
19 = Reverse (received from customer)
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
2 = Average
8 = Maximum
9 = Minimum
12 = Normal
29 = Standard Deviation of a Population (typically indicated by a lower case sigma)
30 = Standard Deviation of a Sample Drawn from a Population (typically indicated by a lower case 's')
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
2 = Average
8 = Maximum
9 = Minimum
12 = Normal
29 = Standard Deviation of a Population (typically indicated by a lower case sigma)
30 = Standard Deviation of a Sample Drawn from a Population (typically indicated by a lower case 's')
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
2 = Average
8 = Maximum
9 = Minimum
12 = Normal
29 = Standard Deviation of a Population (typically indicated by a lower case sigma)
30 = Standard Deviation of a Sample Drawn from a Population (typically indicated by a lower case 's')
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = Electricity secondary metered value (a premises meter is typically on the low voltage, or secondary, side of a service transformer)
2 = Electricity primary metered value (measured on the high voltage, or primary, side of the service transformer)
4 = Air
7 = NaturalGas
8 = Propane
9 = PotableWater
10 = Steam
11 = WasteWater
12 = HeatingFluid
13 = CoolingFluid
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = Electricity secondary metered value (a premises meter is typically on the low voltage, or secondary, side of a service transformer)
2 = Electricity primary metered value (measured on the high voltage, or primary, side of the service transformer)
4 = Air
7 = NaturalGas
8 = Propane
9 = PotableWater
10 = Steam
11 = WasteWater
12 = HeatingFluid
13 = CoolingFluid
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = Electricity secondary metered value (a premises meter is typically on the low voltage, or secondary, side of a service transformer)
2 = Electricity primary metered value (measured on the high voltage, or primary, side of the service transformer)
4 = Air
7 = NaturalGas
8 = Propane
9 = PotableWater
10 = Steam
11 = WasteWater
12 = HeatingFluid
13 = CoolingFluid
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = TOU A
2 = TOU B
3 = TOU C
4 = TOU D
5 = TOU E
6 = TOU F
7 = TOU G
8 = TOU H
9 = TOU I
10 = TOU J
11 = TOU K
12 = TOU L
13 = TOU M
14 = TOU N
15 = TOU O
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = TOU A
2 = TOU B
3 = TOU C
4 = TOU D
5 = TOU E
6 = TOU F
7 = TOU G
8 = TOU H
9 = TOU I
10 = TOU J
11 = TOU K
12 = TOU L
13 = TOU M
14 = TOU N
15 = TOU O
All other values reserved.
notes
0 = Not Applicable (default, if not specified)
1 = TOU A
2 = TOU B
3 = TOU C
4 = TOU D
5 = TOU E
6 = TOU F
7 = TOU G
8 = TOU H
9 = TOU I
10 = TOU J
11 = TOU K
12 = TOU L
13 = TOU M
14 = TOU N
15 = TOU O
All other values reserved.
notes
The following values are recommended values sourced from the unit of measure enumeration in IEC 61968-9 [61968]. Other values from the unit of measure enumeration in IEC 61968-9 [61968] MAY be used.
0 = Not Applicable (default, if not specified)
5 = A (Current in Amperes (RMS))
6 = Kelvin (Temperature)
23 = Degrees Celsius (Relative temperature) 29 = Voltage
UInt8 31 = J (Energy joule)
ConsumptionBlockType 33 = Hz (Frequency)
38 =W (Real power in Watts)
notes 42 = m3 (Cubic Meter)
0 = Not Applicable 61 = VA (Apparent power) (default, if not specified) 63 = var (Reactive power)
1 = Block 1 65 = CosTheta (Displacement Power Factor)
2 = Block 2 67 = V² (Volts squared)
3 = Block 3 69 = A² (Amp squared)
4 = Block 4 71 = VAh (Apparent energy)
5 = Block 5 72 = Wh (Real energy in Watt-hours)
6 = Block 6 73 = varh (Reactive energy)
7 = Block 7 106 = Ah (Ampere-hours / Available Charge)
8 = Block 8 119 = ft3 (Cubic Feet)
9 = Block 9 122 = ft3/h (Cubic Feet per Hour)
10 = Block 10 125 = m3/h (Cubic Meter per Hour)
11 = Block 11 128 = US gl (US Gallons)
12 = Block 12 129 = US gl/h (US Gallons per Hour)
13 = Block 13 130 = IMP gl (Imperial Gallons)
14 = Block 14 131 = IMP gl/h (Imperial Gallons per Hour)
15 = Block 15 132 = BTU
16 = Block 16 133 = BTU/
All other values reserved.
notes
The following values are recommended values sourced from the unit of measure enumeration in IEC 61968-9 [61968]. Other values from the unit of measure enumeration in IEC 61968-9 [61968] MAY be used.
0 = Not Applicable (default, if not specified)
5 = A (Current in Amperes (RMS))
6 = Kelvin (Temperature)
23 = Degrees Celsius (Relative temperature) 29 = Voltage
UInt8 31 = J (Energy joule)
ConsumptionBlockType 33 = Hz (Frequency)
38 =W (Real power in Watts)
notes 42 = m3 (Cubic Meter)
0 = Not Applicable 61 = VA (Apparent power) (default, if not specified) 63 = var (Reactive power)
1 = Block 1 65 = CosTheta (Displacement Power Factor)
2 = Block 2 67 = V² (Volts squared)
3 = Block 3 69 = A² (Amp squared)
4 = Block 4 71 = VAh (Apparent energy)
5 = Block 5 72 = Wh (Real energy in Watt-hours)
6 = Block 6 73 = varh (Reactive energy)
7 = Block 7 106 = Ah (Ampere-hours / Available Charge)
8 = Block 8 119 = ft3 (Cubic Feet)
9 = Block 9 122 = ft3/h (Cubic Feet per Hour)
10 = Block 10 125 = m3/h (Cubic Meter per Hour)
11 = Block 11 128 = US gl (US Gallons)
12 = Block 12 129 = US gl/h (US Gallons per Hour)
13 = Block 13 130 = IMP gl (Imperial Gallons)
14 = Block 14 131 = IMP gl/h (Imperial Gallons per Hour)
15 = Block 15 132 = BTU
16 = Block 16 133 = BTU/
All other values reserved.
notes
The following values are recommended values sourced from the unit of measure enumeration in IEC 61968-9 [61968]. Other values from the unit of measure enumeration in IEC 61968-9 [61968] MAY be used.
0 = Not Applicable (default, if not specified)
5 = A (Current in Amperes (RMS))
6 = Kelvin (Temperature)
23 = Degrees Celsius (Relative temperature) 29 = Voltage
UInt8 31 = J (Energy joule)
ConsumptionBlockType 33 = Hz (Frequency)
38 =W (Real power in Watts)
notes 42 = m3 (Cubic Meter)
0 = Not Applicable 61 = VA (Apparent power) (default, if not specified) 63 = var (Reactive power)
1 = Block 1 65 = CosTheta (Displacement Power Factor)
2 = Block 2 67 = V² (Volts squared)
3 = Block 3 69 = A² (Amp squared)
4 = Block 4 71 = VAh (Apparent energy)
5 = Block 5 72 = Wh (Real energy in Watt-hours)
6 = Block 6 73 = varh (Reactive energy)
7 = Block 7 106 = Ah (Ampere-hours / Available Charge)
8 = Block 8 119 = ft3 (Cubic Feet)
9 = Block 9 122 = ft3/h (Cubic Feet per Hour)
10 = Block 10 125 = m3/h (Cubic Meter per Hour)
11 = Block 11 128 = US gl (US Gallons)
12 = Block 12 129 = US gl/h (US Gallons per Hour)
13 = Block 13 130 = IMP gl (Imperial Gallons)
14 = Block 14 131 = IMP gl/h (Imperial Gallons per Hour)
15 = Block 15 132 = BTU
16 = Block 16 133 = BTU/
All other values reserved.
Figure B.24—Metering data types
MeterReading object (MeterReadingBase)
Set of values obtained from the meter.
MeterReadingList object (SubscribableList)
A List element to hold MeterReading objects.
Reading object (ReadingBase)
Specific value measured by a meter or other asset.
localID attribute (HexBinary16) [0..1]
The local identifier for this reading within the reading set. localIDs are assigned in order of creation time. For interval data, this value SHALL increase with each interval time, and for block/tier readings, localID SHALL not be specified.
subscribable attribute (SubscribableType) [0..1] «XSDattribute»
Indicates whether or not subscriptions are supported for this resource, and whether or not conditional (thresholds) are supported. If not specified, is “not subscribable” (0).
ReadingList object (SubscribableList)
A List element to hold Reading objects.
ReadingSet object (ReadingSetBase)
A set of Readings of the ReadingType indicated by the parent MeterReading.
ReadingSetList object (SubscribableList)
A List element to hold ReadingSet objects.
ReadingType object (Resource)
Type of data conveyed by a specific Reading. See IEC 61968 Part 9 Annex C for full definitions of these values.
accumulationBehaviour attribute (AccumulationBehaviourType) [0..1]
The accumulation behaviour indicates how the value is represented to accumulate over time.
calorificValue attribute (UnitValueType) [0..1]
The amount of heat generated when a given mass of fuel is completely burned. The CalorificValue is used to convert the measured volume or mass of gas into kWh. The CalorificValue attribute represents the current active value.
commodity attribute (CommodityType) [0..1]
Indicates the commodity applicable to this ReadingType.
conversionFactor attribute (UnitValueType) [0..1]
Accounts for changes in the volume of gas based on temperature and pressure. The ConversionFactor attribute represents the current active value. The ConversionFactor is dimensionless. The default value for the ConversionFactor is 1, which means no conversion is applied. A price server can advertise a new/different value at any time.
dataQualifier attribute (DataQualifierType) [0..1]
The data type can be used to describe a salient attribute of the data. Possible values are average, absolute, etc.
flowDirection attribute (FlowDirectionType) [0..1]
Anything involving current might have a flow direction. Possible values include forward and reverse.
intervalLength attribute (UInt32) [0..1]
Default interval length specified in seconds.
kind attribute (KindType) [0..1]
Compound class that contains kindCategory and kindIndex.
maxNumberOfIntervals attribute (UInt8) [0..1]
To be populated for mirrors of interval data to set the expected number of intervals per ReadingSet. Servers may discard intervals received that exceed this number.
numberOfConsumptionBlocks attribute (UInt8) [0..1]
Number of consumption blocks. 0 means not applicable, and is the default if not specified. The value needs to be at least 1 if any actual prices are provided.
numberOfTouTiers attribute (UInt8) [0..1]
The number of TOU tiers that can be used by any resource configured by this ReadingType. Servers SHALL populate this value with the largest touTier value that will ever be used while this ReadingType is in effect. Servers SHALL set numberOfTouTiers equal to the number of standard TOU tiers plus the number of critical peak pricing (CPP) tiers that may be used while this ReadingType is in effect. Servers SHALL specify a value between 0 and 255 (inclusive) for numberOfTouTiers (servers providing flat rate pricing SHOULD set numberOfTouTiers to 0, as in practice there is no difference between having no tiers and having one tier).
phase attribute (PhaseCode) [0..1]
Contains phase information associated with the type.
powerOfTenMultiplier attribute (PowerOfTenMultiplierType) [0..1]
Indicates the power of ten multiplier applicable to the unit of measure of this ReadingType.
subIntervalLength attribute (UInt32) [0..1]
Default sub-interval length specified in seconds for Readings of ReadingType. Some demand calculations are done over a number of smaller intervals. For example, in a rolling demand calculation, the demand value is defined as the rolling sum of smaller intervals over the intervalLength. The subintervalLength is the length of the smaller interval in this calculation. It SHALL be an integral division of the intervalLength. The number of sub-intervals can be calculated by dividing the intervalLength by the subintervalLength.
supplyLimit attribute (UInt48) [0..1]
Reflects the supply limit set in the meter. This value can be compared to the Reading value to understand if limits are being approached or exceeded. Units follow the same definition as in this ReadingType.
tieredConsumptionBlocks attribute (boolean) [0..1]
Specifies whether or not the consumption blocks are differentiated by TOUTier or not. Default is false, if not specified.
true = consumption accumulated over individual tiers false = consumption accumulated over all tiers
uom attribute (UomType) [0..1]
Indicates the measurement type for the units of measure for the readings of this type.
UsagePoint object (UsagePointBase)
Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights).
deviceLFDI attribute (HexBinary160) [0..1]
The LFDI of the source device. This attribute SHALL be present when mirroring.
UsagePointList object (SubscribableList)
A List element to hold UsagePoint objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
B.2.16.1 MeteringMirror package

class Metering Mirror
FunctionSetAssignmentsBase
DeviceCapability
class Metering Mirror
FunctionSetAssignmentsBase
DeviceCapability
class Metering Mirror
FunctionSetAssignmentsBase
DeviceCapability
List
List
List
MirrorMeterReadingList
MirrorMeterReadingList
MirrorMeterReadingList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..1
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..1
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..1
0..*
MeterReadingBase
MirrorMeterReading
0..*
MeterReadingBase
MirrorMeterReading
0..*
MeterReadingBase
MirrorMeterReading
ListLink
MirrorUsagePointListLink
List
ListLink
MirrorUsagePointListLink
List
ListLink
MirrorUsagePointListLink
List
+ lastUpdateTime: TimeType [0..1]
+ nextUpdateTime: TimeType [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ lastUpdateTime: TimeType [0..1]
+ nextUpdateTime: TimeType [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ lastUpdateTime: TimeType [0..1]
+ nextUpdateTime: TimeType [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
Resource
Resource
Resource
MirrorUsagePointList
MirrorUsagePointList
MirrorUsagePointList
0..1
0..1
0..1
ReadingType
ReadingType
ReadingType
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
0..*
0..*
UsagePointBase
MirrorUsagePoint
UsagePointBase
MirrorUsagePoint
UsagePointBase
MirrorUsagePoint
0..*
0..*
0..*
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
0..*
ReadingSetBase
MirrorReadingSet
0..*
ReadingSetBase
MirrorReadingSet
0..*
ReadingSetBase
MirrorReadingSet
0..1
0..1
0..1
::ReadingSetBase
+ timePeriod: DateTimeInterval
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::ReadingSetBase
+ timePeriod: DateTimeInterval
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::ReadingSetBase
+ timePeriod: DateTimeInterval
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
ReadingBase
ReadingBase
ReadingBase
Reading
Reading
Reading
+ localID: HexBinary16 [0..1]
0..*
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ localID: HexBinary16 [0..1]
0..*
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ localID: HexBinary16 [0..1]
0..*
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
Figure B.25—Metering mirror

class Metering Mirror Inheritance
class Metering Mirror Inheritance
class Metering Mirror Inheritance
Resource
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
Resource
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
Resource
IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
UsagePointBase
UsagePointBase
UsagePointBase
MeterReadingBase
MeterReadingBase
MeterReadingBase
ReadingSetBase
ReadingSetBase
ReadingSetBase
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
+ roleFlags: RoleFlagsType
+ serviceCategoryKind: ServiceKind
+ status: UInt8
+ timePeriod: DateTimeInterval
+ timePeriod: DateTimeInterval
+ timePeriod: DateTimeInterval
UsagePoint
UsagePoint
UsagePoint
MeterReading
MeterReading
MeterReading
ReadingSet
ReadingSet
ReadingSet
+ deviceLFDI: HexBinary160 [0..1]
MirrorUsagePoint
+ deviceLFDI: HexBinary160 [0..1]
MirrorUsagePoint
+ deviceLFDI: HexBinary160 [0..1]
MirrorUsagePoint
MirrorMeterReading
MirrorMeterReading
MirrorMeterReading
MirrorReadingSet
MirrorReadingSet
MirrorReadingSet
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
+ deviceLFDI: HexBinary160
+ postRate: UInt32 [0..1]
+ lastUpdateTime: TimeType [0..1]
0..* + nextUpdateTime: TimeType [0..1]
+ lastUpdateTime: TimeType [0..1]
0..* + nextUpdateTime: TimeType [0..1]
+ lastUpdateTime: TimeType [0..1]
0..* + nextUpdateTime: TimeType [0..1]
0..*
0..*
0..*
0..1
0..1
0..1
0..*
0..*
0..*
Resource
Resource
Resource
ReadingBase
ReadingBase
ReadingBase
BillingReading
BillingReading
BillingReading
Reading
Reading
Reading
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
+ localID: HexBinary16 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ localID: HexBinary16 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
+ localID: HexBinary16 [0..1]
«XSDattribute»
+ subscribable: SubscribableType [0..1] = 0
Figure B.26—Metering mirror inheritance
MirrorMeterReading object (MeterReadingBase)
Mimic of MeterReading used for managing mirrors.
lastUpdateTime attribute (TimeType) [0..1]
The date and time of the last update.
nextUpdateTime attribute (TimeType) [0..1]
The date and time of the next planned update.
MirrorMeterReadingList object (List)
A list of MirrorMeterReading instances.
MeterReadingBase object (IdentifiedObject)
A container for associating ReadingType, Readings, and ReadingSets.
MirrorReadingSet object (ReadingSetBase)
A set of Readings of the ReadingType indicated by the parent MeterReading.
MirrorUsagePoint object (UsagePointBase)
A parallel to UsagePoint to support mirroring.
deviceLFDI attribute (HexBinary160)
The LFDI of the device being mirrored.
postRate attribute (UInt32) [0..1]
POST rate, or how often mirrored data should be POSTed, in seconds. A client MAY indicate a preferred postRate when POSTing MirrorUsagePoint. A server MAY add or modify postRate to indicate its preferred posting rate.
MirrorUsagePointList object (List)
A list of MirrorUsagePoint instances.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
ReadingBase object (Resource)
Specific value measured by a meter or other asset. ReadingBase is abstract, used to define the elements common to Reading and IntervalReading.
consumptionBlock attribute (ConsumptionBlockType) [0..1]
Indicates the consumption block related to the reading. REQUIRED if ReadingType numberOfConsumptionBlocks is non-zero. If not specified, is assumed to be “0 - N/A”.
qualityFlags attribute (HexBinary16) [0..1]
List of codes indicating the quality of the reading, using specification:
Bit 0—valid: Data that have gone through all required validation checks and either passed them all or has been verified.
Bit 1—manually edited: Replaced or approved by a human.
Bit 2—estimated using reference day: Data value was replaced by a machine-computed value based on analysis of historical data using the same type of measurement.
Bit 3—estimated using linear interpolation: Data value was computed using linear interpolation based on the readings before and after it.
Bit 4—questionable: Data that have failed one or more checks.
Bit 5—derived: Data that have been calculated (using logic or mathematical operations), not necessarily measured directly.
Bit 6—projected (forecast): Data that have been calculated as a projection or forecast of future readings.
timePeriod attribute (DateTimeInterval) [0..1]
The time interval associated with the reading. If not specified, then defaults to the intervalLength specified in the associated ReadingType.
touTier attribute (TOUType) [0..1]
Indicates the time of use tier related to the reading. REQUIRED if ReadingType numberOfTouTiers is non- zero. If not specified, is assumed to be “0 - N/A”.
value attribute (Int48) [0..1]
Value in units specified by ReadingType.
ReadingSetBase object (IdentifiedObject)
A set of Readings of the ReadingType indicated by the parent MeterReading. ReadingBase is abstract, used to define the elements common to ReadingSet and IntervalBlock.
timePeriod attribute (DateTimeInterval)
Specifies the time range during which the contained readings were taken.
UsagePointBase Object (IdentifiedObject)
Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights). A container for associating ReadingType, Readings, and ReadingSets.
roleFlags attribute (RoleFlagsType)
Specifies the roles that apply to the usage point.
serviceCategoryKind attribute (ServiceKind)
The kind of service provided by this usage point.
status attribute (UInt8)
Specifies the current status of the service at this usage point.
0 = Off
1 = On
B.2.17 Pricing package
Contains definitions of information related to price.

Pricing
Resource
FunctionSetAssignmentsBase
0..1
ListLink
TariffProfileListLink
IdentifiedObject
TariffProfile
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
0..1
ListLink
Pricing
Resource
FunctionSetAssignmentsBase
0..1
ListLink
TariffProfileListLink
IdentifiedObject
TariffProfile
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
0..1
ListLink
Pricing
Resource
FunctionSetAssignmentsBase
0..1
ListLink
TariffProfileListLink
IdentifiedObject
TariffProfile
+ currency: CurrencyCode [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType [0..1]
+ primacy: PrimacyType
+ rateCode: String20 [0..1]
+ serviceCategoryKind: ServiceKind
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
0..1
ListLink
ListLink
ConsumptionTariffIntervalListLink
List
ConsumptionTariffIntervalList
0..*
ListLink
ConsumptionTariffIntervalListLink
List
ConsumptionTariffIntervalList
0..*
ListLink
ConsumptionTariffIntervalListLink
List
ConsumptionTariffIntervalList
0..*
Resource
Resource
Resource
ConsumptionTariffInterval
ConsumptionTariffInterval
ConsumptionTariffInterval
ListLink
ListLink
ListLink
RateComponentListLink
RateComponentListLink
RateComponentListLink
ActiveTimeTariffIntervalListLink
ActiveTimeTariffIntervalListLink
ActiveTimeTariffIntervalListLink
0..1
0..1
0..1
IdentifiedObject
RateComponent
IdentifiedObject
RateComponent
IdentifiedObject
RateComponent
ListLink
TimeTariffIntervalListLink
ListLink
TimeTariffIntervalListLink
ListLink
TimeTariffIntervalListLink
1
1
1
+ consumptionBlock: ConsumptionBlockType
+ price: Int32 [0..1]
+ startValue: UInt48
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ consumptionBlock: ConsumptionBlockType
+ price: Int32 [0..1]
+ startValue: UInt48
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ consumptionBlock: ConsumptionBlockType
+ price: Int32 [0..1]
+ startValue: UInt48
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ flowRateEndLimit: UnitValueType [0..1]
+ flowRateStartLimit: UnitValueType [0..1]
+ roleFlags: RoleFlagsType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
1
+ flowRateEndLimit: UnitValueType [0..1]
+ flowRateStartLimit: UnitValueType [0..1]
+ roleFlags: RoleFlagsType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
1
+ flowRateEndLimit: UnitValueType [0..1]
+ flowRateStartLimit: UnitValueType [0..1]
+ roleFlags: RoleFlagsType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
1
RandomizableEvent
TimeTariffInterval
RandomizableEvent
TimeTariffInterval
RandomizableEvent
TimeTariffInterval
0..*
EnvironmentalCost
0..*
EnvironmentalCost
0..*
EnvironmentalCost
Link
ReadingTypeLink
Link
ReadingTypeLink
Link
ReadingTypeLink
+ touTier: TOUType
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
+ touTier: TOUType
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
+ touTier: TOUType
::RandomizableEvent
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+ href: anyURI [0..1]
0..1
0..1
0..1
+ amount: UInt32
+ costKind: CostKindType
+ costLevel: UInt8
+ numCostLevels: UInt8
+ amount: UInt32
+ costKind: CostKindType
+ costLevel: UInt8
+ numCostLevels: UInt8
+ amount: UInt32
+ costKind: CostKindType
+ costLevel: UInt8
+ numCostLevels: UInt8
UInt8
UInt8
UInt8
CostKindType
CostKindType
CostKindType
UnitValueType
+ multiplier: PowerOfTenMultiplierType
+ unit: UomType
+ value: Int32
UnitValueType
+ multiplier: PowerOfTenMultiplierType
+ unit: UomType
+ value: Int32
UnitValueType
+ multiplier: PowerOfTenMultiplierType
+ unit: UomType
+ value: Int32
notes
0 - Carbon Dioxide emissions, in grams per unit
1 - Sulfur Dioxide emissions, in grams per unit
2 - Nitrogen Oxides emissions, in grams per unit
3 - Renewable generation, as a percentage of overall generation
All other values reserved.
notes
0 - Carbon Dioxide emissions, in grams per unit
1 - Sulfur Dioxide emissions, in grams per unit
2 - Nitrogen Oxides emissions, in grams per unit
3 - Renewable generation, as a percentage of overall generation
All other values reserved.
notes
0 - Carbon Dioxide emissions, in grams per unit
1 - Sulfur Dioxide emissions, in grams per unit
2 - Nitrogen Oxides emissions, in grams per unit
3 - Renewable generation, as a percentage of overall generation
All other values reserved.
Figure B.27—Pricing ConsumptionTariffInterval Object (Resource)
One of a sequence of thresholds defined in terms of consumption quantity of a service such as electricity, water, gas, etc. It defines the steps or blocks in a step tariff structure, where startValue simultaneously defines the entry value of this step and the closing value of the previous step. Where consumption is greater than startValue, it falls within this block and where consumption is less than or equal to startValue, it falls within one of the previous blocks.
consumptionBlock attribute (ConsumptionBlockType)
Indicates the consumption block related to the reading. If not specified, is assumed to be “0 - N/A”.
price attribute (Int32) [0..1]
The charge for this rate component, per unit of measure defined by the associated ReadingType, in currency specified in TariffProfile.
The Pricing service provider determines the appropriate price attribute value based on its applicable regulatory rules. For example, price could be net or inclusive of applicable taxes, fees, or levies.
The Billing function set provides the ability to represent billing information in a more detailed manner.
startValue attribute (UInt48)
The lowest level of consumption that defines the starting point of this consumption step or block. Thresholds start at zero for each billing period.
If specified, the first ConsumptionTariffInterval.startValue for a TimeTariffInteral instance SHALL begin at “0.” Subsequent ConsumptionTariffInterval.startValue elements SHALL be greater than the previous one.
ConsumptionTariffIntervalList Object (List)
A List element to hold ConsumptionTariffInterval objects.
CostKindType Object (UInt8)
0 = Carbon dioxide emissions, in grams per unit
1 = Sulfur dioxide emissions, in grams per unit
2 = Nitrogen oxides emissions, in grams per unit
3 = Renewable generation, as a percentage of overall generation All other values reserved.
EnvironmentalCost Object ()
Provides alternative or secondary price information for the relevant RateComponent. Supports jurisdictions that seek to convey the environmental price per unit of the specified commodity not expressed in currency.
Implementers and consumers can use this attribute to prioritize operations of their HAN devices (e.g., PEV charging during times of high availability of renewable electricity resources).
amount attribute (UInt32)
The estimated or actual environmental or other cost, per commodity unit defined by the ReadingType, for this RateComponent (e.g., grams of carbon dioxide emissions each per kWh).
costKind attribute (CostKindType)
The kind of cost referred to in the amount.
costLevel attribute (UInt8)
The relative level of the amount attribute. In conjunction with numCostLevels, this attribute informs a device of the relative scarcity of the amount attribute (e.g., a high or low availability of renewable generation).
numCostLevels and costLevel values SHALL ascend in order of scarcity, where “0” signals the lowest relative cost and higher values signal increasing cost. For example, if numCostLevels is equal to “3,” then if the lowest relative costLevel were equal to “0,” devices would assume this is the lowest relative period to operate. Likewise, if the costLevel in the next TimeTariffInterval instance is equal to “1,” then the device would assume it is relatively more expensive, in environmental terms, to operate during this TimeTariffInterval instance than the previous one.
There is no limit to the number of relative price levels other than that indicated in the attribute type, but for practicality, service providers should strive for simplicity and recognize the diminishing returns derived from increasing the numCostLevel value greater than four.
numCostLevels attribute (UInt8)
The number of all relative cost levels.
In conjunction with costLevel, numCostLevels signals the relative scarcity of the commodity for the duration of the TimeTariffInterval instance (e.g., a relative indication of cost). This is useful in providing context for nominal cost signals to consumers or devices that might see a range of amount values from different service providers or from the same service provider.
RateComponent Object (IdentifiedObject)
Specifies the applicable charges for a single component of the rate, which could be generation price or consumption price, for example.
flowRateEndLimit attribute (UnitValueType) [0..1]
Specifies the maximum flow rate (e.g., kW for electricity) for which this RateComponent applies, for the usage point and given rate/tariff.
In combination with flowRateStartLimit, allows a service provider to define the demand or output characteristics for the particular tariff design. If a server includes the flowRateEndLimit attribute, then it SHALL also include flowRateStartLimit attribute.
For example, a service provider’s tariff limits customers to 20 kW of demand for the given rate structure. Above this threshold (from 20 kW to 50 kW), there are different demand charges per unit of consumption. The service provider can use flowRateStartLimit and flowRateEndLimit to describe the demand characteristics of the different rates. Similarly, these attributes can be used to describe limits on premises DERs that might be producing a commodity and sending it back into the distribution network.
NOTE—At the time of writing, service provider tariffs with demand-based components were not originally identified as being in scope, and service provider tariffs vary widely in their use of demand components and the method for computing charges. It is expected that industry groups (e.g., OpenSG) will document requirements in the future that the IEEE 2030.5 community can then use as source material for the next version of IEEE Std 2030.5.
flowRateStartLimit attribute (UnitValueType) [0..1]
Specifies the minimum flow rate (e.g., kW for electricity) for which this RateComponent applies, for the usage point and given rate/tariff.
In combination with flowRateEndLimit, allows a service provider to define the demand or output characteristics for the particular tariff design. If a server includes the flowRateStartLimit attribute, then it SHALL also include flowRateEndLimit attribute.
roleFlags attribute (RoleFlagsType)
Specifies the roles that this usage point has been assigned.
RateComponentList object (List)
A List element to hold RateComponent objects.
TariffProfile object (IdentifiedObject)
A schedule of charges; structure that allows the definition of tariff structures such as step (block) and time of use (tier) when used in conjunction with TimeTariffInterval and ConsumptionTariffInterval.
currency attribute (CurrencyCode) [0..1]
The currency code indicating the currency for this TariffProfile.
pricePowerOfTenMultiplier attribute (PowerOfTenMultiplierType) [0..1]
Indicates the power of ten multiplier for the price attribute.
primacy attribute (PrimacyType)
Indicates the relative primacy of the provider of this program.
rateCode attribute (String20) [0..1]
The rate code for this tariff profile. Provided by the Pricing service provider per its internal business needs and practices, and provides a method to identify the specific rate code for the TariffProfile instance. This would typically not be communicated to the user except to facilitate troubleshooting due to its service provider−specific technical nature.
serviceCategoryKind attribute (ServiceKind)
The kind of service provided by this usage point.
TariffProfileList object (SubscribableList)
A List element to hold TariffProfile objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
TimeTariffInterval object (RandomizableEvent)
Describes the time-differentiated portion of the RateComponent, if applicable, and provides the ability to specify multiple time intervals, each with its own consumption-based components and other attributes.
touTier attribute (TOUType)
Indicates the time of use tier related to the reading. If not specified, is assumed to be “0 - N/A”.
TimeTariffIntervalList object (SubscribableList)
A List element to hold TimeTariffInterval objects.
B.2.18 Messaging package
Contains text message definitions.
Resource FunctionSetAssignmentsBase | |
0..1 | |
ListLink MessagingProgramListLink | |
SubscribableList TextMessageList | |
0..* | |
Event TextMessage | |
+ originator: String20 [0..1] + priority: PriorityType + textMessage: string ::Event + creationTime: TimeType + interval: DateTimeInterval ::RespondableSubscribableIdentifiedObject + description: String32 [0..1] + mRID: mRIDType + version: VersionType [0..1] = 0 «XSDattribute» ::RespondableSubscribableIdentifiedObject + subscribable: SubscribableType [0..1] = 0 ::RespondableResource + replyTo: anyURI [0..1] + responseRequired: HexBinary8 [0..1] = 00 ::Resource + href: anyURI [0..1] | |

class TextMessage
class TextMessage
class TextMessage
0..*
0..*
0..*
0..1
0..1
0..1
notes Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
notes Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
notes Indicates the priority of a message:
0 - Low
1 - Normal
2 - High
3 - Critical
All other values reserved.
UInt8
PriorityType
UInt8
PriorityType
UInt8
PriorityType
+ locale: LocaleType
+ primacy: PrimacyType
+ locale: LocaleType
+ primacy: PrimacyType
+ locale: LocaleType
+ primacy: PrimacyType
SubscribableIdentifiedObject
MessagingProgram
SubscribableIdentifiedObject
MessagingProgram
SubscribableIdentifiedObject
MessagingProgram
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
SubscribableList
MessagingProgramList
SubscribableList
MessagingProgramList
SubscribableList
MessagingProgramList
ListLink ActiveTextMessageListLink | |
ListLink TextMessageListLink | |
ListLink ActiveTextMessageListLink | |
ListLink TextMessageListLink | |
ListLink ActiveTextMessageListLink | |
ListLink TextMessageListLink | |
Figure B.28—TextMessage MessagingProgram object (SubscribableIdentifiedObject)
Provides a container for collections of text messages.
locale attribute (LocaleType)
Indicates the language and region of the messages in this collection.
primacy attribute (PrimacyType)
Indicates the relative primacy of the provider of this program.
MessagingProgramList object (SubscribableList)
A List element to hold MessagingProgram objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
PriorityType object (UInt8)
Indicates the priority of a message:
0 = Low
1 = Normal
2 = High
3 = Critical
All other values reserved.
TextMessage object (Event)
Text message such as a Notification.
originator attribute (String20) [0..1]
Indicates the human-readable name of the publisher of the message.
priority attribute (PriorityType)
The priority is used to inform the client of the priority of the particular message. Devices with constrained or limited resources for displaying Messages should use this attribute to determine how to handle displaying currently active Messages (e.g., if a device uses a scrolling method with a single Message viewable at a time it MAY want to push a low-priority Message to the background and bring a newly received higher-priority Message to the foreground).
textMessage attribute (string)
The textMessage attribute contains the actual UTF-8 encoded text to be displayed in conjunction with the messageLength attribute which contains the overall length of the textMessage attribute. Clients and servers SHALL support a reception of a Message of 100 bytes in length. Messages that exceed the clients display size will be left to the client to choose what method to handle the message (truncation, scrolling, etc.).
TextMessageList object (SubscribableList)
A List element to hold TextMessage objects.
B.2.19 Billing package
Contains representations of charges and other billing related information.

Billing
Billing
Billing
ListLink
CustomerAgreementListLink
ListLink
CustomerAgreementListLink
ListLink
CustomerAgreementListLink
ListLink
ListLink
ListLink
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
BillingPeriodListLink
BillingPeriodListLink
BillingPeriodListLink
SubscribableList SubscribableList
CustomerAgreementList BillingPeriodList
SubscribableList SubscribableList
CustomerAgreementList BillingPeriodList
SubscribableList SubscribableList
CustomerAgreementList BillingPeriodList
0..1
ListLink
CustomerAccountListLink
0..1
ListLink
CustomerAccountListLink
0..1
ListLink
CustomerAccountListLink
0..*
0..*
0..*
0..*
0..*
0..*
Resource
Resource
Resource
SubscribableList
CustomerAccountList
SubscribableList
CustomerAccountList
SubscribableList
CustomerAccountList
IdentifiedObject
CustomerAgreement
IdentifiedObject
CustomerAgreement
IdentifiedObject
CustomerAgreement
BillingPeriod
BillingPeriod
BillingPeriod
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
0..1
0..1
0..1
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
IdentifiedObject
IdentifiedObject
IdentifiedObject
+ billLastPeriod: Int48 [0..1]
+ billToDate: Int48 [0..1]
+ interval: DateTimeInterval
+ statusTimeStamp: TimeType [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ billLastPeriod: Int48 [0..1]
+ billToDate: Int48 [0..1]
+ interval: DateTimeInterval
+ statusTimeStamp: TimeType [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
+ billLastPeriod: Int48 [0..1]
+ billToDate: Int48 [0..1]
+ interval: DateTimeInterval
+ statusTimeStamp: TimeType [0..1]
«XSDattribute»
::Resource
+ href: anyURI [0..1]
CustomerAccount
+ currency: UInt16
+ customerAccount: String42 [0..1]
+ customerName: String42 [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
CustomerAccount
+ currency: UInt16
+ customerAccount: String42 [0..1]
+ customerName: String42 [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
CustomerAccount
+ currency: UInt16
+ customerAccount: String42 [0..1]
+ customerName: String42 [0..1]
+ pricePowerOfTenMultiplier: PowerOfTenMultiplierType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
Link
Link
Link
Link
Link
Link
ServiceSupplierLink
ServiceSupplierLink
ServiceSupplierLink
UsagePointLink
UsagePointLink
UsagePointLink
0..1
0..1
0..1
IdentifiedObject
ServiceSupplier
IdentifiedObject
ServiceSupplier
IdentifiedObject
ServiceSupplier
Link
Link
Link
PrepaymentLink
PrepaymentLink
PrepaymentLink
+ email: String32 [0..1]
+ phone: String20 [0..1]
+ providerID: UInt32 [0..1]
+ web: String42 [0..1]
+ email: String32 [0..1]
+ phone: String20 [0..1]
+ providerID: UInt32 [0..1]
+ web: String42 [0..1]
+ email: String32 [0..1]
+ phone: String20 [0..1]
+ providerID: UInt32 [0..1]
+ web: String42 [0..1]
Link
Link
Link
TariffProfileLink
TariffProfileLink
TariffProfileLink
Figure B.29—Billing

class Billing Readings
class Billing Readings
class Billing Readings
IdentifiedObject
CustomerAgreement
IdentifiedObject
CustomerAgreement
IdentifiedObject
CustomerAgreement
Resource
Resource
Resource
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
+ serviceAccount: String42 [0..1]
+ serviceLocation: String42 [0..1]
ReadingBase
ReadingBase
ReadingBase
0..1
0..1
0..1
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
+ consumptionBlock: ConsumptionBlockType [0..1] = 0
+ qualityFlags: HexBinary16 [0..1] = 00
+ timePeriod: DateTimeInterval [0..1]
+ touTier: TOUType [0..1] = 0
+ value: Int48 [0..1]
ListLink
HistoricalReadingListLink
ListLink
HistoricalReadingListLink
ListLink
HistoricalReadingListLink
ListLink
TargetReadingListLink
ListLink
TargetReadingListLink
ListLink
TargetReadingListLink
ListLink
ProjectionReadingListLink
ListLink
ProjectionReadingListLink
ListLink
ProjectionReadingListLink
ListLink
BillingReadingListLink
ListLink
BillingReadingListLink
ListLink
BillingReadingListLink
List List List
HistoricalReadingList TargetReadingList ProjectionReadingList
List List List
HistoricalReadingList TargetReadingList ProjectionReadingList
List List List
HistoricalReadingList TargetReadingList ProjectionReadingList
List
List
List
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
0..*
BillingReadingList
BillingReadingList
BillingReadingList
HistoricalReading
HistoricalReading
HistoricalReading
TargetReading
TargetReading
TargetReading
ProjectionReading
ProjectionReading
ProjectionReading
0..*
BillingReading
0..*
BillingReading
0..*
BillingReading
Link
ReadingTypeLink
Link
ReadingTypeLink
Link
ReadingTypeLink
BillingMeterReadingBase
BillingMeterReadingBase
BillingMeterReadingBase
0..1
0..1
0..1
0..1
0..1
0..1
ListLink
BillingReadingSetListLink
ListLink
BillingReadingSetListLink
ListLink
BillingReadingSetListLink
0..*
Charge
0..*
Charge
0..*
Charge
SubscribableList
BillingReadingSetList
SubscribableList
BillingReadingSetList
SubscribableList
BillingReadingSetList
+ description: String20 [0..1]
+ kind: ChargeKind [0..1]
+ value: Int32
+ description: String20 [0..1]
+ kind: ChargeKind [0..1]
+ value: Int32
+ description: String20 [0..1]
+ kind: ChargeKind [0..1]
+ value: Int32
IdentifiedObject
MeterReadingBase
IdentifiedObject
MeterReadingBase
IdentifiedObject
MeterReadingBase
0..*
0..*
0..*
UInt8
UInt8
UInt8
ChargeKind
ChargeKind
ChargeKind
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Resource
+ href: anyURI [0..1]
BillingReadingSet
BillingReadingSet
BillingReadingSet
0..1
0..1
0..1
IdentifiedObject
ReadingSetBase
IdentifiedObject
ReadingSetBase
IdentifiedObject
ReadingSetBase
notes
Kind of charge.
0 - Consumption Charge
1 - Rebate
2 - Auxiliary Charge
3 - Demand Charge
4 - Tax Charge
notes
Kind of charge.
0 - Consumption Charge
1 - Rebate
2 - Auxiliary Charge
3 - Demand Charge
4 - Tax Charge
notes
Kind of charge.
0 - Consumption Charge
1 - Rebate
2 - Auxiliary Charge
3 - Demand Charge
4 - Tax Charge
+ timePeriod: DateTimeInterval
+ timePeriod: DateTimeInterval
+ timePeriod: DateTimeInterval
Figure B.30—Billing readings
BillingPeriod object (Resource)
BillingPeriod relates to the period of time on which a customer is billed. As an example, the billing period interval for a particular customer might be 31 days starting 1 July 2011. The start date and interval can change on each billing period. There may also be multiple billing periods related to a customer agreement to support different tariff structures.
billLastPeriod attribute (Int48) [0..1]
The amount of the bill for the previous billing period.
billToDate attribute (Int48) [0..1]
The bill amount related to the billing period as of the statusTimeStamp.
interval attribute (DateTimeInterval)
The time interval for this billing period.
statusTimeStamp attribute (TimeType) [0..1]
The date/time of the last update of this resource.
BillingPeriodList object (SubscribableList)
A List element to hold BillingPeriod objects.
BillingMeterReadingBase object (MeterReadingBase)
Contains historical, target, and projection readings of various types, possibly associated with charges.
BillingReading object (ReadingBase)
Data captured at regular intervals of time. Interval data could be captured as incremental data, absolute data, or relative data. The source for the data is usually a tariff quantity or an engineering quantity. Data is typically captured in time-tagged, uniform, fixed-length intervals of 5 minutes, 10 minutes, 15 minutes, 30 minutes, or 60 minutes. However, consumption aggregations can also be represented with this class.
BillingReadingList object (List)
A List element to hold BillingReading objects.
BillingReadingSet object (ReadingSetBase)
Time sequence of readings of the same reading type.
BillingReadingSetList object (SubscribableList)
A List element to hold BillingReadingSet objects.
Charge object ()
Charge contains charges on a customer bill. These could be items like taxes, levies, surcharges, rebates, or others. This is meant to allow the HAN device to retrieve enough information to be able to reconstruct an estimate of what the total bill would look like.
Providers can provide line-item billing, including multiple charge kinds (e.g., taxes, surcharges) at whatever granularity is desired, using as many Charges as desired during a billing period. There can also be any number of Charges associated with different ReadingTypes to distinguish between TOU tiers, consumption blocks, or demand charges.
description attribute (String20) [0..1]
A description of the charge.
kind attribute (ChargeKind) [0..1]
The type (kind) of charge.
value attribute (Int32)
A monetary charge.
ChargeKind object (UInt8)
Kind of charge.
0 = Consumption charge
1 = Rebate
2 = Auxiliary charge
3 = Demand charge
4 = Tax charge
CustomerAccount object (IdentifiedObject)
Assignment of a group of products and services purchased by the Customer through a CustomerAgreement, used as a mechanism for customer billing and payment. It contains common information from the various types of CustomerAgreements to create billings (invoices) for a Customer and receive payment.
currency attribute (UInt16)
The ISO 4217 code indicating the currency applicable to the bill amounts in the summary. See list at http://www.unece.org/cefact/recommendations/rec09/rec09_ecetrd203.pdf.
customerAccount attribute (String42) [0..1]
The account number for the customer (if applicable).
customerName attribute (String42) [0..1]
The name of the customer.
pricePowerOfTenMultiplier attribute (PowerOfTenMultiplierType)
Indicates the power of ten multiplier for the prices in this function set.
CustomerAccountList object (SubscribableList)
A List element to hold CustomerAccount objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
CustomerAgreement object (IdentifiedObject)
Agreement between the customer and the service supplier to pay for service at a specific service location. It records certain billing information about the type of service provided at the service location and is used during charge creation to determine the type of service.
serviceAccount attribute (String42) [0..1]
The account number of the service account (if applicable).
serviceLocation attribute (String42) [0..1]
The address or textual description of the service location.
CustomerAgreementList Object (SubscribableList)
A List element to hold CustomerAgreement objects.
HistoricalReading object (BillingMeterReadingBase)
To be used to present readings that have been processed and possibly corrected (as allowed, due to missing or incorrect data) by backend systems. This includes quality codes valid, verified, estimated, and derived/corrected.
HistoricalReadingList object (List)
A List element to hold HistoricalReading objects.
ProjectionReading object (BillingMeterReadingBase)
Contains values that forecast a future reading for the time or interval specified.
ProjectionReadingList object (List)
A List element to hold ProjectionReading objects.
TargetReading object (BillingMeterReadingBase)
Contains readings that specify a target or goal, such as a consumption target, to which billing incentives or other contractual ramifications may be associated.
TargetReadingList object (List)
A List element to hold TargetReading objects.
ServiceSupplier object (IdentifiedObject)
Organization that provides services to customers.
email attribute (String32) [0..1]
E-mail address for this service supplier.
phone attribute (String20) [0..1]
Human-readable phone number for this service supplier.
providerID attribute (UInt32) [0..1]
Contains the IANA PEN for the commodity provider.
web attribute (String42) [0..1]
Website URI address for this service supplier.
ServiceSupplierList object (List)
A List element to hold ServiceSupplier objects.
B.2.20 Prepayment package
Contains definitions related to storing and using payments.
List SupplyInterruptionOverrideList | |
0..* | |
Resource SupplyInterruptionOverride | |
+ description: String32 [0..1] + interval: DateTimeInterval | |

class Prepayment
class Prepayment
class Prepayment
0..1
0..1
0..1
0..*
0..*
0..*
0..1
0..1
0..1
Link
1 PrepayOperationStatusLink
Link
1 PrepayOperationStatusLink
Link
1 PrepayOperationStatusLink
1
1
1
Resource
PrepayOperationStatus
+ creditTypeChange: CreditTypeChange [0..1]
+ creditTypeInUse: CreditTypeType [0..1]
+ serviceChange: ServiceChange [0..1]
+ serviceStatus: ServiceStatusType
Resource
PrepayOperationStatus
+ creditTypeChange: CreditTypeChange [0..1]
+ creditTypeInUse: CreditTypeType [0..1]
+ serviceChange: ServiceChange [0..1]
+ serviceStatus: ServiceStatusType
Resource
PrepayOperationStatus
+ creditTypeChange: CreditTypeChange [0..1]
+ creditTypeInUse: CreditTypeType [0..1]
+ serviceChange: ServiceChange [0..1]
+ serviceStatus: ServiceStatusType
0..*
IdentifiedObject
CreditRegister
+ creditAmount: AccountingUnit
+ creditType: CreditTypeType [0..1]
+ effectiveTime: TimeType
+ token: String32
0..*
IdentifiedObject
CreditRegister
+ creditAmount: AccountingUnit
+ creditType: CreditTypeType [0..1]
+ effectiveTime: TimeType
+ token: String32
0..*
IdentifiedObject
CreditRegister
+ creditAmount: AccountingUnit
+ creditType: CreditTypeType [0..1]
+ effectiveTime: TimeType
+ token: String32
AccountingUnit
+ energyUnit: RealEnergy [0..1]
+ monetaryUnit: CurrencyCode
+ multiplier: PowerOfTenMultiplierType
+ value: Int32
AccountingUnit
+ energyUnit: RealEnergy [0..1]
+ monetaryUnit: CurrencyCode
+ multiplier: PowerOfTenMultiplierType
+ value: Int32
AccountingUnit
+ energyUnit: RealEnergy [0..1]
+ monetaryUnit: CurrencyCode
+ multiplier: PowerOfTenMultiplierType
+ value: Int32
RealEnergy
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
RealEnergy
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
RealEnergy
+ multiplier: PowerOfTenMultiplierType
+ value: UInt48
UInt8
PrepayModeType
UInt8
PrepayModeType
UInt8
PrepayModeType
UInt8
CreditStatusType
UInt8
CreditStatusType
UInt8
CreditStatusType
UInt8
UInt8
UInt8
UInt8
ServiceStatusType
UInt8
ServiceStatusType
UInt8
ServiceStatusType
CreditTypeType
notes notes
0 - Central Wallet 0 - Credit Ok notes
1 - ESI 1 - Credit Low 0 - Regular
2 - Local 2 - Credit Exhausted 1 - Emergency
3 - Credit 3 - Credit Negative 2 - Regular, then Emergency
All other values All other values 3 - Emergency, then Regular
reserved. reserved. All other values reserved.
CreditTypeType
notes notes
0 - Central Wallet 0 - Credit Ok notes
1 - ESI 1 - Credit Low 0 - Regular
2 - Local 2 - Credit Exhausted 1 - Emergency
3 - Credit 3 - Credit Negative 2 - Regular, then Emergency
All other values All other values 3 - Emergency, then Regular
reserved. reserved. All other values reserved.
CreditTypeType
notes notes
0 - Central Wallet 0 - Credit Ok notes
1 - ESI 1 - Credit Low 0 - Regular
2 - Local 2 - Credit Exhausted 1 - Emergency
3 - Credit 3 - Credit Negative 2 - Regular, then Emergency
All other values All other values 3 - Emergency, then Regular
reserved. reserved. All other values reserved.
notes
0 - Connected
1 - Disconnected
2 - Armed for Connect
3 - Armed for Disconnect
4 - No Contactor
5 - Load Limited
All other values reserved.
notes
0 - Connected
1 - Disconnected
2 - Armed for Connect
3 - Armed for Disconnect
4 - No Contactor
5 - Load Limited
All other values reserved.
notes
0 - Connected
1 - Disconnected
2 - Armed for Connect
3 - Armed for Disconnect
4 - No Contactor
5 - Load Limited
All other values reserved.
+ newType: CreditTypeType
+ startTime: TimeType
+ newType: CreditTypeType
+ startTime: TimeType
+ newType: CreditTypeType
+ startTime: TimeType
CreditTypeChange
CreditTypeChange
CreditTypeChange
+ newStatus: ServiceStatusType
+ startTime: TimeType
+ newStatus: ServiceStatusType
+ startTime: TimeType
+ newStatus: ServiceStatusType
+ startTime: TimeType
ServiceChange
ServiceChange
ServiceChange
+ availableCredit: AccountingUnit
+ creditStatus: CreditStatusType [0..1]
+ emergencyCredit: AccountingUnit [0..1]
+ emergencyCreditStatus: CreditStatusType [0..1]
+ availableCredit: AccountingUnit
+ creditStatus: CreditStatusType [0..1]
+ emergencyCredit: AccountingUnit [0..1]
+ emergencyCreditStatus: CreditStatusType [0..1]
+ availableCredit: AccountingUnit
+ creditStatus: CreditStatusType [0..1]
+ emergencyCredit: AccountingUnit [0..1]
+ emergencyCreditStatus: CreditStatusType [0..1]
AccountBalance
AccountBalance
AccountBalance
Resource
Resource
Resource
ListLink
SupplyInterruptionOverrideListLink
ListLink
SupplyInterruptionOverrideListLink
ListLink
SupplyInterruptionOverrideListLink
ListLink
CreditRegisterListLink
ListLink
CreditRegisterListLink
ListLink
CreditRegisterListLink
+ creditExpiryLevel: AccountingUnit [0..1]
+ lowCreditWarningLevel: AccountingUnit [0..1]
+ lowEmergencyCreditWarningLevel: AccountingUnit [0..1]
+ prepayMode: PrepayModeType
+ creditExpiryLevel: AccountingUnit [0..1]
+ lowCreditWarningLevel: AccountingUnit [0..1]
+ lowEmergencyCreditWarningLevel: AccountingUnit [0..1]
+ prepayMode: PrepayModeType
+ creditExpiryLevel: AccountingUnit [0..1]
+ lowCreditWarningLevel: AccountingUnit [0..1]
+ lowEmergencyCreditWarningLevel: AccountingUnit [0..1]
+ prepayMode: PrepayModeType
Prepayment
Prepayment
Prepayment
IdentifiedObject
IdentifiedObject
IdentifiedObject
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
SubscribableList
PrepaymentList
SubscribableList
PrepaymentList
SubscribableList
PrepaymentList
Link
AccountBalanceLink
Link
AccountBalanceLink
Link
AccountBalanceLink
Link
UsagePointLink
Link
UsagePointLink
Link
UsagePointLink
PrepaymentListLink
PrepaymentListLink
PrepaymentListLink
ListLink
ListLink
ListLink
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
Resource
FunctionSetAssignmentsBase
List
CreditRegisterList
List
CreditRegisterList
List
CreditRegisterList
Figure B.31—Prepayment AccountBalance object (Resource)
AccountBalance contains the regular credit and emergency credit balance for this given service or commodity prepay instance. It may also contain status information concerning the balance data.
availableCredit attribute (AccountingUnit)
AvailableCredit shows the balance of the sum of credits minus the sum of charges. In a Central Wallet mode this value may be passed down to the Prepayment server via an out-of-band mechanism. In Local or ESI modes, this value may be calculated based upon summation of CreditRegister transactions minus consumption charges calculated using Metering (and possibly Pricing) function set data. This value may be negative; for instance, if disconnection is prevented due to a Supply Interruption Override.
creditStatus attribute (CreditStatusType) [0..1]
CreditStatus identifies whether the present value of availableCredit is considered OK, low, exhausted, or negative.
emergencyCredit attribute (AccountingUnit) [0..1]
EmergencyCredit is the amount of credit still available for the given service or commodity prepayment instance. If both availableCredit and emergyCredit are exhausted, then service will typically be disconnected.
emergencyCreditStatus attribute (CreditStatusType) [0..1]
EmergencyCreditStatus identifies whether the present value of emergencyCredit is considered OK, low, exhausted, or negative.
AccountingUnit object ()
Unit for accounting; use either “energyUnit” or “currencyUnit” to specify the unit for “value.”
energyUnit attribute (RealEnergy) [0..1]
Unit of service.
monetaryUnit attribute (CurrencyCode)
Unit of currency.
multiplier attribute (PowerOfTenMultiplierType)
Multiplier for the “energyUnit” or “monetaryUnit”.
value attribute (Int32)
Value of the monetary aspect.
CreditRegister object (IdentifiedObject)
CreditRegister instances define a credit-modifying transaction. Typically this would be a credit-adding transaction, but may be a subtracting transaction (perhaps in response to an out-of-band debt signal).
creditAmount attribute (AccountingUnit)
CreditAmount is the amount of credit being added by a particular CreditRegister transaction. Negative values indicate that credit is being subtracted.
creditType attribute (CreditTypeType) [0..1]
CreditType indicates whether the credit transaction applies to regular or emergency credit.
effectiveTime attribute (TimeType)
EffectiveTime identifies the time at which the credit transaction goes into effect. For credit addition transactions, this is typically the moment at which the transaction takes place. For credit subtraction transactions, (e.g., non-fuel debt recovery transactions initiated from a back-haul or ESI) this may be a future time at which credit is deducted.
token attribute (String32)
Token is security data that authenticates the legitimacy of the transaction. The details of this token are not defined by IEEE Std 2030.5. How a Prepayment server handles this field is left as vendor-specific implementation or will be defined by one or more other standards.
CreditRegisterList object (List)
A List element to hold CreditRegister objects.
Prepayment object (IdentifiedObject)
Prepayment (inherited from CIM SDPAccountingFunction).
creditExpiryLevel attribute (AccountingUnit) [0..1]
CreditExpiryLevel is the set point for availableCredit at which the service level may be changed. The typical value for this attribute is 0, regardless of whether the account balance is measured in a monetary or commodity basis. The units for this attribute SHALL match the units used for availableCredit.
lowCreditWarningLevel attribute (AccountingUnit) [0..1]
LowCreditWarningLevel is the set point for availableCredit at which the creditStatus attribute in the AccountBalance resource SHALL indicate that available credit is low. The units for this attribute SHALL match the units used for availableCredit. Typically, this value is set by the service provider.
lowEmergencyCreditWarningLevel attribute (AccountingUnit) [0..1] LowEmergencyCreditWarningLevel is the set point for emergencyCredit at which the creditStatus attribute in the AccountBalance resource SHALL indicate that emergencyCredit is low. The units for this attribute SHALL match the units used for availableCredit. Typically, this value is set by the service provider.
prepayMode attribute (PrepayModeType)
PrepaymentList object (SubscribableList)
A List element to hold Prepayment objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
PrepayModeType object (UInt8)
0 = Central wallet
1 = ESI
2 = Local
3 = Credit
All other values reserved.
PrepayOperationStatus object (Resource)
PrepayOperationStatus describes the status of the service or commodity being conditionally controlled by the Prepayment function set.
creditTypeChange attribute (CreditTypeChange) [0..1]
CreditTypeChange is used to define a pending change of creditTypeInUse, which will activate at a specified time.
creditTypeInUse attribute (CreditTypeType) [0..1]
CreditTypeInUse identifies whether the present mode of operation is consuming regular credit or emergency credit.
serviceChange attribute (ServiceChange) [0..1]
ServiceChange is used to define a pending change of serviceStatus, which will activate at a specified time.
serviceStatus attribute (ServiceStatusType)
ServiceStatus identifies whether the service is connected or disconnected, or armed for connection or disconnection.
ServiceChange object ()
Specifies a change to the service status.
newStatus attribute (ServiceStatusType)
The new service status, to take effect at the time specified by startTime.
startTime attribute (TimeType)
The date/time when the change is to take effect.
SupplyInterruptionOverride object (Resource)
There may be periods of time when social, regulatory, or other concerns mean that service should not be interrupted, even when available credit has been exhausted. Each Prepayment instance links to a List of SupplyInterruptionOverride instances. Each SupplyInterruptionOverride defines a contiguous period of time during which supply SHALL NOT be interrupted.
description attribute (String32) [0..1]
The description is a human-readable text describing or naming the object.
interval attribute (DateTimeInterval)
Interval defines the period of time during which supply should not be interrupted.
SupplyInterruptionOverrideList object (List)
A List element to hold SupplyInterruptionOverride objects.
CreditStatusType object (UInt8)
0 = Credit OK
1 = Credit low
2 = Credit exhausted
3 = Credit negative
All other values reserved.
CreditTypeType object (UInt8)
0 = Regular
1 = Emergency
2 = Regular, then emergency
3 = Emergency, then regular All other values reserved.
CreditTypeChange object ()
Specifies a change to the credit type.
newType attribute (CreditTypeType)
The new credit type, to take effect at the time specified by startTime.
startTime attribute (TimeType)
The date/time when the change is to take effect.
ServiceStatusType object (UInt8)
0 = Connected
1 = Disconnected
2 = Armed for connect
3 = Armed for disconnect
4 = No contactor
5 = Load limited
All other values reserved.
B.2.21 FlowReservation package
Contains flow (charge) reservation model to allow fine-grained control of high-demand loads such as fast- charging batteries.

class FlowReservation
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
class FlowReservation
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
class FlowReservation
AbstractDevice
EndDevice
+ changedTime: TimeType
+ enabled: boolean [0..1] = true
+ postRate: UInt32 [0..1]
0..1
ListLink
ListLink
ListLink
ListLink
ListLink
ListLink
FlowReservationRequestListLink FlowReservationResponseListLink
List
FlowReservationRequestListLink FlowReservationResponseListLink
List
FlowReservationRequestListLink FlowReservationResponseListLink
List
FlowReservationRequestList
FlowReservationRequestList
FlowReservationRequestList
SubscribableList
FlowReservationResponseList
SubscribableList
FlowReservationResponseList
SubscribableList
FlowReservationResponseList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
0..*
0..*
0..*
0..*
0..*
IdentifiedObject Event
FlowReservationRequest
IdentifiedObject Event
FlowReservationRequest
IdentifiedObject Event
FlowReservationRequest
FlowReservationResponse
FlowReservationResponse
FlowReservationResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
creationTime: TimeType
durationRequested: UInt16 [0..1] energyRequested: SignedRealEnergy intervalRequested: DateTimeInterval powerRequested: ActivePower
creationTime: TimeType
durationRequested: UInt16 [0..1] energyRequested: SignedRealEnergy intervalRequested: DateTimeInterval powerRequested: ActivePower
creationTime: TimeType
durationRequested: UInt16 [0..1] energyRequested: SignedRealEnergy intervalRequested: DateTimeInterval powerRequested: ActivePower
+ energyAvailable: SignedRealEnergy
+ powerAvailable: ActivePower
+ subject: mRIDType
+ energyAvailable: SignedRealEnergy
+ powerAvailable: ActivePower
+ subject: mRIDType
+ energyAvailable: SignedRealEnergy
+ powerAvailable: ActivePower
+ subject: mRIDType
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::IdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+
+
+
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+
+
+
::Event
+ creationTime: TimeType
+ interval: DateTimeInterval
::RespondableSubscribableIdentifiedObject
+
+
+
::Resource
::Resource
::Resource
description: String32 [0..1]
mRID: mRIDType
version: VersionType [0..1] = 0
«XSDattribute»
description: String32 [0..1]
mRID: mRIDType
version: VersionType [0..1] = 0
«XSDattribute»
description: String32 [0..1]
mRID: mRIDType
version: VersionType [0..1] = 0
«XSDattribute»
+ href: anyURI [0..1]
1
RequestStatus
+ dateTime: TimeType
+ requestStatus: UInt8
+ href: anyURI [0..1]
1
RequestStatus
+ dateTime: TimeType
+ requestStatus: UInt8
+ href: anyURI [0..1]
1
RequestStatus
+ dateTime: TimeType
+ requestStatus: UInt8
requestStatus
Field representing the request status type.
0 = Requested
1 = Cancelled All other values reserved.
requestStatus
Field representing the request status type.
0 = Requested
1 = Cancelled All other values reserved.
requestStatus
Field representing the request status type.
0 = Requested
1 = Cancelled All other values reserved.
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
::RespondableSubscribableIdentifiedObject
+ subscribable: SubscribableType [0..1] = 0
::RespondableResource
+ replyTo: anyURI [0..1]
+ responseRequired: HexBinary8 [0..1] = 00
::Resource
+
+
+
href: anyURI [0..1]
href: anyURI [0..1]
href: anyURI [0..1]
SignedRealEnergy
SignedRealEnergy
SignedRealEnergy
ActivePower
ActivePower
ActivePower
+ multiplier: PowerOfTenMultiplierType
+ value: Int48
+ multiplier: PowerOfTenMultiplierType
+ value: Int48
+ multiplier: PowerOfTenMultiplierType
+ value: Int48
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
notes
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
notes
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
notes
The active (real) power P (in W) is the product of
RealEnergy root-mean-square (RMS) voltage, RMS current,
and cos(theta) where theta is the phase angle of
+ multiplier: PowerOfTenMultiplierType current relative to voltage. It is the primary
+ value: UInt48 measure of the rate of flow of energy.
The active (real) power P (in W) is the product of
RealEnergy root-mean-square (RMS) voltage, RMS current,
and cos(theta) where theta is the phase angle of
+ multiplier: PowerOfTenMultiplierType current relative to voltage. It is the primary
+ value: UInt48 measure of the rate of flow of energy.
The active (real) power P (in W) is the product of
RealEnergy root-mean-square (RMS) voltage, RMS current,
and cos(theta) where theta is the phase angle of
+ multiplier: PowerOfTenMultiplierType current relative to voltage. It is the primary
+ value: UInt48 measure of the rate of flow of energy.
Figure B.32—FlowReservation
RequestStatus object ()
The RequestStatus object is used to indicate the current status of a Flow Reservation Request.
dateTime attribute (TimeType)
The dateTime attribute will provide a timestamp of when the request status was set. dateTime MUST be set to the time at which the status change occurred, not a time in the future or past.
requestStatus attribute (UInt8)
Field representing the request status type.
0 = Requested
1 = Cancelled
All other values reserved.
FlowReservationRequest object (IdentifiedObject)
Used to request flow transactions. Client EndDevices submit a request for charging or discharging from the server. The server creates an associated FlowReservationResponse containing the charging parameters and interval to provide a lower aggregated demand at the premises, or within a larger part of the distribution system.
creationTime attribute (TimeType)
The time at which the request was created.
durationRequested attribute (UInt16) [0..1]
A value that is calculated by the storage device that defines the minimum duration, in seconds, that it will take to complete the actual flow transaction, including any ramp times and conditioning times, if applicable.
energyRequested attribute (SignedRealEnergy)
Indicates the total amount of energy, in watt-hours, requested to be transferred between the storage device and the electric power system. Positive values indicate charging and negative values indicate discharging. This sign convention is different than for the DER function where discharging is positive. Note that the energyRequestNow attribute in the PowerStatus object must always represent a charging solution and it is not allowed to have a negative value.
intervalRequested attribute (DateTimeInterval)
The time window during which the Flow Reservation is needed. For example, if an electric vehicle is set with a 7:00 AM time charge needed, and price drops to the lowest tier at 11:00 PM, then this window would likely be from 11:00 PM until 7:00 AM.
powerRequested attribute (ActivePower)
Indicates the sustained level of power, in watts, that is requested. For charging this is calculated by the storage device and it represents the charging system capability (which for an electric vehicle must also account for any power limitations due to the EVSE control pilot). For discharging, a lower value than the inverter capability can be used as a target.
FlowReservationRequestList object (List)
A List element to hold FlowReservationRequest objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
FlowReservationResponse object (Event)
The server may modify the charging or discharging parameters and interval to provide a lower aggregated demand at the premises, or within a larger part of the distribution system.
energyAvailable attribute (SignedRealEnergy)
Indicates the amount of energy available.
powerAvailable attribute (ActivePower)
Indicates the amount of power available.
subject attribute (mRIDType)
The subject field provides a method to match the response with the originating event. It is populated with the mRID of the corresponding FlowReservationRequest object.
FlowReservationResponseList object (SubscribableList)
A List element to hold FlowReservationResponse objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
B.2.22 DER package
Contains definitions related to allowing distributed energy resources to provide energy back to the grid.

class DER Info
SubscribableResource
AbstractDevice
class DER Info
SubscribableResource
AbstractDevice
class DER Info
SubscribableResource
AbstractDevice
Link
Link
Link
Link
Link
Link
DERStatusLink
DERStatusLink
DERStatusLink
AssociatedUsagePointLink
AssociatedUsagePointLink
AssociatedUsagePointLink
0..1
0..1
0..1
SubscribableResource
SubscribableResource
SubscribableResource
ListLink
ListLink
ListLink
ListLink
AssociatedDERProgramListLink
ListLink
AssociatedDERProgramListLink
ListLink
AssociatedDERProgramListLink
DERStatus
DERStatus
DERStatus
DERListLink
DERListLink
DERListLink
List
List
List
DERList
DERList
DERList
Link
Link
Link
CurrentDERProgramLink
CurrentDERProgramLink
CurrentDERProgramLink
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
SubscribableResource
DER
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
SubscribableResource
DER
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
SubscribableResource
DER
+ alarmStatus: HexBinary32 [0..1]
+ genConnectStatus: ConnectStatusType [0..1]
+ inverterStatus: InverterStatusType [0..1]
+ localControlModeStatus: LocalControlModeStatusType [0..1]
+ manufacturerStatus: ManufacturerStatusType [0..1]
+ operationalModeStatus: OperationalModeStatusType [0..1]
+ readingTime: TimeType
+ stateOfChargeStatus: StateOfChargeStatusType [0..1]
+ storageModeStatus: StorageModeStatusType [0..1]
+ storConnectStatus: ConnectStatusType [0..1]
+ alarmStatus: HexBinary32 [0..1]
+ genConnectStatus: ConnectStatusType [0..1]
+ inverterStatus: InverterStatusType [0..1]
+ localControlModeStatus: LocalControlModeStatusType [0..1]
+ manufacturerStatus: ManufacturerStatusType [0..1]
+ operationalModeStatus: OperationalModeStatusType [0..1]
+ readingTime: TimeType
+ stateOfChargeStatus: StateOfChargeStatusType [0..1]
+ storageModeStatus: StorageModeStatusType [0..1]
+ storConnectStatus: ConnectStatusType [0..1]
+ alarmStatus: HexBinary32 [0..1]
+ genConnectStatus: ConnectStatusType [0..1]
+ inverterStatus: InverterStatusType [0..1]
+ localControlModeStatus: LocalControlModeStatusType [0..1]
+ manufacturerStatus: ManufacturerStatusType [0..1]
+ operationalModeStatus: OperationalModeStatusType [0..1]
+ readingTime: TimeType
+ stateOfChargeStatus: StateOfChargeStatusType [0..1]
+ storageModeStatus: StorageModeStatusType [0..1]
+ storConnectStatus: ConnectStatusType [0..1]
0..1
0..1
0..1
0....1
0....1
0....1
Link
Link
Link
Link
Link
Link
DERCapabilityLink DERSettingsLink
DERCapabilityLink DERSettingsLink
DERCapabilityLink DERSettingsLink
Link
DERAvailabilityLink
Link
DERAvailabilityLink
Link
DERAvailabilityLink
Resource
Resource
Resource
DERCapability
DERCapability
DERCapability
SubscribableResource
DERSettings
SubscribableResource
DERSettings
SubscribableResource
DERSettings
SubscribableResource
DERAvailability
SubscribableResource
DERAvailability
SubscribableResource
DERAvailability
+ modesSupported: DERControlType
+ rtgAbnormalCategory: UInt8 [0..1]
+ rtgMaxA: CurrentRMS [0..1]
+ rtgMaxAh: AmpereHour [0..1]
+ rtgMaxChargeRateVA: ApparentPower [0..1]
+ rtgMaxChargeRateW: ActivePower [0..1]
+ rtgMaxDischargeRateVA: ApparentPower [0..1]
+ rtgMaxDischargeRateW: ActivePower [0..1]
+ rtgMaxV: VoltageRMS [0..1]
+ rtgMaxVA: ApparentPower [0..1]
+ rtgMaxVar: ReactivePower [0..1]
+ rtgMaxVarNeg: ReactivePower [0..1]
+ rtgMaxW: ActivePower
+ rtgMaxWh: WattHour [0..1]
+ rtgMinPFOverExcited: PowerFactor [0..1]
+ rtgMinPFUnderExcited: PowerFactor [0..1]
+ rtgMinV: VoltageRMS [0..1]
+ rtgNormalCategory: UInt8 [0..1]
+ rtgOverExcitedPF: PowerFactor [0..1]
+ rtgOverExcitedW: ActivePower [0..1]
+ rtgReactiveSusceptance: ReactiveSusceptance [0..1]
+ rtgUnderExcitedPF: PowerFactor [0..1]
+ rtgUnderExcitedW: ActivePower [0..1]
+ rtgVNom: VoltageRMS [0..1]
+ type: DERType
+ modesSupported: DERControlType
+ rtgAbnormalCategory: UInt8 [0..1]
+ rtgMaxA: CurrentRMS [0..1]
+ rtgMaxAh: AmpereHour [0..1]
+ rtgMaxChargeRateVA: ApparentPower [0..1]
+ rtgMaxChargeRateW: ActivePower [0..1]
+ rtgMaxDischargeRateVA: ApparentPower [0..1]
+ rtgMaxDischargeRateW: ActivePower [0..1]
+ rtgMaxV: VoltageRMS [0..1]
+ rtgMaxVA: ApparentPower [0..1]
+ rtgMaxVar: ReactivePower [0..1]
+ rtgMaxVarNeg: ReactivePower [0..1]
+ rtgMaxW: ActivePower
+ rtgMaxWh: WattHour [0..1]
+ rtgMinPFOverExcited: PowerFactor [0..1]
+ rtgMinPFUnderExcited: PowerFactor [0..1]
+ rtgMinV: VoltageRMS [0..1]
+ rtgNormalCategory: UInt8 [0..1]
+ rtgOverExcitedPF: PowerFactor [0..1]
+ rtgOverExcitedW: ActivePower [0..1]
+ rtgReactiveSusceptance: ReactiveSusceptance [0..1]
+ rtgUnderExcitedPF: PowerFactor [0..1]
+ rtgUnderExcitedW: ActivePower [0..1]
+ rtgVNom: VoltageRMS [0..1]
+ type: DERType
+ modesSupported: DERControlType
+ rtgAbnormalCategory: UInt8 [0..1]
+ rtgMaxA: CurrentRMS [0..1]
+ rtgMaxAh: AmpereHour [0..1]
+ rtgMaxChargeRateVA: ApparentPower [0..1]
+ rtgMaxChargeRateW: ActivePower [0..1]
+ rtgMaxDischargeRateVA: ApparentPower [0..1]
+ rtgMaxDischargeRateW: ActivePower [0..1]
+ rtgMaxV: VoltageRMS [0..1]
+ rtgMaxVA: ApparentPower [0..1]
+ rtgMaxVar: ReactivePower [0..1]
+ rtgMaxVarNeg: ReactivePower [0..1]
+ rtgMaxW: ActivePower
+ rtgMaxWh: WattHour [0..1]
+ rtgMinPFOverExcited: PowerFactor [0..1]
+ rtgMinPFUnderExcited: PowerFactor [0..1]
+ rtgMinV: VoltageRMS [0..1]
+ rtgNormalCategory: UInt8 [0..1]
+ rtgOverExcitedPF: PowerFactor [0..1]
+ rtgOverExcitedW: ActivePower [0..1]
+ rtgReactiveSusceptance: ReactiveSusceptance [0..1]
+ rtgUnderExcitedPF: PowerFactor [0..1]
+ rtgUnderExcitedW: ActivePower [0..1]
+ rtgVNom: VoltageRMS [0..1]
+ type: DERType
+ modesEnabled: DERControlType [0..1]
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
+ setGradW: UInt16
+ setMaxA: CurrentRMS [0..1]
+ setMaxAh: AmpereHour [0..1]
+ setMaxChargeRateVA: ApparentPower [0..1]
+ setMaxChargeRateW: ActivePower [0..1]
+ setMaxDischargeRateVA: ApparentPower [0..1]
+ setMaxDischargeRateW: ActivePower [0..1]
+ setMaxV: VoltageRMS [0..1]
+ setMaxVA: ApparentPower [0..1]
+ setMaxVar: ReactivePower [0..1]
+ setMaxVarNeg: ReactivePower [0..1]
+ setMaxW: ActivePower
+ setMaxWh: WattHour [0..1]
+ setMinPFOverExcited: PowerFactor [0..1]
+ setMinPFUnderExcited: PowerFactor [0..1]
+ setMinV: VoltageRMS [0..1]
+ setSoftGradW: UInt16 [0..1]
+ setVNom: VoltageRMS [0..1]
+ setVRef: VoltageRMS [0..1]
+ setVRefOfs: VoltageRMS [0..1]
+ updatedTime: TimeType
+ modesEnabled: DERControlType [0..1]
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
+ setGradW: UInt16
+ setMaxA: CurrentRMS [0..1]
+ setMaxAh: AmpereHour [0..1]
+ setMaxChargeRateVA: ApparentPower [0..1]
+ setMaxChargeRateW: ActivePower [0..1]
+ setMaxDischargeRateVA: ApparentPower [0..1]
+ setMaxDischargeRateW: ActivePower [0..1]
+ setMaxV: VoltageRMS [0..1]
+ setMaxVA: ApparentPower [0..1]
+ setMaxVar: ReactivePower [0..1]
+ setMaxVarNeg: ReactivePower [0..1]
+ setMaxW: ActivePower
+ setMaxWh: WattHour [0..1]
+ setMinPFOverExcited: PowerFactor [0..1]
+ setMinPFUnderExcited: PowerFactor [0..1]
+ setMinV: VoltageRMS [0..1]
+ setSoftGradW: UInt16 [0..1]
+ setVNom: VoltageRMS [0..1]
+ setVRef: VoltageRMS [0..1]
+ setVRefOfs: VoltageRMS [0..1]
+ updatedTime: TimeType
+ modesEnabled: DERControlType [0..1]
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
+ setGradW: UInt16
+ setMaxA: CurrentRMS [0..1]
+ setMaxAh: AmpereHour [0..1]
+ setMaxChargeRateVA: ApparentPower [0..1]
+ setMaxChargeRateW: ActivePower [0..1]
+ setMaxDischargeRateVA: ApparentPower [0..1]
+ setMaxDischargeRateW: ActivePower [0..1]
+ setMaxV: VoltageRMS [0..1]
+ setMaxVA: ApparentPower [0..1]
+ setMaxVar: ReactivePower [0..1]
+ setMaxVarNeg: ReactivePower [0..1]
+ setMaxW: ActivePower
+ setMaxWh: WattHour [0..1]
+ setMinPFOverExcited: PowerFactor [0..1]
+ setMinPFUnderExcited: PowerFactor [0..1]
+ setMinV: VoltageRMS [0..1]
+ setSoftGradW: UInt16 [0..1]
+ setVNom: VoltageRMS [0..1]
+ setVRef: VoltageRMS [0..1]
+ setVRefOfs: VoltageRMS [0..1]
+ updatedTime: TimeType
+ availabilityDuration: UInt32 [0..1]
+ maxChargeDuration: UInt32 [0..1]
+ readingTime: TimeType
+ reserveChargePercent: PerCent [0..1]
+ reservePercent: PerCent [0..1]
+ statVarAvail: ReactivePower [0..1]
+ statWAvail: ActivePower [0..1]
+ availabilityDuration: UInt32 [0..1]
+ maxChargeDuration: UInt32 [0..1]
+ readingTime: TimeType
+ reserveChargePercent: PerCent [0..1]
+ reservePercent: PerCent [0..1]
+ statVarAvail: ReactivePower [0..1]
+ statWAvail: ActivePower [0..1]
+ availabilityDuration: UInt32 [0..1]
+ maxChargeDuration: UInt32 [0..1]
+ readingTime: TimeType
+ reserveChargePercent: PerCent [0..1]
+ reservePercent: PerCent [0..1]
+ statVarAvail: ReactivePower [0..1]
+ statWAvail: ActivePower [0..1]
Figure B.33—DER info

class DER Info Types
class DER Info Types
class DER Info Types
Related DER Info data types
Related DER Info data types
Related DER Info data types
UInt8
UInt8
UInt8
InverterStatusType
InverterStatusType
InverterStatusType
OperationalModeStatusType
OperationalModeStatusType
OperationalModeStatusType
StorageModeStatusType
StorageModeStatusType
StorageModeStatusType
DERType
notes
0 - Not applicable / Unknown
1 - Virtual or mixed DER
2 - Reciprocating engine
3 - Fuel cell
4 - Photovoltaic system
5 - Combined heat and power
6 - Other generation system
80 - Other storage system
81 - Electric vehicle
82 - EVSE
83 - Combined PV and storage All other values reserved.
DERType
notes
0 - Not applicable / Unknown
1 - Virtual or mixed DER
2 - Reciprocating engine
3 - Fuel cell
4 - Photovoltaic system
5 - Combined heat and power
6 - Other generation system
80 - Other storage system
81 - Electric vehicle
82 - EVSE
83 - Combined PV and storage All other values reserved.
DERType
notes
0 - Not applicable / Unknown
1 - Virtual or mixed DER
2 - Reciprocating engine
3 - Fuel cell
4 - Photovoltaic system
5 - Combined heat and power
6 - Other generation system
80 - Other storage system
81 - Electric vehicle
82 - EVSE
83 - Combined PV and storage All other values reserved.
+ dateTime: TimeType
+ value: UInt8
notes DER InverterStatus value:
0 - N/A
1 - off
2 - sleeping (auto-shutdown) or DER is at low output power/voltage
3 - starting up or ON but not producing power
4 - tracking MPPT power point
5 - forced power reduction/derating
6 - shutting down
7 - one or more faults exist
8 - standby (service on unit) - DER may be at high output voltage/power
9 - test mode
10 - as defined in manufacturer status All other values reserved.
+ dateTime: TimeType
+ value: UInt8
notes DER InverterStatus value:
0 - N/A
1 - off
2 - sleeping (auto-shutdown) or DER is at low output power/voltage
3 - starting up or ON but not producing power
4 - tracking MPPT power point
5 - forced power reduction/derating
6 - shutting down
7 - one or more faults exist
8 - standby (service on unit) - DER may be at high output voltage/power
9 - test mode
10 - as defined in manufacturer status All other values reserved.
+ dateTime: TimeType
+ value: UInt8
notes DER InverterStatus value:
0 - N/A
1 - off
2 - sleeping (auto-shutdown) or DER is at low output power/voltage
3 - starting up or ON but not producing power
4 - tracking MPPT power point
5 - forced power reduction/derating
6 - shutting down
7 - one or more faults exist
8 - standby (service on unit) - DER may be at high output voltage/power
9 - test mode
10 - as defined in manufacturer status All other values reserved.
+ dateTime: TimeType
+ value: UInt8
+ dateTime: TimeType
+ value: UInt8
+ dateTime: TimeType
+ value: UInt8
+ dateTime: TimeType
+ value: UInt8
+ dateTime: TimeType
+ value: UInt8
+ dateTime: TimeType
+ value: UInt8
notes
DER OperationalModeStatus value:
0 - Not applicable / Unknown
1 - Off
2 - Operational mode
3 - Test mode
All other values reserved.
notes
DER OperationalModeStatus value:
0 - Not applicable / Unknown
1 - Off
2 - Operational mode
3 - Test mode
All other values reserved.
notes
DER OperationalModeStatus value:
0 - Not applicable / Unknown
1 - Off
2 - Operational mode
3 - Test mode
All other values reserved.
notes
DER StorageModeStatus value:
0 – storage charging
1 – storage discharging
2 – storage holding
All other values reserved.
notes
DER StorageModeStatus value:
0 – storage charging
1 – storage discharging
2 – storage holding
All other values reserved.
notes
DER StorageModeStatus value:
0 – storage charging
1 – storage discharging
2 – storage holding
All other values reserved.
ConnectStatusType
ConnectStatusType
ConnectStatusType
StateOfChargeStatusType
StateOfChargeStatusType
StateOfChargeStatusType
HexBinary32
DERControlType
HexBinary32
DERControlType
HexBinary32
DERControlType
notes
Control modes supported by the DER. Bit positions SHALL be defined as follows:
0 - Charge mode
1 - Discharge mode
2 - opModConnect (Connect / Disconnect - implies galvanic isolation)
3 - opModEnergize (Energize / De-Energize)
4 - opModFixedPFAbsorbW (Fixed Power Factor Setpoint when absorbing active power)
5 - opModFixedPFInjectW (Fixed Power Factor Setpoint when injecting active power)
6 - opModFixedVar (Reactive Power Setpoint)
7 - opModFixedW (Charge / Discharge Setpoint)
8 - opModFreqDroop (Frequency-Watt Parameterized Mode)
9 - opModFreqWatt (Frequency-Watt Curve Mode)
10 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
11 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode) 12 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
13 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
14 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
15 - opModLFRTMayTrip (Low Frequency Ride Throu
notes
Control modes supported by the DER. Bit positions SHALL be defined as follows:
0 - Charge mode
1 - Discharge mode
2 - opModConnect (Connect / Disconnect - implies galvanic isolation)
3 - opModEnergize (Energize / De-Energize)
4 - opModFixedPFAbsorbW (Fixed Power Factor Setpoint when absorbing active power)
5 - opModFixedPFInjectW (Fixed Power Factor Setpoint when injecting active power)
6 - opModFixedVar (Reactive Power Setpoint)
7 - opModFixedW (Charge / Discharge Setpoint)
8 - opModFreqDroop (Frequency-Watt Parameterized Mode)
9 - opModFreqWatt (Frequency-Watt Curve Mode)
10 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
11 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode) 12 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
13 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
14 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
15 - opModLFRTMayTrip (Low Frequency Ride Throu
notes
Control modes supported by the DER. Bit positions SHALL be defined as follows:
0 - Charge mode
1 - Discharge mode
2 - opModConnect (Connect / Disconnect - implies galvanic isolation)
3 - opModEnergize (Energize / De-Energize)
4 - opModFixedPFAbsorbW (Fixed Power Factor Setpoint when absorbing active power)
5 - opModFixedPFInjectW (Fixed Power Factor Setpoint when injecting active power)
6 - opModFixedVar (Reactive Power Setpoint)
7 - opModFixedW (Charge / Discharge Setpoint)
8 - opModFreqDroop (Frequency-Watt Parameterized Mode)
9 - opModFreqWatt (Frequency-Watt Curve Mode)
10 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
11 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode) 12 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
13 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
14 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
15 - opModLFRTMayTrip (Low Frequency Ride Throu
LocalControlModeStatusType
LocalControlModeStatusType
LocalControlModeStatusType
+ dateTime: TimeType
+ value: HexBinary8
notes
DER ConnectStatus value (bitmap):
0 - Connected
1 - Available
2 - Operating
3 - Test
4 - Fault / Error
All other values reserved.
+ dateTime: TimeType
+ value: HexBinary8
notes
DER ConnectStatus value (bitmap):
0 - Connected
1 - Available
2 - Operating
3 - Test
4 - Fault / Error
All other values reserved.
+ dateTime: TimeType
+ value: HexBinary8
notes
DER ConnectStatus value (bitmap):
0 - Connected
1 - Available
2 - Operating
3 - Test
4 - Fault / Error
All other values reserved.
+ dateTime: TimeType
+ value: PerCent
notes
DER StateOfChargeStatus value: Percent data type
+ dateTime: TimeType
+ value: PerCent
notes
DER StateOfChargeStatus value: Percent data type
+ dateTime: TimeType
+ value: PerCent
notes
DER StateOfChargeStatus value: Percent data type
ManufacturerStatusType
ManufacturerStatusType
ManufacturerStatusType
+ dateTime: TimeType
+ value: UInt8
notes
DER LocalControlModeStatus/value:
0 – local control
1 – remote control
All other values reserved.
+ dateTime: TimeType
+ value: UInt8
notes
DER LocalControlModeStatus/value:
0 – local control
1 – remote control
All other values reserved.
+ dateTime: TimeType
+ value: UInt8
notes
DER LocalControlModeStatus/value:
0 – local control
1 – remote control
All other values reserved.
+ dateTime: TimeType
+ value: String6
notes
DER ManufacturerStatus/value: String data type
+ dateTime: TimeType
+ value: String6
notes
DER ManufacturerStatus/value: String data type
+ dateTime: TimeType
+ value: String6
notes
DER ManufacturerStatus/value: String data type
Figure B.34—DER info types

class DER Program
Resource
FunctionSetAssignmentsBase
class DER Program
Resource
FunctionSetAssignmentsBase
class DER Program
Resource
FunctionSetAssignmentsBase
DeviceCapability
DeviceCapability
DeviceCapability
«XSDattribute»
0..1 + pollRate: UInt32 [0..1] = 900
ListLink
DERProgramListLink
SubscribableList
DERProgramList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
0..1 + pollRate: UInt32 [0..1] = 900
ListLink
DERProgramListLink
SubscribableList
DERProgramList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
«XSDattribute»
0..1 + pollRate: UInt32 [0..1] = 900
ListLink
DERProgramListLink
SubscribableList
DERProgramList
«XSDattribute»
+ pollRate: UInt32 [0..1] = 900
0..*
SubscribableIdentifiedObject
DERProgram
0..*
SubscribableIdentifiedObject
DERProgram
0..*
SubscribableIdentifiedObject
DERProgram
Link
Link
Link
UInt8
UInt8
UInt8
0..1
0..1
0..1
DefaultDERControlLink
DefaultDERControlLink
DefaultDERControlLink
PrimacyType
PrimacyType
PrimacyType
+ primacy: PrimacyType
::SubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::SubscribableResource
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
+ primacy: PrimacyType
::SubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::SubscribableResource
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
+ primacy: PrimacyType
::SubscribableIdentifiedObject
+ description: String32 [0..1]
+ mRID: mRIDType
+ version: VersionType [0..1] = 0
«XSDattribute»
::SubscribableResource
+ subscribable: SubscribableType [0..1] = 0
::Resource
+ href: anyURI [0..1]
0..1
0..1
0..1
ListLink
ActiveDERControlListLink
ListLink
ActiveDERControlListLink
ListLink
ActiveDERControlListLink
0..1
0..1
0..1
ListLink
DERControlListLink
ListLink
DERControlListLink
ListLink
DERControlListLink
ListLink
ListLink
ListLink
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
notes
Values possible for indication of "Primary" provider: 0: In home energy management system
1: Contracted premises service provider 2: Non-contractual service provider
3 - 64: Reserved
65 - 191: User-defined
192 - 255: Reserved
0..1
0..1
0..1
DERCurveListLink
DERCurveListLink
DERCurveListLink
Lower numbers indicate higher priority.
Lower numbers indicate higher priority.
Lower numbers indicate higher priority.
Figure B.35—DER program
IdentifiedObject DERCurve | |
+ autonomousVRefEnable: boolean [0..1] = false + autonomousVRefTimeConstant: UInt32 [0..1] + creationTime: TimeType + curveType: DERCurveType + openLoopTms: UInt16 [0..1] + rampDecTms: UInt16 [0..1] + rampIncTms: UInt16 [0..1] + rampPT1Tms: UInt16 [0..1] + vRef: PerCent [0..1] + xMultiplier: PowerOfTenMultiplierType + yMultiplier: PowerOfTenMultiplierType + yRefType: DERUnitRefType ::IdentifiedObject + description: String32 [0..1] + mRID: mRIDType + version: VersionType [0..1] = 0 «XSDattribute» ::Resource + href: anyURI [0..1] | |
1..10 | |
CurveData | |
+ excitation: boolean [0..1] + xvalue: Int32 + yvalue: Int32 | |

class DER Curves
SubscribableIdentifiedObject
DERProgram
+ primacy: PrimacyType
class DER Curves
SubscribableIdentifiedObject
DERProgram
+ primacy: PrimacyType
class DER Curves
SubscribableIdentifiedObject
DERProgram
+ primacy: PrimacyType
0..1
0..1
0..1
ListLink
ListLink
ListLink
DERCurveListLink
DERCurveListLink
DERCurveListLink
List
List
List
DERCurveList
DERCurveList
DERCurveList
0..*
0..*
0..*
Int8
PowerOfTenMultiplierType
notes
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
Int8
PowerOfTenMultiplierType
notes
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
Int8
PowerOfTenMultiplierType
notes
-9 = nano=x10^-9
-6 = micro=x10^-6
-3 = milli=x10^-3
0 = none=x1 (default, if not specified)
1 = deca=x10
2 = hecto=x100
3 = kilo=x1000
6 = Mega=x10^6
9 = Giga=x10^9
This is not a complete list. Any integer between -9 and 9 SHALL be supported, indicating the power of ten multiplier for the units.
notes
Specifies context for interpreting percent values:
0 - N/A
1 - %setMaxW
2 - %setMaxVar
3 - %statVarAvail
4 - %setEffectiveV
5 - %setMaxChargeRateW
6 - %setMaxDischargeRateW
7 - %statWAvail
All other values reserved.
notes
Specifies context for interpreting percent values:
0 - N/A
1 - %setMaxW
2 - %setMaxVar
3 - %statVarAvail
4 - %setEffectiveV
5 - %setMaxChargeRateW
6 - %setMaxDischargeRateW
7 - %statWAvail
All other values reserved.
notes
Specifies context for interpreting percent values:
0 - N/A
1 - %setMaxW
2 - %setMaxVar
3 - %statVarAvail
4 - %setEffectiveV
5 - %setMaxChargeRateW
6 - %setMaxDischargeRateW
7 - %statWAvail
All other values reserved.
DERUnitRefType
DERUnitRefType
DERUnitRefType
UInt8
UInt8
UInt8
notes
0 - opModFreqWatt (Frequency-Watt Curve Mode)
1 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
2 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode)
3 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
4 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
5 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
6 - opModLFRTMayTrip (Low Frequency Ride Through, May Trip Mode)
7 - opModLFRTMustTrip (Low Frequency Ride Through, Must Trip Mode)
8 - opModLVRTMayTrip (Low Voltage Ride Through, May Trip Mode)
9 - opModLVRTMomentaryCessation (Low Voltage Ride Through, Momentary Cessation Mode)
10 - opModLVRTMustTrip (Low Voltage Ride Through, Must Trip Mode)
11 - opModVoltVar (Volt-Var Mode)
12 - opModVoltWatt (Volt-Watt Mode)
13 - opModWattPF (Watt-PowerFactor Mode)
14 - opModWattVar (Watt-Var Mode) All other values reserved.
notes
0 - opModFreqWatt (Frequency-Watt Curve Mode)
1 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
2 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode)
3 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
4 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
5 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
6 - opModLFRTMayTrip (Low Frequency Ride Through, May Trip Mode)
7 - opModLFRTMustTrip (Low Frequency Ride Through, Must Trip Mode)
8 - opModLVRTMayTrip (Low Voltage Ride Through, May Trip Mode)
9 - opModLVRTMomentaryCessation (Low Voltage Ride Through, Momentary Cessation Mode)
10 - opModLVRTMustTrip (Low Voltage Ride Through, Must Trip Mode)
11 - opModVoltVar (Volt-Var Mode)
12 - opModVoltWatt (Volt-Watt Mode)
13 - opModWattPF (Watt-PowerFactor Mode)
14 - opModWattVar (Watt-Var Mode) All other values reserved.
notes
0 - opModFreqWatt (Frequency-Watt Curve Mode)
1 - opModHFRTMayTrip (High Frequency Ride Through, May Trip Mode)
2 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip Mode)
3 - opModHVRTMayTrip (High Voltage Ride Through, May Trip Mode)
4 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation Mode)
5 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip Mode)
6 - opModLFRTMayTrip (Low Frequency Ride Through, May Trip Mode)
7 - opModLFRTMustTrip (Low Frequency Ride Through, Must Trip Mode)
8 - opModLVRTMayTrip (Low Voltage Ride Through, May Trip Mode)
9 - opModLVRTMomentaryCessation (Low Voltage Ride Through, Momentary Cessation Mode)
10 - opModLVRTMustTrip (Low Voltage Ride Through, Must Trip Mode)
11 - opModVoltVar (Volt-Var Mode)
12 - opModVoltWatt (Volt-Watt Mode)
13 - opModWattPF (Watt-PowerFactor Mode)
14 - opModWattVar (Watt-Var Mode) All other values reserved.
DERCurveType
DERCurveType
DERCurveType
UInt8
UInt8
UInt8
Figure B.36—DER curves

class DER Control
SubscribableIdentifiedObject
DERProgram
class DER Control
SubscribableIdentifiedObject
DERProgram
class DER Control
SubscribableIdentifiedObject
DERProgram
Link
Link
Link
FreqDroopType
FreqDroopType
FreqDroopType
0..1
0..1
0..1
DefaultDERControlLink
DefaultDERControlLink
DefaultDERControlLink
0..1
ListLink
DERControlListLink
0..1
ListLink
DERControlListLink
0..1
ListLink
DERControlListLink
SubscribableIdentifiedObject
DefaultDERControl
SubscribableIdentifiedObject
DefaultDERControl
SubscribableIdentifiedObject
DefaultDERControl
+ dBOF: UInt32
+ dBUF: UInt32
+ kOF: UInt16
+ kUF: UInt16
+ openLoopTms: UInt16
+ dBOF: UInt32
+ dBUF: UInt32
+ kOF: UInt16
+ kUF: UInt16
+ openLoopTms: UInt16
+ dBOF: UInt32
+ dBUF: UInt32
+ kOF: UInt16
+ kUF: UInt16
+ openLoopTms: UInt16
SubscribableList
DERControlList
SubscribableList
DERControlList
SubscribableList
DERControlList
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
0..* + setGradW: UInt16 [0..1]
+ setSoftGradW: UInt16 [0..1]
DERControl
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
0..* + setGradW: UInt16 [0..1]
+ setSoftGradW: UInt16 [0..1]
DERControl
+ setESDelay: UInt32 [0..1]
+ setESHighFreq: UInt16 [0..1]
+ setESHighVolt: Int16 [0..1]
+ setESLowFreq: UInt16 [0..1]
+ setESLowVolt: Int16 [0..1]
+ setESRampTms: UInt32 [0..1]
+ setESRandomDelay: UInt32 [0..1]
0..* + setGradW: UInt16 [0..1]
+ setSoftGradW: UInt16 [0..1]
DERControl
+ deviceCategory: DeviceCategoryType [0..1]
+ deviceCategory: DeviceCategoryType [0..1]
+ deviceCategory: DeviceCategoryType [0..1]
1
1
1
DERControlBase
DERControlBase
DERControlBase
1
1
1
+ opModConnect: boolean [0..1]
+ opModEnergize: boolean [0..1]
+ opModFixedPFAbsorbW: PowerFactorWithExcitation [0..1]
+ opModFixedPFInjectW: PowerFactorWithExcitation [0..1]
+ opModFixedVar: FixedVar [0..1]
+ opModFixedW: SignedPerCent [0..1]
+ opModFreqDroop: FreqDroopType [0..1]
+ opModFreqWatt: DERCurveLink [0..1]
+ opModHFRTMayTrip: DERCurveLink [0..1]
+ opModHFRTMustTrip: DERCurveLink [0..1]
+ opModHVRTMayTrip: DERCurveLink [0..1]
+ opModHVRTMomentaryCessation: DERCurveLink [0..1]
+ opModHVRTMustTrip: DERCurveLink [0..1]
+ opModLFRTMayTrip: DERCurveLink [0..1]
+ opModLFRTMustTrip: DERCurveLink [0..1]
+ opModLVRTMayTrip: DERCurveLink [0..1]
+ opModLVRTMomentaryCessation: DERCurveLink [0..1]
+ opModLVRTMustTrip: DERCurveLink [0..1]
+ opModMaxLimW: PerCent [0..1]
+ opModTargetVar: ReactivePower [0..1]
+ opModTargetW: ActivePower [0..1]
+ opModVoltVar: DERCurveLink [0..1]
+ opModVoltWatt: DERCurveLink [0..1]
+ opModWattPF: DERCurveLink [0..1]
+ opModWattVar: DERCurveLink [0..1]
+ rampTms: UInt16 [0..1]
+ opModConnect: boolean [0..1]
+ opModEnergize: boolean [0..1]
+ opModFixedPFAbsorbW: PowerFactorWithExcitation [0..1]
+ opModFixedPFInjectW: PowerFactorWithExcitation [0..1]
+ opModFixedVar: FixedVar [0..1]
+ opModFixedW: SignedPerCent [0..1]
+ opModFreqDroop: FreqDroopType [0..1]
+ opModFreqWatt: DERCurveLink [0..1]
+ opModHFRTMayTrip: DERCurveLink [0..1]
+ opModHFRTMustTrip: DERCurveLink [0..1]
+ opModHVRTMayTrip: DERCurveLink [0..1]
+ opModHVRTMomentaryCessation: DERCurveLink [0..1]
+ opModHVRTMustTrip: DERCurveLink [0..1]
+ opModLFRTMayTrip: DERCurveLink [0..1]
+ opModLFRTMustTrip: DERCurveLink [0..1]
+ opModLVRTMayTrip: DERCurveLink [0..1]
+ opModLVRTMomentaryCessation: DERCurveLink [0..1]
+ opModLVRTMustTrip: DERCurveLink [0..1]
+ opModMaxLimW: PerCent [0..1]
+ opModTargetVar: ReactivePower [0..1]
+ opModTargetW: ActivePower [0..1]
+ opModVoltVar: DERCurveLink [0..1]
+ opModVoltWatt: DERCurveLink [0..1]
+ opModWattPF: DERCurveLink [0..1]
+ opModWattVar: DERCurveLink [0..1]
+ rampTms: UInt16 [0..1]
+ opModConnect: boolean [0..1]
+ opModEnergize: boolean [0..1]
+ opModFixedPFAbsorbW: PowerFactorWithExcitation [0..1]
+ opModFixedPFInjectW: PowerFactorWithExcitation [0..1]
+ opModFixedVar: FixedVar [0..1]
+ opModFixedW: SignedPerCent [0..1]
+ opModFreqDroop: FreqDroopType [0..1]
+ opModFreqWatt: DERCurveLink [0..1]
+ opModHFRTMayTrip: DERCurveLink [0..1]
+ opModHFRTMustTrip: DERCurveLink [0..1]
+ opModHVRTMayTrip: DERCurveLink [0..1]
+ opModHVRTMomentaryCessation: DERCurveLink [0..1]
+ opModHVRTMustTrip: DERCurveLink [0..1]
+ opModLFRTMayTrip: DERCurveLink [0..1]
+ opModLFRTMustTrip: DERCurveLink [0..1]
+ opModLVRTMayTrip: DERCurveLink [0..1]
+ opModLVRTMomentaryCessation: DERCurveLink [0..1]
+ opModLVRTMustTrip: DERCurveLink [0..1]
+ opModMaxLimW: PerCent [0..1]
+ opModTargetVar: ReactivePower [0..1]
+ opModTargetW: ActivePower [0..1]
+ opModVoltVar: DERCurveLink [0..1]
+ opModVoltWatt: DERCurveLink [0..1]
+ opModWattPF: DERCurveLink [0..1]
+ opModWattVar: DERCurveLink [0..1]
+ rampTms: UInt16 [0..1]
EventStatus
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
1
EventStatus
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
1
EventStatus
+ currentStatus: UInt8
+ dateTime: TimeType
+ potentiallySuperseded: boolean
+ potentiallySupersededTime: TimeType [0..1]
+ reason: String192 [0..1]
1
RandomizableEvent
RandomizableEvent
RandomizableEvent
RespondableSubscribableIdentifiedObject
Event
RespondableSubscribableIdentifiedObject
Event
RespondableSubscribableIdentifiedObject
Event
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ randomizeDuration: OneHourRangeType [0..1] = 0
+ randomizeStart: OneHourRangeType [0..1] = 0
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
+ creationTime: TimeType
+ interval: DateTimeInterval
Figure B.37—DER control
PowerFactor |
+ displacement: UInt16 + multiplier: PowerOfTenMultiplierType |
notes Specifies a setpoint for Displacement Power Factor, the ratio between apparent and active powers at the fundamental frequency (e.g. 60 Hz). |
FixedVar |
+ refType: DERUnitRefType + value: SignedPerCent |
notes Specifies a signed setpoint for reactive power. |
FixedPointType |
+ multiplier: PowerOfTenMultiplierType + value: Int16 |
notes Abstract type for specifying a fixed-point value without a given unit of measure. |

class DER Control Types
class DER Control Types
class DER Control Types
Related DER Control data types
Related DER Control data types
Related DER Control data types
notes Available electric charge
notes Available electric charge
notes Available electric charge
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
AmpereHour
AmpereHour
AmpereHour
notes
The reactive power Q (in var) is the product of root mean square (RMS) voltage, RMS current, and sin(theta) where theta is the phase angle of current relative to voltage.
notes
The reactive power Q (in var) is the product of root mean square (RMS) voltage, RMS current, and sin(theta) where theta is the phase angle of current relative to voltage.
notes
The reactive power Q (in var) is the product of root mean square (RMS) voltage, RMS current, and sin(theta) where theta is the phase angle of current relative to voltage.
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
ReactivePower
ReactivePower
ReactivePower
Active (real) energy
Active (real) energy
Active (real) energy
notes
notes
notes
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
WattHour
WattHour
WattHour
notes
The active (real) power P (in W) is the product of root-mean-square (RMS) voltage, RMS current, and cos(theta) where theta is the phase angle of current relative to voltage. It is the primary measure of the rate of flow of energy.
notes
The active (real) power P (in W) is the product of root-mean-square (RMS) voltage, RMS current, and cos(theta) where theta is the phase angle of current relative to voltage. It is the primary measure of the rate of flow of energy.
notes
The active (real) power P (in W) is the product of root-mean-square (RMS) voltage, RMS current, and cos(theta) where theta is the phase angle of current relative to voltage. It is the primary measure of the rate of flow of energy.
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
+ multiplier: PowerOfTenMultiplierType
+ value: Int16
ActivePower
ActivePower
ActivePower
notes Average flow of charge through a conductor.
notes Average flow of charge through a conductor.
notes Average flow of charge through a conductor.
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
CurrentRMS
CurrentRMS
CurrentRMS
notes
The apparent power S (in VA) is the product of root mean square (RMS) voltage and RMS current.
notes
The apparent power S (in VA) is the product of root mean square (RMS) voltage and RMS current.
notes
The apparent power S (in VA) is the product of root mean square (RMS) voltage and RMS current.
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
ApparentPower
ApparentPower
ApparentPower
notes
Average electric potential difference between two points.
notes
Average electric potential difference between two points.
notes
Average electric potential difference between two points.
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
+ multiplier: PowerOfTenMultiplierType
+ value: UInt16
VoltageRMS
VoltageRMS
VoltageRMS
Figure B.38—DER control types
DefaultDERControl object (SubscribableIdentifiedObject)
Contains control mode information to be used if no active DERControl is found.
setESDelay attribute (UInt32) [0..1]
Enter service delay, in hundredths of a second. When present, this value SHALL update the value of the corresponding setting (DERSettings::setESDelay).
setESHighFreq attribute (UInt16) [0..1]
Enter service frequency high. Specified in hundredths of hertz. When present, this value SHALL update the value of the corresponding setting (DERSettings::setESHighFreq).
setESHighVolt attribute (Int16) [0..1]
Enter service voltage high. Specified as an effective percent voltage, defined as
![]()
100% (locally measured voltage setVRefOfs) , in hundredths of a percent. When present, this value
setVRef
SHALL update the value of the corresponding setting (DERSettings::setESHighVolt).
setESLowFreq attribute (UInt16) [0..1]
Enter service frequency low. Specified in hundredths of hertz. When present, this value SHALL update the value of the corresponding setting (DERSettings::setESLowFreq).
setESLowVolt attribute (Int16) [0..1]
Enter service voltage low. Specified as an effective percent voltage, defined as
![]()
100% (locally measured voltage setVRefOfs) , in hundredths of a percent. When present, this value
setVRef
SHALL update the value of the corresponding setting (DERSettings::setESLowVolt).
setESRampTms attribute (UInt32) [0..1]
Enter service ramp time, in hundredths of a second. When present, this value SHALL update the value of the corresponding setting (DERSettings::setESRampTms).
setESRandomDelay attribute (UInt32) [0..1]
Enter service randomized delay, in hundredths of a second. When present, this value SHALL update the value of the corresponding setting (DERSettings::setESRandomDelay).
setGradW attribute (UInt16) [0..1]
Set default rate of change (ramp rate) of active power output due to command or internal action, defined in
%setWMax/second. Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. Interpreted as a percentage change in output capability limit per second when used as a default ramp rate. When present, this value SHALL update the value of the corresponding setting (DERSettings::setGradW).
setSoftGradW attribute (UInt16) [0..1]
Set soft-start rate of change (soft-start ramp rate) of active power output due to command or internal action, defined in %setWMax/second. Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. Interpreted as a percentage change in output capability limit per second when used as a ramp rate. When present, this value SHALL update the value of the corresponding setting (DERSettings::setSoftGradW).
FreqDroopType object ()
Type for Frequency-Droop (Frequency-Watt) operation.
dBOF attribute (UInt32)
Frequency droop dead band for over-frequency conditions. In thousandths of hertz.
dBUF attribute (UInt32)
Frequency droop dead band for under-frequency conditions. In thousandths of hertz.
kOF attribute (UInt16)
Frequency droop per-unit frequency change for over-frequency conditions corresponding to one per-unit power output change. In thousandths, unitless.
kUF attribute (UInt16)
Frequency droop per-unit frequency change for under-frequency conditions corresponding to one per-unit power output change. In thousandths, unitless.
openLoopTms attribute (UInt16)
Open loop response time, the duration from a step change in control signal input until the output changes by 90% of its final change before any overshoot, in hundredths of a second. Resolution is 1/100 second. A value of 0 is used to mean no limit.
DER object (SubscribableResource)
Contains links to DER resources.
DERList object (List)
A List element to hold DER objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
DERSettings object (SubscribableResource)
Distributed energy resource settings.
modesEnabled attribute (DERControlType) [0..1]
Bitmap indicating the DER Controls enabled on the device. See DERControlType for values. If a control is supported (see DERCapability::modesSupported), but not enabled, the control will not be executed if encountered.
setESDelay attribute (UInt32) [0..1]
Enter service delay, in hundredths of a second.
setESHighFreq attribute (UInt16) [0..1]
Enter service frequency high. Specified in hundredths of hertz.
setESHighVolt attribute (Int16) [0..1]
Enter service voltage high. Specified as an effective percent voltage, defined as
![]()
100% (locally measured voltage setVRefOfs) , in hundredths of a percent.
setVRef
setESLowFreq attribute (UInt16) [0..1]
Enter service frequency low. Specified in hundredths of hertz.
setESLowVolt attribute (Int16) [0..1]
Enter service voltage low. Specified as an effective percent voltage, defined as
![]()
100% (locally measured voltage setVRefOfs) , in hundredths of a percent.
setVRef
setESRampTms attribute (UInt32) [0..1]
Enter service ramp time, in hundredths of a second.
setESRandomDelay attribute (UInt32) [0..1]
Enter service randomized delay, in hundredths of a second.
setGradW attribute (UInt16)
Set default rate of change (ramp rate) of active power output due to command or internal action, defined in
%setWMax/second. Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. Interpreted as a percentage change in output capability limit per second when used as a default ramp rate.
setMaxA attribute (CurrentRMS) [0..1]
AC current maximum. Maximum ac current in rms amperes.
setMaxAh attribute (AmpereHour) [0..1]
Maximum usable energy storage capacity of the DER, in ampere-hours. Note: this may be different from physical capability.
setMaxChargeRateVA attribute (ApparentPower) [0..1]
Apparent power charge maximum. Maximum apparent power the DER can absorb from the grid in voltamperes. May differ from the apparent power maximum (setMaxVA).
setMaxChargeRateW attribute (ActivePower) [0..1]
Maximum rate of energy transfer received by the storage device, in watts. Defaults to rtgMaxChargeRateW.
setMaxDischargeRateVA attribute (ApparentPower) [0..1]
Apparent power discharge maximum. Maximum apparent power the DER can deliver to the grid in voltamperes. May differ from the apparent power maximum (setMaxVA).
setMaxDischargeRateW attribute (ActivePower) [0..1]
Maximum rate of energy transfer delivered by the storage device, in watts. Defaults to rtgMaxDischargeRateW.
setMaxV attribute (VoltageRMS) [0..1]
AC voltage maximum setting.
setMaxVA attribute (ApparentPower) [0..1]
Set limit for maximum apparent power capability of the DER (in VA). Defaults to rtgMaxVA.
setMaxVar attribute (ReactivePower) [0..1]
Set limit for maximum reactive power delivered by the DER (in var). SHALL be a positive value
rtgMaxVar (default).
setMaxVarNeg attribute (ReactivePower) [0..1]
Set limit for maximum reactive power received by the DER (in var). If present, SHALL be a negative value
≥ rtgMaxVarNeg (default). If absent, defaults to negative setMaxVar.
setMaxW attribute (ActivePower)
Set limit for maximum active power capability of the DER (in watts). Defaults to rtgMaxW.
setMaxWh attribute (WattHour) [0..1]
Maximum energy storage capacity of the DER, in watthours. Note: this may be different from physical capability.
setMinPFOverExcited attribute (PowerFactor) [0..1]
Set minimum power factor displacement limit of the DER when injecting reactive power (over-excited); SHALL be a positive value between 0.0 (typically > 0.7) and 1.0. SHALL be ≥ rtgMinPFOverExcited (default).
setMinPFUnderExcited attribute (PowerFactor) [0..1]
Set minimum power factor displacement limit of the DER when absorbing reactive power (under-excited); SHALL be a positive value between 0.0 (typically > 0.7) and 0.9999. If present, SHALL be ≥ rtgMinPFUnderExcited (default). If absent, defaults to setMinPFOverExcited.
setMinV attribute (VoltageRMS) [0..1]
AC voltage minimum setting.
setSoftGradW attribute (UInt16) [0..1]
Set soft-start rate of change (soft-start ramp rate) of active power output due to command or internal action, defined in %setWMax/second. Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. Interpreted as a percentage change in output capability limit per second when used as a ramp rate.
setVNom attribute (VoltageRMS) [0..1]
AC voltage nominal setting.
setVRef attribute (VoltageRMS) [0..1]
The nominal ac voltage (rms) at the utility’s point of common coupling.
setVRefOfs attribute (VoltageRMS) [0..1]
The nominal ac voltage (rms) offset between the DER’s electrical connection point and the utility’s point of common coupling.
updatedTime attribute (TimeType)
Specifies the time at which the DER information was last updated.
DERType object (UInt8)
0 = Not applicable/unknown
1 = Virtual or mixed DER
2 = Reciprocating engine
3 = Fuel cell
4 = Photovoltaic system
5 = Combined heat and power
6 = Other generation system
80 = Other storage system
81 = Electric vehicle
82 = EVSE
83 = Combined PV and storage All other values reserved.
DERAvailability object (SubscribableResource)
Indicates current reserve generation status.
availabilityDuration attribute (UInt32) [0..1]
Indicates number of seconds the DER will be able to deliver active power at the reservePercent level.
maxChargeDuration attribute (UInt32) [0..1]
Indicates number of seconds the DER will be able to receive active power at the reserveChargePercent level.
readingTime attribute (TimeType)
The timestamp when the DER availability was last updated.
reserveChargePercent attribute (PerCent) [0..1]
Percent of continuous received active power (%setMaxChargeRateW) that is estimated to be available in reserve.
reservePercent attribute (PerCent) [0..1]
Percent of continuous delivered active power (%setMaxW) that is estimated to be available in reserve.
statVarAvail attribute (ReactivePower) [0..1]
Estimated reserve reactive power, in var. Represents the lesser of received or delivered reactive power.
statWAvail attribute (ActivePower) [0..1]
Estimated reserve active power, in watts.
DERCapability object (Resource)
Distributed energy resource type and nameplate ratings.
modesSupported attribute (DERControlType)
Bitmap indicating the DER Controls implemented by the device. See DERControlType for values.
rtgAbnormalCategory attribute (UInt8) [0..1]
Abnormal operating performance category as defined by IEEE Std 1547-2018. One of:
0 = Not specified
1 = Category I
2 = Category II
3 = Category III
All other values reserved.
rtgMaxA attribute (CurrentRMS) [0..1]
Maximum continuous ac current capability of the DER, in amperes (rms).
rtgMaxAh attribute (AmpereHour) [0..1]
Usable energy storage capacity of the DER, in amp hours.
rtgMaxChargeRateVA attribute (ApparentPower) [0..1]
Maximum apparent power charge rating in voltamperes. May differ from the maximum apparent power rating.
rtgMaxChargeRateW attribute (ActivePower) [0..1]
Maximum rate of energy transfer received by the storage DER, in watts.
rtgMaxDischargeRateVA attribute (ApparentPower) [0..1]
Maximum apparent power discharge rating in voltamperes. May differ from the maximum apparent power rating.
rtgMaxDischargeRateW attribute (ActivePower) [0..1]
Maximum rate of energy transfer delivered by the storage DER, in watts. Required for combined generation/storage DERs (e.g., DERType == 83).
rtgMaxV attribute (VoltageRMS) [0..1]
AC voltage maximum rating.
rtgMaxVA attribute (ApparentPower) [0..1]
Maximum continuous apparent power output capability of the DER, in voltamperes.
rtgMaxVar attribute (ReactivePower) [0..1]
Maximum continuous reactive power delivered by the DER, in var.
rtgMaxVarNeg attribute (ReactivePower) [0..1]
Maximum continuous reactive power received by the DER, in var. If absent, defaults to negative rtgMaxVar.
rtgMaxW attribute (ActivePower)
Maximum continuous active power output capability of the DER, in watts. Represents combined generation plus storage output if DERType == 83.
rtgMaxWh attribute (WattHour) [0..1]
Maximum energy storage capacity of the DER, in watthours.
rtgMinPFOverExcited attribute (PowerFactor) [0..1]
Minimum power factor displacement capability of the DER when injecting reactive power (over-excited); SHALL be a positive value between 0.0 (typically > 0.7) and 1.0. If absent, defaults to unity.
rtgMinPFUnderExcited attribute (PowerFactor) [0..1]
Minimum power factor displacement capability of the DER when absorbing reactive power (under- excited); SHALL be a positive value between 0.0 (typically > 0.7) and 0.9999. If absent, defaults to rtgMinPFOverExcited.
rtgMinV attribute (VoltageRMS) [0..1]
AC voltage minimum rating.
rtgNormalCategory attribute (UInt8) [0..1]
Normal operating performance category as defined by IEEE Std 1547-2018. One of:
0 = Not specified
1 = Category A
2 = Category B
All other values reserved.
rtgOverExcitedPF attribute (PowerFactor) [0..1]
Specified over-excited power factor.
rtgOverExcitedW attribute (ActivePower) [0..1]
Active power rating in watts at specified over-excited power factor (rtgOverExcitedPF). If present, rtgOverExcitedPF SHALL be present.
rtgReactiveSusceptance attribute (ReactiveSusceptance) [0..1]
Reactive susceptance that remains connected to the area electric power system (EPS) in the cease to energize and trip state.
rtgUnderExcitedPF attribute (PowerFactor) [0..1]
Specified under-excited power factor.
rtgUnderExcitedW attribute (ActivePower) [0..1]
Active power rating in watts at specified under-excited power factor (rtgUnderExcitedPF). If present, rtgUnderExcitedPF SHALL be present.
rtgVNom attribute (VoltageRMS) [0..1]
AC voltage nominal rating.
type attribute (DERType)
Type of DER; see DERType object.
DERControlBase object ()
Distributed energy resource (DER) control values.
opModConnect attribute (boolean) [0..1]
Set DER as connected (true) or disconnected (false). Used in conjunction with ramp rate when re- connecting. Implies galvanic isolation.
opModEnergize attribute (boolean) [0..1]
Set DER as energized (true) or de-energized (false). Used in conjunction with ramp rate when re- energizing.
opModFixedPFAbsorbW attribute (PowerFactorWithExcitation) [0..1]
The opModFixedPFAbsorbW function specifies a requested fixed power factor (PF) setting for when active power is being absorbed. The actual displacement SHALL be within the limits established by setMinPFOverExcited and setMinPFUnderExcited. If issued simultaneously with other reactive power controls (e.g., opModFixedVar) the control resulting in least var magnitude SHOULD take precedence.
opModFixedPFInjectW attribute (PowerFactorWithExcitation) [0..1]
The opModFixedPFInjectW function specifies a requested fixed power factor (PF) setting for when active power is being injected. The actual displacement SHALL be within the limits established by setMinPFOverExcited and setMinPFUnderExcited. If issued simultaneously with other reactive power controls (e.g., opModFixedVar) the control resulting in least var magnitude SHOULD take precedence.
opModFixedVar attribute (FixedVar) [0..1]
The opModFixedVar function specifies the delivered or received reactive power setpoint. The context for the setpoint value is determined by refType and SHALL be one of %setMaxW, %setMaxVar, or
%statVarAvail. If issued simultaneously with other reactive power controls (e.g., opModFixedPFInjectW) the control resulting in least var magnitude SHOULD take precedence.
opModFixedW attribute (SignedPerCent) [0..1]
The opModFixedW function specifies a requested charge or discharge mode setpoint, in
%setMaxChargeRateW if negative value, or %setMaxW or %setMaxDischargeRateW if positive value (in hundredths).
opModFreqDroop attribute (FreqDroopType) [0..1]
Specifies a frequency-watt operation. This operation limits active power generation or consumption when the line frequency deviates from nominal by a specified amount.
opModFreqWatt attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 0. The Frequency-Watt function limits active power generation or consumption when the line frequency deviates from nominal by a specified amount. The frequency-watt curve is specified as an array of frequency-watt pairs that are interpolated into a piecewise linear function with hysteresis. The x value of each pair specifies a frequency in hertz. The y value specifies a corresponding active power output in %setMaxW.
opModHFRTMayTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 1. The High Frequency Ride-Through (HFRT) function is specified by one or two duration-frequency curves that define the operating region under high-frequency conditions. Each HFRT curve is specified by an array of duration-frequency pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given frequency in seconds). The y value of each pair specifies a frequency, in hertz. This control specifies the “may trip” region.
opModHFRTMustTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 2. The High Frequency Ride-Through (HFRT) function is specified by a duration-frequency curve that defines the operating region under high-frequency conditions. Each HFRT curve is specified by an array of duration-frequency pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given frequency in seconds). The y value of each pair specifies a frequency, in hertz. This control specifies the “must trip” region.
opModHVRTMayTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 3. The High Voltage Ride-Through (HVRT) function is specified by one, two, or three duration-volt curves that define the operating region under high-voltage conditions. Each HVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percentage voltage,
![]()
defined as (locally measured voltage setVRefOfs) . This control specifies the “may trip” region.
setVRef
opModHVRTMomentaryCessation attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 4. The High Voltage Ride-Through (HVRT) function is specified by duration-volt curves that define the operating region under high-voltage conditions. Each HVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percent voltage, defined as
![]()
(locally measured voltage setVRefOfs) . This control specifies the “momentary cessation” region.
setVRef
opModHVRTMustTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 5. The High Voltage Ride-Through (HVRT) function is specified by duration-volt curves that define the operating region under high-voltage conditions. Each HVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percent voltage, defined as
![]()
(locally measured voltage setVRefOfs) . This control specifies the “must trip” region.
setVRef
opModLFRTMayTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 6. The Low Frequency Ride-Through (LFRT) function is specified by one or two duration-frequency curves that define the operating region under low-frequency conditions. Each LFRT curve is specified by an array of duration-frequency pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given frequency in seconds). The y value of each pair specifies a frequency, in hertz. This control specifies the “may trip” region.
opModLFRTMustTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 7. The Low Frequency Ride-Through (LFRT) function is specified by a duration-frequency curve that defines the operating region under low-frequency conditions. Each LFRT curve is specified by an array of duration-frequency pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given frequency in seconds). The y value of each pair specifies a frequency, in hertz. This control specifies the “must trip” region.
opModLVRTMayTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 8. The Low Voltage Ride-Through (LVRT) function is specified by one, two, or three duration-volt curves that define the operating region under low-voltage conditions.
Each LVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percent voltage, defined as
![]()
(locally measured voltage setVRefOfs) . This control specifies the “may trip” region.
setVRef
opModLVRTMomentaryCessation attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 9. The Low Voltage Ride-Through (LVRT) function is specified by duration-volt curves that define the operating region under low-voltage conditions. Each LVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percent voltage, defined as
![]()
(locally measured voltage setVRefOfs) . This control specifies the “momentary cessation” region.
setVRef
opModLVRTMustTrip attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 10. The Low Voltage Ride-Through (LVRT) function is specified by duration-volt curves that define the operating region under low-voltage conditions. Each LVRT curve is specified by an array of duration-volt pairs that will be interpolated into a piecewise linear function that defines an operating region. The x value of each pair specifies a duration (time at a given voltage in seconds). The y value of each pair specifies an effective percent voltage, defined as
![]()
(locally measured voltage setVRefOfs) . This control specifies the “must trip” region.
setVRef
opModMaxLimW attribute (PerCent) [0..1]
The opModMaxLimW function sets the maximum active power generation level at the electrical coupling point as a percentage of set capacity (%setMaxW, in hundredths). This limitation may be met, for example, by reducing PV output or by using excess PV output to charge associated storage.
opModTargetVar attribute (ReactivePower) [0..1]
Target reactive power, in var. This control is likely to be more useful for aggregators, as individual DERs may not be able to maintain a target setting.
opModTargetW attribute (ActivePower) [0..1]
Target output power, in watts. This control is likely to be more useful for aggregators, as individual DERs may not be able to maintain a target setting.
opModVoltVar attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 11. The static volt-var function provides over- or under-excited var compensation as a function of measured voltage. The volt-var curve is specified as an array of volt-var pairs that are interpolated into a piecewise linear function with hysteresis. The x value of each pair specifies
![]()
an effective percent voltage, defined as (locally measured voltage setVRefOfs)
setVRef
and SHOULD support a
domain of at least 0 to 135. If VRef is present in DERCurve, then the x value of each pair is additionally
![]()
multiplied by VRef
10 000
. The y value specifies a target var output interpreted as a signed percentage (−100 to
100). The meaning of the y value is determined by yRefType and must be one of %setMaxW,
%setMaxVar, or %statVarAvail.
opModVoltWatt attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 12. The Volt-Watt reduces active power output as a function of measured voltage. The Volt-Watt curve is specified as an array of Volt-Watt pairs that are interpolated into a piecewise linear function with hysteresis. The x value of each pair specifies an effective percent voltage,
![]()
defined as (locally measured voltage setVRefOfs)
setVRef
and SHOULD support a domain of at least 0 to 135.
The y value specifies an active power output interpreted as a percentage (0 to 100). The meaning of the y value is determined by yRefType and must be one of %setMaxW or %statWAvail.
opModWattPF attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 13. The Watt-PF function varies power factor (PF) as a function of delivered active power. The Watt-PF curve is specified as an array of Watt-PF coordinates that are interpolated into a piecewise linear function with hysteresis. The x value of each pair specifies a watt setting in %setMaxW, (0 to 100). The PF output setting is a signed displacement in y value (PF sign SHALL be interpreted according to the EEI convention, where unity PF is considered unsigned). These settings are not expected to be updated very often during the life of the installation, therefore only a single curve is required. If issued simultaneously with other reactive power controls (e.g., opModFixedPFInjectW) the control resulting in least var magnitude SHOULD take precedence.
opModWattVar attribute (DERCurveLink) [0..1]
Specify DERCurveLink for curveType == 14. The Watt-Var function varies vars as a function of delivered active power. The Watt-Var curve is specified as an array of Watt-Var pairs that are interpolated into a piecewise linear function with hysteresis. The x value of each pair specifies a watt setting in %setMaxW, (0 to 100). The y value specifies a target var output interpreted as a signed percentage (−100 to 100). The meaning of the y value is determined by yRefType and must be one of %setMaxW, %setMaxVar, or
%statVarAvail.
rampTms attribute (UInt16) [0..1]
Requested ramp time, in hundredths of a second, for the device to transition from the current DERControl mode setting(s) to the new mode setting(s). If absent, use default ramp rate (setGradW). Resolution is 1/100 sec.
DERControl object (RandomizableEvent)
Distributed energy resource (DER) time/event-based control.
deviceCategory attribute (DeviceCategoryType) [0..1]
Specifies the bitmap indicating the categories of devices that SHOULD respond. Devices SHOULD ignore events that do not indicate their device category. If not present, all devices SHOULD respond.
DERControlList object (SubscribableList)
A List element to hold DERControl objects.
DERControlType object (HexBinary32)
Control modes supported by the DER. Bit positions SHALL be defined as follows:
0 = Charge mode
1 = Discharge mode
2 = opModConnect (connect/disconnect—implies galvanic isolation)
3 = opModEnergize (energize/de-energize)
4 = opModFixedPFAbsorbW (fixed power factor setpoint when absorbing active power)
5 = opModFixedPFInjectW (fixed power factor setpoint when injecting active power)
6 = opModFixedVar (reactive power setpoint)
7 = opModFixedW (charge/discharge setpoint)
8 = opModFreqDroop (Frequency-Watt Parameterized mode)
9 = opModFreqWatt (Frequency-Watt Curve mode)
10 = opModHFRTMayTrip (High Frequency Ride-Through, May Trip mode)
11 = opModHFRTMustTrip (High Frequency Ride-Through, Must Trip mode)
12 = opModHVRTMayTrip (High Voltage Ride-Through, May Trip mode)
13 = opModHVRTMomentaryCessation (High Voltage Ride-Through, Momentary Cessation mode)
14 = opModHVRTMustTrip (High Voltage Ride-Through, Must Trip mode)
15 = opModLFRTMayTrip (Low Frequency Ride-Through, May Trip mode)
16 = opModLFRTMustTrip (Low Frequency Ride-Through, Must Trip mode)
17 = opModLVRTMayTrip (Low Voltage Ride-Through, May Trip mode)
18 = opModLVRTMomentaryCessation (Low Voltage Ride-Through, Momentary Cessation mode)
19 = opModLVRTMustTrip (Low Voltage Ride-Through, Must Trip mode)
20 = opModMaxLimW (maximum active power)
21 = opModTargetVar (target reactive power)
22 = opModTargetW (target active power)
23 = opModVoltVar (Volt-Var mode)
24 = opModVoltWatt (Volt-Watt mode)
25 = opModWattPF (Watt-Powerfactor mode)
26 = opModWattVar (Watt-Var mode) All other values reserved.
DERCurve object (IdentifiedObject)
DER related curves such as Volt-Var mode curves. Relationship between an independent variable (X-axis) and a dependent variable (Y-axis).
autonomousVRefEnable attribute (boolean) [0..1]
If the curveType is opModVoltVar, then this field MAY be present. If the curveType is not opModVoltVar, then this field SHALL NOT be present. Enable/disable autonomous vRef adjustment. When enabled, the Volt-Var curve characteristic SHALL be adjusted autonomously as vRef changes and autonomousVRefTimeConstant SHALL be present. If a DER is able to support Volt-Var mode but is unable to support autonomous vRef adjustment, then the DER SHALL execute the curve without autonomous vRef adjustment. If not specified, then the value is false.
autonomousVRefTimeConstant attribute (UInt32) [0..1]
If the curveType is opModVoltVar, then this field MAY be present. If the curveType is not opModVoltVar, then this field SHALL NOT be present. Adjustment range for vRef time constant, in hundredths of a second.
creationTime attribute (TimeType)
The time at which the object was created.
curveType attribute (DERCurveType)
Specifies the associated curve-based control mode.
openLoopTms attribute (UInt16) [0..1]
Open loop response time, the time to ramp up to 90% of the new target in response to the change in voltage, in hundredths of a second. Resolution is 1/100 second. A value of 0 is used to mean no limit. When not present, the device SHOULD follow its default behavior.
rampDecTms attribute (UInt16) [0..1]
Decreasing ramp rate, interpreted as a percentage change in output capability limit per second (e.g.,
%setMaxW/sec). Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. If absent, ramp rate defaults to setGradW.
rampIncTms attribute (UInt16) [0..1]
Increasing ramp rate, interpreted as a percentage change in output capability limit per second (e.g.,
%setMaxW/sec). Resolution is in hundredths of a percent/second. A value of 0 means there is no limit. If absent, ramp rate defaults to rampDecTms.
rampPT1Tms attribute (UInt16) [0..1]
The configuration parameter for a low-pass filter, PT1 is a time, in hundredths of a second, in which the filter will settle to 95% of a step change in the input value. Resolution is 1/100 second.
vRef attribute (PerCent) [0..1]
If the curveType is opModVoltVar, then this field MAY be present. If the curveType is not opModVoltVar, then this field SHALL NOT be present. The nominal ac voltage (rms) adjustment to the voltage curve points for Volt-Var curves.
xMultiplier attribute (PowerOfTenMultiplierType)
Exponent for X-axis value.
yMultiplier attribute (PowerOfTenMultiplierType)
Exponent for Y-axis value.
yRefType attribute (DERUnitRefType)
The Y-axis units context.
CurrentDERProgramLink object (Link)
SHALL contain a Link to an instance of DERProgram. If present, this is the DERProgram containing the currently active DERControl.
DERCurveList object (List)
A List element to hold DERCurve objects.
CurveData object ()
Data point values for defining a curve or schedule.
excitation attribute (boolean) [0..1]
If yvalue is power factor, then this field SHALL be present. If yvalue is not power factor, then this field SHALL NOT be present.
True when DER is absorbing reactive power (under-excited), false when DER is injecting reactive power (over-excited).
xvalue attribute (Int32)
The data value of the X-axis (independent) variable, depending on the curve type. See definitions in DERControlBase for further information.
yvalue attribute (Int32)
The data value of the Y-axis (dependent) variable, depending on the curve type. See definitions in DERControlBase for further information. If yvalue is power factor, the excitation field SHALL be present and yvalue SHALL be a positive value. If yvalue is not power factor, the excitation field SHALL NOT be present.
DERCurveType object (UInt8)
0 = opModFreqWatt (Frequency-Watt Curve mode)
1 = opModHFRTMayTrip (High Frequency Ride-Through, May Trip mode)
2 = opModHFRTMustTrip (High Frequency Ride-Through, Must Trip mode)
3 = opModHVRTMayTrip (High Voltage Ride-Through, May Trip mode)
4 = opModHVRTMomentaryCessation (High Voltage Ride-Through, Momentary Cessation mode)
5 = opModHVRTMustTrip (High Voltage Ride-Through, Must Trip mode)
6 = opModLFRTMayTrip (Low Frequency Ride-Through, May Trip mode)
7 = opModLFRTMustTrip (Low Frequency Ride-Through, Must Trip mode)
8 = opModLVRTMayTrip (Low Voltage Ride-Through, May Trip mode)
9 = opModLVRTMomentaryCessation (Low Voltage Ride-Through, Momentary Cessation mode)
10 = opModLVRTMustTrip (Low Voltage Ride-Through, Must Trip mode)
11 = opModVoltVar (Volt-Var mode)
12 = opModVoltWatt (Volt-Watt mode)
13 = opModWattPF (Watt-PowerFactor mode)
14 = opModWattVar (Watt-Var mode) All other values reserved.
DERProgram object (SubscribableIdentifiedObject)
Distributed energy resource program.
primacy attribute (PrimacyType)
Indicates the relative primacy of the provider of this program.
DERProgramList object (SubscribableList)
A List element to hold DERProgram objects.
pollRate attribute (UInt32) [0..1] «XSDattribute»
The default polling rate for this function set (this resource and all resources below), in seconds. If not specified, a default of 900 seconds (15 minutes) is used. It is RECOMMENDED that a client poll the resources of this function set every pollRate seconds.
DERStatus object (SubscribableResource)
DER status information.
alarmStatus attribute (HexBinary32) [0..1]
Bitmap indicating the status of DER alarms (see DER LogEvents for more details).
0 = DER_FAULT_OVER_CURRENT
1 = DER_FAULT_OVER_VOLTAGE
2 = DER_FAULT_UNDER_VOLTAGE
3 = DER_FAULT_OVER_FREQUENCY
4 = DER_FAULT_UNDER_FREQUENCY
5 = DER_FAULT_VOLTAGE_IMBALANCE
6 = DER_FAULT_CURRENT_IMBALANCE
7 = DER_FAULT_EMERGENCY_LOCAL
8 = DER_FAULT_EMERGENCY_REMOTE
9 = DER_FAULT_LOW_POWER_INPUT
10 = DER_FAULT_PHASE_ROTATION
11 to 31 = Reserved
genConnectStatus attribute (ConnectStatusType) [0..1]
Connect/status value for generator DER. See ConnectStatusType for values.
inverterStatus attribute (InverterStatusType) [0..1]
DER InverterStatus/value.
See InverterStatusType for values.
localControlModeStatus attribute (LocalControlModeStatusType) [0..1]
The local control mode status.
See LocalControlModeStatusType for values.
manufacturerStatus attribute (ManufacturerStatusType) [0..1]
Manufacturer status code.
operationalModeStatus attribute (OperationalModeStatusType) [0..1]
Operational mode currently in use.
See OperationalModeStatusType for values.
readingTime attribute (TimeType)
The timestamp when the current status was last updated.
stateOfChargeStatus attribute (StateOfChargeStatusType) [0..1]
State of charge status.
See StateOfChargeStatusType for values.
storageModeStatus attribute (StorageModeStatusType) [0..1]
Storage mode status.
See StorageModeStatusType for values.
storConnectStatus attribute (ConnectStatusType) [0..1]
Connect/status value for storage DER. See ConnectStatusType for values.
DERUnitRefType object (UInt8)
Specifies context for interpreting percent values:
0 = N/A
1 = %setMaxW
2 = %setMaxVar
3 = %statVarAvail
4 = %setEffectiveV
5 = %setMaxChargeRateW
6 = %setMaxDischargeRateW
7 = %statWAvail
All other values reserved.
CurrentRMS object ()
Average flow of charge through a conductor.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of value.
value attribute (UInt16)
Value in amperes rms (uom 5).
FixedPointType object ()
Abstract type for specifying a fixed-point value without a given unit of measure.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (Int16)
Dimensionless value.
UnsignedFixedPointType object ()
Abstract type for specifying an unsigned fixed-point value without a given unit of measure.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Dimensionless value.
ActivePower object ()
The active (real) power P (in watts) is the product of root mean square (rms) voltage, rms current, and cos(theta) where theta is the phase angle of current relative to voltage. It is the primary measure of the rate of flow of energy.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent for uom.
value attribute (Int16)
Value in watts (uom 38).
AmpereHour object ()
Available electric charge.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Value in ampere-hours (uom 106).
ApparentPower object ()
The apparent power S (in voltamperes) is the product of root mean square (rms) voltage and rms current.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Value in voltamperes (uom 61).
ReactivePower object ()
The reactive power Q (in var) is the product of root mean square (rms) voltage, rms current, and sin(theta) where theta is the phase angle of current relative to voltage.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (Int16)
Value in voltamperes reactive (var) (uom 63).
ReactiveSusceptance object ()
Reactive susceptance.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Value in siemens (uom 53).
PowerFactor object ()
Specifies a setpoint for displacement power factor, the ratio between apparent and active powers at the fundamental frequency (e.g., 60 Hz).
displacement attribute (UInt16)
Significand of an unsigned value of cos(theta) between 0 and 1.0. For example, a value of 0.95 may be specified as a displacement of 950 and a multiplier of −3.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of “displacement.”
PowerFactorWithExcitation object ()
Specifies a setpoint for displacement power factor, the ratio between apparent and active powers at the fundamental frequency (e.g., 60 Hz) and includes an excitation flag.
displacement attribute (UInt16)
Significand of an unsigned value of cos(theta) between 0 and 1.0. For example, a value of 0.95 may be specified as a displacement of 950 and a multiplier of −3.
excitation attribute (boolean)
True when DER is absorbing reactive power (under-excited), false when DER is injecting reactive power (over-excited).
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of “displacement.”
FixedVar object ()
Specifies a signed setpoint for reactive power.
refType attribute (DERUnitRefType)
Indicates whether to interpret “value” as %setMaxVar or %statVarAvail.
value attribute (SignedPerCent)
Specify a signed setpoint for reactive power in % (see “refType” for context).
WattHour object ()
Active (real) energy.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Value in watt-hours (uom 72).
VoltageRMS object ()
Average electric potential difference between two points.
multiplier attribute (PowerOfTenMultiplierType)
Specifies exponent of uom.
value attribute (UInt16)
Value in volts rms (uom 29).
ConnectStatusType object ()
DER ConnectStatus value (bitmap):
0 = Connected
1 = Available
2 = Operating
3 = Test
4 = Fault/Error
All other values reserved.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (HexBinary8)
The value indicating the state.
InverterStatusType object ()
DER InverterStatus value:
0 = N/A
1 = Off
2 = Sleeping (auto-shutdown) or DER is at low output power/voltage
3 = Starting up or on, but not producing power
4 = Tracking maximum power point tracking (MPPT) power point
5 = Forced power reduction/derating
6 = Shutting down
7 = One or more faults exist
8 = Standby (service on unit)—DER may be at high output voltage/power
9 = Test mode
10 = As defined in manufacturer status All other values reserved.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (UInt8)
The value indicating the state.
LocalControlModeStatusType object ()
DER LocalControlModeStatus/value:
0 = Local control
1 = Remote control
All other values reserved.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (UInt8)
The value indicating the state.
ManufacturerStatusType object ()
DER ManufacturerStatus/value: String data type.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (String6)
The value indicating the state.
OperationalModeStatusType object ()
DER OperationalModeStatus value:
0 = Not applicable/Unknown
1 = Off
2 = Operational mode
3 = Test mode
All other values reserved.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (UInt8)
The value indicating the state.
StateOfChargeStatusType object ()
DER StateOfChargeStatus value: Percent data type.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (PerCent)
The value indicating the state.
StorageModeStatusType object ()
DER StorageModeStatus value:
0 = Storage charging
1 = Storage discharging
2 = Storage holding
All other values reserved.
dateTime attribute (TimeType)
The date and time at which the state applied.
value attribute (UInt8)
The value indicating the state.
B.2.23 Links package
Contains definitions of Link specializations used to require certain associations.
AccountBalanceLink object (Link)
SHALL contain a Link to an instance of AccountBalance.
ActiveBillingPeriodListLink object (ListLink)
SHALL contain a Link to a List of active BillingPeriod instances.
ActiveCreditRegisterListLink object (ListLink)
SHALL contain a Link to a List of active CreditRegister instances.
ActiveDERControlListLink object (ListLink)
SHALL contain a Link to a List of active DERControl instances.
ActiveEndDeviceControlListLink object (ListLink)
SHALL contain a Link to a List of active EndDeviceControl instances.
ActiveFlowReservationListLink object (ListLink)
SHALL contain a Link to a List of active FlowReservation instances.
ActiveProjectionReadingListLink object (ListLink)
SHALL contain a Link to a List of active ProjectionReading instances.
ActiveSupplyInterruptionOverrideListLink object (ListLink)
SHALL contain a Link to a List of active SupplyInterruptionOverride instances.
ActiveTargetReadingListLink object (ListLink)
SHALL contain a Link to a List of active TargetReading instances.
ActiveTextMessageListLink object (ListLink)
SHALL contain a Link to a List of active TextMessage instances.
ActiveTimeTariffIntervalListLink object (ListLink)
SHALL contain a Link to a List of active TimeTariffInterval instances.
AssociatedDERProgramListLink object (ListLink)
SHALL contain a Link to a List of DERPrograms having the DERControl(s) for this DER.
AssociatedUsagePointLink object (Link)
SHALL contain a Link to an instance of UsagePoint. If present, this is the sub-meter that monitors the DER output.
BillingPeriodListLink object (ListLink)
SHALL contain a Link to a List of BillingPeriod instances.
BillingReadingListLink object (ListLink)
SHALL contain a Link to a List of BillingReading instances.
BillingReadingSetListLink object (ListLink)
SHALL contain a Link to a List of BillingReadingSet instances.
ConfigurationLink object (Link)
SHALL contain a Link to an instance of Configuration.
ConsumptionTariffIntervalListLink object (ListLink)
SHALL contain a Link to a List of ConsumptionTariffInterval instances.
CreditRegisterListLink object (ListLink)
SHALL contain a Link to a List of CreditRegister instances.
CustomerAccountLink object (Link)
SHALL contain a Link to an instance of CustomerAccount.
CustomerAccountListLink object (ListLink)
SHALL contain a Link to a List of CustomerAccount instances.
CustomerAgreementListLink object (ListLink)
SHALL contain a Link to a List of CustomerAgreement instances.
DemandResponseProgramLink object (Link)
SHALL contain a Link to an instance of DemandResponseProgram.
DemandResponseProgramListLink object (ListLink)
SHALL contain a Link to a List of DemandResponseProgram instances.
DERAvailabilityLink object (Link)
SHALL contain a Link to an instance of DERAvailability.
DERCapabilityLink object (Link)
SHALL contain a Link to an instance of DERCapability.
DefaultDERControlLink object (Link)
SHALL contain a Link to an instance of DefaultDERControl. This is the default mode of the DER which MAY be overridden by DERControl events.
DERControlListLink object (ListLink)
SHALL contain a Link to a List of DERControl instances.
DERCurveLink object (Link)
SHALL contain a Link to an instance of DERCurve.
DERCurveListLink object (ListLink)
SHALL contain a Link to a List of DERCurve instances.
DERLink object (Link)
SHALL contain a Link to an instance of DER.
DERListLink object (ListLink)
SHALL contain a Link to a List of DER instances.
DERProgramLink object (Link)
SHALL contain a Link to an instance of DERProgram.
DERProgramListLink object (ListLink)
SHALL contain a Link to a List of DERProgram instances.
DERSettingsLink object (Link)
SHALL contain a Link to an instance of DERSettings.
DERStatusLink object (Link)
SHALL contain a Link to an instance of DERStatus.
DeviceCapabilityLink object (Link)
SHALL contain a Link to an instance of DeviceCapability.
DeviceInformationLink object (Link)
SHALL contain a Link to an instance of DeviceInformation.
DeviceStatusLink object (Link)
SHALL contain a Link to an instance of DeviceStatus.
EndDeviceControlListLink object (ListLink)
SHALL contain a Link to a List of EndDeviceControl instances.
EndDeviceLink object (Link)
SHALL contain a Link to an instance of EndDevice.
EndDeviceListLink object (ListLink)
SHALL contain a Link to a List of EndDevice instances.
FileLink object (Link)
This element MUST be set to the URI of the most recent File being loaded/activated by the LD. In the case of file status 0, this element MUST be omitted.
FileListLink object (ListLink)
SHALL contain a Link to a List of File instances.
FileStatusLink object (Link)
SHALL contain a Link to an instance of FileStatus.
FlowReservationRequestListLink object (ListLink)
SHALL contain a Link to a List of FlowReservationRequest instances.
FlowReservationResponseListLink object (ListLink)
SHALL contain a Link to a List of FlowReservationResponse instances.
FunctionSetAssignmentsListLink object (ListLink)
SHALL contain a Link to a List of FunctionSetAssignments instances.
HistoricalReadingListLink object (ListLink)
SHALL contain a Link to a List of HistoricalReading instances.
IPAddrListLink object (ListLink)
SHALL contain a Link to a List of IPAddr instances.
IPInterfaceListLink object (ListLink)
SHALL contain a Link to a List of IPInterface instances.
LLInterfaceListLink object (ListLink)
SHALL contain a Link to a List of LLInterface instances.
LoadShedAvailabilityListLink object (ListLink)
SHALL contain a Link to a List of LoadShedAvailability instances.
LogEventListLink object (ListLink)
SHALL contain a Link to a List of LogEvent instances.
MessagingProgramListLink object (ListLink)
SHALL contain a Link to a List of MessagingProgram instances.
MeterReadingLink object (Link)
SHALL contain a Link to an instance of MeterReading.
MeterReadingListLink object (ListLink)
SHALL contain a Link to a List of MeterReading instances.
MirrorUsagePointListLink object (ListLink)
SHALL contain a Link to a List of MirrorUsagePoint instances.
NeighborListLink object (ListLink)
SHALL contain a Link to a List of Neighbor instances.
NotificationListLink object (ListLink)
SHALL contain a Link to a List of Notification instances.
PowerStatusLink object (Link)
SHALL contain a Link to an instance of PowerStatus.
PrepaymentLink object (Link)
SHALL contain a Link to an instance of Prepayment.
PrepaymentListLink object (ListLink)
SHALL contain a Link to a List of Prepayment instances.
PrepayOperationStatusLink object (Link)
SHALL contain a Link to an instance of PrepayOperationStatus.
PriceResponseCfgListLink object (ListLink)
SHALL contain a Link to a List of PriceResponseCfg instances.
ProjectionReadingListLink object (ListLink)
SHALL contain a Link to a List of ProjectionReading instances.
RateComponentLink object (Link)
SHALL contain a Link to an instance of RateComponent.
RateComponentListLink object (ListLink)
SHALL contain a Link to a List of RateComponent instances.
ReadingLink object (Link)
A Link to a Reading.
ReadingListLink object (ListLink)
SHALL contain a Link to a List of Reading instances.
ReadingSetListLink object (ListLink)
SHALL contain a Link to a List of ReadingSet instances.
ReadingTypeLink object (Link)
SHALL contain a Link to an instance of ReadingType.
RegistrationLink object (Link)
SHALL contain a Link to an instance of Registration.
ResponseListLink object (ListLink)
SHALL contain a Link to a List of Response instances.
ResponseSetListLink object (ListLink)
SHALL contain a Link to a List of ResponseSet instances.
RPLInstanceListLink object (ListLink)
SHALL contain a Link to a List of RPLInterface instances.
RPLSourceRoutesListLink object (ListLink)
SHALL contain a Link to a List of RPLSourceRoutes instances.
SelfDeviceLink object (Link)
SHALL contain a Link to an instance of SelfDevice.
ServiceSupplierLink object (Link)
SHALL contain a Link to an instance of ServiceSupplier.
SubscriptionListLink object (ListLink)
SHALL contain a Link to a List of Subscription instances.
SupplyInterruptionOverrideListLink object (ListLink)
SHALL contain a Link to a List of SupplyInterruptionOverride instances.
SupportedLocaleListLink object (ListLink)
SHALL contain a Link to a List of SupportedLocale instances.
TargetReadingListLink object (ListLink)
SHALL contain a Link to a List of TargetReading instances.
TariffProfileLink object (Link)
SHALL contain a Link to an instance of TariffProfile.
TariffProfileListLink object (ListLink)
SHALL contain a Link to a List of TariffProfile instances.
TextMessageListLink object (ListLink)
SHALL contain a Link to a List of TextMessage instances.
TimeLink object (Link)
SHALL contain a Link to an instance of Time.
TimeTariffIntervalListLink object (ListLink)
SHALL contain a Link to a List of TimeTariffInterval instances.
UsagePointLink object (Link)
SHALL contain a Link to an instance of UsagePoint.
UsagePointListLink object (ListLink)
SHALL contain a Link to a List of UsagePoint instances.
Annex C