sep

package
v0.0.0-...-fb989f2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2026 License: CC0-1.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContentType = "application/sep+xml"
)
View Source
const (
	PollRate = 900
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AbstractDevice

type AbstractDevice struct {
	*SubscribableResource
	AggregatedDeviceListLink     *AggregatedDeviceListLink     `xml:"AggregatedDeviceListLink"`
	AggregationPriorityLink      *AggregationPriorityLink      `xml:"AggregationPriorityLink"`
	ConfigurationLink            *ConfigurationLink            `xml:"ConfigurationLink"`
	DERListLink                  *DERListLink                  `xml:"DERListLink"`
	DeviceCategory               *DeviceCategoryType           `xml:"deviceCategory"`
	DeviceInformationLink        *DeviceInformationLink        `xml:"DeviceInformationLink"`
	DeviceStatusLink             *DeviceStatusLink             `xml:"DeviceStatusLink"`
	Distribution                 *AggregationDistributionType  `xml:"distribution"`
	FileStatusLink               *FileStatusLink               `xml:"FileStatusLink"`
	IPInterfaceListLink          *IPInterfaceListLink          `xml:"IPInterfaceListLink"`
	LFDI                         string                        `xml:"lFDI"`
	LoadShedAvailabilityListLink *LoadShedAvailabilityListLink `xml:"LoadShedAvailabilityListLink"`
	LogEventListLink             *LogEventListLink             `xml:"LogEventListLink"`
	Phase                        *PhaseCode                    `xml:"phase"`
	PowerStatusLink              *PowerStatusLink              `xml:"PowerStatusLink"`
	SFDI                         *SFDIType                     `xml:"sFDI"`
}

AbstractDevice is Short form of device identifier, WITH the checksum digit. See the Security section for additional details.

func NewAbstractDevice

func NewAbstractDevice(resource *Resource, sfdi SFDIType) *AbstractDevice

type AccountBalance

type AccountBalance struct {
	*Resource
	AvailableCredit       *AccountingUnit   `xml:"availableCredit"`
	CreditStatus          *CreditStatusType `xml:"creditStatus"`
	EmergencyCredit       *AccountingUnit   `xml:"emergencyCredit"`
	EmergencyCreditStatus *CreditStatusType `xml:"emergencyCreditStatus"`
}

AccountBalance is EmergencyCreditStatus identifies whether the present value of emergencyCredit is considered OK, low, exhausted, or negative.

type AccountBalanceLink struct {
	*Link
}

AccountBalanceLink is SHALL contain a Link to an instance of AccountBalance.

type AccountingUnit

type AccountingUnit struct {
	EnergyUnit   *RealEnergy               `xml:"energyUnit"`
	MonetaryUnit *CurrencyCode             `xml:"monetaryUnit"`
	Multiplier   *PowerOfTenMultiplierType `xml:"multiplier"`
	Value        int                       `xml:"value"`
}

AccountingUnit is Value of the monetary aspect

type AccumulationBehaviourType

type AccumulationBehaviourType = UInt8

AccumulationBehaviourType is 0 = Not Applicable (default, if not specified)

1 = BulkQuantity A value from a register which represents the bulk quantity of a commodity. This quantity is computed as the integral of the commodity usage rate. This value is typically used as the basis for the dial reading at the meter, and as a result, will roll over upon reaching a maximum dial value. Note: The roll-over behavior typically implies a roll-under behavior so that the value presented is always a positive value (e.g., unsigned integer or positive decimal). Note: A BulkQuantity refers primarily to the dial reading and not the consumption over a specified period of time.

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.

type ActiveBillingPeriodListLink struct {
	*ListLink
}

ActiveBillingPeriodListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveCreditRegisterListLink struct {
	*ListLink
}

ActiveCreditRegisterListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveDERControlListLink struct {
	*ListLink
}

ActiveDERControlListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveEndDeviceControlListLink struct {
	*ListLink
}

ActiveEndDeviceControlListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveFlowReservationListLink struct {
	*ListLink
}

ActiveFlowReservationListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActivePower

type ActivePower struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      int16                     `xml:"value"`
}

ActivePower is Value in watts (uom 38)

type ActivePowerControlType

type ActivePowerControlType struct {
	*ActivePower
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

ActivePowerControlType ...

type ActivePowerDeltaControlType

type ActivePowerDeltaControlType struct {
	*ActivePower
	BidirectionalAttr *UInt8 `xml:"bidirectional,attr,omitempty"`
	DisabledAttr      bool   `xml:"disabled,attr,omitempty"`
}

ActivePowerDeltaControlType ...

type ActiveProjectionReadingListLink struct {
	*ListLink
}

ActiveProjectionReadingListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveSupplyInterruptionOverrideListLink struct {
	*ListLink
}

ActiveSupplyInterruptionOverrideListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveTargetReadingListLink struct {
	*ListLink
}

ActiveTargetReadingListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveTextMessageListLink struct {
	*ListLink
}

ActiveTextMessageListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type ActiveTimeTariffIntervalListLink struct {
	*ListLink
}

ActiveTimeTariffIntervalListLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type AggregatedDevice

type AggregatedDevice struct {
	*Resource
	ChangedTime    *TimeType           `xml:"changedTime"`
	DeviceCategory *DeviceCategoryType `xml:"deviceCategory"`
	Enabled        bool                `xml:"enabled"`
	LFDI           string              `xml:"lFDI"`
	SFDI           *SFDIType           `xml:"sFDI"`
}

AggregatedDevice is Long form of device identifier. See the Security section for additional details.

type AggregatedDeviceList

type AggregatedDeviceList struct {
	*SubscribableList
	PollRateAttr     uint32              `xml:"pollRate,attr,omitempty"`
	AggregatedDevice []*AggregatedDevice `xml:"AggregatedDevice"`
}

AggregatedDeviceList is A List element to hold AggregatedDevice objects.

type AggregatedDeviceListLink struct {
	*ListLink
}

AggregatedDeviceListLink is SHALL contain a Link to a List of AggregatedDevice instances. An AbstractDevice (and its derivatives) MAY be an aggregation of multiple assets. If so, it MAY contain an AggregatedDeviceList.

type AggregationDistributionType

type AggregationDistributionType = UInt8

AggregationDistributionType is Specifies how to distribute a control across the population of aggregated devices to achieve the specified total: 0 - Not applicable / Unspecified 1 - Uniform: use an equal value for each member of the aggregation 2 - Prorate: use an equal percentage of nameplate rating 3 - Priority: prioritized based on the given AggregationPriority, with each member of the AggregationPriority completely utilized before proceeding to the next member of the AggregationPriority All other values reserved.

type AggregationPriority

type AggregationPriority struct {
	*IdentifiedObject
	PriorityData []*PriorityData `xml:"PriorityData"`
}

AggregationPriority is Contains the order in which an aggregation with a priority distribution is to be prioritized. If an aggregation has a distribution of Priority, then this resource SHALL be present. If an aggregation does not have a distribution of Priority, then this resource SHALL NOT be present. PriorityData SHALL be listed in order of priority, with the highest priority listed first. Note that if there are a large number of PriorityData, then this resource could grow large. Devices SHOULD use Range / Content-Range for transferring large resources as well as HTTP HEAD or other HTTP mechanisms to determine the size of the resource.

type AggregationPriorityLink struct {
	*Link
}

AggregationPriorityLink is SHALL contain a Link to an instance of AggregationPriority. If present, this resource contains the order in which an aggregation with a priority distribution is to be prioritized.

type AmpereHour

type AmpereHour struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

AmpereHour is Value in ampere-hours (uom 106)

type ApparentPower

type ApparentPower struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

ApparentPower is Value in volt-amperes (uom 61)

type ApplianceLoadReduction

type ApplianceLoadReduction struct {
	Type *ApplianceLoadReductionType `xml:"type"`
}

ApplianceLoadReduction is Indicates the type of appliance load reduction requested.

type ApplianceLoadReductionType

type ApplianceLoadReductionType = UInt8

ApplianceLoadReductionType is 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.

type AppliedTargetReduction

type AppliedTargetReduction struct {
	Type  *UnitType `xml:"type"`
	Value uint16    `xml:"value"`
}

AppliedTargetReduction is Indicates the requested amount of the relevant commodity to be reduced.

type AssociatedDERProgramListLink struct {
	*ListLink
}

AssociatedDERProgramListLink is SHALL contain a Link to a List of DERPrograms having the DERControl(s) for this DER.

type AssociatedUsagePointLink struct {
	*Link
}

AssociatedUsagePointLink is SHALL contain a Link to an instance of UsagePoint. If present, this is the submeter that monitors the DER output. This is also the point of reference, or reference point of applicability, for voltage, limits, controls, etc.

type BillingMeterReadingBase

type BillingMeterReadingBase struct {
	*MeterReadingBase
	BillingReadingSetListLink *BillingReadingSetListLink `xml:"BillingReadingSetListLink"`
	ReadingTypeLink           *ReadingTypeLink           `xml:"ReadingTypeLink"`
}

BillingMeterReadingBase is Contains historical, target, and projection readings of various types, possibly associated with charges.

type BillingPeriod

type BillingPeriod struct {
	*Resource
	BillLastPeriod  int64             `xml:"billLastPeriod"`
	BillToDate      int64             `xml:"billToDate"`
	Interval        *DateTimeInterval `xml:"interval"`
	StatusTimeStamp *TimeType         `xml:"statusTimeStamp"`
}

BillingPeriod is The date / time of the last update of this resource.

type BillingPeriodList

type BillingPeriodList struct {
	*SubscribableList
	BillingPeriod []*BillingPeriod `xml:"BillingPeriod"`
}

BillingPeriodList is A List element to hold BillingPeriod objects.

type BillingPeriodListLink struct {
	*ListLink
}

BillingPeriodListLink is SHALL contain a Link to a List of BillingPeriod instances.

type BillingReading

type BillingReading struct {
	*ReadingBase
	Charge []*Charge `xml:"Charge"`
}

BillingReading is 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 min, 10 min, 15 min, 30 min, or 60 min. However, consumption aggregations can also be represented with this class.

type BillingReadingList

type BillingReadingList struct {
	*List
	BillingReading []*BillingReading `xml:"BillingReading"`
}

BillingReadingList is A List element to hold BillingReading objects.

type BillingReadingListLink struct {
	*ListLink
}

BillingReadingListLink is SHALL contain a Link to a List of BillingReading instances.

type BillingReadingSet

type BillingReadingSet struct {
	*ReadingSetBase
	BillingReadingListLink *BillingReadingListLink `xml:"BillingReadingListLink"`
}

BillingReadingSet is Time sequence of readings of the same reading type.

type BillingReadingSetList

type BillingReadingSetList struct {
	*SubscribableList
	BillingReadingSet []*BillingReadingSet `xml:"BillingReadingSet"`
}

BillingReadingSetList is A List element to hold BillingReadingSet objects.

type BillingReadingSetListLink struct {
	*ListLink
}

BillingReadingSetListLink is SHALL contain a Link to a List of BillingReadingSet instances.

type Charge

type Charge struct {
	Description string      `xml:"description"`
	Kind        *ChargeKind `xml:"kind"`
	Value       int         `xml:"value"`
}

Charge is A monetary charge.

type ChargeKind

type ChargeKind = UInt8

ChargeKind is Kind of charge. 0 - Consumption Charge 1 - Rebate 2 - Auxiliary Charge 3 - Demand Charge 4 - Tax Charge

type CommodityType

type CommodityType = UInt8

CommodityType is 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.

type Condition

type Condition struct {
	AttributeIdentifier uint8 `xml:"attributeIdentifier"`
	LowerThreshold      int64 `xml:"lowerThreshold"`
	UpperThreshold      int64 `xml:"upperThreshold"`
}

Condition is The value of the upper threshold

type Configuration

type Configuration struct {
	*SubscribableResource
	PollRateAttr             uint32                    `xml:"pollRate,attr,omitempty"`
	CurrentLocale            *LocaleType               `xml:"currentLocale"`
	PowerConfiguration       *PowerConfiguration       `xml:"PowerConfiguration"`
	PriceResponseCfgListLink *PriceResponseCfgListLink `xml:"PriceResponseCfgListLink"`
	TimeConfiguration        *TimeConfiguration        `xml:"TimeConfiguration"`
	UserDeviceName           string                    `xml:"userDeviceName"`
}

Configuration is User assigned, convenience name used for network browsing displays, etc. Example "My Thermostat"

type ConfigurationLink struct {
	*Link
}

ConfigurationLink is SHALL contain a Link to an instance of Configuration.

type ConnectStatusType

type ConnectStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    string    `xml:"value"`
}

ConnectStatusType is The value indicating the state.

type ConnectStatusType2

type ConnectStatusType2 struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    string    `xml:"value"`
}

ConnectStatusType2 is The value indicating the state.

type ConsumptionBlockType

type ConsumptionBlockType = UInt8

ConsumptionBlockType is 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.

type ConsumptionTariffInterval

type ConsumptionTariffInterval struct {
	*Resource
	ConsumptionBlock  *ConsumptionBlockType `xml:"consumptionBlock"`
	EnvironmentalCost []*EnvironmentalCost  `xml:"EnvironmentalCost"`
	Price             int                   `xml:"price"`
	StartValue        uint64                `xml:"startValue"`
}

ConsumptionTariffInterval is 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.

type ConsumptionTariffIntervalList

type ConsumptionTariffIntervalList struct {
	*List
	ConsumptionTariffInterval []*ConsumptionTariffInterval `xml:"ConsumptionTariffInterval"`
}

ConsumptionTariffIntervalList is A List element to hold ConsumptionTariffInterval objects.

type ConsumptionTariffIntervalListLink struct {
	*ListLink
}

ConsumptionTariffIntervalListLink is SHALL contain a Link to a List of ConsumptionTariffInterval instances.

type CostKindType

type CostKindType = UInt8

CostKindType is 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.

type CountryType

type CountryType = String2

CountryType is [ISO 3166-1] Alpha-2 code of a country

type CreditRegister

type CreditRegister struct {
	*IdentifiedObject
	CreditAmount  *AccountingUnit `xml:"creditAmount"`
	CreditType    *CreditTypeType `xml:"creditType"`
	EffectiveTime *TimeType       `xml:"effectiveTime"`
	Token         string          `xml:"token"`
}

CreditRegister is Token is security data that authenticates the legitimacy of the transaction. The details of this token are not defined by IEEE 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.

type CreditRegisterList

type CreditRegisterList struct {
	*List
	CreditRegister []*CreditRegister `xml:"CreditRegister"`
}

CreditRegisterList is A List element to hold CreditRegister objects.

type CreditRegisterListLink struct {
	*ListLink
}

CreditRegisterListLink is SHALL contain a Link to a List of CreditRegister instances.

type CreditStatusType

type CreditStatusType = UInt8

CreditStatusType is 0 - Credit Ok 1 - Credit Low 2 - Credit Exhausted 3 - Credit Negative All other values reserved.

type CreditTypeChange

type CreditTypeChange struct {
	NewType   *CreditTypeType `xml:"newType"`
	StartTime *TimeType       `xml:"startTime"`
}

CreditTypeChange is The date/time when the change is to take effect.

type CreditTypeType

type CreditTypeType = UInt8

CreditTypeType is 0 - Regular 1 - Emergency 2 - Regular, then Emergency 3 - Emergency, then Regular All other values reserved.

type CurrencyCode

type CurrencyCode = UInt16

CurrencyCode is Follows codes defined in [ISO 4217]. 0 - Not Applicable (default, if not specified) 36 - Australian Dollar 124 - Canadian Dollar 840 - US Dollar 978 - Euro This is not a complete list.

type CurrentDERControls

type CurrentDERControls struct {
	*SubscribableResource
	OpModConnect                bool                                  `xml:"opModConnect"`
	OpModDeltaVar               *ReactivePowerDeltaControlType        `xml:"opModDeltaVar"`
	OpModDeltaW                 *ActivePowerDeltaControlType          `xml:"opModDeltaW"`
	OpModEnergize               bool                                  `xml:"opModEnergize"`
	OpModFixedPFAbsorbW         *PowerFactorWithExcitationControlType `xml:"opModFixedPFAbsorbW"`
	OpModFixedPFInjectW         *PowerFactorWithExcitationControlType `xml:"opModFixedPFInjectW"`
	OpModFixedV                 *SignedPerCentControlType             `xml:"opModFixedV"`
	OpModFixedVar               *FixedVarControlType                  `xml:"opModFixedVar"`
	OpModFixedW                 *SignedPerCentControlType             `xml:"opModFixedW"`
	OpModFreqDroop              *FreqDroopType                        `xml:"opModFreqDroop"`
	OpModFreqWatt               *DERCurveControlType                  `xml:"opModFreqWatt"`
	OpModGridConnectPermit      bool                                  `xml:"opModGridConnectPermit"`
	OpModHFRTMayTrip            *DERCurveControlType                  `xml:"opModHFRTMayTrip"`
	OpModHFRTMustTrip           *DERCurveControlType                  `xml:"opModHFRTMustTrip"`
	OpModHVRTMayTrip            *DERCurveControlType                  `xml:"opModHVRTMayTrip"`
	OpModHVRTMomentaryCessation *DERCurveControlType                  `xml:"opModHVRTMomentaryCessation"`
	OpModHVRTMustTrip           *DERCurveControlType                  `xml:"opModHVRTMustTrip"`
	OpModIslandPermit           bool                                  `xml:"opModIslandPermit"`
	OpModLFRTMayTrip            *DERCurveControlType                  `xml:"opModLFRTMayTrip"`
	OpModLFRTMustTrip           *DERCurveControlType                  `xml:"opModLFRTMustTrip"`
	OpModLVRTMayTrip            *DERCurveControlType                  `xml:"opModLVRTMayTrip"`
	OpModLVRTMomentaryCessation *DERCurveControlType                  `xml:"opModLVRTMomentaryCessation"`
	OpModLVRTMustTrip           *DERCurveControlType                  `xml:"opModLVRTMustTrip"`
	OpModMaxLimPctVAAbsorb      *PerCentControlType                   `xml:"opModMaxLimPctVAAbsorb"`
	OpModMaxLimPctVAInject      *PerCentControlType                   `xml:"opModMaxLimPctVAInject"`
	OpModMaxLimPctVarAbsorb     *UnsignedFixedVarControlType          `xml:"opModMaxLimPctVarAbsorb"`
	OpModMaxLimPctVarInject     *UnsignedFixedVarControlType          `xml:"opModMaxLimPctVarInject"`
	OpModMaxLimPctWAbsorb       *PerCentControlType                   `xml:"opModMaxLimPctWAbsorb"`
	OpModMaxLimVarAbsorb        *UnsignedReactivePowerControlType     `xml:"opModMaxLimVarAbsorb"`
	OpModMaxLimVarInject        *UnsignedReactivePowerControlType     `xml:"opModMaxLimVarInject"`
	OpModMaxLimW                *PerCentControlType                   `xml:"opModMaxLimW"`
	OpModMaxLimWAbsorb          *UnsignedActivePowerControlType       `xml:"opModMaxLimWAbsorb"`
	OpModMaxLimWInject          *UnsignedActivePowerControlType       `xml:"opModMaxLimWInject"`
	OpModTargetV                *VoltageRMSControlType                `xml:"opModTargetV"`
	OpModTargetVar              *ReactivePowerControlType             `xml:"opModTargetVar"`
	OpModTargetW                *ActivePowerControlType               `xml:"opModTargetW"`
	OpModVoltVar                *DERCurveControlType                  `xml:"opModVoltVar"`
	OpModVoltWatt               *DERCurveControlType                  `xml:"opModVoltWatt"`
	OpModWattPF                 *DERCurveControlType                  `xml:"opModWattPF"`
	OpModWattVar                *DERCurveControlType                  `xml:"opModWattVar"`
	UpdatedTime                 *TimeType                             `xml:"updatedTime"`
}

CurrentDERControls is Specifies the time at which the CurrentDERControls information was last updated.

type CurrentDERControlsLink struct {
	*Link
}

CurrentDERControlsLink is SHALL contain a Link to the CurrentDERControls for this DER.

type CurrentDERProgramLink struct {
	*Link
}

CurrentDERProgramLink is DEPRECATED SHALL NOT be included by servers, but clients should note that it may be included by servers compliant with previous revisions of IEEE 2030.5.

type CurrentRMS

type CurrentRMS struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

CurrentRMS is Value in amperes RMS (uom 5)

type CurveData

type CurveData struct {
	Excitation bool `xml:"excitation"`
	Xvalue     int  `xml:"xvalue"`
	Yvalue     int  `xml:"yvalue"`
}

CurveData is 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.

type CustomerAccount

type CustomerAccount struct {
	*IdentifiedObject
	Currency                  uint16                     `xml:"currency"`
	CustomerAccount           string                     `xml:"customerAccount"`
	CustomerAgreementListLink *CustomerAgreementListLink `xml:"CustomerAgreementListLink"`
	CustomerName              string                     `xml:"customerName"`
	PricePowerOfTenMultiplier *PowerOfTenMultiplierType  `xml:"pricePowerOfTenMultiplier"`
	ServiceSupplierLink       *ServiceSupplierLink       `xml:"ServiceSupplierLink"`
}

CustomerAccount is Indicates the power of ten multiplier for the prices in this function set.

type CustomerAccountLink struct {
	*Link
}

CustomerAccountLink is SHALL contain a Link to an instance of CustomerAccount.

type CustomerAccountList

type CustomerAccountList struct {
	*SubscribableList
	PollRateAttr    uint32             `xml:"pollRate,attr,omitempty"`
	CustomerAccount []*CustomerAccount `xml:"CustomerAccount"`
}

CustomerAccountList is A List element to hold CustomerAccount objects.

type CustomerAccountListLink struct {
	*ListLink
}

CustomerAccountListLink is SHALL contain a Link to a List of CustomerAccount instances.

type CustomerAgreement

type CustomerAgreement struct {
	*IdentifiedObject
	ActiveBillingPeriodListLink     *ActiveBillingPeriodListLink     `xml:"ActiveBillingPeriodListLink"`
	ActiveProjectionReadingListLink *ActiveProjectionReadingListLink `xml:"ActiveProjectionReadingListLink"`
	ActiveTargetReadingListLink     *ActiveTargetReadingListLink     `xml:"ActiveTargetReadingListLink"`
	BillingPeriodListLink           *BillingPeriodListLink           `xml:"BillingPeriodListLink"`
	HistoricalReadingListLink       *HistoricalReadingListLink       `xml:"HistoricalReadingListLink"`
	PrepaymentLink                  *PrepaymentLink                  `xml:"PrepaymentLink"`
	ProjectionReadingListLink       *ProjectionReadingListLink       `xml:"ProjectionReadingListLink"`
	ServiceAccount                  string                           `xml:"serviceAccount"`
	ServiceLocation                 string                           `xml:"serviceLocation"`
	TargetReadingListLink           *TargetReadingListLink           `xml:"TargetReadingListLink"`
	TariffProfileLink               *TariffProfileLink               `xml:"TariffProfileLink"`
	UsagePointLink                  *UsagePointLink                  `xml:"UsagePointLink"`
}

CustomerAgreement is The address or textual description of the service location.

type CustomerAgreementList

type CustomerAgreementList struct {
	*SubscribableList
	CustomerAgreement []*CustomerAgreement `xml:"CustomerAgreement"`
}

CustomerAgreementList is A List element to hold CustomerAgreement objects.

type CustomerAgreementListLink struct {
	*ListLink
}

CustomerAgreementListLink is SHALL contain a Link to a List of CustomerAgreement instances.

type DER

type DER struct {
	*SubscribableResource
	AssociatedDERProgramListLink *AssociatedDERProgramListLink `xml:"AssociatedDERProgramListLink"`
	AssociatedUsagePointLink     *AssociatedUsagePointLink     `xml:"AssociatedUsagePointLink"`
	CurrentDERControlsLink       *CurrentDERControlsLink       `xml:"CurrentDERControlsLink"`
	CurrentDERProgramLink        *CurrentDERProgramLink        `xml:"CurrentDERProgramLink"`
	DERAvailabilityLink          *DERAvailabilityLink          `xml:"DERAvailabilityLink"`
	DERCapabilityLink            *DERCapabilityLink            `xml:"DERCapabilityLink"`
	DERComponentListLink         *DERComponentListLink         `xml:"DERComponentListLink"`
	DERSettingsLink              *DERSettingsLink              `xml:"DERSettingsLink"`
	DERStatusLink                *DERStatusLink                `xml:"DERStatusLink"`
}

DER is Contains links to DER resources.

type DERAvailability

type DERAvailability struct {
	*SubscribableResource
	AvailabilityDuration uint32                 `xml:"availabilityDuration"`
	MaxChargeDuration    uint32                 `xml:"maxChargeDuration"`
	ReadingTime          *TimeType              `xml:"readingTime"`
	ReserveChargePercent *PerCent               `xml:"reserveChargePercent"`
	ReservePercent       *PerCent               `xml:"reservePercent"`
	StatVarAbsorbAvail   *UnsignedReactivePower `xml:"statVarAbsorbAvail"`
	StatVarAvail         *ReactivePower         `xml:"statVarAvail"`
	StatWAbsorbAvail     *UnsignedActivePower   `xml:"statWAbsorbAvail"`
	StatWAvail           *ActivePower           `xml:"statWAvail"`
}

DERAvailability is Estimated reserve active power for injection / delivery, in watts. This value is equal to (estimated maximum possible output at readingTime) - (current output at readingTime). Note that this value SHALL always be positive (defined as ActivePower for legacy reasons). Also note that "current output" is defined to be greater than or equal to zero (not negative).

type DERAvailabilityLink struct {
	*Link
}

DERAvailabilityLink is SHALL contain a Link to an instance of DERAvailability.

type DERCapability

type DERCapability struct {
	*Resource
	ModesSupported         *DERControlType      `xml:"modesSupported"`
	ModesSupported2        *DERControlType2     `xml:"modesSupported2"`
	RtgAbnormalCategory    uint8                `xml:"rtgAbnormalCategory"`
	RtgMaxA                *CurrentRMS          `xml:"rtgMaxA"`
	RtgMaxAh               *AmpereHour          `xml:"rtgMaxAh"`
	RtgMaxChargeRateVA     *ApparentPower       `xml:"rtgMaxChargeRateVA"`
	RtgMaxChargeRateW      *ActivePower         `xml:"rtgMaxChargeRateW"`
	RtgMaxDischargeRateVA  *ApparentPower       `xml:"rtgMaxDischargeRateVA"`
	RtgMaxDischargeRateW   *ActivePower         `xml:"rtgMaxDischargeRateW"`
	RtgMaxV                *VoltageRMS          `xml:"rtgMaxV"`
	RtgMaxVA               *ApparentPower       `xml:"rtgMaxVA"`
	RtgMaxVar              *ReactivePower       `xml:"rtgMaxVar"`
	RtgMaxVarNeg           *ReactivePower       `xml:"rtgMaxVarNeg"`
	RtgMaxW                *ActivePower         `xml:"rtgMaxW"`
	RtgMaxWh               *WattHour            `xml:"rtgMaxWh"`
	RtgMinPFOverExcited    *PowerFactor         `xml:"rtgMinPFOverExcited"`
	RtgMinPFUnderExcited   *PowerFactor         `xml:"rtgMinPFUnderExcited"`
	RtgMinV                *VoltageRMS          `xml:"rtgMinV"`
	RtgNormalCategory      uint8                `xml:"rtgNormalCategory"`
	RtgOverExcitedPF       *PowerFactor         `xml:"rtgOverExcitedPF"`
	RtgOverExcitedW        *ActivePower         `xml:"rtgOverExcitedW"`
	RtgReactiveSusceptance *ReactiveSusceptance `xml:"rtgReactiveSusceptance"`
	RtgUnderExcitedPF      *PowerFactor         `xml:"rtgUnderExcitedPF"`
	RtgUnderExcitedW       *ActivePower         `xml:"rtgUnderExcitedW"`
	RtgVNom                *VoltageRMS          `xml:"rtgVNom"`
	Type                   *DERType             `xml:"type"`
}

DERCapability is Type of DER; see DERType object

type DERCapabilityLink struct {
	*Link
}

DERCapabilityLink is SHALL contain a Link to an instance of DERCapability.

type DERComponent

type DERComponent struct {
	*DERComponentBase
	LFDI string `xml:"lFDI"`
}

DERComponent is The LFDI of the DERComponent.

type DERComponentBase

type DERComponentBase struct {
	*SubscribableResource
	AssociatedUsagePointLink *AssociatedUsagePointLink `xml:"AssociatedUsagePointLink"`
	DERAvailabilityLink      *DERAvailabilityLink      `xml:"DERAvailabilityLink"`
	DERCapabilityLink        *DERCapabilityLink        `xml:"DERCapabilityLink"`
	DERSettingsLink          *DERSettingsLink          `xml:"DERSettingsLink"`
	DERStatusLink            *DERStatusLink            `xml:"DERStatusLink"`
}

DERComponentBase is DER and DERComponent common base.

type DERComponentList

type DERComponentList struct {
	*List
	DERComponent []*DERComponent `xml:"DERComponent"`
}

DERComponentList is A List element to hold DERComponent resources. These DERComponents are components of their parent DER.

type DERComponentListLink struct {
	*ListLink
}

DERComponentListLink is SHALL contain a Link to a List of DERComponent instances.

type DERControl

type DERControl struct {
	*RandomizableEvent
	DERControlBase *DERControlBase     `xml:"DERControlBase"`
	DeviceCategory *DeviceCategoryType `xml:"deviceCategory"`
}

DERControl is 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.

type DERControlBase

type DERControlBase struct {
	OpModConnect                bool                                  `xml:"opModConnect"`
	OpModDeltaVar               *ReactivePowerDeltaControlType        `xml:"opModDeltaVar"`
	OpModDeltaW                 *ActivePowerDeltaControlType          `xml:"opModDeltaW"`
	OpModEnergize               bool                                  `xml:"opModEnergize"`
	OpModFixedPFAbsorbW         *PowerFactorWithExcitationControlType `xml:"opModFixedPFAbsorbW"`
	OpModFixedPFInjectW         *PowerFactorWithExcitationControlType `xml:"opModFixedPFInjectW"`
	OpModFixedV                 *SignedPerCentControlType             `xml:"opModFixedV"`
	OpModFixedVar               *FixedVarControlType                  `xml:"opModFixedVar"`
	OpModFixedW                 *SignedPerCentControlType             `xml:"opModFixedW"`
	OpModFreqDroop              *FreqDroopType                        `xml:"opModFreqDroop"`
	OpModFreqWatt               *DERCurveLink                         `xml:"opModFreqWatt"`
	OpModGridConnectPermit      bool                                  `xml:"opModGridConnectPermit"`
	OpModHFRTMayTrip            *DERCurveLink                         `xml:"opModHFRTMayTrip"`
	OpModHFRTMustTrip           *DERCurveLink                         `xml:"opModHFRTMustTrip"`
	OpModHVRTMayTrip            *DERCurveLink                         `xml:"opModHVRTMayTrip"`
	OpModHVRTMomentaryCessation *DERCurveLink                         `xml:"opModHVRTMomentaryCessation"`
	OpModHVRTMustTrip           *DERCurveLink                         `xml:"opModHVRTMustTrip"`
	OpModIslandPermit           bool                                  `xml:"opModIslandPermit"`
	OpModLFRTMayTrip            *DERCurveLink                         `xml:"opModLFRTMayTrip"`
	OpModLFRTMustTrip           *DERCurveLink                         `xml:"opModLFRTMustTrip"`
	OpModLVRTMayTrip            *DERCurveLink                         `xml:"opModLVRTMayTrip"`
	OpModLVRTMomentaryCessation *DERCurveLink                         `xml:"opModLVRTMomentaryCessation"`
	OpModLVRTMustTrip           *DERCurveLink                         `xml:"opModLVRTMustTrip"`
	OpModMaxLimPctVAAbsorb      *PerCentControlType                   `xml:"opModMaxLimPctVAAbsorb"`
	OpModMaxLimPctVAInject      *PerCentControlType                   `xml:"opModMaxLimPctVAInject"`
	OpModMaxLimPctVarAbsorb     *UnsignedFixedVarControlType          `xml:"opModMaxLimPctVarAbsorb"`
	OpModMaxLimPctVarInject     *UnsignedFixedVarControlType          `xml:"opModMaxLimPctVarInject"`
	OpModMaxLimPctWAbsorb       *PerCentControlType                   `xml:"opModMaxLimPctWAbsorb"`
	OpModMaxLimVarAbsorb        *UnsignedReactivePowerControlType     `xml:"opModMaxLimVarAbsorb"`
	OpModMaxLimVarInject        *UnsignedReactivePowerControlType     `xml:"opModMaxLimVarInject"`
	OpModMaxLimW                *PerCentControlType                   `xml:"opModMaxLimW"`
	OpModMaxLimWAbsorb          *UnsignedActivePowerControlType       `xml:"opModMaxLimWAbsorb"`
	OpModMaxLimWInject          *UnsignedActivePowerControlType       `xml:"opModMaxLimWInject"`
	OpModTargetV                *VoltageRMSControlType                `xml:"opModTargetV"`
	OpModTargetVar              *ReactivePowerControlType             `xml:"opModTargetVar"`
	OpModTargetW                *ActivePowerControlType               `xml:"opModTargetW"`
	OpModVoltVar                *DERCurveLink                         `xml:"opModVoltVar"`
	OpModVoltWatt               *DERCurveLink                         `xml:"opModVoltWatt"`
	OpModWattPF                 *DERCurveLink                         `xml:"opModWattPF"`
	OpModWattVar                *DERCurveLink                         `xml:"opModWattVar"`
	RampTms                     uint16                                `xml:"rampTms"`
}

DERControlBase is Requested ramp time, in hundredths of a second, for the device to transition from the current DERControl Mode(s) to the new DERControl Mode(s). If absent, use default ramp rate (setGradW). Resolution is 1/100 sec.

type DERControlList

type DERControlList struct {
	*SubscribableList
	DERControl []*DERControl `xml:"DERControl"`
}

DERControlList is A List element to hold DERControl objects.

type DERControlListLink struct {
	*ListLink
}

DERControlListLink is SHALL contain a Link to a List of DERControl instances.

type DERControlResponse

type DERControlResponse struct {
	*Response
	ModesResponded  *DERControlType  `xml:"modesResponded"`
	ModesResponded2 *DERControlType2 `xml:"modesResponded2"`
}

DERControlResponse is Indicates additional individual DERControl Modes for which the DERControlResponse applies. It should be noted that in previous revisions of IEEE 2030.5 this field was not defined. When the field is not present, the additional individual DERControl Modes for which the DERControlResponse applies is none (as none of those DERControl Modes existed in previous revisions of IEEE 2030.5).

type DERControlType

type DERControlType = HexBinary32

DERControlType is DERControl Modes for DER. Bit positions SHALL be defined as follows: 0 - Charge mode 1 - Discharge mode 2 - opModConnect 3 - opModEnergize 4 - opModFixedPFAbsorbW 5 - opModFixedPFInjectW 6 - opModFixedVar 7 - opModFixedW 8 - opModFreqDroop 9 - opModFreqWatt 10 - opModHFRTMayTrip 11 - opModHFRTMustTrip 12 - opModHVRTMayTrip 13 - opModHVRTMomentaryCessation 14 - opModHVRTMustTrip 15 - opModLFRTMayTrip 16 - opModLFRTMustTrip 17 - opModLVRTMayTrip 18 - opModLVRTMomentaryCessation 19 - opModLVRTMustTrip 20 - opModMaxLimW 21 - opModTargetVar 22 - opModTargetW 23 - opModVoltVar 24 - opModVoltWatt 25 - opModWattPF 26 - opModWattVar

Below values added in IEEE 2030.5-2023 revision: 27 = opModDeltaVar 28 = opModDeltaW 29 = opModFixedV 30 = opModGridConnectPermit 31 = opModIslandPermit

type DERControlType2

type DERControlType2 = HexBinary32

DERControlType2 is Additional DERControl Modes for DER. Added in the IEEE 2030.5-2023 revision. Bit positions SHALL be defined as follows: 0 = opModMaxLimPctVAAbsorb 1 = opModMaxLimPctVAInject 2 = opModMaxLimPctVarAbsorb 3 = opModMaxLimPctVarInject 4 = opModMaxLimPctWAbsorb 5 = opModMaxLimVarAbsorb 6 = opModMaxLimVarInject 7 = opModMaxLimWAbsorb 8 = opModMaxLimWInject 9 = opModTargetV All other values reserved.

type DERCurve

type DERCurve struct {
	*IdentifiedObject
	AutonomousVRefEnable       bool                      `xml:"autonomousVRefEnable"`
	AutonomousVRefTimeConstant uint32                    `xml:"autonomousVRefTimeConstant"`
	CreationTime               *TimeType                 `xml:"creationTime"`
	CurveData                  []*CurveData              `xml:"CurveData"`
	CurveType                  *DERCurveType             `xml:"curveType"`
	OpenLoopTms                uint16                    `xml:"openLoopTms"`
	RampDecTms                 uint16                    `xml:"rampDecTms"`
	RampIncTms                 uint16                    `xml:"rampIncTms"`
	RampPT1Tms                 uint16                    `xml:"rampPT1Tms"`
	VRef                       *PerCent                  `xml:"vRef"`
	XMultiplier                *PowerOfTenMultiplierType `xml:"xMultiplier"`
	YMultiplier                *PowerOfTenMultiplierType `xml:"yMultiplier"`
	YRefType                   *DERUnitRefType           `xml:"yRefType"`
}

DERCurve is The Y-axis units context.

type DERCurveControlType

type DERCurveControlType struct {
	*DERCurve
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

DERCurveControlType ...

type DERCurveLink struct {
	*Link
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

DERCurveLink is SHALL contain a Link to an instance of DERCurve.

type DERCurveList

type DERCurveList struct {
	*List
	DERCurve []*DERCurve `xml:"DERCurve"`
}

DERCurveList is A List element to hold DERCurve objects.

type DERCurveListLink struct {
	*ListLink
}

DERCurveListLink is SHALL contain a Link to a List of DERCurve instances.

type DERCurveType

type DERCurveType = UInt8

DERCurveType is 0 - opModFreqWatt (Frequency-Watt Curve DERControl Mode) 1 - opModHFRTMayTrip (High Frequency Ride Through, May Trip DERControl Mode) 2 - opModHFRTMustTrip (High Frequency Ride Through, Must Trip DERControl Mode) 3 - opModHVRTMayTrip (High Voltage Ride Through, May Trip DERControl Mode) 4 - opModHVRTMomentaryCessation (High Voltage Ride Through, Momentary Cessation DERControl Mode) 5 - opModHVRTMustTrip (High Voltage Ride Through, Must Trip DERControl Mode) 6 - opModLFRTMayTrip (Low Frequency Ride Through, May Trip DERControl Mode) 7 - opModLFRTMustTrip (Low Frequency Ride Through, Must Trip DERControl Mode) 8 - opModLVRTMayTrip (Low Voltage Ride Through, May Trip DERControl Mode) 9 - opModLVRTMomentaryCessation (Low Voltage Ride Through, Momentary Cessation DERControl Mode) 10 - opModLVRTMustTrip (Low Voltage Ride Through, Must Trip DERControl Mode) 11 - opModVoltVar (Volt-Var DERControl Mode) 12 - opModVoltWatt (Volt-Watt DERControl Mode) 13 - opModWattPF (Watt-PowerFactor DERControl Mode) 14 - opModWattVar (Watt-Var DERControl Mode) All other values reserved.

type DERLink struct {
	*Link
}

DERLink is SHALL contain a Link to an instance of DER.

type DERList

type DERList struct {
	*List
	PollRateAttr uint32 `xml:"pollRate,attr,omitempty"`
	DER          []*DER `xml:"DER"`
}

DERList is A List element to hold a DER object. More than one DER object SHALL NOT be included, but it should be noted that previous revisions of IEEE 2030.5 allowed more than one DER object. This single DER object represents the entire DER for the EndDevice and is the DER that acts upon DERControls. Components of this DER MAY be represented in the DERComponentList.

type DERListLink struct {
	*ListLink
}

DERListLink is SHALL contain a Link to a List of DER instances.

type DERProgram

type DERProgram struct {
	*SubscribableIdentifiedObject
	ActiveDERControlListLink *ActiveDERControlListLink `xml:"ActiveDERControlListLink"`
	DefaultDERControlLink    *DefaultDERControlLink    `xml:"DefaultDERControlLink"`
	DERControlListLink       *DERControlListLink       `xml:"DERControlListLink"`
	DERCurveListLink         *DERCurveListLink         `xml:"DERCurveListLink"`
	Primacy                  *PrimacyType              `xml:"primacy"`
}

DERProgram is Indicates the relative primacy of the provider of this Program.

type DERProgramLink struct {
	*Link
}

DERProgramLink is SHALL contain a Link to an instance of DERProgram.

type DERProgramList

type DERProgramList struct {
	*SubscribableList
	PollRateAttr uint32        `xml:"pollRate,attr,omitempty"`
	DERProgram   []*DERProgram `xml:"DERProgram"`
}

DERProgramList is A List element to hold DERProgram objects.

type DERProgramListLink struct {
	*ListLink
}

DERProgramListLink is SHALL contain a Link to a List of DERProgram instances.

type DERSettings

type DERSettings struct {
	*SubscribableResource
	ModesEnabled          *DERControlType  `xml:"modesEnabled"`
	ModesEnabled2         *DERControlType2 `xml:"modesEnabled2"`
	SetESDelay            uint32           `xml:"setESDelay"`
	SetESHighFreq         uint16           `xml:"setESHighFreq"`
	SetESHighVolt         int16            `xml:"setESHighVolt"`
	SetESLowFreq          uint16           `xml:"setESLowFreq"`
	SetESLowVolt          int16            `xml:"setESLowVolt"`
	SetESRampTms          uint32           `xml:"setESRampTms"`
	SetESRandomDelay      uint32           `xml:"setESRandomDelay"`
	SetGradW              uint16           `xml:"setGradW"`
	SetMaxA               *CurrentRMS      `xml:"setMaxA"`
	SetMaxAh              *AmpereHour      `xml:"setMaxAh"`
	SetMaxChargeRateVA    *ApparentPower   `xml:"setMaxChargeRateVA"`
	SetMaxChargeRateW     *ActivePower     `xml:"setMaxChargeRateW"`
	SetMaxDischargeRateVA *ApparentPower   `xml:"setMaxDischargeRateVA"`
	SetMaxDischargeRateW  *ActivePower     `xml:"setMaxDischargeRateW"`
	SetMaxV               *VoltageRMS      `xml:"setMaxV"`
	SetMaxVA              *ApparentPower   `xml:"setMaxVA"`
	SetMaxVar             *ReactivePower   `xml:"setMaxVar"`
	SetMaxVarNeg          *ReactivePower   `xml:"setMaxVarNeg"`
	SetMaxW               *ActivePower     `xml:"setMaxW"`
	SetMaxWh              *WattHour        `xml:"setMaxWh"`
	SetMinPFOverExcited   *PowerFactor     `xml:"setMinPFOverExcited"`
	SetMinPFUnderExcited  *PowerFactor     `xml:"setMinPFUnderExcited"`
	SetMinV               *VoltageRMS      `xml:"setMinV"`
	SetSoftGradW          uint16           `xml:"setSoftGradW"`
	SetVNom               *VoltageRMS      `xml:"setVNom"`
	SetVRef               *VoltageRMS      `xml:"setVRef"`
	SetVRefOfs            *VoltageRMS      `xml:"setVRefOfs"`
	UpdatedTime           *TimeType        `xml:"updatedTime"`
}

DERSettings is Specifies the time at which the DER information was last updated.

type DERSettingsLink struct {
	*Link
}

DERSettingsLink is SHALL contain a Link to an instance of DERSettings.

type DERStatus

type DERStatus struct {
	*SubscribableResource
	AlarmStatus            string                      `xml:"alarmStatus"`
	ConnectStatus          *ConnectStatusType2         `xml:"connectStatus"`
	GenConnectStatus       *ConnectStatusType          `xml:"genConnectStatus"`
	InverterStatus         *InverterStatusType         `xml:"inverterStatus"`
	LocalControlModeStatus *LocalControlModeStatusType `xml:"localControlModeStatus"`
	ManufacturerStatus     *ManufacturerStatusType     `xml:"manufacturerStatus"`
	OperationalModeStatus  *OperationalModeStatusType  `xml:"operationalModeStatus"`
	ReadingTime            *TimeType                   `xml:"readingTime"`
	StateOfChargeStatus    *StateOfChargeStatusType    `xml:"stateOfChargeStatus"`
	StorageModeStatus      *StorageModeStatusType      `xml:"storageModeStatus"`
	StorConnectStatus      *ConnectStatusType          `xml:"storConnectStatus"`
}

DERStatus is DEPRECATED SHALL NOT be included, but note that it may be included by devices compliant with previous revisions of IEEE 2030.5.

type DERStatusLink struct {
	*Link
}

DERStatusLink is SHALL contain a Link to an instance of DERStatus.

type DERType

type DERType = UInt8

DERType is 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.

type DERUnitRefType

type DERUnitRefType = UInt8

DERUnitRefType is Specifies context for interpreting percent values: 0 - N/A 1 - %setMaxW 2 - %setMaxVar 3 - %statVarAvail 4 - %setEffectiveV 5 - %setMaxChargeRateW 6 - %setMaxDischargeRateW 7 - %statWAvail 8 - %setMaxVA All other values reserved.

For %setMaxVar, if the device supports both setMaxVar and setMaxVarNeg, then %setMaxVar uses the percentage of setMaxVarNeg for negative values. If the device only supports setMaxVar, then %setMaxVar uses the percentage of (-1 * setMaxVar) for negative values.

For %setMaxW, if the values are negative, %setMaxChargeRateW is used. For %setMaxW, if the values are positive, either %setMaxW or %setMaxDischargeRateW can be used.

type DRLCCapabilities

type DRLCCapabilities struct {
	AverageEnergy      *RealEnergy  `xml:"averageEnergy"`
	MaxDemand          *ActivePower `xml:"maxDemand"`
	OptionsImplemented string       `xml:"optionsImplemented"`
}

DRLCCapabilities is 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

type DataQualifierType

type DataQualifierType = UInt8

DataQualifierType is 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.

type DateTimeInterval

type DateTimeInterval struct {
	Duration uint32    `xml:"duration"`
	Start    *TimeType `xml:"start"`
}

DateTimeInterval is Date and time of the start of the interval.

type DefaultDERControl

type DefaultDERControl struct {
	*RespondableSubscribableIdentifiedObject
	DERControlBase   *DERControlBase `xml:"DERControlBase"`
	SetESDelay       uint32          `xml:"setESDelay"`
	SetESHighFreq    uint16          `xml:"setESHighFreq"`
	SetESHighVolt    int16           `xml:"setESHighVolt"`
	SetESLowFreq     uint16          `xml:"setESLowFreq"`
	SetESLowVolt     int16           `xml:"setESLowVolt"`
	SetESRampTms     uint32          `xml:"setESRampTms"`
	SetESRandomDelay uint32          `xml:"setESRandomDelay"`
	SetGradW         uint16          `xml:"setGradW"`
	SetSoftGradW     uint16          `xml:"setSoftGradW"`
	UpdatedTime      *TimeType       `xml:"updatedTime"`
}

DefaultDERControl is Specifies the time at which the DefaultDERControl was last updated. Provides an additional mechanism to mRID and version for clients to determine when a DefaultDERControl has been updated.

type DefaultDERControlLink struct {
	*Link
}

DefaultDERControlLink is SHALL contain a Link to an instance of DefaultDERControl containing the default DERControl Mode(s) of the DER which MAY be overridden by DERControl events.

type DefaultDERControlResponse

type DefaultDERControlResponse struct {
	*Response
	DefaultsResponded *DefaultDERControlType `xml:"defaultsResponded"`
	ModesResponded    *DERControlType        `xml:"modesResponded"`
	ModesResponded2   *DERControlType2       `xml:"modesResponded2"`
}

DefaultDERControlResponse is Indicates additional individual DERControl Modes for which the DefaultDERControlResponse applies.

type DefaultDERControlType

type DefaultDERControlType = HexBinary32

DefaultDERControlType is DefaultDERControl elements. Bit positions SHALL be defined as follows: 0 - setESDelay 1 - setESHighFreq 2 - setESHighVolt 3 - setESLowFreq 4 - setESLowVolt 5 - setESRampTms 6 - setESRandomDelay 7 - setGradW 8 - setSoftGradW All other values reserved.

type DeltaBidirectionalType

type DeltaBidirectionalType = uint8

DeltaBidirectionalType is Specifies the behavior of a delta DERControl Mode regarding switching from absorbing/receiving to injecting/delivering or vice versa. 0 = MAY (default) If possible and capable, device MAY switch from absorbing/receiving to injecting/delivering or vice versa.

1 = SHALL If possible and capable, device SHALL switch from absorbing/receiving to injecting/delivering or vice versa.

2 = SHALL NOT If possible and capable, device SHALL NOT switch from absorbing/receiving to injecting/delivering or vice versa.

All other values reserved.

type DemandResponseProgram

type DemandResponseProgram struct {
	*IdentifiedObject
	ActiveEndDeviceControlListLink           *ActiveEndDeviceControlListLink `xml:"ActiveEndDeviceControlListLink"`
	AvailabilityUpdatePercentChangeThreshold *PerCent                        `xml:"availabilityUpdatePercentChangeThreshold"`
	AvailabilityUpdatePowerChangeThreshold   *ActivePower                    `xml:"availabilityUpdatePowerChangeThreshold"`
	EndDeviceControlListLink                 *EndDeviceControlListLink       `xml:"EndDeviceControlListLink"`
	Primacy                                  *PrimacyType                    `xml:"primacy"`
}

DemandResponseProgram is Indicates the relative primacy of the provider of this program.

type DemandResponseProgramLink struct {
	*Link
}

DemandResponseProgramLink is SHALL contain a Link to an instance of DemandResponseProgram.

type DemandResponseProgramList

type DemandResponseProgramList struct {
	*SubscribableList
	PollRateAttr          uint32                   `xml:"pollRate,attr,omitempty"`
	DemandResponseProgram []*DemandResponseProgram `xml:"DemandResponseProgram"`
}

DemandResponseProgramList is A List element to hold DemandResponseProgram objects.

type DemandResponseProgramListLink struct {
	*ListLink
}

DemandResponseProgramListLink is SHALL contain a Link to a List of DemandResponseProgram instances.

type DeviceCapability

type DeviceCapability struct {
	*FunctionSetAssignmentsBase
	PollRateAttr             uint32                    `xml:"pollRate,attr,omitempty"`
	EndDeviceListLink        *EndDeviceListLink        `xml:"EndDeviceListLink"`
	MirrorUsagePointListLink *MirrorUsagePointListLink `xml:"MirrorUsagePointListLink"`
	SelfDeviceLink           *SelfDeviceLink           `xml:"SelfDeviceLink"`
}

DeviceCapability is Returned by the URI provided by DNS-SD, to allow clients to find the URIs to the resources in which they are interested.

func NewDeviceCapability

func NewDeviceCapability(fsab *FunctionSetAssignmentsBase) *DeviceCapability
type DeviceCapabilityLink struct {
	*Link
}

DeviceCapabilityLink is SHALL contain a Link to an instance of DeviceCapability.

type DeviceCategoryType

type DeviceCategoryType = HexBinary32

DeviceCategoryType is 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 26 - Microgrid Controller All other values reserved.

type DeviceInformation

type DeviceInformation struct {
	*Resource
	PollRateAttr            uint32                   `xml:"pollRate,attr,omitempty"`
	ConnectionPointID       string                   `xml:"connectionPointID"`
	DRLCCapabilities        *DRLCCapabilities        `xml:"DRLCCapabilities"`
	FunctionsImplemented    string                   `xml:"functionsImplemented"`
	GpsLocation             *GPSLocationType         `xml:"gpsLocation"`
	LFDI                    string                   `xml:"lFDI"`
	MfDate                  *TimeType                `xml:"mfDate"`
	MfHwVer                 string                   `xml:"mfHwVer"`
	MfID                    *PENType                 `xml:"mfID"`
	MfInfo                  string                   `xml:"mfInfo"`
	MfModel                 string                   `xml:"mfModel"`
	MfSerNum                string                   `xml:"mfSerNum"`
	PrimaryPower            *PowerSourceType         `xml:"primaryPower"`
	SecondaryPower          *PowerSourceType         `xml:"secondaryPower"`
	SupportedLocaleListLink *SupportedLocaleListLink `xml:"SupportedLocaleListLink"`
	SwActTime               *TimeType                `xml:"swActTime"`
	SwVer                   string                   `xml:"swVer"`
}

DeviceInformation is Currently running software version

type DeviceInformationLink struct {
	*Link
}

DeviceInformationLink is SHALL contain a Link to an instance of DeviceInformation.

type DeviceStatus

type DeviceStatus struct {
	*Resource
	PollRateAttr uint32         `xml:"pollRate,attr,omitempty"`
	ChangedTime  *TimeType      `xml:"changedTime"`
	OnCount      uint16         `xml:"onCount"`
	OpState      uint8          `xml:"opState"`
	OpTime       uint32         `xml:"opTime"`
	Temperature  []*Temperature `xml:"Temperature"`
	TimeLink     *TimeLink      `xml:"TimeLink"`
}

DeviceStatus is Total time device has operated: re-settable: Accumulated time in seconds since the last time the counter was reset.

type DeviceStatusLink struct {
	*Link
}

DeviceStatusLink is SHALL contain a Link to an instance of DeviceStatus.

type DrResponse

type DrResponse struct {
	*Response
	ApplianceLoadReduction *ApplianceLoadReduction `xml:"ApplianceLoadReduction"`
	AppliedTargetReduction *AppliedTargetReduction `xml:"AppliedTargetReduction"`
	DutyCycle              *DutyCycle              `xml:"DutyCycle"`
	Offset                 *Offset                 `xml:"Offset"`
	OverrideDuration       uint16                  `xml:"overrideDuration"`
	SetPoint               *SetPoint               `xml:"SetPoint"`
}

DrResponse is 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.

type DstRuleType

type DstRuleType = HexBinary32

DstRuleType is 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 - 11: seconds 0 - 3599 Bits 12 - 16: hours 0 - 23 Bits 17 - 19: day of the week 0 = not applicable, 1 - 7 (Monday = 1) Bits 20 - 24: day of the month 0 = not applicable, 1 - 31 Bits 25 - 27: operator (detailed below) Bits 28 - 31: month 1 - 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 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

type DutyCycle

type DutyCycle struct {
	NormalValue uint8 `xml:"normalValue"`
}

DutyCycle is 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.

type EndDevice

type EndDevice struct {
	*ExternalDevice
	ProxiedDeviceListLink *ProxiedDeviceListLink `xml:"ProxiedDeviceListLink,omitempty"`
	SubscriptionListLink  *SubscriptionListLink  `xml:"SubscriptionListLink,omitempty"`
}

EndDevice is Asset container that performs one or more end device functions. Contains information about individual devices in the network.

func NewEndDevice

func NewEndDevice(ext *ExternalDevice) *EndDevice

type EndDeviceControl

type EndDeviceControl struct {
	*RandomizableEvent
	ApplianceLoadReduction *ApplianceLoadReduction `xml:"ApplianceLoadReduction"`
	DeviceCategory         *DeviceCategoryType     `xml:"deviceCategory"`
	DrProgramMandatory     bool                    `xml:"drProgramMandatory"`
	DutyCycle              *DutyCycle              `xml:"DutyCycle"`
	LoadShiftForward       bool                    `xml:"loadShiftForward"`
	Offset                 *Offset                 `xml:"Offset"`
	OverrideDuration       uint16                  `xml:"overrideDuration"`
	SetPoint               *SetPoint               `xml:"SetPoint"`
	TargetReduction        *TargetReduction        `xml:"TargetReduction"`
}

EndDeviceControl is 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.

type EndDeviceControlList

type EndDeviceControlList struct {
	*SubscribableList
	EndDeviceControl []*EndDeviceControl `xml:"EndDeviceControl"`
}

EndDeviceControlList is A List element to hold EndDeviceControl objects.

type EndDeviceControlListLink struct {
	*ListLink
}

EndDeviceControlListLink is SHALL contain a Link to a List of EndDeviceControl instances.

type EndDeviceLink struct {
	*Link
}

EndDeviceLink is SHALL contain a Link to an instance of EndDevice.

type EndDeviceList

type EndDeviceList struct {
	*SubscribableList
	PollRateAttr uint32       `xml:"pollRate,attr,omitempty"`
	EndDevice    []*EndDevice `xml:"EndDevice"`
}

EndDeviceList is A List element to hold EndDevice objects.

func NewEndDeviceList

func NewEndDeviceList() *EndDeviceList
type EndDeviceListLink struct {
	*ListLink
}

EndDeviceListLink is SHALL contain a Link to a List of EndDevice instances.

type EnvironmentalCost

type EnvironmentalCost struct {
	Amount        uint32        `xml:"amount"`
	CostKind      *CostKindType `xml:"costKind"`
	CostLevel     uint8         `xml:"costLevel"`
	NumCostLevels uint8         `xml:"numCostLevels"`
}

EnvironmentalCost is 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 providres or from the same service provider.

type Error

type Error struct {
	MaxRetryDuration uint16 `xml:"maxRetryDuration"`
	ReasonCode       uint16 `xml:"reasonCode"`
}

Error is 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

type Event

type Event struct {
	*RespondableSubscribableIdentifiedObject
	CreationTime *TimeType         `xml:"creationTime"`
	EventStatus  *EventStatus      `xml:"EventStatus"`
	Interval     *DateTimeInterval `xml:"interval"`
}

Event is The period during which the Event applies.

type EventStatus

type EventStatus struct {
	CurrentStatus             uint8     `xml:"currentStatus"`
	DateTime                  *TimeType `xml:"dateTime"`
	PotentiallySuperseded     bool      `xml:"potentiallySuperseded"`
	PotentiallySupersededTime *TimeType `xml:"potentiallySupersededTime"`
	Reason                    string    `xml:"reason"`
}

EventStatus is The Reason attribute allows a Service provider to provide a textual explanation of the status.

type ExternalDevice

type ExternalDevice struct {
	*AbstractDevice
	ChangedTime                     *TimeType                        `xml:"changedTime"`
	Enabled                         bool                             `xml:"enabled"`
	FlowReservationRequestListLink  *FlowReservationRequestListLink  `xml:"FlowReservationRequestListLink"`
	FlowReservationResponseListLink *FlowReservationResponseListLink `xml:"FlowReservationResponseListLink"`
	FunctionSetAssignmentsListLink  *FunctionSetAssignmentsListLink  `xml:"FunctionSetAssignmentsListLink"`
	PostRate                        uint32                           `xml:"postRate"`
	RegistrationLink                *RegistrationLink                `xml:"RegistrationLink"`
}

ExternalDevice is 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. If not specified, a default of 900 seconds (15 minutes) is used.

func NewExternalDevice

func NewExternalDevice(adev *AbstractDevice) *ExternalDevice

type File

type File struct {
	*Resource
	ActivateTime *TimeType `xml:"activateTime"`
	FileURI      string    `xml:"fileURI"`
	LFDI         string    `xml:"lFDI"`
	MfHwVer      string    `xml:"mfHwVer"`
	MfID         *PENType  `xml:"mfID"`
	MfModel      string    `xml:"mfModel"`
	MfSerNum     string    `xml:"mfSerNum"`
	MfVer        string    `xml:"mfVer"`
	Size         uint32    `xml:"size"`
	Type         string    `xml:"type"`
}

File is A value indicating the type of the file. SHALL be one of the following values: 00 = Software Image 01 = Security Credential 02 = Configuration 03 = Log 04–7FFF = reserved 8000-FFFF = Manufacturer defined

type FileLink struct {
	*Link
}

FileLink is This element SHALL 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 SHALL be omitted.

type FileList

type FileList struct {
	*List
	PollRateAttr uint32  `xml:"pollRate,attr,omitempty"`
	File         []*File `xml:"File"`
}

FileList is A List element to hold File objects.

type FileListLink struct {
	*ListLink
}

FileListLink is SHALL contain a Link to a List of File instances.

type FileStatus

type FileStatus struct {
	*Resource
	PollRateAttr       uint32    `xml:"pollRate,attr,omitempty"`
	ActivateTime       *TimeType `xml:"activateTime"`
	FileLink           *FileLink `xml:"FileLink"`
	LoadPercent        uint8     `xml:"loadPercent"`
	NextRequestAttempt *TimeType `xml:"nextRequestAttempt"`
	Request503Count    uint16    `xml:"request503Count"`
	RequestFailCount   uint16    `xml:"requestFailCount"`
	Status             uint8     `xml:"status"`
	StatusTime         *TimeType `xml:"statusTime"`
}

FileStatus is This element SHALL be set to the time at which file status transitioned to the value indicated in the status element.

type FileStatusLink struct {
	*Link
}

FileStatusLink is SHALL contain a Link to an instance of FileStatus.

type FixedPointType

type FixedPointType struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      int16                     `xml:"value"`
}

FixedPointType is Dimensionless value

type FixedVar

type FixedVar struct {
	RefType *DERUnitRefType `xml:"refType"`
	Value   *SignedPerCent  `xml:"value"`
}

FixedVar is Specify a signed setpoint for reactive power in % (see 'refType' for context).

type FixedVarControlType

type FixedVarControlType struct {
	*FixedVar
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

FixedVarControlType ...

type FlowDirectionType

type FlowDirectionType = UInt8

FlowDirectionType is The following are recommended values sourced from the flow direction enumeration in IEC 61968-9 [61968]. Note that IEEE 2030.5 uses the Generator/Producer frame of reference, where "Forward" is defined as flow from a generator to a load. Example generators include DER such as solar inverters as well as flow from a grid to a premises.

0 = Not Applicable (default, if not specified)

1 = Forward Also known as "delivered" or "injected." Values using the Forward flow direction SHALL be positive.

2 = Lagging Values using the Lagging flow direction SHALL be positive.

3 = Leading Values using the Leading flow direction SHALL be positive.

4 = Net Defined as the absolute value of the Forward flow direction - the absolute value of the Reverse flow direction.

19 = Reverse Also known as "received" or "absorbed." Values using the Reverse flow direction SHALL be positive.

20 = Total Defined as the absolute value of the Forward flow direction + the absolute value of the Reverse flow direction. For polyphase measurement data, values using the Total flow direction are incremented when the absolute value of the sum of the phases is greater than zero. Values using the Total flow direction SHALL be positive.

21 = TotalByPhase Values using the TotalByPhase flow direction are incremented when the sum of the absolute values of the phases is greater than zero. The TotalByPhase flow direction SHOULD NOT be used for single phase measurement data. Values using the TotalByPhase flow direction SHALL be positive.

Other values from the flow direction enumeration in Table C.4 of IEC 61968-9 [61968] Edition 1.0 (2009-09) MAY be used. All other values reserved.

type FlowReservationRequest

type FlowReservationRequest struct {
	*IdentifiedObject
	CreationTime      *TimeType         `xml:"creationTime"`
	DurationRequested uint16            `xml:"durationRequested"`
	EnergyRequested   *SignedRealEnergy `xml:"energyRequested"`
	IntervalRequested *DateTimeInterval `xml:"intervalRequested"`
	PowerRequested    *ActivePower      `xml:"powerRequested"`
	RequestStatus     *RequestStatus    `xml:"RequestStatus"`
}

FlowReservationRequest is 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.

type FlowReservationRequestList

type FlowReservationRequestList struct {
	*List
	PollRateAttr           uint32                    `xml:"pollRate,attr,omitempty"`
	FlowReservationRequest []*FlowReservationRequest `xml:"FlowReservationRequest"`
}

FlowReservationRequestList is A List element to hold FlowReservationRequest objects.

func NewFlowReservationRequestList

func NewFlowReservationRequestList(list *List) *FlowReservationRequestList
type FlowReservationRequestListLink struct {
	*ListLink
}

FlowReservationRequestListLink is SHALL contain a Link to a List of FlowReservationRequest instances.

type FlowReservationResponse

type FlowReservationResponse struct {
	*Event
	EnergyAvailable *SignedRealEnergy `xml:"energyAvailable"`
	PowerAvailable  *ActivePower      `xml:"powerAvailable"`
	Subject         *MRIDType         `xml:"subject"`
}

FlowReservationResponse is 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.

type FlowReservationResponseList

type FlowReservationResponseList struct {
	*SubscribableList
	PollRateAttr            uint32                     `xml:"pollRate,attr,omitempty"`
	FlowReservationResponse []*FlowReservationResponse `xml:"FlowReservationResponse"`
}

FlowReservationResponseList is A List element to hold FlowReservationResponse objects.

type FlowReservationResponseListLink struct {
	*ListLink
}

FlowReservationResponseListLink is SHALL contain a Link to a List of FlowReservationResponse instances.

type FlowReservationResponseResponse

type FlowReservationResponseResponse struct {
	*Response
}

FlowReservationResponseResponse is A response to a FlowReservationResponse

type FreqDroopType

type FreqDroopType struct {
	DisabledAttr bool         `xml:"disabled,attr,omitempty"`
	DBOF         uint32       `xml:"dBOF"`
	DBUF         uint32       `xml:"dBUF"`
	KOF          uint16       `xml:"kOF"`
	KUF          uint16       `xml:"kUF"`
	OpenLoopTms  uint16       `xml:"openLoopTms"`
	PMin         *ActivePower `xml:"pMin"`
}

FreqDroopType is If present, specifies the minimum active power output. Used, for example, for testing purposes to direct a device to be able to absorb active power.

type FunctionSetAssignments

type FunctionSetAssignments struct {
	*FunctionSetAssignmentsBase
	SubscribableAttr *UInt8       `xml:"subscribable,attr,omitempty"`
	MRID             *MRIDType    `xml:"mRID"`
	Description      string       `xml:"description"`
	Version          *VersionType `xml:"version"`
}

FunctionSetAssignments is Contains the version number of the object. See the type definition for details.

type FunctionSetAssignmentsBase

type FunctionSetAssignmentsBase struct {
	*Resource
	CustomerAccountListLink       *CustomerAccountListLink       `xml:"CustomerAccountListLink"`
	DemandResponseProgramListLink *DemandResponseProgramListLink `xml:"DemandResponseProgramListLink"`
	DERProgramListLink            *DERProgramListLink            `xml:"DERProgramListLink"`
	FileListLink                  *FileListLink                  `xml:"FileListLink"`
	MessagingProgramListLink      *MessagingProgramListLink      `xml:"MessagingProgramListLink"`
	PrepaymentListLink            *PrepaymentListLink            `xml:"PrepaymentListLink"`
	ResponseSetListLink           *ResponseSetListLink           `xml:"ResponseSetListLink"`
	TariffProfileListLink         *TariffProfileListLink         `xml:"TariffProfileListLink"`
	TimeLink                      *TimeLink                      `xml:"TimeLink"`
	UsagePointListLink            *UsagePointListLink            `xml:"UsagePointListLink"`
}

FunctionSetAssignmentsBase is 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.

func NewFunctionSetAssignmentsBase

func NewFunctionSetAssignmentsBase(resource *Resource) *FunctionSetAssignmentsBase

type FunctionSetAssignmentsList

type FunctionSetAssignmentsList struct {
	*SubscribableList
	PollRateAttr           uint32                    `xml:"pollRate,attr,omitempty"`
	FunctionSetAssignments []*FunctionSetAssignments `xml:"FunctionSetAssignments"`
}

FunctionSetAssignmentsList is A List element to hold FunctionSetAssignments objects.

type FunctionSetAssignmentsListLink struct {
	*ListLink
}

FunctionSetAssignmentsListLink is SHALL contain a Link to a List of FunctionSetAssignments instances.

type GPSLocationType

type GPSLocationType struct {
	Lat string `xml:"lat"`
	Lon string `xml:"lon"`
}

GPSLocationType is Specifies the longitude from Greenwich Meridian. -180 (west) to +180 (east) in decimal degrees.

type GeographicLocationType

type GeographicLocationType struct {
	Country     *CountryType     `xml:"country"`
	Subdivision *SubdivisionType `xml:"subdivision"`
}

GeographicLocationType is [ISO 3166-2] subdivision code of a country

type HexBinary8

type HexBinary8 = string

HexBinary8 is 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".

type HexBinary16

type HexBinary16 = string

HexBinary16 is A 16-bit field encoded as a hex string (4 hex characters max). 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".

type HexBinary32

type HexBinary32 = string

HexBinary32 is A 32-bit field encoded as a hex string (8 hex characters max). 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".

type HexBinary48

type HexBinary48 = string

HexBinary48 is A 48-bit field encoded as a hex string (12 hex characters max). 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".

type HexBinary64

type HexBinary64 = string

HexBinary64 is A 64-bit field encoded as a hex string (16 hex characters max). 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".

type HexBinary128

type HexBinary128 = string

HexBinary128 is A 128-bit field encoded as a hex string (32 hex characters max). 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".

type HexBinary160

type HexBinary160 = string

HexBinary160 is A 160-bit field encoded as a hex string (40 hex characters max). 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".

type HistoricalReading

type HistoricalReading struct {
	*BillingMeterReadingBase
}

HistoricalReading is 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.

type HistoricalReadingList

type HistoricalReadingList struct {
	*List
	HistoricalReading []*HistoricalReading `xml:"HistoricalReading"`
}

HistoricalReadingList is A List element to hold HistoricalReading objects.

type HistoricalReadingListLink struct {
	*ListLink
}

HistoricalReadingListLink is SHALL contain a Link to a List of HistoricalReading instances.

type IEEE802154

type IEEE802154 struct {
	XMLName          xml.Name          `xml:"IEEE_802_15_4"`
	CapabilityInfo   string            `xml:"capabilityInfo"`
	NeighborListLink *NeighborListLink `xml:"NeighborListLink"`
	ShortAddress     uint16            `xml:"shortAddress"`
}

IEEE802154 is As defined by IEEE 802.15.4

type IPAddr

type IPAddr struct {
	*Resource
	Address             string               `xml:"address"`
	RPLInstanceListLink *RPLInstanceListLink `xml:"RPLInstanceListLink"`
}

IPAddr is An IP address value.

type IPAddrList

type IPAddrList struct {
	*List
	IPAddr []*IPAddr `xml:"IPAddr"`
}

IPAddrList is List of IPAddr instances.

type IPAddrListLink struct {
	*ListLink
}

IPAddrListLink is SHALL contain a Link to a List of IPAddr instances.

type IPInterface

type IPInterface struct {
	*Resource
	IfDescr             string               `xml:"ifDescr"`
	IfHighSpeed         uint32               `xml:"ifHighSpeed"`
	IfInBroadcastPkts   uint32               `xml:"ifInBroadcastPkts"`
	IfIndex             uint32               `xml:"ifIndex"`
	IfInDiscards        uint32               `xml:"ifInDiscards"`
	IfInErrors          uint32               `xml:"ifInErrors"`
	IfInMulticastPkts   uint32               `xml:"ifInMulticastPkts"`
	IfInOctets          uint32               `xml:"ifInOctets"`
	IfInUcastPkts       uint32               `xml:"ifInUcastPkts"`
	IfInUnknownProtos   uint32               `xml:"ifInUnknownProtos"`
	IfMtu               uint32               `xml:"ifMtu"`
	IfName              string               `xml:"ifName"`
	IfOperStatus        uint8                `xml:"ifOperStatus"`
	IfOutBroadcastPkts  uint32               `xml:"ifOutBroadcastPkts"`
	IfOutDiscards       uint32               `xml:"ifOutDiscards"`
	IfOutErrors         uint32               `xml:"ifOutErrors"`
	IfOutMulticastPkts  uint32               `xml:"ifOutMulticastPkts"`
	IfOutOctets         uint32               `xml:"ifOutOctets"`
	IfOutUcastPkts      uint32               `xml:"ifOutUcastPkts"`
	IfPromiscuousMode   bool                 `xml:"ifPromiscuousMode"`
	IfSpeed             uint32               `xml:"ifSpeed"`
	IfType              uint16               `xml:"ifType"`
	IPAddrListLink      *IPAddrListLink      `xml:"IPAddrListLink"`
	LastResetTime       int64                `xml:"lastResetTime"`
	LastUpdatedTime     int64                `xml:"lastUpdatedTime"`
	LLInterfaceListLink *LLInterfaceListLink `xml:"LLInterfaceListLink"`
}

IPInterface is The date/time of the reported status.

type IPInterfaceList

type IPInterfaceList struct {
	*List
	PollRateAttr uint32         `xml:"pollRate,attr,omitempty"`
	IPInterface  []*IPInterface `xml:"IPInterface"`
}

IPInterfaceList is List of IPInterface instances.

type IPInterfaceListLink struct {
	*ListLink
}

IPInterfaceListLink is SHALL contain a Link to a List of IPInterface instances.

type IdentifiedObject

type IdentifiedObject struct {
	*Resource
	MRID        *MRIDType    `xml:"mRID"`
	Description string       `xml:"description"`
	Version     *VersionType `xml:"version"`
}

IdentifiedObject is Contains the version number of the object. See the type definition for details.

type Int8

type Int8 = int8

Int8 is Signed integer, min -128 max +127

type Int16

type Int16 = int16

Int16 is Signed integer, min -32768 max +32767

type Int32

type Int32 = int

Int32 is Signed integer, max inclusive 2147483647 (2^31), min inclusive -2147483647 (same as xs:int)

type Int48

type Int48 = int64

Int48 is Signed integer, max inclusive 140737488355328 (2^47), min inclusive -140737488355328

type Int64

type Int64 = int64

Int64 is Signed integer, max inclusive 9223372036854775807 (2^63), min inclusive -9223372036854775808 (same as xs:long)

type InverterStatusType

type InverterStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    uint8     `xml:"value"`
}

InverterStatusType is The value indicating the state.

type KindType

type KindType = UInt8

KindType is 0 = Not Applicable (default, if not specified) 3 = Currency 8 = Demand 12 = Energy 37 = Power All other values reserved.

type LLInterface

type LLInterface struct {
	*Resource
	CRCerrors         uint32      `xml:"CRCerrors"`
	EUI64             string      `xml:"EUI64"`
	IEEE802154        *IEEE802154 `xml:"IEEE_802_15_4"`
	LinkLayerType     uint8       `xml:"linkLayerType"`
	LLAckNotRx        uint32      `xml:"LLAckNotRx"`
	LLCSMAFail        uint32      `xml:"LLCSMAFail"`
	LLFramesDropRx    uint32      `xml:"LLFramesDropRx"`
	LLFramesDropTx    uint32      `xml:"LLFramesDropTx"`
	LLFramesRx        uint32      `xml:"LLFramesRx"`
	LLFramesTx        uint32      `xml:"LLFramesTx"`
	LLMediaAccessFail uint32      `xml:"LLMediaAccessFail"`
	LLOctetsRx        uint32      `xml:"LLOctetsRx"`
	LLOctetsTx        uint32      `xml:"LLOctetsTx"`
	LLRetryCount      uint32      `xml:"LLRetryCount"`
	LLSecurityErrorRx uint32      `xml:"LLSecurityErrorRx"`
	LoWPAN            *LoWPAN     `xml:"loWPAN"`
}

LLInterface is Number of receive security errors.

type LLInterfaceList

type LLInterfaceList struct {
	*List
	LLInterface []*LLInterface `xml:"LLInterface"`
}

LLInterfaceList is List of LLInterface instances.

type LLInterfaceListLink struct {
	*ListLink
}

LLInterfaceListLink is SHALL contain a Link to a List of LLInterface instances.

type Link struct {
	HrefAttr string `xml:"href,attr"`
}

Link is Links provide a reference, via URI, to another resource.

func NewLink(href string) *Link

type List

type List struct {
	*Resource
	AllAttr     uint32 `xml:"all,attr"`
	ResultsAttr uint32 `xml:"results,attr"`
}

List is Container to hold a collection of object instances or references. See Design Pattern section for additional details.

func NewList

func NewList(resource *Resource, all UInt32, result UInt32) *List
type ListLink struct {
	*Link
	AllAttr uint32 `xml:"all,attr,omitempty"`
}

ListLink is ListLinks provide a reference, via URI, to a List.

func NewListLink(link *Link, all UInt32) *ListLink

type LoWPAN

type LoWPAN struct {
	XMLName     xml.Name `xml:"loWPAN"`
	OctetsRx    uint32   `xml:"octetsRx"`
	OctetsTx    uint32   `xml:"octetsTx"`
	PacketsRx   uint32   `xml:"packetsRx"`
	PacketsTx   uint32   `xml:"packetsTx"`
	RxFragError uint32   `xml:"rxFragError"`
}

LoWPAN is Number of errors receiving fragments

type LoadShedAvailability

type LoadShedAvailability struct {
	*Resource
	AvailabilityDuration      uint32                     `xml:"availabilityDuration"`
	DemandResponseProgramLink *DemandResponseProgramLink `xml:"DemandResponseProgramLink"`
	SheddablePercent          *PerCent                   `xml:"sheddablePercent"`
	SheddablePower            *ActivePower               `xml:"sheddablePower"`
}

LoadShedAvailability is Maximum amount of current operating load that is estimated to be sheddable, in Watts.

type LoadShedAvailabilityList

type LoadShedAvailabilityList struct {
	*List
	PollRateAttr         uint32                  `xml:"pollRate,attr,omitempty"`
	LoadShedAvailability []*LoadShedAvailability `xml:"LoadShedAvailability"`
}

LoadShedAvailabilityList is A List element to hold LoadShedAvailability objects.

type LoadShedAvailabilityListLink struct {
	*ListLink
}

LoadShedAvailabilityListLink is SHALL contain a Link to a List of LoadShedAvailability instances.

type LocalControlModeStatusType

type LocalControlModeStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    uint8     `xml:"value"`
}

LocalControlModeStatusType is The value indicating the state.

type LocaleType

type LocaleType = String32

LocaleType is [RFC 5646] identifier of a language-region

type LogEvent

type LogEvent struct {
	*Resource
	CreatedDateTime *TimeType `xml:"createdDateTime"`
	Details         string    `xml:"details"`
	ExtendedData    uint32    `xml:"extendedData"`
	FunctionSet     uint8     `xml:"functionSet"`
	LogEventCode    uint8     `xml:"logEventCode"`
	LogEventID      uint16    `xml:"logEventID"`
	LogEventPEN     *PENType  `xml:"logEventPEN"`
	ProfileID       uint8     `xml:"profileID"`
}

LogEvent is The profileID identifies which profile (HA, BA, SE, etc) defines the following event information. 0Not profile specific. 1Vendor Defined 2IEEE 2030.5 3Home Automation 4Building Automation All other values are reserved.

type LogEventList

type LogEventList struct {
	*SubscribableList
	PollRateAttr uint32      `xml:"pollRate,attr,omitempty"`
	LogEvent     []*LogEvent `xml:"LogEvent"`
}

LogEventList is A List element to hold LogEvent objects.

type LogEventListLink struct {
	*ListLink
}

LogEventListLink is SHALL contain a Link to a List of LogEvent instances.

type MRIDType

type MRIDType struct {
	*HexBinary128
	XMLName xml.Name `xml:"mRIDType"`
}

MRIDType is A master resource identifier. The IANA PEN [PEN] provider ID SHALL be specified in bits 0-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 SHALL have a different "version".

type ManufacturerStatusType

type ManufacturerStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    string    `xml:"value"`
}

ManufacturerStatusType is The value indicating the state.

type MessagingProgram

type MessagingProgram struct {
	*SubscribableIdentifiedObject
	ActiveTextMessageListLink *ActiveTextMessageListLink `xml:"ActiveTextMessageListLink"`
	Locale                    *LocaleType                `xml:"locale"`
	Primacy                   *PrimacyType               `xml:"primacy"`
	TextMessageListLink       *TextMessageListLink       `xml:"TextMessageListLink"`
}

MessagingProgram is Indicates the relative primacy of the provider of this program.

type MessagingProgramList

type MessagingProgramList struct {
	*SubscribableList
	PollRateAttr     uint32              `xml:"pollRate,attr,omitempty"`
	MessagingProgram []*MessagingProgram `xml:"MessagingProgram"`
}

MessagingProgramList is A List element to hold MessagingProgram objects.

type MessagingProgramListLink struct {
	*ListLink
}

MessagingProgramListLink is SHALL contain a Link to a List of MessagingProgram instances.

type MeterReading

type MeterReading struct {
	*MeterReadingBase
	RateComponentListLink *RateComponentListLink `xml:"RateComponentListLink"`
	ReadingLink           *ReadingLink           `xml:"ReadingLink"`
	ReadingSetListLink    *ReadingSetListLink    `xml:"ReadingSetListLink"`
	ReadingTypeLink       *ReadingTypeLink       `xml:"ReadingTypeLink"`
}

MeterReading is Set of values obtained from the meter.

type MeterReadingBase

type MeterReadingBase struct {
	*IdentifiedObject
}

MeterReadingBase is A container for associating ReadingType, Readings and ReadingSets.

type MeterReadingLink struct {
	*Link
}

MeterReadingLink is SHALL contain a Link to an instance of MeterReading.

type MeterReadingList

type MeterReadingList struct {
	*SubscribableList
	MeterReading []*MeterReading `xml:"MeterReading"`
}

MeterReadingList is A List element to hold MeterReading objects.

type MeterReadingListLink struct {
	*ListLink
}

MeterReadingListLink is SHALL contain a Link to a List of MeterReading instances.

type MirrorMeterReading

type MirrorMeterReading struct {
	*MeterReadingBase
	LastUpdateTime   *TimeType           `xml:"lastUpdateTime"`
	MirrorReadingSet []*MirrorReadingSet `xml:"MirrorReadingSet"`
	NextUpdateTime   *TimeType           `xml:"nextUpdateTime"`
	Reading          *Reading            `xml:"Reading"`
	ReadingType      *ReadingType        `xml:"ReadingType"`
}

MirrorMeterReading is The date and time of the next planned update.

type MirrorMeterReadingList

type MirrorMeterReadingList struct {
	*List
	MirrorMeterReading []*MirrorMeterReading `xml:"MirrorMeterReading"`
}

MirrorMeterReadingList is A List of MirrorMeterReading instances.

type MirrorReadingSet

type MirrorReadingSet struct {
	*ReadingSetBase
	Reading []*Reading `xml:"Reading"`
}

MirrorReadingSet is A set of Readings of the ReadingType indicated by the parent MeterReading.

type MirrorUsagePoint

type MirrorUsagePoint struct {
	*UsagePointBase
	SubscribableAttr   uint8                 `xml:"subscribable,attr,omitempty"`
	DeviceLFDI         string                `xml:"deviceLFDI"`
	MirrorMeterReading []*MirrorMeterReading `xml:"MirrorMeterReading"`
	PostRate           uint32                `xml:"postRate"`
	UsagePointLink     *UsagePointLink       `xml:"UsagePointLink"`
}

MirrorUsagePoint is 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. If not specified, a default of 900 seconds (15 minutes) is used.

type MirrorUsagePointList

type MirrorUsagePointList struct {
	*SubscribableList
	PollRateAttr     uint32              `xml:"pollRate,attr,omitempty"`
	MirrorUsagePoint []*MirrorUsagePoint `xml:"MirrorUsagePoint"`
}

MirrorUsagePointList is A List of MirrorUsagePoint instances.

type MirrorUsagePointListLink struct {
	*ListLink
}

MirrorUsagePointListLink is SHALL contain a Link to a List of MirrorUsagePoint instances.

type Neighbor

type Neighbor struct {
	*Resource
	IsChild      bool   `xml:"isChild"`
	LinkQuality  uint8  `xml:"linkQuality"`
	ShortAddress uint16 `xml:"shortAddress"`
}

Neighbor is As defined by IEEE 802.15.4

type NeighborList

type NeighborList struct {
	*List
	Neighbor []*Neighbor `xml:"Neighbor"`
}

NeighborList is List of 15.4 neighbors.

type NeighborListLink struct {
	*ListLink
}

NeighborListLink is SHALL contain a Link to a List of Neighbor instances.

type Notification

type Notification struct {
	*SubscriptionBase
	CreatedDateTime *TimeType `xml:"createdDateTime"`
	NewResourceURI  string    `xml:"newResourceURI"`
	Resource        *Resource `xml:"Resource"`
	Status          uint8     `xml:"status"`
	SubscriptionURI string    `xml:"subscriptionURI"`
}

Notification is The subscription from which this notification was triggered. This attribute SHALL be a fully-qualified absolute URI, not a relative reference.

type NotificationList

type NotificationList struct {
	*List
	Notification []*Notification `xml:"Notification"`
}

NotificationList is A List element to hold Notification objects.

type NotificationListLink struct {
	*ListLink
}

NotificationListLink is SHALL contain a Link to a List of Notification instances.

type Offset

type Offset struct {
	CoolingOffset                  uint8    `xml:"coolingOffset"`
	HeatingOffset                  uint8    `xml:"heatingOffset"`
	LoadAdjustmentPercentageOffset *PerCent `xml:"loadAdjustmentPercentageOffset"`
}

Offset is 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.

type OneHourRangeType

type OneHourRangeType = Int32

OneHourRangeType is A signed time offset, typically applied to a Time value, expressed in seconds, with range -3600 to 3600.

type OperationalModeStatusType

type OperationalModeStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    uint8     `xml:"value"`
}

OperationalModeStatusType is The value indicating the state.

type PENType

type PENType = UInt32

PENType is IANA Private Enterprise Number [PEN].

type PEVInfo

type PEVInfo struct {
	ChargingPowerNow        *ActivePower `xml:"chargingPowerNow"`
	EnergyRequestNow        *RealEnergy  `xml:"energyRequestNow"`
	MaxForwardPower         *ActivePower `xml:"maxForwardPower"`
	MinimumChargingDuration uint32       `xml:"minimumChargingDuration"`
	TargetStateOfCharge     *PerCent     `xml:"targetStateOfCharge"`
	TimeChargeIsNeeded      *TimeType    `xml:"timeChargeIsNeeded"`
	TimeChargingStatusPEV   *TimeType    `xml:"timeChargingStatusPEV"`
}

PEVInfo is This is the time that the parameters are updated, except for changes to TCIN.

type PINType

type PINType = UInt32

PINType is 6 digit unsigned decimal integer (0 - 999999). (Note that this only requires 20 bits, if it can be allocated.)

type PerCent

type PerCent = UInt16

PerCent is Used for percentages, specified in hundredths of a percent, 0 - 10000. (10000 = 100%)

type PerCentControlType

type PerCentControlType struct {
	*PerCent
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

PerCentControlType ...

type PhaseCode

type PhaseCode = UInt16

PhaseCode is 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.

type PowerConfiguration

type PowerConfiguration struct {
	BatteryInstallTime *TimeType `xml:"batteryInstallTime"`
	LowChargeThreshold uint32    `xml:"lowChargeThreshold"`
}

PowerConfiguration is 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.

type PowerFactor

type PowerFactor struct {
	Displacement uint16                    `xml:"displacement"`
	Multiplier   *PowerOfTenMultiplierType `xml:"multiplier"`
}

PowerFactor is Specifies exponent of 'displacement'.

type PowerFactorWithExcitation

type PowerFactorWithExcitation struct {
	Displacement uint16                    `xml:"displacement"`
	Excitation   bool                      `xml:"excitation"`
	Multiplier   *PowerOfTenMultiplierType `xml:"multiplier"`
}

PowerFactorWithExcitation is Specifies exponent of 'displacement'.

type PowerFactorWithExcitationControlType

type PowerFactorWithExcitationControlType struct {
	*PowerFactorWithExcitation
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

PowerFactorWithExcitationControlType ...

type PowerOfTenMultiplierType

type PowerOfTenMultiplierType = Int8

PowerOfTenMultiplierType is -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.

type PowerSourceType

type PowerSourceType = UInt8

PowerSourceType is 0 - none 1 - mains 2 - battery 3 - local generation 4 - emergency 5 - unknown All other values reserved.

type PowerStatus

type PowerStatus struct {
	*Resource
	PollRateAttr             uint32           `xml:"pollRate,attr,omitempty"`
	BatteryStatus            uint8            `xml:"batteryStatus"`
	ChangedTime              *TimeType        `xml:"changedTime"`
	CurrentPowerSource       *PowerSourceType `xml:"currentPowerSource"`
	EstimatedChargeRemaining *PerCent         `xml:"estimatedChargeRemaining"`
	EstimatedTimeRemaining   uint32           `xml:"estimatedTimeRemaining"`
	PEVInfo                  *PEVInfo         `xml:"PEVInfo"`
	SessionTimeOnBattery     uint32           `xml:"sessionTimeOnBattery"`
	TotalTimeOnBattery       uint32           `xml:"totalTimeOnBattery"`
}

PowerStatus is 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.

type PowerStatusLink struct {
	*Link
}

PowerStatusLink is SHALL contain a Link to an instance of PowerStatus.

type PrepayModeType

type PrepayModeType = UInt8

PrepayModeType is 0 - Central Wallet 1 - ESI 2 - Local 3 - Credit All other values reserved.

type PrepayOperationStatus

type PrepayOperationStatus struct {
	*Resource
	CreditTypeChange *CreditTypeChange  `xml:"creditTypeChange"`
	CreditTypeInUse  *CreditTypeType    `xml:"creditTypeInUse"`
	ServiceChange    *ServiceChange     `xml:"serviceChange"`
	ServiceStatus    *ServiceStatusType `xml:"serviceStatus"`
}

PrepayOperationStatus is ServiceStatus identifies whether the service is connected or disconnected, or armed for connection or disconnection.

type PrepayOperationStatusLink struct {
	*Link
}

PrepayOperationStatusLink is SHALL contain a Link to an instance of PrepayOperationStatus.

type Prepayment

type Prepayment struct {
	*IdentifiedObject
	AccountBalanceLink                       *AccountBalanceLink                       `xml:"AccountBalanceLink"`
	ActiveCreditRegisterListLink             *ActiveCreditRegisterListLink             `xml:"ActiveCreditRegisterListLink"`
	ActiveSupplyInterruptionOverrideListLink *ActiveSupplyInterruptionOverrideListLink `xml:"ActiveSupplyInterruptionOverrideListLink"`
	CreditExpiryLevel                        *AccountingUnit                           `xml:"creditExpiryLevel"`
	CreditRegisterListLink                   *CreditRegisterListLink                   `xml:"CreditRegisterListLink"`
	LowCreditWarningLevel                    *AccountingUnit                           `xml:"lowCreditWarningLevel"`
	LowEmergencyCreditWarningLevel           *AccountingUnit                           `xml:"lowEmergencyCreditWarningLevel"`
	PrepayMode                               *PrepayModeType                           `xml:"prepayMode"`
	PrepayOperationStatusLink                *PrepayOperationStatusLink                `xml:"PrepayOperationStatusLink"`
	SupplyInterruptionOverrideListLink       *SupplyInterruptionOverrideListLink       `xml:"SupplyInterruptionOverrideListLink"`
	UsagePoint                               []*UsagePoint                             `xml:"UsagePoint"`
	UsagePointLink                           *UsagePointLink                           `xml:"UsagePointLink"`
}

Prepayment is PrepayMode specifies whether the given Prepayment instance is operating in Credit, Central Wallet, ESI, or Local prepayment mode. The Credit mode indicates that prepayment is not presently in effect. The other modes are described in the Overview Section above.

type PrepaymentLink struct {
	*Link
}

PrepaymentLink is SHALL contain a Link to an instance of Prepayment.

type PrepaymentList

type PrepaymentList struct {
	*SubscribableList
	PollRateAttr uint32        `xml:"pollRate,attr,omitempty"`
	Prepayment   []*Prepayment `xml:"Prepayment"`
}

PrepaymentList is A List element to hold Prepayment objects.

type PrepaymentListLink struct {
	*ListLink
}

PrepaymentListLink is SHALL contain a Link to a List of Prepayment instances.

type PriceResponse

type PriceResponse struct {
	*Response
}

PriceResponse is A response related to a price message.

type PriceResponseCfg

type PriceResponseCfg struct {
	*Resource
	ConsumeThreshold      int                `xml:"consumeThreshold"`
	MaxReductionThreshold int                `xml:"maxReductionThreshold"`
	RateComponentLink     *RateComponentLink `xml:"RateComponentLink"`
}

PriceResponseCfg is Price responsive clients acting upon the associated RateComponent SHOULD reduce consumption to the maximum extent possible while the price is greater than this threshold.

type PriceResponseCfgList

type PriceResponseCfgList struct {
	*List
	PriceResponseCfg []*PriceResponseCfg `xml:"PriceResponseCfg"`
}

PriceResponseCfgList is A List element to hold PriceResponseCfg objects.

type PriceResponseCfgListLink struct {
	*ListLink
}

PriceResponseCfgListLink is SHALL contain a Link to a List of PriceResponseCfg instances.

type PrimacyType

type PrimacyType = UInt8

PrimacyType is 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

Lower numbers indicate higher priority.

type PriorityData

type PriorityData struct {
	LFDI string `xml:"lFDI"`
}

PriorityData is Contains an instance identifying data with which to prioritize an aggregation with a priority distribution.

type PriorityType

type PriorityType = UInt8

PriorityType is Indicates the priority of a message: 0 - Low 1 - Normal 2 - High 3 - Critical All other values reserved.

type ProjectionReading

type ProjectionReading struct {
	*BillingMeterReadingBase
}

ProjectionReading is Contains values that forecast a future reading for the time or interval specified.

type ProjectionReadingList

type ProjectionReadingList struct {
	*List
	ProjectionReading []*ProjectionReading `xml:"ProjectionReading"`
}

ProjectionReadingList is A List element to hold ProjectionReading objects.

type ProjectionReadingListLink struct {
	*ListLink
}

ProjectionReadingListLink is SHALL contain a Link to a List of ProjectionReading instances.

type ProxiedDevice

type ProxiedDevice struct {
	*ExternalDevice
}

ProxiedDevice is Asset container that performs one or more end device functions. Contains information about individual devices that are proxied by another device.

type ProxiedDeviceList

type ProxiedDeviceList struct {
	*SubscribableList
	PollRateAttr  uint32           `xml:"pollRate,attr,omitempty"`
	ProxiedDevice []*ProxiedDevice `xml:"ProxiedDevice"`
}

ProxiedDeviceList is A List element to hold ProxiedDevice objects.

type ProxiedDeviceListLink struct {
	*ListLink
}

ProxiedDeviceListLink is SHALL contain a Link to a List of Proxied EndDevice instances.

type RPLInstance

type RPLInstance struct {
	*Resource
	DODAGid                 uint8                    `xml:"DODAGid"`
	DODAGroot               bool                     `xml:"DODAGroot"`
	Flags                   uint8                    `xml:"flags"`
	GroundedFlag            bool                     `xml:"groundedFlag"`
	MOP                     uint8                    `xml:"MOP"`
	PRF                     uint8                    `xml:"PRF"`
	Rank                    uint16                   `xml:"rank"`
	RPLInstanceID           uint8                    `xml:"RPLInstanceID"`
	RPLSourceRoutesListLink *RPLSourceRoutesListLink `xml:"RPLSourceRoutesListLink"`
	VersionNumber           uint8                    `xml:"versionNumber"`
}

RPLInstance is See [RFC 6550].

type RPLInstanceList

type RPLInstanceList struct {
	*List
	RPLInstance []*RPLInstance `xml:"RPLInstance"`
}

RPLInstanceList is List of RPLInstances associated with the IPinterface.

type RPLInstanceListLink struct {
	*ListLink
}

RPLInstanceListLink is SHALL contain a Link to a List of RPLInterface instances.

type RPLSourceRoutes

type RPLSourceRoutes struct {
	*Resource
	DestAddress string `xml:"DestAddress"`
	SourceRoute string `xml:"SourceRoute"`
}

RPLSourceRoutes is See [RFC 6554].

type RPLSourceRoutesList

type RPLSourceRoutesList struct {
	*List
	RPLSourceRoutes []*RPLSourceRoutes `xml:"RPLSourceRoutes"`
}

RPLSourceRoutesList is List or RPL source routes if the hosting device is the DODAGroot

type RPLSourceRoutesListLink struct {
	*ListLink
}

RPLSourceRoutesListLink is SHALL contain a Link to a List of RPLSourceRoutes instances.

type RandomizableEvent

type RandomizableEvent struct {
	*Event
	RandomizeDuration *OneHourRangeType `xml:"randomizeDuration"`
	RandomizeStart    *OneHourRangeType `xml:"randomizeStart"`
}

RandomizableEvent is 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.

type RateComponent

type RateComponent struct {
	ActiveTimeTariffIntervalListLink *ActiveTimeTariffIntervalListLink `xml:"ActiveTimeTariffIntervalListLink"`
	FlowRateEndLimit                 *UnitValueType                    `xml:"flowRateEndLimit"`
	FlowRateStartLimit               *UnitValueType                    `xml:"flowRateStartLimit"`
	ReadingTypeLink                  *ReadingTypeLink                  `xml:"ReadingTypeLink"`
	RoleFlags                        *RoleFlagsType                    `xml:"roleFlags"`
	TimeTariffIntervalListLink       *TimeTariffIntervalListLink       `xml:"TimeTariffIntervalListLink"`
}

RateComponent is Specifies the roles that this usage point has been assigned.

type RateComponentLink struct {
	*Link
}

RateComponentLink is SHALL contain a Link to an instance of RateComponent.

type RateComponentList

type RateComponentList struct {
	*List
	RateComponent []*RateComponent `xml:"RateComponent"`
}

RateComponentList is A List element to hold RateComponent objects.

type RateComponentListLink struct {
	*ListLink
}

RateComponentListLink is SHALL contain a Link to a List of RateComponent instances.

type ReactivePower

type ReactivePower struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      int16                     `xml:"value"`
}

ReactivePower is Value in volt-amperes reactive (var) (uom 63)

type ReactivePowerControlType

type ReactivePowerControlType struct {
	*ReactivePower
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

ReactivePowerControlType ...

type ReactivePowerDeltaControlType

type ReactivePowerDeltaControlType struct {
	*ReactivePower
	BidirectionalAttr *UInt8 `xml:"bidirectional,attr,omitempty"`
	DisabledAttr      bool   `xml:"disabled,attr,omitempty"`
}

ReactivePowerDeltaControlType ...

type ReactiveSusceptance

type ReactiveSusceptance struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

ReactiveSusceptance is Value in siemens (uom 53)

type Reading

type Reading struct {
	*ReadingBase
	SubscribableAttr *UInt8 `xml:"subscribable,attr,omitempty"`
	LocalID          string `xml:"localID"`
}

Reading is 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.

type ReadingBase

type ReadingBase struct {
	*Resource
	ConsumptionBlock *ConsumptionBlockType `xml:"consumptionBlock"`
	QualityFlags     string                `xml:"qualityFlags"`
	TimePeriod       *DateTimeInterval     `xml:"timePeriod"`
	TouTier          *TOUType              `xml:"touTier"`
	Value            int64                 `xml:"value"`
}

ReadingBase is Value in units specified by ReadingType

type ReadingLink struct {
	*Link
}

ReadingLink is A Link to a Reading.

type ReadingList

type ReadingList struct {
	*SubscribableList
	Reading []*Reading `xml:"Reading"`
}

ReadingList is A List element to hold Reading objects.

type ReadingListLink struct {
	*ListLink
}

ReadingListLink is SHALL contain a Link to a List of Reading instances.

type ReadingSet

type ReadingSet struct {
	*ReadingSetBase
	ReadingListLink *ReadingListLink `xml:"ReadingListLink"`
}

ReadingSet is A set of Readings of the ReadingType indicated by the parent MeterReading.

type ReadingSetBase

type ReadingSetBase struct {
	*IdentifiedObject
	TimePeriod *DateTimeInterval `xml:"timePeriod"`
}

ReadingSetBase is Specifies the time range during which the contained readings were taken.

type ReadingSetList

type ReadingSetList struct {
	*SubscribableList
	ReadingSet []*ReadingSet `xml:"ReadingSet"`
}

ReadingSetList is A List element to hold ReadingSet objects.

type ReadingSetListLink struct {
	*ListLink
}

ReadingSetListLink is SHALL contain a Link to a List of ReadingSet instances.

type ReadingType

type ReadingType struct {
	*Resource
	AccumulationBehaviour     *AccumulationBehaviourType `xml:"accumulationBehaviour"`
	CalorificValue            *UnitValueType             `xml:"calorificValue"`
	Commodity                 *CommodityType             `xml:"commodity"`
	ConversionFactor          *UnitValueType             `xml:"conversionFactor"`
	DataQualifier             *DataQualifierType         `xml:"dataQualifier"`
	FlowDirection             *FlowDirectionType         `xml:"flowDirection"`
	IntervalLength            uint32                     `xml:"intervalLength"`
	Kind                      *KindType                  `xml:"kind"`
	MaxNumberOfIntervals      uint8                      `xml:"maxNumberOfIntervals"`
	NumberOfConsumptionBlocks uint8                      `xml:"numberOfConsumptionBlocks"`
	NumberOfTouTiers          uint8                      `xml:"numberOfTouTiers"`
	Phase                     *PhaseCode                 `xml:"phase"`
	PowerOfTenMultiplier      *PowerOfTenMultiplierType  `xml:"powerOfTenMultiplier"`
	SubIntervalLength         uint32                     `xml:"subIntervalLength"`
	SupplyLimit               uint64                     `xml:"supplyLimit"`
	TieredConsumptionBlocks   bool                       `xml:"tieredConsumptionBlocks"`
	Uom                       *UomType                   `xml:"uom"`
}

ReadingType is Indicates the measurement type for the units of measure for the readings of this type.

type ReadingTypeLink struct {
	*Link
}

ReadingTypeLink is SHALL contain a Link to an instance of ReadingType.

type RealEnergy

type RealEnergy struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint64                    `xml:"value"`
}

RealEnergy is Value of the energy in Watt-hours. (uom 72)

type Registration

type Registration struct {
	*Resource
	PollRateAttr       uint32    `xml:"pollRate,attr,omitempty"`
	DateTimeRegistered *TimeType `xml:"dateTimeRegistered"`
	PIN                *PINType  `xml:"pIN"`
}

Registration is Contains the registration PIN number associated with the device, including the checksum digit.

func NewRegistration

func NewRegistration(resource *Resource, dt *TimeType, pin *PINType) *Registration
type RegistrationLink struct {
	*Link
}

RegistrationLink is SHALL contain a Link to an instance of Registration.

type RequestStatus

type RequestStatus struct {
	DateTime      *TimeType `xml:"dateTime"`
	RequestStatus uint8     `xml:"requestStatus"`
}

RequestStatus is Field representing the request status type. 0 = Requested 1 = Cancelled All other values reserved.

type Resource

type Resource struct {
	HrefAttr string `xml:"href,attr,omitempty"`
}

Resource is A resource is an addressable unit of information, either a collection (List) or instance of an object (identifiedObject, or simply, Resource)

func NewResource

func NewResource(href string) *Resource

type RespondableIdentifiedObject

type RespondableIdentifiedObject struct {
	*RespondableResource
	MRID        *MRIDType    `xml:"mRID"`
	Description string       `xml:"description"`
	Version     *VersionType `xml:"version"`
}

RespondableIdentifiedObject is Contains the version number of the object. See the type definition for details.

type RespondableResource

type RespondableResource struct {
	*Resource
	ReplyToAttr          string `xml:"replyTo,attr,omitempty"`
	ResponseRequiredAttr string `xml:"responseRequired,attr,omitempty"`
}

RespondableResource is A Resource to which a Response can be requested.

type RespondableSubscribableIdentifiedObject

type RespondableSubscribableIdentifiedObject struct {
	*RespondableResource
	SubscribableAttr *UInt8       `xml:"subscribable,attr,omitempty"`
	MRID             *MRIDType    `xml:"mRID"`
	Description      string       `xml:"description"`
	Version          *VersionType `xml:"version"`
}

RespondableSubscribableIdentifiedObject is Contains the version number of the object. See the type definition for details.

type Response

type Response struct {
	*Resource
	CreatedDateTime *TimeType `xml:"createdDateTime"`
	EndDeviceLFDI   string    `xml:"endDeviceLFDI"`
	Status          uint8     `xml:"status"`
	Subject         *MRIDType `xml:"subject"`
}

Response is The subject field provides a method to match the response with the originating event. It is populated with the mRID of the original object.

type ResponseList

type ResponseList struct {
	*List
	Response []*Response `xml:"Response"`
}

ResponseList is A List element to hold Response objects.

type ResponseListLink struct {
	*ListLink
}

ResponseListLink is SHALL contain a Link to a List of Response instances.

type ResponseSet

type ResponseSet struct {
	*IdentifiedObject
	ResponseListLink *ResponseListLink `xml:"ResponseListLink"`
}

ResponseSet is A container for a ResponseList.

type ResponseSetList

type ResponseSetList struct {
	*List
	PollRateAttr uint32         `xml:"pollRate,attr,omitempty"`
	ResponseSet  []*ResponseSet `xml:"ResponseSet"`
}

ResponseSetList is A List element to hold ResponseSet objects.

type ResponseSetListLink struct {
	*ListLink
}

ResponseSetListLink is SHALL contain a Link to a List of ResponseSet instances.

type Revision23Type

type Revision23Type struct {
	XMLName xml.Name `xml:"Revision2_3Type"`
}

Revision23Type ...

type RoleFlagsType

type RoleFlagsType = HexBinary16

RoleFlagsType is 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

type SEPVersion

type SEPVersion = string

SEPVersion is A version string, restricted to a pair of digits separated by a decimal (e.g., "2.2").

type SFDIType

type SFDIType = UInt40

SFDIType is Unsigned integer, max inclusive 687194767359, which is 2^36-1 (68719476735), with added check digit. See Section 6.3.3 for check digit calculation.

func ToSFDI

func ToSFDI(lfdi string) (SFDIType, error)

type SelfDevice

type SelfDevice struct {
	*AbstractDevice
	PollRateAttr          uint32                 `xml:"pollRate,attr,omitempty"`
	ProxiedDeviceListLink *ProxiedDeviceListLink `xml:"ProxiedDeviceListLink"`
}

SelfDevice is Asset container for the host serving the resources available within DeviceCapability. Contains information about the given host device/entity.

type SelfDeviceLink struct {
	*Link
}

SelfDeviceLink is SHALL contain a Link to an instance of SelfDevice.

type ServiceChange

type ServiceChange struct {
	NewStatus *ServiceStatusType `xml:"newStatus"`
	StartTime *TimeType          `xml:"startTime"`
}

ServiceChange is The date/time when the change is to take effect.

type ServiceKind

type ServiceKind = UInt8

ServiceKind is Service kind 0 - electricity 1 - gas 2 - water 3 - time 4 - pressure 5 - heat 6 - cooling All other values reserved.

type ServiceStatusType

type ServiceStatusType = UInt8

ServiceStatusType is 0 - Connected 1 - Disconnected 2 - Armed for Connect 3 - Armed for Disconnect 4 - No Contactor 5 - Load Limited All other values reserved.

type ServiceSupplier

type ServiceSupplier struct {
	*IdentifiedObject
	Email      string `xml:"email"`
	Phone      string `xml:"phone"`
	ProviderID uint32 `xml:"providerID"`
	Web        string `xml:"web"`
}

ServiceSupplier is Website URI address for this service supplier.

type ServiceSupplierLink struct {
	*Link
}

ServiceSupplierLink is SHALL contain a Link to an instance of ServiceSupplier.

type SetPoint

type SetPoint struct {
	CoolingSetpoint int16 `xml:"coolingSetpoint"`
	HeatingSetpoint int16 `xml:"heatingSetpoint"`
}

SetPoint is This attribute represents the heating temperature set point in degrees Celsius / 100. (Hundredths of a degree C)

type SignedPerCent

type SignedPerCent = Int16

SignedPerCent is Used for signed percentages, specified in hundredths of a percent, -10000 - 10000. (10000 = 100%)

type SignedPerCentControlType

type SignedPerCentControlType struct {
	*SignedPerCent
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

SignedPerCentControlType ...

type SignedRealEnergy

type SignedRealEnergy struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      int64                     `xml:"value"`
}

SignedRealEnergy is Value of the energy in Watt-hours. (uom 72)

type StateOfChargeStatusType

type StateOfChargeStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    *PerCent  `xml:"value"`
}

StateOfChargeStatusType is The value indicating the state.

type StorageModeStatusType

type StorageModeStatusType struct {
	DateTime *TimeType `xml:"dateTime"`
	Value    uint8     `xml:"value"`
}

StorageModeStatusType is The value indicating the state.

type String2

type String2 = string

String2 is Character string of max length 2. 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.

type String3

type String3 = string

String3 is Character string of max length 3. 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.

type String6

type String6 = string

String6 is Character string of max 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.

type String16

type String16 = string

String16 is Character string of max 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.

type String20

type String20 = string

String20 is Character string of max 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.

type String32

type String32 = string

String32 is Character string of max 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.

type String42

type String42 = string

String42 is Character string of max 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.

type String192

type String192 = string

String192 is Character string of max 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.

type SubdivisionType

type SubdivisionType = String3

SubdivisionType is [ISO 3166-2] subdivision code of a country

type SubscribableIdentifiedObject

type SubscribableIdentifiedObject struct {
	*SubscribableResource
	MRID        *MRIDType    `xml:"mRID"`
	Description string       `xml:"description"`
	Version     *VersionType `xml:"version"`
}

SubscribableIdentifiedObject is Contains the version number of the object. See the type definition for details.

type SubscribableList

type SubscribableList struct {
	*SubscribableResource
	AllAttr     uint32 `xml:"all,attr"`
	ResultsAttr uint32 `xml:"results,attr"`
}

SubscribableList is A List to which a Subscription can be requested.

type SubscribableResource

type SubscribableResource struct {
	*Resource
	SubscribableAttr *SubscribableType `xml:"subscribable,attr,omitempty"`
}

SubscribableResource is A Resource to which a Subscription can be requested.

type SubscribableType

type SubscribableType = UInt8

SubscribableType is 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.

type Subscription

type Subscription struct {
	*SubscriptionBase
	Condition       *Condition `xml:"Condition"`
	Encoding        uint8      `xml:"encoding"`
	Level           string     `xml:"level"`
	Limit           uint32     `xml:"limit"`
	NotificationURI string     `xml:"notificationURI"`
}

Subscription is 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.

type SubscriptionBase

type SubscriptionBase struct {
	*Resource
	SubscribedResource string `xml:"subscribedResource"`
}

SubscriptionBase is 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.

type SubscriptionList

type SubscriptionList struct {
	*List
	PollRateAttr uint32          `xml:"pollRate,attr,omitempty"`
	Subscription []*Subscription `xml:"Subscription"`
}

SubscriptionList is A List element to hold Subscription objects.

type SubscriptionListLink struct {
	*ListLink
}

SubscriptionListLink is SHALL contain a Link to a List of Subscription instances.

type SupplyInterruptionOverride

type SupplyInterruptionOverride struct {
	*Resource
	Description string            `xml:"description"`
	Interval    *DateTimeInterval `xml:"interval"`
}

SupplyInterruptionOverride is Interval defines the period of time during which supply should not be interrupted.

type SupplyInterruptionOverrideList

type SupplyInterruptionOverrideList struct {
	*List
	SupplyInterruptionOverride []*SupplyInterruptionOverride `xml:"SupplyInterruptionOverride"`
}

SupplyInterruptionOverrideList is A List element to hold SupplyInterruptionOverride objects.

type SupplyInterruptionOverrideListLink struct {
	*ListLink
}

SupplyInterruptionOverrideListLink is SHALL contain a Link to a List of SupplyInterruptionOverride instances.

type SupportedLocale

type SupportedLocale struct {
	*Resource
	Locale *LocaleType `xml:"locale"`
}

SupportedLocale is The code for a locale that is supported

type SupportedLocaleList

type SupportedLocaleList struct {
	*List
	SupportedLocale []*SupportedLocale `xml:"SupportedLocale"`
}

SupportedLocaleList is A List element to hold SupportedLocale objects.

type SupportedLocaleListLink struct {
	*ListLink
}

SupportedLocaleListLink is SHALL contain a Link to a List of SupportedLocale instances.

type TOUType

type TOUType = UInt8

TOUType is 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.

type TargetReading

type TargetReading struct {
	*BillingMeterReadingBase
}

TargetReading is Contains readings that specify a target or goal, such as a consumption target, to which billing incentives or other contractual ramifications may be associated.

type TargetReadingList

type TargetReadingList struct {
	*List
	TargetReading []*TargetReading `xml:"TargetReading"`
}

TargetReadingList is A List element to hold TargetReading objects.

type TargetReadingListLink struct {
	*ListLink
}

TargetReadingListLink is SHALL contain a Link to a List of TargetReading instances.

type TargetReduction

type TargetReduction struct {
	Type  *UnitType `xml:"type"`
	Value uint16    `xml:"value"`
}

TargetReduction is Indicates the requested amount of the relevant commodity to be reduced.

type TariffProfile

type TariffProfile struct {
	*IdentifiedObject
	BindingPrices                bool                      `xml:"bindingPrices"`
	Currency                     *CurrencyCode             `xml:"currency"`
	DateAnnounced                *TimeType                 `xml:"dateAnnounced"`
	DateEffective                *TimeType                 `xml:"dateEffective"`
	LocalPrice                   bool                      `xml:"localPrice"`
	Location                     *GeographicLocationType   `xml:"location"`
	PricePowerOfTenMultiplier    *PowerOfTenMultiplierType `xml:"pricePowerOfTenMultiplier"`
	Primacy                      *PrimacyType              `xml:"primacy"`
	RateCode                     string                    `xml:"rateCode"`
	RateCodeLong                 string                    `xml:"rateCodeLong"`
	RateComponentListLink        *RateComponentListLink    `xml:"RateComponentListLink"`
	Retailer                     string                    `xml:"retailer"`
	RetailerLong                 string                    `xml:"retailerLong"`
	ServiceCategoryKind          *ServiceKind              `xml:"serviceCategoryKind"`
	TariffDescriptionExternalURI string                    `xml:"tariffDescriptionExternalURI"`
}

TariffProfile is URI for information regarding the tariff. This may be a web page with a description of the tariff in machine or human readable form. This should describe the current tariff if there are multiple versions.

type TariffProfileLink struct {
	*Link
}

TariffProfileLink is SHALL contain a Link to an instance of TariffProfile.

type TariffProfileList

type TariffProfileList struct {
	*SubscribableList
	PollRateAttr  uint32           `xml:"pollRate,attr,omitempty"`
	TariffProfile []*TariffProfile `xml:"TariffProfile"`
}

TariffProfileList is A List element to hold TariffProfile objects.

type TariffProfileListLink struct {
	*ListLink
}

TariffProfileListLink is SHALL contain a Link to a List of TariffProfile instances.

type Temperature

type Temperature struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Subject    uint8                     `xml:"subject"`
	Value      int16                     `xml:"value"`
}

Temperature is Value in Degrees Celsius (uom 23).

type TextMessage

type TextMessage struct {
	*Event
	Originator  string        `xml:"originator"`
	Priority    *PriorityType `xml:"priority"`
	TextMessage string        `xml:"textMessage"`
}

TextMessage is 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.).

type TextMessageList

type TextMessageList struct {
	*SubscribableList
	TextMessage []*TextMessage `xml:"TextMessage"`
}

TextMessageList is A List element to hold TextMessage objects.

type TextMessageListLink struct {
	*ListLink
}

TextMessageListLink is SHALL contain a Link to a List of TextMessage instances.

type TextResponse

type TextResponse struct {
	*Response
}

TextResponse is A response to a text message

type Time

type Time struct {
	*Resource
	PollRateAttr uint32         `xml:"pollRate,attr,omitempty"`
	CurrentTime  TimeType       `xml:"currentTime"`
	DstEndTime   TimeType       `xml:"dstEndTime"`
	DstOffset    TimeOffsetType `xml:"dstOffset"`
	DstStartTime TimeType       `xml:"dstStartTime"`
	LocalTime    TimeType       `xml:"localTime"`
	Quality      uint8          `xml:"quality"`
	TzOffset     TimeOffsetType `xml:"tzOffset"`
}

Time is Local time zone offset from currentTime. Does not include any daylight savings time offsets. For American time zones, a negative tzOffset SHALL be used (eg, EST = GMT-5 which is -18000).

func NewTime

func NewTime(resource *Resource) *Time

type TimeConfiguration

type TimeConfiguration struct {
	DstEndRule   *DstRuleType    `xml:"dstEndRule"`
	DstOffset    *TimeOffsetType `xml:"dstOffset"`
	DstStartRule *DstRuleType    `xml:"dstStartRule"`
	TzOffset     *TimeOffsetType `xml:"tzOffset"`
}

TimeConfiguration is Local time zone offset from UTCTime. Does not include any daylight savings time offsets.

type TimeLink struct {
	*Link
}

TimeLink is SHALL contain a Link to an instance of Time.

type TimeOffsetType

type TimeOffsetType = Int32

TimeOffsetType is A signed time offset, typically applied to a Time value, expressed in seconds.

type TimeTariffInterval

type TimeTariffInterval struct {
	*RandomizableEvent
	ConsumptionTariffIntervalListLink *ConsumptionTariffIntervalListLink `xml:"ConsumptionTariffIntervalListLink"`
	TouTier                           *TOUType                           `xml:"touTier"`
}

TimeTariffInterval is Indicates the time of use tier related to the reading. If not specified, is assumed to be "0 - N/A".

type TimeTariffIntervalList

type TimeTariffIntervalList struct {
	*SubscribableList
	TimeTariffInterval []*TimeTariffInterval `xml:"TimeTariffInterval"`
}

TimeTariffIntervalList is A List element to hold TimeTariffInterval objects.

type TimeTariffIntervalListLink struct {
	*ListLink
}

TimeTariffIntervalListLink is SHALL contain a Link to a List of TimeTariffInterval instances.

type TimeType

type TimeType = Int64

TimeType is 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.

func GetTime

func GetTime() TimeType

type UInt8

type UInt8 = uint8

UInt8 is Unsigned integer, max inclusive 255 (2^8-1)

type UInt16

type UInt16 = uint16

UInt16 is Unsigned integer, max inclusive 65535 (2^16-1)

type UInt32

type UInt32 = uint32

UInt32 is Unsigned integer, max inclusive 4294967295 (2^32-1)

type UInt40

type UInt40 = uint64

UInt40 is Unsigned integer, max inclusive 1099511627775 (2^40-1)

type UInt48

type UInt48 = uint64

UInt48 is Unsigned integer, max inclusive 281474976710655 (2^48-1)

type UInt64

type UInt64 = uint64

UInt64 is Unsigned integer, max inclusive 18446744073709551615 (2^64-1)

type UnitType

type UnitType = UInt8

UnitType is The unit types defined for end device control target reductions. 0 - kWh 1 - kW 2 - Watts 3 - Cubic Meters 4 - Cubic Feet 5 - US Gallons 6 - Imperial Gallons 7 - BTUs 8 - Liters 9 - kPA (gauge) 10 - kPA (absolute) 11 - Mega Joule 12 - Unitless All other values reserved.

type UnitValueType

type UnitValueType struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Unit       *UomType                  `xml:"unit"`
	Value      int                       `xml:"value"`
}

UnitValueType is Value in units specified

type UnsignedActivePower

type UnsignedActivePower struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

UnsignedActivePower is Value in watts (uom 38)

type UnsignedActivePowerControlType

type UnsignedActivePowerControlType struct {
	*UnsignedActivePower
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

UnsignedActivePowerControlType ...

type UnsignedFixedPointType

type UnsignedFixedPointType struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

UnsignedFixedPointType is Dimensionless value

type UnsignedFixedVar

type UnsignedFixedVar struct {
	RefType *DERUnitRefType `xml:"refType"`
	Value   *PerCent        `xml:"value"`
}

UnsignedFixedVar is Specify an unsigned setpoint for reactive power in % (see 'refType' for context).

type UnsignedFixedVarControlType

type UnsignedFixedVarControlType struct {
	*UnsignedFixedVar
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

UnsignedFixedVarControlType ...

type UnsignedReactivePower

type UnsignedReactivePower struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

UnsignedReactivePower is Value in volt-amperes reactive (var) (uom 63)

type UnsignedReactivePowerControlType

type UnsignedReactivePowerControlType struct {
	*UnsignedReactivePower
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

UnsignedReactivePowerControlType ...

type UomType

type UomType = UInt8

UomType is 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 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 = V² (Volts squared) 69 = A² (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 = US gl (US Gallons) 129 = US gl/h (US Gallons per Hour) 130 = IMP gl (Imperial Gallons) 131 = IMP gl/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

type UsagePoint

type UsagePoint struct {
	*UsagePointBase
	DeviceLFDI           string                `xml:"deviceLFDI"`
	MeterReadingListLink *MeterReadingListLink `xml:"MeterReadingListLink"`
}

UsagePoint is The LFDI of the source device. This attribute SHALL be present when mirroring.

type UsagePointBase

type UsagePointBase struct {
	*IdentifiedObject
	RoleFlags           *RoleFlagsType `xml:"roleFlags"`
	ServiceCategoryKind *ServiceKind   `xml:"serviceCategoryKind"`
	Status              uint8          `xml:"status"`
}

UsagePointBase is Specifies the current status of the service at this usage point. 0 = off 1 = on

type UsagePointLink struct {
	*Link
}

UsagePointLink is SHALL contain a Link to an instance of UsagePoint.

type UsagePointList

type UsagePointList struct {
	*SubscribableList
	PollRateAttr uint32        `xml:"pollRate,attr,omitempty"`
	UsagePoint   []*UsagePoint `xml:"UsagePoint"`
}

UsagePointList is A List element to hold UsagePoint objects.

type UsagePointListLink struct {
	*ListLink
}

UsagePointListLink is SHALL contain a Link to a List of UsagePoint instances.

type VersionType

type VersionType = UInt16

VersionType is 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.

type VoltageRMS

type VoltageRMS struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

VoltageRMS is Value in volts RMS (uom 29)

type VoltageRMSControlType

type VoltageRMSControlType struct {
	*VoltageRMS
	DisabledAttr bool `xml:"disabled,attr,omitempty"`
}

VoltageRMSControlType ...

type WattHour

type WattHour struct {
	Multiplier *PowerOfTenMultiplierType `xml:"multiplier"`
	Value      uint16                    `xml:"value"`
}

WattHour is Value in watt-hours (uom 72)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL