Help us shape the future of Go! Take the 2026 Go Developer Survey

ieee20305

package module
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2026 License: MIT Imports: 16 Imported by: 0

README

go-ieee20305 - IEEE 2030.5 Client and Server Library for Go

Go Version Go Reference CI Status Interop Code Coverage Latest Release

A pure Go implementation of IEEE 2030.5 (Smart Energy Profile 2.0), the protocol between utilities, aggregators and distributed energy resources (DER): inverters, batteries, EV chargers and meters. Editions 2018 and 2023, with the CSIP (California) and CSIP-AUS (Australia) profiles. No cgo, no dependencies outside the standard library.

The library provides:

  • A client of one server over mutual TLS: every resource and list, paging, walks of the resource tree, registration with the PIN check, subscriptions and a notification handler
  • A device agent on the client: registration, polling at the server's pollRate, the events of every function set (DER, demand response, pricing, messaging, prepayment, flow reservation) scheduled by primacy with randomization, the Responses they ask for, default controls, metering mirrors, files, log events and subscriptions
  • A server as an embeddable http.Handler, for every resource of the IEEE 2030.5 WADL: device provisioning and in-band registration, aggregators and operators, an event lifecycle that keeps the EventStatus and the Active lists, Responses, subscriptions with retried and coalesced notifications, metering mirrors and flow reservations, and an Admin API to provision devices and publish programs, events and tariffs
  • The resource model, generated from the official IEEE 2030.5-2023 and CSIP-AUS v1.3 schemas: every type with validation, schema defaults and a codec that writes either edition
  • Certificates and discovery: LFDI and SFDI, verification of certificates with a HardwareModuleName, DNS-SD, and the CCM_8 cipher suite in the module tlsccm
  • What production use needs: context.Context everywhere, one taxonomy of errors, retry policies, structured logging and metrics hooks, bounded lists and queues
  • Verified against third-party stacks: every push runs the client against the Envoy and GridAPPS-D servers, and the GridAPPS-D, py20305 and EPRI clients against the server, for every operation each offers

Docs: API.md (public API) · ARCHITECTURE.md (packages, server, agent, generator) · INTEROPERABILITY.md (what is implemented, and the known deviations) · docs/FEATURES.md (features against the tests and the other stacks) · ERRORS.md (error semantics) · OBSERVABILITY.md (logging, metrics, retries) · SECURITY.md · RELEASE.md (changelog) · examples

Table of contents

IEEE 2030.5 in five minutes

  • REST over HTTPS, XML on the wire. A server exposes resources (application/sep+xml); clients GET, PUT, POST and DELETE them. Everything starts at DeviceCapability (/dcap), and clients find every other resource by following links, never by building paths.
  • Mutual TLS is identity. Every device has a certificate. Its SHA-256 fingerprint gives the LFDI (long form) and SFDI (short form, with a check digit) that name the device. There are no passwords. The standard's cipher suite is TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
  • EndDevice and registration. Each device has an EndDevice in the server's EndDeviceList. Its Registration carries a PIN, which the device checks against the PIN it was given out of band before it trusts the server.
  • Function set assignments. An EndDevice's FunctionSetAssignments (FSAs) tell it which programs apply to it: DER programs, demand response, pricing, messaging, prepayment, files and billing.
  • Programs and events. A program (such as a DERProgram) has a primacy, where lower wins, and a list of time-bound events (such as a DERControl: "limit export to 5 kW from 14:00 for 30 minutes"). Clients schedule the events themselves. When events conflict, primacy and creation time decide which one applies, start and duration may be randomized, and the server can cancel events. A DefaultDERControl applies when no event does.
  • Responses. An event may ask (responseRequired, replyTo) for Responses when the device receives it, starts it, completes it, or sees it cancelled or superseded.
  • Polling or subscriptions. Clients poll at the server's pollRate, or subscribe to a resource and receive Notifications at an HTTPS endpoint of their own.
  • Lists. Collections are lists that clients page through with s (start) and l (limit). A ListLink gives the number of items in all.
  • Metering. Devices report readings by posting a MirrorUsagePoint and its MirrorMeterReadings, which the server exposes as UsagePoints and MeterReadings.
  • Editions and profiles. IEEE 2030.5-2018 and -2023 differ in optional elements and resources. Profiles constrain or extend the standard: CSIP (California) and CSIP-AUS (Australia, which adds site limits, the dynamic operating envelopes).

go-ieee20305 vs Envoy, GridAPPS-D, py20305 and EPRI

go-ieee20305 is tested against four other implementations (see Interop tests). All are useful projects; this table shows where they differ so you can pick the right one. The details, feature by feature and with what is tested, are in docs/FEATURES.md.

Capability otfabric/go-ieee20305 Envoy GridAPPS-D py20305 EPRI client
Language Go Python Go Python C
License MIT MIT Battelle BSD Apache-2.0 BSD-3-Clause
Client / device ✅ library and agent — ✅ ✅ ✅
Server ✅ embeddable http.Handler ✅ service with a database ✅ — —
IEEE 2030.5-2018 / 2023 ✅ / ✅ ✅ / — ✅ / ✅ ✅ / ✅ ✅ (SEP 2.0.4 draft) / —
CSIP-AUS ✅ ✅ — ✅ —
Every function set of the WADL ✅ DER, pricing, metering ¹ DER, messaging, flow reservation, metering ¹ DER, pricing, metering ¹ DER, partly DRLC, metering ¹
Subscriptions and notifications ✅ both ends aggregators only ✅ ✅ —
CCM_8 cipher suite ✅ module tlsccm ² ✅ ✅ ✅ ✅
Dependencies standard library only PostgreSQL and more Go modules Python packages OpenSSL
  1. As far as the interop images exercise them; see docs/FEATURES.md.
  2. crypto/tls has no CCM_8: the core module uses the AES-GCM suites, and the separate module tlsccm adds CCM_8 with a copy of Go 1.22's crypto/tls, checked against Go's security releases.

Choose go-ieee20305 to embed a client, a device agent or a server in a Go program, with every function set and both editions. Choose Envoy for a CSIP-AUS utility server as a ready service with its database and admin API. Choose GridAPPS-D for a Go server and client within the GridAPPS-D platform. Choose py20305 for a Python client with CSIP-AUS. Choose the EPRI client for a C client on constrained devices.

Install

go get github.com/otfabric/go-ieee20305@latest

Go 1.23 or later. The CCM_8 module needs Go 1.26.8:

go get github.com/otfabric/go-ieee20305/tlsccm@latest

Project structure

go-ieee20305/
├── *_gen.go, codec.go, …   the resource model, generated from sep.xsd 2.2 and the WADL
├── csipaus/                CSIP-AUS v1.3 types (generated)
│   ├── csipserver/         the CSIP-AUS profile of a server, envelopes, default limits
│   └── csipclient/         the ConnectionPoint of a device
├── client/                 IEEE 2030.5 client, walks, notifications
├── agent/                  the behaviour of a device on a client
├── server/                 IEEE 2030.5 server (http.Handler) and its Admin API
├── security/               LFDI/SFDI, certificate verification, TLS configurations
├── schedule/               event scheduling: primacy, supersession, randomization
├── discovery/              DNS-SD browse and advertise
├── tlsccm/                 module: the CCM_8 cipher suite
├── interop/                module: tests against the ieee20305-interop images
├── e2e/                    end-to-end, chaos and load tests
├── examples/               runnable programs
├── internal/gen/           the code generator and the schema tooling
└── schemas/                the manifest of the pinned upstream schemas

Client quickstart

A device: a client with its certificate, and an agent that registers, checks the PIN, and applies the DER controls of its programs.

package main

import (
	"context"
	"crypto/tls"
	"crypto/x509"
	"log"
	"os"
	"os/signal"

	"github.com/otfabric/go-ieee20305/agent"
	"github.com/otfabric/go-ieee20305/client"
	"github.com/otfabric/go-ieee20305/schedule"
)

func main() {
	ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
	defer stop()

	device, err := tls.LoadX509KeyPair("device.crt", "device.key")
	if err != nil {
		log.Fatal(err)
	}
	device.Leaf, _ = x509.ParseCertificate(device.Certificate[0])
	pem, err := os.ReadFile("ca.crt")
	if err != nil {
		log.Fatal(err)
	}
	roots := x509.NewCertPool()
	roots.AppendCertsFromPEM(pem)

	c, err := client.New(client.Config{
		Server:     "https://utility.example/dcap",
		HTTPClient: client.NewHTTPClient(device, roots),
	})
	if err != nil {
		log.Fatal(err)
	}
	a, err := agent.New(agent.Config{
		Client:    c,
		Identity:  client.IdentityOf(device.Leaf),
		PIN:       111115, // given to the device out of band
		VerifyPIN: true,
		OnDERControl: func(ctx context.Context, t schedule.Transition) error {
			log.Printf("control %s: %v", t.Event.MRID, t.To) // apply or release it
			return nil
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	defer a.Close()
	if err := a.Run(ctx); err != nil && ctx.Err() == nil {
		log.Fatal(err)
	}
}

Without the agent, client.Client reads and writes any resource: DeviceCapability, Register, Get, Iterate, Walk, Post, Put, Subscribe. For CSIP-AUS, set Codec: csipaus.Codec{} and read the site limits with csipaus.LimitsOf.

Server quickstart

A server: provision a device with its PIN, give it a DER program, and serve over mutual TLS. Admin is the operator's API; devices see the standard resources.

srv, err := server.New(server.Config{
	OnResponse: func(ctx context.Context, href string, r any) { /* a device answered */ },
})
if err != nil {
	log.Fatal(err)
}
defer srv.Close()
a := srv.Admin()
_ = a.Root(ctx, "DERProgramList", "/derp", a.Document("DERProgramList"))

lfdi := security.CertificateLFDI(deviceCert)
_, err = a.ProvisionDevice(ctx, server.DeviceSpec{LFDI: lfdi, Register: true, PIN: 111115})
fsa, err := a.AssignFSA(ctx, lfdi, &ieee20305.FunctionSetAssignments{MRID: ieee20305.MRIDType{1}})
err = a.NewList(ctx, "DERProgramList", fsa+"/derp", fsa, "DERProgramListLink", lfdi.String())
program, err := a.Create(ctx, "/derp", &ieee20305.DERProgram{Primacy: 1}, "")
err = a.AddMember(ctx, fsa+"/derp", program)
_, err = a.Create(ctx, program+"/derc", control, "") // a *ieee20305.DERControl

hs := &http.Server{Addr: ":8443", Handler: srv, TLSConfig: security.ServerTLSConfig(serverCert, deviceCAs)}
log.Fatal(hs.ListenAndServeTLS("", ""))

The server keeps the EventStatus of the control as it starts and ends, computes the ActiveDERControlList, and stores the Responses the device posts. go run ./examples/quickstart runs both sides in one process.

Production features

Feature How Notes
Cancellation context.Context on every call of the client, agent and Admin Agent.Close cancels what the agent has in flight
Retries ieee20305.RetryPolicy: client.Config.RetryPolicy, agent.Config.Backoff, server.Config.NotificationRetry ExponentialBackoff with full jitter honours Retry-After; the client does not repeat a POST unless RetryPOST is set; 4xx are never retried
Structured logging ieee20305.NewSlogLogger, NewStdLogger, or any ieee20305.Logger A component field per package; silent by default
Metrics hooks client.Metrics, server.Metrics, agent.Metrics, and the optional AttemptMetrics, NotificationMetrics, EventMetrics Synchronous, no dependencies; a Prometheus adapter is a few lines (OBSERVABILITY.md)
Subscriptions client.Subscribe, client.NewNotificationHandler; agent.Config.NotificationURI; server.Config.NotificationClient Notifications are coalesced, retried with backoff and cancelled after NotificationCancelAfter; NotificationURIAllowed guards the URIs devices choose
Bounded resources server.Config.MaxListItems, EventRetention; client.Config.MaxListItems; capped agent queues Lists that devices post to keep their newest items; ended events are pruned
Persistence server.Config.Store In memory by default; a Store keeps the resources elsewhere
CCM_8 module tlsccm: NewHTTPClient, NewListener Interoperates with GridAPPS-D and EPRI, which offer nothing else

Error semantics

Situation How it is reported
The server answered 4xx or 5xx *ieee20305.StatusError with the Error document, matching ErrNotFound, ErrForbidden, ErrBadRequest, ErrConflict, ErrServer, ErrUnavailable
No answer in time ieee20305.ErrTimeout
Refused or reset connection, DNS failure ieee20305.ErrUnavailable
Certificate rejected, by either end ieee20305.ErrCertificate
A document that breaks the schema or the protocol ieee20305.ErrProtocol, *ieee20305.ValidationError
A value or configuration the library refuses ieee20305.ErrInvalid, ieee20305.ErrConfiguration
Used after Close ieee20305.ErrClosed
Worth trying again ieee20305.Retryable(err), ieee20305.RetryAfter(err)

Full guide: ERRORS.md.

Examples

go run ./examples/quickstart      # a server and a device agent in one process
go run ./examples/server -pki /tmp/pki   # a server on 127.0.0.1:8443, with a test PKI
go run ./examples/client -pki /tmp/pki   # a device: register, check the PIN, walk
go run ./examples/csipaus         # CSIP-AUS envelopes, default limits, connection point
go run ./examples/observability   # logging, metrics and retries

See examples/README.md for what each prints.

Development

make check        # format, lint, vet, vulnerability scan, tests, coverage gate (90%), tlsccm
make test         # the library tests with the race detector
make e2e          # the end-to-end tests
make stress       # the tests shuffled, twice, with the race detector
make fuzz         # every fuzz target (FUZZTIME=30s each by default)
make test-tlsccm  # the CCM_8 module (Go 1.26.8)
make interop      # against the ieee20305-interop images (needs Docker)
make features     # docs/FEATURES.md against the e2e and interop tests
make build        # the examples into ./bin

Run make (or make help) for the full list of targets. See CONTRIBUTING.md.

Code generation

The *_gen.go files are generated from the upstream schemas pinned, with their SHA-256, in schemas/manifest.json: the IEEE 2030.5-2023 sep.xsd and sep_wadl.xml, and the CSIP-AUS v1.3 schemas. The upstream files are not committed (IEEE copyright); the generated code is.

make download        # fetch the pinned schemas into schemas/upstream/ and verify them
make generate        # regenerate the *_gen.go files
make check-updates   # report upstream changes and new releases

Never edit a generated file: fix the generator in internal/gen or its inputs in the manifest, and regenerate. CI regenerates on every push and fails on any difference, validates encoded documents against the official schemas, and checks weekly for upstream updates. See schemas/README.md.

Interop tests

The interop module tests go-ieee20305 against four independent implementations, packaged as container images by otfabric/ieee20305-interop: ANU Envoy, GridAPPS-D (server and client), DER Security py20305 and the EPRI IEEE 2030.5 client.

make interop    # needs Docker; about two minutes
Direction What is checked
go-ieee20305 client → Envoy, GridAPPS-D For each edition and fixture the server is seeded with (baseline, csip, csip-aus), over CCM_8 and GCM: time, registration and PIN, programs with their default controls and controls, the agent scheduling the active control, metering mirrors, Responses, log events, DER resources, tariffs with their intervals and prices, flow reservations, the CSIP-AUS connection point, and notifications from GridAPPS-D to our NotificationHandler; refusal of an unprovisioned device and of a device of another CA
GridAPPS-D, py20305, EPRI clients → go-ieee20305 server Every operation each client declares, for every edition and fixture it handles: register, discover, poll-controls, poll-pricing, report, respond, log-event, put-der, flow-reservation and subscribe (our notifier delivering to the client's listener); the effect of each is checked on the server through Admin

The images are the only thing shared with ieee20305-interop; nothing of it is cloned or built here. Fixtures come from the images; the scenarios and assertions live in this repository.

This version is qualified against ieee20305-interop v0.2.0 (container contract 0.3: Envoy v2.5.0, GridAPPS-D server v0.18.0 and client v0.1.0, py20305 v0.16.0, EPRI client v0.2.11). The images are pinned by digest in interop/images.go and the Interop workflow, which runs on every push and pull request. To test another build, set IEEE20305_INTEROP_ENVOY_IMAGE, IEEE20305_INTEROP_GRIDAPPSD_IMAGE, IEEE20305_INTEROP_PY20305_IMAGE or IEEE20305_INTEROP_EPRI_IMAGE; IEEE20305_INTEROP_TRACE=1 logs every request and answer.

The suite asks each image what it declares (print-capabilities) and skips what it lacks. Known upstream bugs (interop/known_test.go) skip while they reproduce and fail once they no longer do:

Stack Bug Effect
EPRI client Writes documents in the namespace of the draft sep.xsd 2.0.4 Its report and respond get 400 from a server of IEEE 2030.5
py20305 Does not model the RateComponentLink CSIP-AUS 1.3 requires in a TimeTariffInterval Finds no interval of a CSIP-AUS tariff

Limitations

  • CCM_8 needs the module tlsccm, on a copy of Go 1.22's crypto/tls with CCM_8 (TLS 1.2 only); the core module, on crypto/tls, offers the ECDHE-ECDSA AES-GCM suites.
  • DNS-SD is not exercised across stacks: the containers run on Docker networks without multicast, so interop reaches servers by URL. discovery is tested against an in-memory network and our own peer.
  • The server keeps its resources in memory unless a Store is given; there is no database adapter in this module.
  • Prepayment, billing and files are implemented and tested end to end here, but no other stack implements them, so they are not verified across implementations.
  • Verified against four third-party stacks, not against certified test equipment (such as the SunSpec or UL test harnesses) or field devices.

Details in INTEROPERABILITY.md.

License

MIT. The generated code derives from the IEEE 2030.5 schemas, which are not part of this repository; see schemas/README.md.

Documentation

Overview

Package ieee20305 is the resource model of IEEE 2030.5 (Smart Energy Profile 2.0): every type of the IEEE 2030.5-2023 schema (sep.xsd, schema version 2.2), generated from the official schema with XML tags that preserve its namespace, element order, optionality and cardinality.

The generated files (*_gen.go) are not edited by hand; see generate.go. They provide:

  • a Go type for every schema type: structs that embed their base type, pointers for optional elements and attributes, slices for repeated elements, and named scalar types such as UInt32, String32 and the hexadecimal HexBinary160;
  • Validate methods that check the facets and cardinalities of the schema and report a *ValidationError;
  • Get methods that return the schema default of an absent value, such as DeviceCapability.GetPollRate;
  • the document elements: ElementName and NewElement;
  • the resource table of the IEEE 2030.5 WADL: Resources and LookupResource.

Marshal, Unmarshal and Decode encode and decode documents. Elements a schema admits without declaring (xs:any) are kept as ExtensionElements.

Entry points:

  • package client: an IEEE 2030.5 client of one server, over mutual TLS.
  • package agent: the behaviour of a device on a client: registration, polling, events and their Responses, metering, subscriptions.
  • package server: an IEEE 2030.5 server as an http.Handler, with an Admin API to provision devices and publish programs and events.
  • package security: device identifiers (LFDI, SFDI), certificate verification and TLS configurations.
  • package schedule: event scheduling by primacy, supersession and randomization.
  • package discovery: DNS-SD discovery of servers.
  • package csipaus, with csipaus/csipserver and csipaus/csipclient: the CSIP-AUS (Australia) profile.
  • module github.com/otfabric/go-ieee20305/tlsccm: the cipher suite TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, which crypto/tls lacks.

Errors match the sentinels of this package (ErrNotFound, ErrTimeout, ...; see Retryable), and the client, server and agent take a Logger, a RetryPolicy and metrics hooks. The examples directory of the repository has runnable programs.

Index

Examples

Constants

View Source
const MediaType = "application/sep+xml"

MediaType is the media type of IEEE 2030.5 XML documents.

View Source
const Namespace = "urn:ieee:std:2030.5:ns"

Namespace is the XML namespace of the types in this package.

View Source
const SchemaVersion = "2.2"

SchemaVersion is the version of the schema the types in this package are generated from, written as the schemaVer attribute of documents.

Variables

View Source
var (
	ErrBadRequest   = errors.New("ieee20305: bad request")
	ErrUnauthorized = errors.New("ieee20305: unauthorized")
	ErrForbidden    = errors.New("ieee20305: forbidden")
	ErrNotFound     = errors.New("ieee20305: not found")
	// ErrConflict is a 409: the request conflicts with the state of the
	// resource.
	ErrConflict = errors.New("ieee20305: conflict")
	// ErrServer is a 5xx: the server failed. Retryable reports whether
	// sending the request again may succeed.
	ErrServer = errors.New("ieee20305: server error")
)

Categories of failure reported by an IEEE 2030.5 server. An *Error matches the one for its HTTP status through errors.Is.

Test for these with errors.Is, and for the types with errors.As; the text of an error is for people and may change.

View Source
var (
	// ErrInvalid is matched by every *ValidationError: a resource or
	// a message does not satisfy the schema.
	ErrInvalid = errors.New("ieee20305: invalid")
	// ErrConfiguration is matched by what a constructor of this module
	// returns for a configuration it cannot work with.
	ErrConfiguration = errors.New("ieee20305: invalid configuration")
	// ErrTimeout is matched by a call that ran out of time: the
	// deadline of its context, the timeout of the HTTP client, or a
	// network timeout below them.
	ErrTimeout = errors.New("ieee20305: timeout")
	// ErrProtocol is matched by an answer that is not what the
	// protocol says it is: a body that cannot be decoded, one that is
	// too large, or a response that violates the XML schema. The peer
	// acted on the request.
	ErrProtocol = errors.New("ieee20305: protocol error")
	// ErrClosed is matched by the use of something after it was closed.
	ErrClosed = errors.New("ieee20305: closed")
	// ErrUnavailable is matched by a server that cannot be reached or does
	// not serve now: a refused or reset connection, a host name that does
	// not resolve, a 503 or a 429. Sending again later may succeed.
	ErrUnavailable = errors.New("ieee20305: unavailable")
	// ErrCanceled is matched by a call whose context was canceled.
	ErrCanceled = errors.New("ieee20305: canceled")
	// ErrCertificate is matched by a failure in certificate validation,
	// LFDI/SFDI derivation, or mutual TLS setup.
	ErrCertificate = errors.New("ieee20305: certificate error")
)

Categories of failure that are not an answer from a server.

View Source
var Resources = []ResourceSpec{}/* 138 elements not displayed */

Resources lists the resources of the IEEE 2030.5 WADL, sorted by ID.

Functions

func Clone added in v0.4.0

func Clone(v any) any

Clone returns a deep copy of v, a pointer to a struct type of this package, or nil for any other value.

func Decode

func Decode(data []byte) (any, error)

Decode decodes an IEEE 2030.5 XML document of any document type and returns a pointer to it, such as *EndDevice. An error in the document matches ErrProtocol.

func Derives added in v0.4.0

func Derives(elem, of string) bool

Derives reports whether the type of the document element elem is the type of the document element of, or derives from it. A server accepts such a document where the standard expects base, such as a DERControlResponse posted to a list of Response.

func ElementName

func ElementName(v any) (xml.Name, bool)

ElementName returns the name of the document element of v, which must be a pointer to or a value of a document type of this package.

func InEdition added in v0.4.0

func InEdition(id string, e Edition) bool

InEdition reports whether the WADL resource id is a resource of edition e: see LookupResource.

func InEdition2018 added in v0.4.0

func InEdition2018(id string) bool

InEdition2018 reports whether the WADL resource id is a resource of IEEE 2030.5-2018.

func Marshal

func Marshal(v any) ([]byte, error)

Marshal encodes v, a document type such as *EndDevice or *DERControlList, as an IEEE 2030.5 XML document with schemaVer set to SchemaVersion.

Example

Encode a document and decode it back. Marshal writes IEEE 2030.5-2023, with its schemaVer and the elements the schema requires.

package main

import (
	"fmt"

	ieee20305 "github.com/otfabric/go-ieee20305"
)

func main() {
	href := "/edev/1"
	ed := &ieee20305.EndDevice{}
	ed.Href, ed.SFDI = &href, 123456789018
	data, err := ieee20305.Marshal(ed)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(data))
	var back ieee20305.EndDevice
	if err := ieee20305.Unmarshal(data, &back); err != nil {
		panic(err)
	}
	fmt.Println(back.SFDI)
}
Output:
<EndDevice xmlns="urn:ieee:std:2030.5:ns" schemaVer="2.2" href="/edev/1"><sFDI>123456789018</sFDI><changedTime>0</changedTime></EndDevice>
123456789018

func MarshalEdition added in v0.4.0

func MarshalEdition(v any, e Edition) ([]byte, error)

MarshalEdition encodes v, a pointer to a document type, as a document of edition e. For 2018 it encodes a copy of v reduced to what 2018 defines, without the schemaVer attribute, which 2018 does not define either.

func NewElement

func NewElement(name xml.Name) any

NewElement returns a pointer to a new value of the document type with the given element name, or nil if this package has none.

func RetryAfter added in v0.5.0

func RetryAfter(err error) time.Duration

RetryAfter returns the delay a server asked for in the StatusError of err, or zero.

func Retryable added in v0.5.0

func Retryable(err error) bool

Retryable reports whether sending the request of err again may succeed: the server was unavailable, failed (5xx) or did not answer in time. It is false for an answer that sending again cannot change (another 4xx), a response that breaks the protocol, a certificate that does not verify, a configuration error, and a canceled call. The request must be one that is safe to send twice: see the RetryPolicy of the client.

Example

Classify an error of a client: a 503 may succeed later, a 404 will not.

package main

import (
	"errors"
	"fmt"
	"time"

	ieee20305 "github.com/otfabric/go-ieee20305"
)

func main() {
	unavailable := &ieee20305.StatusError{Method: "GET", Path: "/dcap", StatusCode: 503, RetryAfter: 30 * time.Second}
	notFound := &ieee20305.StatusError{Method: "GET", Path: "/edev/9", StatusCode: 404}
	fmt.Println(ieee20305.Retryable(unavailable), ieee20305.RetryAfter(unavailable))
	fmt.Println(ieee20305.Retryable(notFound), errors.Is(notFound, ieee20305.ErrNotFound))
}
Output:
true 30s
false true

func TypeBase added in v0.4.0

func TypeBase(typ string) (string, bool)

TypeBase returns the type the struct type named typ extends, if any.

func Unmarshal

func Unmarshal(data []byte, v any) error

Unmarshal decodes an IEEE 2030.5 XML document into v, a pointer to a document type. The document element must be the one of v's type. An error in the document matches ErrProtocol.

Types

type AbstractDevice

type AbstractDevice struct {
	SubscribableResource
	AggregatedDeviceListLink     *AggregatedDeviceListLink     `xml:"urn:ieee:std:2030.5:ns AggregatedDeviceListLink,omitempty"`
	AggregationPriorityLink      *AggregationPriorityLink      `xml:"urn:ieee:std:2030.5:ns AggregationPriorityLink,omitempty"`
	ConfigurationLink            *ConfigurationLink            `xml:"urn:ieee:std:2030.5:ns ConfigurationLink,omitempty"`
	DERListLink                  *DERListLink                  `xml:"urn:ieee:std:2030.5:ns DERListLink,omitempty"`
	DeviceCategory               *DeviceCategoryType           `xml:"urn:ieee:std:2030.5:ns deviceCategory,omitempty"`
	DeviceInformationLink        *DeviceInformationLink        `xml:"urn:ieee:std:2030.5:ns DeviceInformationLink,omitempty"`
	DeviceStatusLink             *DeviceStatusLink             `xml:"urn:ieee:std:2030.5:ns DeviceStatusLink,omitempty"`
	Distribution                 *AggregationDistributionType  `xml:"urn:ieee:std:2030.5:ns distribution,omitempty"`
	FileStatusLink               *FileStatusLink               `xml:"urn:ieee:std:2030.5:ns FileStatusLink,omitempty"`
	IPInterfaceListLink          *IPInterfaceListLink          `xml:"urn:ieee:std:2030.5:ns IPInterfaceListLink,omitempty"`
	LFDI                         *HexBinary160                 `xml:"urn:ieee:std:2030.5:ns lFDI,omitempty"`
	LoadShedAvailabilityListLink *LoadShedAvailabilityListLink `xml:"urn:ieee:std:2030.5:ns LoadShedAvailabilityListLink,omitempty"`
	LogEventListLink             *LogEventListLink             `xml:"urn:ieee:std:2030.5:ns LogEventListLink,omitempty"`
	Phase                        *PhaseCode                    `xml:"urn:ieee:std:2030.5:ns phase,omitempty"`
	PowerStatusLink              *PowerStatusLink              `xml:"urn:ieee:std:2030.5:ns PowerStatusLink,omitempty"`
	SFDI                         SFDIType                      `xml:"urn:ieee:std:2030.5:ns sFDI"`
	AbstractDeviceR2_3           *Revision2_3Type              `xml:"urn:ieee:std:2030.5:ns AbstractDevice_r2_3,omitempty"`
}

AbstractDevice is generated from the XML Schema type AbstractDevice in namespace urn:ieee:std:2030.5:ns.

func (v *AbstractDevice) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*AbstractDevice) Clone added in v0.4.0

func (v *AbstractDevice) Clone() *AbstractDevice

Clone returns a deep copy of v, or nil.

func (*AbstractDevice) Strip2018 added in v0.4.0

func (v *AbstractDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AbstractDevice) Validate

func (v *AbstractDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type AccountBalance

type AccountBalance struct {
	Resource
	AvailableCredit       AccountingUnit    `xml:"urn:ieee:std:2030.5:ns availableCredit"`
	CreditStatus          *CreditStatusType `xml:"urn:ieee:std:2030.5:ns creditStatus,omitempty"`
	EmergencyCredit       *AccountingUnit   `xml:"urn:ieee:std:2030.5:ns emergencyCredit,omitempty"`
	EmergencyCreditStatus *CreditStatusType `xml:"urn:ieee:std:2030.5:ns emergencyCreditStatus,omitempty"`
	AccountBalanceR2_3    *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns AccountBalance_r2_3,omitempty"`
}

AccountBalance is generated from the XML Schema type AccountBalance in namespace urn:ieee:std:2030.5:ns.

func (*AccountBalance) Clone added in v0.4.0

func (v *AccountBalance) Clone() *AccountBalance

Clone returns a deep copy of v, or nil.

func (*AccountBalance) Strip2018 added in v0.4.0

func (v *AccountBalance) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AccountBalance) Validate

func (v *AccountBalance) Validate() error

Validate reports the first constraint of the schema that v violates.

type AccountBalanceLink struct {
	Link
	AccountBalanceLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AccountBalanceLink_r2_3,omitempty"`
}

AccountBalanceLink is generated from the XML Schema type AccountBalanceLink in namespace urn:ieee:std:2030.5:ns.

func (*AccountBalanceLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AccountBalanceLink) Strip2018 added in v0.4.0

func (v *AccountBalanceLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AccountBalanceLink) Validate

func (v *AccountBalanceLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type AccountingUnit

type AccountingUnit struct {
	EnergyUnit         *RealEnergy              `xml:"urn:ieee:std:2030.5:ns energyUnit,omitempty"`
	MonetaryUnit       CurrencyCode             `xml:"urn:ieee:std:2030.5:ns monetaryUnit"`
	Multiplier         PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value              Int32                    `xml:"urn:ieee:std:2030.5:ns value"`
	AccountingUnitR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns AccountingUnit_r2_3,omitempty"`
	Extensions         []ExtensionElement       `xml:",any"`
}

AccountingUnit is generated from the XML Schema type AccountingUnit in namespace urn:ieee:std:2030.5:ns.

func (*AccountingUnit) Clone added in v0.4.0

func (v *AccountingUnit) Clone() *AccountingUnit

Clone returns a deep copy of v, or nil.

func (*AccountingUnit) Strip2018 added in v0.4.0

func (v *AccountingUnit) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AccountingUnit) Validate

func (v *AccountingUnit) Validate() error

Validate reports the first constraint of the schema that v violates.

type AccumulationBehaviourType

type AccumulationBehaviourType uint8

AccumulationBehaviourType is generated from the XML Schema type AccumulationBehaviourType in namespace urn:ieee:std:2030.5:ns.

type ActiveBillingPeriodListLink struct {
	ListLink
	ActiveBillingPeriodListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveBillingPeriodListLink_r2_3,omitempty"`
}

ActiveBillingPeriodListLink is generated from the XML Schema type ActiveBillingPeriodListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveBillingPeriodListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveBillingPeriodListLink) Strip2018 added in v0.4.0

func (v *ActiveBillingPeriodListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveBillingPeriodListLink) Validate

func (v *ActiveBillingPeriodListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveCreditRegisterListLink struct {
	ListLink
	ActiveCreditRegisterListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveCreditRegisterListLink_r2_3,omitempty"`
}

ActiveCreditRegisterListLink is generated from the XML Schema type ActiveCreditRegisterListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveCreditRegisterListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveCreditRegisterListLink) Strip2018 added in v0.4.0

func (v *ActiveCreditRegisterListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveCreditRegisterListLink) Validate

func (v *ActiveCreditRegisterListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveDERControlListLink struct {
	ListLink
	ActiveDERControlListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveDERControlListLink_r2_3,omitempty"`
}

ActiveDERControlListLink is generated from the XML Schema type ActiveDERControlListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveDERControlListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveDERControlListLink) Strip2018 added in v0.4.0

func (v *ActiveDERControlListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveDERControlListLink) Validate

func (v *ActiveDERControlListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveEndDeviceControlListLink struct {
	ListLink
	ActiveEndDeviceControlListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveEndDeviceControlListLink_r2_3,omitempty"`
}

ActiveEndDeviceControlListLink is generated from the XML Schema type ActiveEndDeviceControlListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveEndDeviceControlListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveEndDeviceControlListLink) Strip2018 added in v0.4.0

func (v *ActiveEndDeviceControlListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveEndDeviceControlListLink) Validate

func (v *ActiveEndDeviceControlListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveFlowReservationListLink struct {
	ListLink
	ActiveFlowReservationListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveFlowReservationListLink_r2_3,omitempty"`
}

ActiveFlowReservationListLink is generated from the XML Schema type ActiveFlowReservationListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveFlowReservationListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveFlowReservationListLink) Strip2018 added in v0.4.0

func (v *ActiveFlowReservationListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveFlowReservationListLink) Validate

func (v *ActiveFlowReservationListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActivePower

type ActivePower struct {
	Multiplier      PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value           Int16                    `xml:"urn:ieee:std:2030.5:ns value"`
	ActivePowerR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns ActivePower_r2_3,omitempty"`
	Extensions      []ExtensionElement       `xml:",any"`
}

ActivePower is generated from the XML Schema type ActivePower in namespace urn:ieee:std:2030.5:ns.

func (*ActivePower) Clone added in v0.4.0

func (v *ActivePower) Clone() *ActivePower

Clone returns a deep copy of v, or nil.

func (*ActivePower) Strip2018 added in v0.4.0

func (v *ActivePower) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActivePower) Validate

func (v *ActivePower) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActivePowerControlType

type ActivePowerControlType struct {
	ActivePower
	ActivePowerControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActivePowerControlType_r2_3,omitempty"`
	Disabled                   *bool            `xml:"disabled,attr,omitempty"`
}

ActivePowerControlType is generated from the XML Schema type ActivePowerControlType in namespace urn:ieee:std:2030.5:ns.

func (*ActivePowerControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActivePowerControlType) GetDisabled

func (v *ActivePowerControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*ActivePowerControlType) Strip2018 added in v0.4.0

func (v *ActivePowerControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActivePowerControlType) Validate

func (v *ActivePowerControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActivePowerDeltaControlType

type ActivePowerDeltaControlType struct {
	ActivePower
	ActivePowerDeltaControlTypeR2_3 *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns ActivePowerDeltaControlType_r2_3,omitempty"`
	Bidirectional                   *DeltaBidirectionalType `xml:"bidirectional,attr,omitempty"`
	Disabled                        *bool                   `xml:"disabled,attr,omitempty"`
}

ActivePowerDeltaControlType is generated from the XML Schema type ActivePowerDeltaControlType in namespace urn:ieee:std:2030.5:ns.

func (*ActivePowerDeltaControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActivePowerDeltaControlType) GetBidirectional

GetBidirectional returns Bidirectional, or its schema default 0 when it is absent.

func (*ActivePowerDeltaControlType) GetDisabled

func (v *ActivePowerDeltaControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*ActivePowerDeltaControlType) Strip2018 added in v0.4.0

func (v *ActivePowerDeltaControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActivePowerDeltaControlType) Validate

func (v *ActivePowerDeltaControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveProjectionReadingListLink struct {
	ListLink
	ActiveProjectionReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveProjectionReadingListLink_r2_3,omitempty"`
}

ActiveProjectionReadingListLink is generated from the XML Schema type ActiveProjectionReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveProjectionReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveProjectionReadingListLink) Strip2018 added in v0.4.0

func (v *ActiveProjectionReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveProjectionReadingListLink) Validate

func (v *ActiveProjectionReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveSupplyInterruptionOverrideListLink struct {
	ListLink
	ActiveSupplyInterruptionOverrideListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveSupplyInterruptionOverrideListLink_r2_3,omitempty"`
}

ActiveSupplyInterruptionOverrideListLink is generated from the XML Schema type ActiveSupplyInterruptionOverrideListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveSupplyInterruptionOverrideListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveSupplyInterruptionOverrideListLink) Strip2018 added in v0.4.0

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveSupplyInterruptionOverrideListLink) Validate

Validate reports the first constraint of the schema that v violates.

type ActiveTargetReadingListLink struct {
	ListLink
	ActiveTargetReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveTargetReadingListLink_r2_3,omitempty"`
}

ActiveTargetReadingListLink is generated from the XML Schema type ActiveTargetReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveTargetReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveTargetReadingListLink) Strip2018 added in v0.4.0

func (v *ActiveTargetReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveTargetReadingListLink) Validate

func (v *ActiveTargetReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveTextMessageListLink struct {
	ListLink
	ActiveTextMessageListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveTextMessageListLink_r2_3,omitempty"`
}

ActiveTextMessageListLink is generated from the XML Schema type ActiveTextMessageListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveTextMessageListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveTextMessageListLink) Strip2018 added in v0.4.0

func (v *ActiveTextMessageListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveTextMessageListLink) Validate

func (v *ActiveTextMessageListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ActiveTimeTariffIntervalListLink struct {
	ListLink
	ActiveTimeTariffIntervalListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ActiveTimeTariffIntervalListLink_r2_3,omitempty"`
}

ActiveTimeTariffIntervalListLink is generated from the XML Schema type ActiveTimeTariffIntervalListLink in namespace urn:ieee:std:2030.5:ns.

func (*ActiveTimeTariffIntervalListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ActiveTimeTariffIntervalListLink) Strip2018 added in v0.4.0

func (v *ActiveTimeTariffIntervalListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ActiveTimeTariffIntervalListLink) Validate

Validate reports the first constraint of the schema that v violates.

type AggregatedDevice

type AggregatedDevice struct {
	Resource
	ChangedTime          TimeType            `xml:"urn:ieee:std:2030.5:ns changedTime"`
	DeviceCategory       *DeviceCategoryType `xml:"urn:ieee:std:2030.5:ns deviceCategory,omitempty"`
	Enabled              *bool               `xml:"urn:ieee:std:2030.5:ns enabled,omitempty"`
	LFDI                 HexBinary160        `xml:"urn:ieee:std:2030.5:ns lFDI"`
	SFDI                 SFDIType            `xml:"urn:ieee:std:2030.5:ns sFDI"`
	AggregatedDeviceR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns AggregatedDevice_r2_3,omitempty"`
}

AggregatedDevice is generated from the XML Schema type AggregatedDevice in namespace urn:ieee:std:2030.5:ns.

func (*AggregatedDevice) Clone added in v0.4.0

func (v *AggregatedDevice) Clone() *AggregatedDevice

Clone returns a deep copy of v, or nil.

func (*AggregatedDevice) Strip2018 added in v0.4.0

func (v *AggregatedDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AggregatedDevice) Validate

func (v *AggregatedDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type AggregatedDeviceList

type AggregatedDeviceList struct {
	SubscribableList
	AggregatedDevice         []AggregatedDevice `xml:"urn:ieee:std:2030.5:ns AggregatedDevice,omitempty"`
	AggregatedDeviceListR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns AggregatedDeviceList_r2_3,omitempty"`
	PollRate                 *UInt32            `xml:"pollRate,attr,omitempty"`
}

AggregatedDeviceList is generated from the XML Schema type AggregatedDeviceList in namespace urn:ieee:std:2030.5:ns.

func (*AggregatedDeviceList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AggregatedDeviceList) GetPollRate

func (v *AggregatedDeviceList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*AggregatedDeviceList) ListItemElement added in v0.4.0

func (v *AggregatedDeviceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*AggregatedDeviceList) ListItems added in v0.4.0

func (v *AggregatedDeviceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*AggregatedDeviceList) NewListItem added in v0.4.0

func (v *AggregatedDeviceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*AggregatedDeviceList) SetListCounts added in v0.4.0

func (v *AggregatedDeviceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*AggregatedDeviceList) SetListItems added in v0.4.0

func (v *AggregatedDeviceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a AggregatedDevice or a pointer to one.

func (*AggregatedDeviceList) Strip2018 added in v0.4.0

func (v *AggregatedDeviceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AggregatedDeviceList) Validate

func (v *AggregatedDeviceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type AggregatedDeviceListLink struct {
	ListLink
	AggregatedDeviceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AggregatedDeviceListLink_r2_3,omitempty"`
}

AggregatedDeviceListLink is generated from the XML Schema type AggregatedDeviceListLink in namespace urn:ieee:std:2030.5:ns.

func (*AggregatedDeviceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AggregatedDeviceListLink) Strip2018 added in v0.4.0

func (v *AggregatedDeviceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AggregatedDeviceListLink) Validate

func (v *AggregatedDeviceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type AggregationDistributionType

type AggregationDistributionType uint8

AggregationDistributionType is generated from the XML Schema type AggregationDistributionType in namespace urn:ieee:std:2030.5:ns.

type AggregationPriority

type AggregationPriority struct {
	IdentifiedObject
	PriorityData            []PriorityData   `xml:"urn:ieee:std:2030.5:ns PriorityData,omitempty"`
	AggregationPriorityR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AggregationPriority_r2_3,omitempty"`
}

AggregationPriority is generated from the XML Schema type AggregationPriority in namespace urn:ieee:std:2030.5:ns.

func (*AggregationPriority) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AggregationPriority) Strip2018 added in v0.4.0

func (v *AggregationPriority) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AggregationPriority) Validate

func (v *AggregationPriority) Validate() error

Validate reports the first constraint of the schema that v violates.

type AggregationPriorityLink struct {
	Link
	AggregationPriorityLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AggregationPriorityLink_r2_3,omitempty"`
}

AggregationPriorityLink is generated from the XML Schema type AggregationPriorityLink in namespace urn:ieee:std:2030.5:ns.

func (*AggregationPriorityLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AggregationPriorityLink) Strip2018 added in v0.4.0

func (v *AggregationPriorityLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AggregationPriorityLink) Validate

func (v *AggregationPriorityLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type AmpereHour

type AmpereHour struct {
	Multiplier     PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value          UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	AmpereHourR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns AmpereHour_r2_3,omitempty"`
	Extensions     []ExtensionElement       `xml:",any"`
}

AmpereHour is generated from the XML Schema type AmpereHour in namespace urn:ieee:std:2030.5:ns.

func (*AmpereHour) Clone added in v0.4.0

func (v *AmpereHour) Clone() *AmpereHour

Clone returns a deep copy of v, or nil.

func (*AmpereHour) Strip2018 added in v0.4.0

func (v *AmpereHour) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AmpereHour) Validate

func (v *AmpereHour) Validate() error

Validate reports the first constraint of the schema that v violates.

type AnyResource

type AnyResource struct {
	Value any
}

AnyResource is a Resource element whose xsi:type may name any type derived from Resource. Value is a pointer to the generated type, such as *Resource.

func (AnyResource) Clone added in v0.4.0

func (a AnyResource) Clone() AnyResource

Clone returns a deep copy of a.

func (AnyResource) MarshalXML

func (a AnyResource) MarshalXML(e *xml.Encoder, start xml.StartElement) error

MarshalXML encodes Value with an xsi:type attribute naming its type.

func (*AnyResource) UnmarshalXML

func (a *AnyResource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

UnmarshalXML decodes the element into a new value of the type its xsi:type names, or of Resource without one. A namespace prefix in the xsi:type value is ignored.

func (AnyResource) Validate

func (a AnyResource) Validate() error

Validate validates Value.

type ApparentPower

type ApparentPower struct {
	Multiplier        PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value             UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	ApparentPowerR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns ApparentPower_r2_3,omitempty"`
	Extensions        []ExtensionElement       `xml:",any"`
}

ApparentPower is generated from the XML Schema type ApparentPower in namespace urn:ieee:std:2030.5:ns.

func (*ApparentPower) Clone added in v0.4.0

func (v *ApparentPower) Clone() *ApparentPower

Clone returns a deep copy of v, or nil.

func (*ApparentPower) Strip2018 added in v0.4.0

func (v *ApparentPower) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ApparentPower) Validate

func (v *ApparentPower) Validate() error

Validate reports the first constraint of the schema that v violates.

type ApplianceLoadReduction

type ApplianceLoadReduction struct {
	Type                       ApplianceLoadReductionType `xml:"urn:ieee:std:2030.5:ns type"`
	ApplianceLoadReductionR2_3 *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns ApplianceLoadReduction_r2_3,omitempty"`
	Extensions                 []ExtensionElement         `xml:",any"`
}

ApplianceLoadReduction is generated from the XML Schema type ApplianceLoadReduction in namespace urn:ieee:std:2030.5:ns.

func (*ApplianceLoadReduction) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ApplianceLoadReduction) Strip2018 added in v0.4.0

func (v *ApplianceLoadReduction) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ApplianceLoadReduction) Validate

func (v *ApplianceLoadReduction) Validate() error

Validate reports the first constraint of the schema that v violates.

type ApplianceLoadReductionType

type ApplianceLoadReductionType uint8

ApplianceLoadReductionType is generated from the XML Schema type ApplianceLoadReductionType in namespace urn:ieee:std:2030.5:ns.

type AppliedTargetReduction

type AppliedTargetReduction struct {
	Type                       UnitType           `xml:"urn:ieee:std:2030.5:ns type"`
	Value                      UInt16             `xml:"urn:ieee:std:2030.5:ns value"`
	AppliedTargetReductionR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns AppliedTargetReduction_r2_3,omitempty"`
	Extensions                 []ExtensionElement `xml:",any"`
}

AppliedTargetReduction is generated from the XML Schema type AppliedTargetReduction in namespace urn:ieee:std:2030.5:ns.

func (*AppliedTargetReduction) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AppliedTargetReduction) Strip2018 added in v0.4.0

func (v *AppliedTargetReduction) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AppliedTargetReduction) Validate

func (v *AppliedTargetReduction) Validate() error

Validate reports the first constraint of the schema that v violates.

type AssociatedDERProgramListLink struct {
	ListLink
	AssociatedDERProgramListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AssociatedDERProgramListLink_r2_3,omitempty"`
}

AssociatedDERProgramListLink is generated from the XML Schema type AssociatedDERProgramListLink in namespace urn:ieee:std:2030.5:ns.

func (*AssociatedDERProgramListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AssociatedDERProgramListLink) Strip2018 added in v0.4.0

func (v *AssociatedDERProgramListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AssociatedDERProgramListLink) Validate

func (v *AssociatedDERProgramListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type AssociatedUsagePointLink struct {
	Link
	AssociatedUsagePointLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns AssociatedUsagePointLink_r2_3,omitempty"`
}

AssociatedUsagePointLink is generated from the XML Schema type AssociatedUsagePointLink in namespace urn:ieee:std:2030.5:ns.

func (*AssociatedUsagePointLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*AssociatedUsagePointLink) Strip2018 added in v0.4.0

func (v *AssociatedUsagePointLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*AssociatedUsagePointLink) Validate

func (v *AssociatedUsagePointLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingMeterReadingBase

type BillingMeterReadingBase struct {
	MeterReadingBase
	BillingReadingSetListLink   *BillingReadingSetListLink `xml:"urn:ieee:std:2030.5:ns BillingReadingSetListLink,omitempty"`
	ReadingTypeLink             *ReadingTypeLink           `xml:"urn:ieee:std:2030.5:ns ReadingTypeLink,omitempty"`
	BillingMeterReadingBaseR2_3 *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns BillingMeterReadingBase_r2_3,omitempty"`
}

BillingMeterReadingBase is generated from the XML Schema type BillingMeterReadingBase in namespace urn:ieee:std:2030.5:ns.

func (v *BillingMeterReadingBase) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*BillingMeterReadingBase) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingMeterReadingBase) Strip2018 added in v0.4.0

func (v *BillingMeterReadingBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingMeterReadingBase) Validate

func (v *BillingMeterReadingBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingPeriod

type BillingPeriod struct {
	Resource
	BillLastPeriod    *Int48           `xml:"urn:ieee:std:2030.5:ns billLastPeriod,omitempty"`
	BillToDate        *Int48           `xml:"urn:ieee:std:2030.5:ns billToDate,omitempty"`
	Interval          DateTimeInterval `xml:"urn:ieee:std:2030.5:ns interval"`
	StatusTimeStamp   *TimeType        `xml:"urn:ieee:std:2030.5:ns statusTimeStamp,omitempty"`
	BillingPeriodR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingPeriod_r2_3,omitempty"`
}

BillingPeriod is generated from the XML Schema type BillingPeriod in namespace urn:ieee:std:2030.5:ns.

func (*BillingPeriod) Clone added in v0.4.0

func (v *BillingPeriod) Clone() *BillingPeriod

Clone returns a deep copy of v, or nil.

func (*BillingPeriod) Strip2018 added in v0.4.0

func (v *BillingPeriod) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingPeriod) Validate

func (v *BillingPeriod) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingPeriodList

type BillingPeriodList struct {
	SubscribableList
	BillingPeriod         []BillingPeriod  `xml:"urn:ieee:std:2030.5:ns BillingPeriod,omitempty"`
	BillingPeriodListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingPeriodList_r2_3,omitempty"`
}

BillingPeriodList is generated from the XML Schema type BillingPeriodList in namespace urn:ieee:std:2030.5:ns.

func (*BillingPeriodList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingPeriodList) ListItemElement added in v0.4.0

func (v *BillingPeriodList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*BillingPeriodList) ListItems added in v0.4.0

func (v *BillingPeriodList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*BillingPeriodList) NewListItem added in v0.4.0

func (v *BillingPeriodList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*BillingPeriodList) SetListCounts added in v0.4.0

func (v *BillingPeriodList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*BillingPeriodList) SetListItems added in v0.4.0

func (v *BillingPeriodList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a BillingPeriod or a pointer to one.

func (*BillingPeriodList) Strip2018 added in v0.4.0

func (v *BillingPeriodList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingPeriodList) Validate

func (v *BillingPeriodList) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingPeriodListLink struct {
	ListLink
	BillingPeriodListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingPeriodListLink_r2_3,omitempty"`
}

BillingPeriodListLink is generated from the XML Schema type BillingPeriodListLink in namespace urn:ieee:std:2030.5:ns.

func (*BillingPeriodListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingPeriodListLink) Strip2018 added in v0.4.0

func (v *BillingPeriodListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingPeriodListLink) Validate

func (v *BillingPeriodListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReading

type BillingReading struct {
	ReadingBase
	Charge             []Charge         `xml:"urn:ieee:std:2030.5:ns Charge,omitempty"`
	BillingReadingR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingReading_r2_3,omitempty"`
}

BillingReading is generated from the XML Schema type BillingReading in namespace urn:ieee:std:2030.5:ns.

func (*BillingReading) Clone added in v0.4.0

func (v *BillingReading) Clone() *BillingReading

Clone returns a deep copy of v, or nil.

func (*BillingReading) Strip2018 added in v0.4.0

func (v *BillingReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReading) Validate

func (v *BillingReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReadingList

type BillingReadingList struct {
	List
	BillingReading         []BillingReading `xml:"urn:ieee:std:2030.5:ns BillingReading,omitempty"`
	BillingReadingListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingReadingList_r2_3,omitempty"`
}

BillingReadingList is generated from the XML Schema type BillingReadingList in namespace urn:ieee:std:2030.5:ns.

func (*BillingReadingList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingReadingList) ListItemElement added in v0.4.0

func (v *BillingReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*BillingReadingList) ListItems added in v0.4.0

func (v *BillingReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*BillingReadingList) NewListItem added in v0.4.0

func (v *BillingReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*BillingReadingList) SetListCounts added in v0.4.0

func (v *BillingReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*BillingReadingList) SetListItems added in v0.4.0

func (v *BillingReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a BillingReading or a pointer to one.

func (*BillingReadingList) Strip2018 added in v0.4.0

func (v *BillingReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReadingList) Validate

func (v *BillingReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReadingListLink struct {
	ListLink
	BillingReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingReadingListLink_r2_3,omitempty"`
}

BillingReadingListLink is generated from the XML Schema type BillingReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*BillingReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingReadingListLink) Strip2018 added in v0.4.0

func (v *BillingReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReadingListLink) Validate

func (v *BillingReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReadingSet

type BillingReadingSet struct {
	ReadingSetBase
	BillingReadingListLink *BillingReadingListLink `xml:"urn:ieee:std:2030.5:ns BillingReadingListLink,omitempty"`
	BillingReadingSetR2_3  *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns BillingReadingSet_r2_3,omitempty"`
}

BillingReadingSet is generated from the XML Schema type BillingReadingSet in namespace urn:ieee:std:2030.5:ns.

func (v *BillingReadingSet) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*BillingReadingSet) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingReadingSet) Strip2018 added in v0.4.0

func (v *BillingReadingSet) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReadingSet) Validate

func (v *BillingReadingSet) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReadingSetList

type BillingReadingSetList struct {
	SubscribableList
	BillingReadingSet         []BillingReadingSet `xml:"urn:ieee:std:2030.5:ns BillingReadingSet,omitempty"`
	BillingReadingSetListR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns BillingReadingSetList_r2_3,omitempty"`
}

BillingReadingSetList is generated from the XML Schema type BillingReadingSetList in namespace urn:ieee:std:2030.5:ns.

func (v *BillingReadingSetList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*BillingReadingSetList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingReadingSetList) ListItemElement added in v0.4.0

func (v *BillingReadingSetList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*BillingReadingSetList) ListItems added in v0.4.0

func (v *BillingReadingSetList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*BillingReadingSetList) NewListItem added in v0.4.0

func (v *BillingReadingSetList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*BillingReadingSetList) SetListCounts added in v0.4.0

func (v *BillingReadingSetList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*BillingReadingSetList) SetListItems added in v0.4.0

func (v *BillingReadingSetList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a BillingReadingSet or a pointer to one.

func (*BillingReadingSetList) Strip2018 added in v0.4.0

func (v *BillingReadingSetList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReadingSetList) Validate

func (v *BillingReadingSetList) Validate() error

Validate reports the first constraint of the schema that v violates.

type BillingReadingSetListLink struct {
	ListLink
	BillingReadingSetListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns BillingReadingSetListLink_r2_3,omitempty"`
}

BillingReadingSetListLink is generated from the XML Schema type BillingReadingSetListLink in namespace urn:ieee:std:2030.5:ns.

func (*BillingReadingSetListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*BillingReadingSetListLink) Strip2018 added in v0.4.0

func (v *BillingReadingSetListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*BillingReadingSetListLink) Validate

func (v *BillingReadingSetListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Charge

type Charge struct {
	Description *String20          `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Kind        *ChargeKind        `xml:"urn:ieee:std:2030.5:ns kind,omitempty"`
	Value       Int32              `xml:"urn:ieee:std:2030.5:ns value"`
	ChargeR2_3  *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Charge_r2_3,omitempty"`
	Extensions  []ExtensionElement `xml:",any"`
}

Charge is generated from the XML Schema type Charge in namespace urn:ieee:std:2030.5:ns.

func (*Charge) Clone added in v0.4.0

func (v *Charge) Clone() *Charge

Clone returns a deep copy of v, or nil.

func (*Charge) Strip2018 added in v0.4.0

func (v *Charge) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Charge) Validate

func (v *Charge) Validate() error

Validate reports the first constraint of the schema that v violates.

type ChargeKind

type ChargeKind uint8

ChargeKind is generated from the XML Schema type ChargeKind in namespace urn:ieee:std:2030.5:ns.

type Codec added in v0.4.0

type Codec interface {
	Marshal(v any) ([]byte, error)
	Unmarshal(data []byte, v any) error
	Decode(data []byte) (any, error)
}

Codec encodes and decodes IEEE 2030.5 documents. StandardCodec is the one of this package; a profile package such as csipaus has its own.

var StandardCodec Codec = standardCodec{}

StandardCodec is the Codec of Marshal, Unmarshal and Decode.

type CommodityType

type CommodityType uint8

CommodityType is generated from the XML Schema type CommodityType in namespace urn:ieee:std:2030.5:ns.

type Condition

type Condition struct {
	AttributeIdentifier UInt8              `xml:"urn:ieee:std:2030.5:ns attributeIdentifier"`
	LowerThreshold      Int48              `xml:"urn:ieee:std:2030.5:ns lowerThreshold"`
	UpperThreshold      Int48              `xml:"urn:ieee:std:2030.5:ns upperThreshold"`
	ConditionR2_3       *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Condition_r2_3,omitempty"`
	Extensions          []ExtensionElement `xml:",any"`
}

Condition is generated from the XML Schema type Condition in namespace urn:ieee:std:2030.5:ns.

func (*Condition) Clone added in v0.4.0

func (v *Condition) Clone() *Condition

Clone returns a deep copy of v, or nil.

func (*Condition) Strip2018 added in v0.4.0

func (v *Condition) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Condition) Validate

func (v *Condition) Validate() error

Validate reports the first constraint of the schema that v violates.

type Configuration

type Configuration struct {
	SubscribableResource
	CurrentLocale            LocaleType                `xml:"urn:ieee:std:2030.5:ns currentLocale"`
	PowerConfiguration       *PowerConfiguration       `xml:"urn:ieee:std:2030.5:ns PowerConfiguration,omitempty"`
	PriceResponseCfgListLink *PriceResponseCfgListLink `xml:"urn:ieee:std:2030.5:ns PriceResponseCfgListLink,omitempty"`
	TimeConfiguration        *TimeConfiguration        `xml:"urn:ieee:std:2030.5:ns TimeConfiguration,omitempty"`
	UserDeviceName           String32                  `xml:"urn:ieee:std:2030.5:ns userDeviceName"`
	ConfigurationR2_3        *Revision2_3Type          `xml:"urn:ieee:std:2030.5:ns Configuration_r2_3,omitempty"`
	PollRate                 *UInt32                   `xml:"pollRate,attr,omitempty"`
}

Configuration is generated from the XML Schema type Configuration in namespace urn:ieee:std:2030.5:ns.

func (v *Configuration) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*Configuration) Clone added in v0.4.0

func (v *Configuration) Clone() *Configuration

Clone returns a deep copy of v, or nil.

func (*Configuration) GetPollRate

func (v *Configuration) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*Configuration) Strip2018 added in v0.4.0

func (v *Configuration) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Configuration) Validate

func (v *Configuration) Validate() error

Validate reports the first constraint of the schema that v violates.

type ConfigurationLink struct {
	Link
	ConfigurationLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ConfigurationLink_r2_3,omitempty"`
}

ConfigurationLink is generated from the XML Schema type ConfigurationLink in namespace urn:ieee:std:2030.5:ns.

func (*ConfigurationLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConfigurationLink) Strip2018 added in v0.4.0

func (v *ConfigurationLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConfigurationLink) Validate

func (v *ConfigurationLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Conformance

type Conformance uint8

Conformance is the support IEEE 2030.5 requires of a server for a method on a resource (the wx:mode of the WADL).

const (
	// ConformanceMandatory: the server supports the method.
	ConformanceMandatory Conformance = iota + 1
	// ConformanceOptional: the server may support the method.
	ConformanceOptional
	// ConformanceDiscouraged: the server should not support the method.
	ConformanceDiscouraged
	// ConformanceError: the server answers the method with an error.
	ConformanceError
)

Conformance levels.

type ConnectStatusType

type ConnectStatusType struct {
	DateTime              TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                 HexBinary8         `xml:"urn:ieee:std:2030.5:ns value"`
	ConnectStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns ConnectStatusType_r2_3,omitempty"`
	Extensions            []ExtensionElement `xml:",any"`
}

ConnectStatusType is generated from the XML Schema type ConnectStatusType in namespace urn:ieee:std:2030.5:ns.

func (*ConnectStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConnectStatusType) Strip2018 added in v0.4.0

func (v *ConnectStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConnectStatusType) Validate

func (v *ConnectStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ConnectStatusType2

type ConnectStatusType2 struct {
	DateTime               TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                  HexBinary8         `xml:"urn:ieee:std:2030.5:ns value"`
	ConnectStatusType2R2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns ConnectStatusType2_r2_3,omitempty"`
	Extensions             []ExtensionElement `xml:",any"`
}

ConnectStatusType2 is generated from the XML Schema type ConnectStatusType2 in namespace urn:ieee:std:2030.5:ns.

func (*ConnectStatusType2) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConnectStatusType2) Strip2018 added in v0.4.0

func (v *ConnectStatusType2) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConnectStatusType2) Validate

func (v *ConnectStatusType2) Validate() error

Validate reports the first constraint of the schema that v violates.

type ConsumptionBlockType

type ConsumptionBlockType uint8

ConsumptionBlockType is generated from the XML Schema type ConsumptionBlockType in namespace urn:ieee:std:2030.5:ns.

type ConsumptionTariffInterval

type ConsumptionTariffInterval struct {
	Resource
	ConsumptionBlock              ConsumptionBlockType `xml:"urn:ieee:std:2030.5:ns consumptionBlock"`
	EnvironmentalCost             []EnvironmentalCost  `xml:"urn:ieee:std:2030.5:ns EnvironmentalCost,omitempty"`
	Price                         *Int32               `xml:"urn:ieee:std:2030.5:ns price,omitempty"`
	StartValue                    UInt48               `xml:"urn:ieee:std:2030.5:ns startValue"`
	ConsumptionTariffIntervalR2_3 *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns ConsumptionTariffInterval_r2_3,omitempty"`
}

ConsumptionTariffInterval is generated from the XML Schema type ConsumptionTariffInterval in namespace urn:ieee:std:2030.5:ns.

func (*ConsumptionTariffInterval) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConsumptionTariffInterval) Strip2018 added in v0.4.0

func (v *ConsumptionTariffInterval) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConsumptionTariffInterval) Validate

func (v *ConsumptionTariffInterval) Validate() error

Validate reports the first constraint of the schema that v violates.

type ConsumptionTariffIntervalList

type ConsumptionTariffIntervalList struct {
	List
	ConsumptionTariffInterval         []ConsumptionTariffInterval `xml:"urn:ieee:std:2030.5:ns ConsumptionTariffInterval,omitempty"`
	ConsumptionTariffIntervalListR2_3 *Revision2_3Type            `xml:"urn:ieee:std:2030.5:ns ConsumptionTariffIntervalList_r2_3,omitempty"`
}

ConsumptionTariffIntervalList is generated from the XML Schema type ConsumptionTariffIntervalList in namespace urn:ieee:std:2030.5:ns.

func (*ConsumptionTariffIntervalList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConsumptionTariffIntervalList) ListItemElement added in v0.4.0

func (v *ConsumptionTariffIntervalList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ConsumptionTariffIntervalList) ListItems added in v0.4.0

func (v *ConsumptionTariffIntervalList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ConsumptionTariffIntervalList) NewListItem added in v0.4.0

func (v *ConsumptionTariffIntervalList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ConsumptionTariffIntervalList) SetListCounts added in v0.4.0

func (v *ConsumptionTariffIntervalList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ConsumptionTariffIntervalList) SetListItems added in v0.4.0

func (v *ConsumptionTariffIntervalList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a ConsumptionTariffInterval or a pointer to one.

func (*ConsumptionTariffIntervalList) Strip2018 added in v0.4.0

func (v *ConsumptionTariffIntervalList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConsumptionTariffIntervalList) Validate

func (v *ConsumptionTariffIntervalList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ConsumptionTariffIntervalListLink struct {
	ListLink
	ConsumptionTariffIntervalListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ConsumptionTariffIntervalListLink_r2_3,omitempty"`
}

ConsumptionTariffIntervalListLink is generated from the XML Schema type ConsumptionTariffIntervalListLink in namespace urn:ieee:std:2030.5:ns.

func (*ConsumptionTariffIntervalListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ConsumptionTariffIntervalListLink) Strip2018 added in v0.4.0

func (v *ConsumptionTariffIntervalListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ConsumptionTariffIntervalListLink) Validate

Validate reports the first constraint of the schema that v violates.

type CostKindType

type CostKindType uint8

CostKindType is generated from the XML Schema type CostKindType in namespace urn:ieee:std:2030.5:ns.

type CountryType

type CountryType string

CountryType is generated from the XML Schema type CountryType in namespace urn:ieee:std:2030.5:ns.

func (CountryType) Validate

func (v CountryType) Validate() error

Validate reports whether v violates a facet of CountryType.

type CreditRegister

type CreditRegister struct {
	IdentifiedObject
	CreditAmount       AccountingUnit   `xml:"urn:ieee:std:2030.5:ns creditAmount"`
	CreditType         *CreditTypeType  `xml:"urn:ieee:std:2030.5:ns creditType,omitempty"`
	EffectiveTime      TimeType         `xml:"urn:ieee:std:2030.5:ns effectiveTime"`
	Token              String32         `xml:"urn:ieee:std:2030.5:ns token"`
	CreditRegisterR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CreditRegister_r2_3,omitempty"`
}

CreditRegister is generated from the XML Schema type CreditRegister in namespace urn:ieee:std:2030.5:ns.

func (*CreditRegister) Clone added in v0.4.0

func (v *CreditRegister) Clone() *CreditRegister

Clone returns a deep copy of v, or nil.

func (*CreditRegister) Strip2018 added in v0.4.0

func (v *CreditRegister) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CreditRegister) Validate

func (v *CreditRegister) Validate() error

Validate reports the first constraint of the schema that v violates.

type CreditRegisterList

type CreditRegisterList struct {
	List
	CreditRegister         []CreditRegister `xml:"urn:ieee:std:2030.5:ns CreditRegister,omitempty"`
	CreditRegisterListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CreditRegisterList_r2_3,omitempty"`
}

CreditRegisterList is generated from the XML Schema type CreditRegisterList in namespace urn:ieee:std:2030.5:ns.

func (*CreditRegisterList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CreditRegisterList) ListItemElement added in v0.4.0

func (v *CreditRegisterList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*CreditRegisterList) ListItems added in v0.4.0

func (v *CreditRegisterList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*CreditRegisterList) NewListItem added in v0.4.0

func (v *CreditRegisterList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*CreditRegisterList) SetListCounts added in v0.4.0

func (v *CreditRegisterList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*CreditRegisterList) SetListItems added in v0.4.0

func (v *CreditRegisterList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a CreditRegister or a pointer to one.

func (*CreditRegisterList) Strip2018 added in v0.4.0

func (v *CreditRegisterList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CreditRegisterList) Validate

func (v *CreditRegisterList) Validate() error

Validate reports the first constraint of the schema that v violates.

type CreditRegisterListLink struct {
	ListLink
	CreditRegisterListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CreditRegisterListLink_r2_3,omitempty"`
}

CreditRegisterListLink is generated from the XML Schema type CreditRegisterListLink in namespace urn:ieee:std:2030.5:ns.

func (*CreditRegisterListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CreditRegisterListLink) Strip2018 added in v0.4.0

func (v *CreditRegisterListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CreditRegisterListLink) Validate

func (v *CreditRegisterListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type CreditStatusType

type CreditStatusType uint8

CreditStatusType is generated from the XML Schema type CreditStatusType in namespace urn:ieee:std:2030.5:ns.

type CreditTypeChange

type CreditTypeChange struct {
	NewType              CreditTypeType     `xml:"urn:ieee:std:2030.5:ns newType"`
	StartTime            TimeType           `xml:"urn:ieee:std:2030.5:ns startTime"`
	CreditTypeChangeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns CreditTypeChange_r2_3,omitempty"`
	Extensions           []ExtensionElement `xml:",any"`
}

CreditTypeChange is generated from the XML Schema type CreditTypeChange in namespace urn:ieee:std:2030.5:ns.

func (*CreditTypeChange) Clone added in v0.4.0

func (v *CreditTypeChange) Clone() *CreditTypeChange

Clone returns a deep copy of v, or nil.

func (*CreditTypeChange) Strip2018 added in v0.4.0

func (v *CreditTypeChange) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CreditTypeChange) Validate

func (v *CreditTypeChange) Validate() error

Validate reports the first constraint of the schema that v violates.

type CreditTypeType

type CreditTypeType uint8

CreditTypeType is generated from the XML Schema type CreditTypeType in namespace urn:ieee:std:2030.5:ns.

type CurrencyCode

type CurrencyCode uint16

CurrencyCode is generated from the XML Schema type CurrencyCode in namespace urn:ieee:std:2030.5:ns.

type CurrentDERControls

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

CurrentDERControls is generated from the XML Schema type CurrentDERControls in namespace urn:ieee:std:2030.5:ns.

func (*CurrentDERControls) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CurrentDERControls) Strip2018 added in v0.4.0

func (v *CurrentDERControls) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CurrentDERControls) Validate

func (v *CurrentDERControls) Validate() error

Validate reports the first constraint of the schema that v violates.

type CurrentDERControlsLink struct {
	Link
	CurrentDERControlsLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CurrentDERControlsLink_r2_3,omitempty"`
}

CurrentDERControlsLink is generated from the XML Schema type CurrentDERControlsLink in namespace urn:ieee:std:2030.5:ns.

func (*CurrentDERControlsLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CurrentDERControlsLink) Strip2018 added in v0.4.0

func (v *CurrentDERControlsLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CurrentDERControlsLink) Validate

func (v *CurrentDERControlsLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type CurrentDERProgramLink struct {
	Link
	CurrentDERProgramLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CurrentDERProgramLink_r2_3,omitempty"`
}

CurrentDERProgramLink is generated from the XML Schema type CurrentDERProgramLink in namespace urn:ieee:std:2030.5:ns.

func (*CurrentDERProgramLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CurrentDERProgramLink) Strip2018 added in v0.4.0

func (v *CurrentDERProgramLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CurrentDERProgramLink) Validate

func (v *CurrentDERProgramLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type CurrentRMS

type CurrentRMS struct {
	Multiplier     PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value          UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	CurrentRMSR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns CurrentRMS_r2_3,omitempty"`
	Extensions     []ExtensionElement       `xml:",any"`
}

CurrentRMS is generated from the XML Schema type CurrentRMS in namespace urn:ieee:std:2030.5:ns.

func (*CurrentRMS) Clone added in v0.4.0

func (v *CurrentRMS) Clone() *CurrentRMS

Clone returns a deep copy of v, or nil.

func (*CurrentRMS) Strip2018 added in v0.4.0

func (v *CurrentRMS) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CurrentRMS) Validate

func (v *CurrentRMS) Validate() error

Validate reports the first constraint of the schema that v violates.

type CurveData

type CurveData struct {
	Excitation    *bool              `xml:"urn:ieee:std:2030.5:ns excitation,omitempty"`
	Xvalue        Int32              `xml:"urn:ieee:std:2030.5:ns xvalue"`
	Yvalue        Int32              `xml:"urn:ieee:std:2030.5:ns yvalue"`
	CurveDataR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns CurveData_r2_3,omitempty"`
	Extensions    []ExtensionElement `xml:",any"`
}

CurveData is generated from the XML Schema type CurveData in namespace urn:ieee:std:2030.5:ns.

func (*CurveData) Clone added in v0.4.0

func (v *CurveData) Clone() *CurveData

Clone returns a deep copy of v, or nil.

func (*CurveData) Strip2018 added in v0.4.0

func (v *CurveData) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CurveData) Validate

func (v *CurveData) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAccount

type CustomerAccount struct {
	IdentifiedObject
	Currency                  UInt16                     `xml:"urn:ieee:std:2030.5:ns currency"`
	CustomerAccount           *String42                  `xml:"urn:ieee:std:2030.5:ns customerAccount,omitempty"`
	CustomerAgreementListLink *CustomerAgreementListLink `xml:"urn:ieee:std:2030.5:ns CustomerAgreementListLink,omitempty"`
	CustomerName              *String42                  `xml:"urn:ieee:std:2030.5:ns customerName,omitempty"`
	PricePowerOfTenMultiplier PowerOfTenMultiplierType   `xml:"urn:ieee:std:2030.5:ns pricePowerOfTenMultiplier"`
	ServiceSupplierLink       *ServiceSupplierLink       `xml:"urn:ieee:std:2030.5:ns ServiceSupplierLink,omitempty"`
	CustomerAccountR2_3       *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns CustomerAccount_r2_3,omitempty"`
}

CustomerAccount is generated from the XML Schema type CustomerAccount in namespace urn:ieee:std:2030.5:ns.

func (v *CustomerAccount) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*CustomerAccount) Clone added in v0.4.0

func (v *CustomerAccount) Clone() *CustomerAccount

Clone returns a deep copy of v, or nil.

func (*CustomerAccount) Strip2018 added in v0.4.0

func (v *CustomerAccount) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAccount) Validate

func (v *CustomerAccount) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAccountLink struct {
	Link
	CustomerAccountLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CustomerAccountLink_r2_3,omitempty"`
}

CustomerAccountLink is generated from the XML Schema type CustomerAccountLink in namespace urn:ieee:std:2030.5:ns.

func (*CustomerAccountLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAccountLink) Strip2018 added in v0.4.0

func (v *CustomerAccountLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAccountLink) Validate

func (v *CustomerAccountLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAccountList

type CustomerAccountList struct {
	SubscribableList
	CustomerAccount         []CustomerAccount `xml:"urn:ieee:std:2030.5:ns CustomerAccount,omitempty"`
	CustomerAccountListR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns CustomerAccountList_r2_3,omitempty"`
	PollRate                *UInt32           `xml:"pollRate,attr,omitempty"`
}

CustomerAccountList is generated from the XML Schema type CustomerAccountList in namespace urn:ieee:std:2030.5:ns.

func (v *CustomerAccountList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*CustomerAccountList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAccountList) GetPollRate

func (v *CustomerAccountList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*CustomerAccountList) ListItemElement added in v0.4.0

func (v *CustomerAccountList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*CustomerAccountList) ListItems added in v0.4.0

func (v *CustomerAccountList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*CustomerAccountList) NewListItem added in v0.4.0

func (v *CustomerAccountList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*CustomerAccountList) SetListCounts added in v0.4.0

func (v *CustomerAccountList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*CustomerAccountList) SetListItems added in v0.4.0

func (v *CustomerAccountList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a CustomerAccount or a pointer to one.

func (*CustomerAccountList) Strip2018 added in v0.4.0

func (v *CustomerAccountList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAccountList) Validate

func (v *CustomerAccountList) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAccountListLink struct {
	ListLink
	CustomerAccountListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CustomerAccountListLink_r2_3,omitempty"`
}

CustomerAccountListLink is generated from the XML Schema type CustomerAccountListLink in namespace urn:ieee:std:2030.5:ns.

func (*CustomerAccountListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAccountListLink) Strip2018 added in v0.4.0

func (v *CustomerAccountListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAccountListLink) Validate

func (v *CustomerAccountListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAgreement

type CustomerAgreement struct {
	IdentifiedObject
	ActiveBillingPeriodListLink     *ActiveBillingPeriodListLink     `xml:"urn:ieee:std:2030.5:ns ActiveBillingPeriodListLink,omitempty"`
	ActiveProjectionReadingListLink *ActiveProjectionReadingListLink `xml:"urn:ieee:std:2030.5:ns ActiveProjectionReadingListLink,omitempty"`
	ActiveTargetReadingListLink     *ActiveTargetReadingListLink     `xml:"urn:ieee:std:2030.5:ns ActiveTargetReadingListLink,omitempty"`
	BillingPeriodListLink           *BillingPeriodListLink           `xml:"urn:ieee:std:2030.5:ns BillingPeriodListLink,omitempty"`
	HistoricalReadingListLink       *HistoricalReadingListLink       `xml:"urn:ieee:std:2030.5:ns HistoricalReadingListLink,omitempty"`
	PrepaymentLink                  *PrepaymentLink                  `xml:"urn:ieee:std:2030.5:ns PrepaymentLink,omitempty"`
	ProjectionReadingListLink       *ProjectionReadingListLink       `xml:"urn:ieee:std:2030.5:ns ProjectionReadingListLink,omitempty"`
	ServiceAccount                  *String42                        `xml:"urn:ieee:std:2030.5:ns serviceAccount,omitempty"`
	ServiceLocation                 *String42                        `xml:"urn:ieee:std:2030.5:ns serviceLocation,omitempty"`
	TargetReadingListLink           *TargetReadingListLink           `xml:"urn:ieee:std:2030.5:ns TargetReadingListLink,omitempty"`
	TariffProfileLink               *TariffProfileLink               `xml:"urn:ieee:std:2030.5:ns TariffProfileLink,omitempty"`
	UsagePointLink                  *UsagePointLink                  `xml:"urn:ieee:std:2030.5:ns UsagePointLink,omitempty"`
	CustomerAgreementR2_3           *Revision2_3Type                 `xml:"urn:ieee:std:2030.5:ns CustomerAgreement_r2_3,omitempty"`
}

CustomerAgreement is generated from the XML Schema type CustomerAgreement in namespace urn:ieee:std:2030.5:ns.

func (v *CustomerAgreement) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*CustomerAgreement) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAgreement) Strip2018 added in v0.4.0

func (v *CustomerAgreement) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAgreement) Validate

func (v *CustomerAgreement) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAgreementList

type CustomerAgreementList struct {
	SubscribableList
	CustomerAgreement         []CustomerAgreement `xml:"urn:ieee:std:2030.5:ns CustomerAgreement,omitempty"`
	CustomerAgreementListR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns CustomerAgreementList_r2_3,omitempty"`
}

CustomerAgreementList is generated from the XML Schema type CustomerAgreementList in namespace urn:ieee:std:2030.5:ns.

func (v *CustomerAgreementList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*CustomerAgreementList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAgreementList) ListItemElement added in v0.4.0

func (v *CustomerAgreementList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*CustomerAgreementList) ListItems added in v0.4.0

func (v *CustomerAgreementList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*CustomerAgreementList) NewListItem added in v0.4.0

func (v *CustomerAgreementList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*CustomerAgreementList) SetListCounts added in v0.4.0

func (v *CustomerAgreementList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*CustomerAgreementList) SetListItems added in v0.4.0

func (v *CustomerAgreementList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a CustomerAgreement or a pointer to one.

func (*CustomerAgreementList) Strip2018 added in v0.4.0

func (v *CustomerAgreementList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAgreementList) Validate

func (v *CustomerAgreementList) Validate() error

Validate reports the first constraint of the schema that v violates.

type CustomerAgreementListLink struct {
	ListLink
	CustomerAgreementListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns CustomerAgreementListLink_r2_3,omitempty"`
}

CustomerAgreementListLink is generated from the XML Schema type CustomerAgreementListLink in namespace urn:ieee:std:2030.5:ns.

func (*CustomerAgreementListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*CustomerAgreementListLink) Strip2018 added in v0.4.0

func (v *CustomerAgreementListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*CustomerAgreementListLink) Validate

func (v *CustomerAgreementListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DER

type DER struct {
	SubscribableResource
	AssociatedDERProgramListLink *AssociatedDERProgramListLink `xml:"urn:ieee:std:2030.5:ns AssociatedDERProgramListLink,omitempty"`
	AssociatedUsagePointLink     *AssociatedUsagePointLink     `xml:"urn:ieee:std:2030.5:ns AssociatedUsagePointLink,omitempty"`
	CurrentDERControlsLink       *CurrentDERControlsLink       `xml:"urn:ieee:std:2030.5:ns CurrentDERControlsLink,omitempty"`
	CurrentDERProgramLink        *CurrentDERProgramLink        `xml:"urn:ieee:std:2030.5:ns CurrentDERProgramLink,omitempty"`
	DERAvailabilityLink          *DERAvailabilityLink          `xml:"urn:ieee:std:2030.5:ns DERAvailabilityLink,omitempty"`
	DERCapabilityLink            *DERCapabilityLink            `xml:"urn:ieee:std:2030.5:ns DERCapabilityLink,omitempty"`
	DERComponentListLink         *DERComponentListLink         `xml:"urn:ieee:std:2030.5:ns DERComponentListLink,omitempty"`
	DERSettingsLink              *DERSettingsLink              `xml:"urn:ieee:std:2030.5:ns DERSettingsLink,omitempty"`
	DERStatusLink                *DERStatusLink                `xml:"urn:ieee:std:2030.5:ns DERStatusLink,omitempty"`
	DERR2_3                      *Revision2_3Type              `xml:"urn:ieee:std:2030.5:ns DER_r2_3,omitempty"`
}

DER is generated from the XML Schema type DER in namespace urn:ieee:std:2030.5:ns.

func (v *DER) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DER) Clone added in v0.4.0

func (v *DER) Clone() *DER

Clone returns a deep copy of v, or nil.

func (*DER) Strip2018 added in v0.4.0

func (v *DER) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DER) Validate

func (v *DER) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERAvailability

type DERAvailability struct {
	SubscribableResource
	AvailabilityDuration *UInt32                `xml:"urn:ieee:std:2030.5:ns availabilityDuration,omitempty"`
	MaxChargeDuration    *UInt32                `xml:"urn:ieee:std:2030.5:ns maxChargeDuration,omitempty"`
	ReadingTime          TimeType               `xml:"urn:ieee:std:2030.5:ns readingTime"`
	ReserveChargePercent *PerCent               `xml:"urn:ieee:std:2030.5:ns reserveChargePercent,omitempty"`
	ReservePercent       *PerCent               `xml:"urn:ieee:std:2030.5:ns reservePercent,omitempty"`
	StatVarAbsorbAvail   *UnsignedReactivePower `xml:"urn:ieee:std:2030.5:ns statVarAbsorbAvail,omitempty"`
	StatVarAvail         *ReactivePower         `xml:"urn:ieee:std:2030.5:ns statVarAvail,omitempty"`
	StatWAbsorbAvail     *UnsignedActivePower   `xml:"urn:ieee:std:2030.5:ns statWAbsorbAvail,omitempty"`
	StatWAvail           *ActivePower           `xml:"urn:ieee:std:2030.5:ns statWAvail,omitempty"`
	DERAvailabilityR2_3  *Revision2_3Type       `xml:"urn:ieee:std:2030.5:ns DERAvailability_r2_3,omitempty"`
}

DERAvailability is generated from the XML Schema type DERAvailability in namespace urn:ieee:std:2030.5:ns.

func (*DERAvailability) Clone added in v0.4.0

func (v *DERAvailability) Clone() *DERAvailability

Clone returns a deep copy of v, or nil.

func (*DERAvailability) Strip2018 added in v0.4.0

func (v *DERAvailability) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERAvailability) Validate

func (v *DERAvailability) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERAvailabilityLink struct {
	Link
	DERAvailabilityLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERAvailabilityLink_r2_3,omitempty"`
}

DERAvailabilityLink is generated from the XML Schema type DERAvailabilityLink in namespace urn:ieee:std:2030.5:ns.

func (*DERAvailabilityLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERAvailabilityLink) Strip2018 added in v0.4.0

func (v *DERAvailabilityLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERAvailabilityLink) Validate

func (v *DERAvailabilityLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCapability

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

DERCapability is generated from the XML Schema type DERCapability in namespace urn:ieee:std:2030.5:ns.

func (*DERCapability) Clone added in v0.4.0

func (v *DERCapability) Clone() *DERCapability

Clone returns a deep copy of v, or nil.

func (*DERCapability) Strip2018 added in v0.4.0

func (v *DERCapability) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCapability) Validate

func (v *DERCapability) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCapabilityLink struct {
	Link
	DERCapabilityLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERCapabilityLink_r2_3,omitempty"`
}

DERCapabilityLink is generated from the XML Schema type DERCapabilityLink in namespace urn:ieee:std:2030.5:ns.

func (*DERCapabilityLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERCapabilityLink) Strip2018 added in v0.4.0

func (v *DERCapabilityLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCapabilityLink) Validate

func (v *DERCapabilityLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERComponent

type DERComponent struct {
	DERComponentBase
	LFDI             HexBinary160     `xml:"urn:ieee:std:2030.5:ns lFDI"`
	DERComponentR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERComponent_r2_3,omitempty"`
}

DERComponent is generated from the XML Schema type DERComponent in namespace urn:ieee:std:2030.5:ns.

func (v *DERComponent) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERComponent) Clone added in v0.4.0

func (v *DERComponent) Clone() *DERComponent

Clone returns a deep copy of v, or nil.

func (*DERComponent) Strip2018 added in v0.4.0

func (v *DERComponent) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERComponent) Validate

func (v *DERComponent) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERComponentBase

type DERComponentBase struct {
	SubscribableResource
	AssociatedUsagePointLink *AssociatedUsagePointLink `xml:"urn:ieee:std:2030.5:ns AssociatedUsagePointLink,omitempty"`
	DERAvailabilityLink      *DERAvailabilityLink      `xml:"urn:ieee:std:2030.5:ns DERAvailabilityLink,omitempty"`
	DERCapabilityLink        *DERCapabilityLink        `xml:"urn:ieee:std:2030.5:ns DERCapabilityLink,omitempty"`
	DERSettingsLink          *DERSettingsLink          `xml:"urn:ieee:std:2030.5:ns DERSettingsLink,omitempty"`
	DERStatusLink            *DERStatusLink            `xml:"urn:ieee:std:2030.5:ns DERStatusLink,omitempty"`
	DERComponentBaseR2_3     *Revision2_3Type          `xml:"urn:ieee:std:2030.5:ns DERComponentBase_r2_3,omitempty"`
}

DERComponentBase is generated from the XML Schema type DERComponentBase in namespace urn:ieee:std:2030.5:ns.

func (v *DERComponentBase) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERComponentBase) Clone added in v0.4.0

func (v *DERComponentBase) Clone() *DERComponentBase

Clone returns a deep copy of v, or nil.

func (*DERComponentBase) Strip2018 added in v0.4.0

func (v *DERComponentBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERComponentBase) Validate

func (v *DERComponentBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERComponentList

type DERComponentList struct {
	List
	DERComponent         []DERComponent   `xml:"urn:ieee:std:2030.5:ns DERComponent,omitempty"`
	DERComponentListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERComponentList_r2_3,omitempty"`
}

DERComponentList is generated from the XML Schema type DERComponentList in namespace urn:ieee:std:2030.5:ns.

func (v *DERComponentList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERComponentList) Clone added in v0.4.0

func (v *DERComponentList) Clone() *DERComponentList

Clone returns a deep copy of v, or nil.

func (*DERComponentList) ListItemElement added in v0.4.0

func (v *DERComponentList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DERComponentList) ListItems added in v0.4.0

func (v *DERComponentList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DERComponentList) NewListItem added in v0.4.0

func (v *DERComponentList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DERComponentList) SetListCounts added in v0.4.0

func (v *DERComponentList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DERComponentList) SetListItems added in v0.4.0

func (v *DERComponentList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DERComponent or a pointer to one.

func (*DERComponentList) Strip2018 added in v0.4.0

func (v *DERComponentList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERComponentList) Validate

func (v *DERComponentList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERComponentListLink struct {
	ListLink
	DERComponentListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERComponentListLink_r2_3,omitempty"`
}

DERComponentListLink is generated from the XML Schema type DERComponentListLink in namespace urn:ieee:std:2030.5:ns.

func (*DERComponentListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERComponentListLink) Strip2018 added in v0.4.0

func (v *DERComponentListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERComponentListLink) Validate

func (v *DERComponentListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControl

type DERControl struct {
	RandomizableEvent
	DERControlBase DERControlBase      `xml:"urn:ieee:std:2030.5:ns DERControlBase"`
	DeviceCategory *DeviceCategoryType `xml:"urn:ieee:std:2030.5:ns deviceCategory,omitempty"`
	DERControlR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns DERControl_r2_3,omitempty"`
}

DERControl is generated from the XML Schema type DERControl in namespace urn:ieee:std:2030.5:ns.

func (v *DERControl) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERControl) Clone added in v0.4.0

func (v *DERControl) Clone() *DERControl

Clone returns a deep copy of v, or nil.

func (*DERControl) Strip2018 added in v0.4.0

func (v *DERControl) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERControl) Validate

func (v *DERControl) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControlBase

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

DERControlBase is generated from the XML Schema type DERControlBase in namespace urn:ieee:std:2030.5:ns.

func (v *DERControlBase) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERControlBase) Clone added in v0.4.0

func (v *DERControlBase) Clone() *DERControlBase

Clone returns a deep copy of v, or nil.

func (*DERControlBase) Strip2018 added in v0.4.0

func (v *DERControlBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERControlBase) Validate

func (v *DERControlBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControlList

type DERControlList struct {
	SubscribableList
	DERControl         []DERControl     `xml:"urn:ieee:std:2030.5:ns DERControl,omitempty"`
	DERControlListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERControlList_r2_3,omitempty"`
}

DERControlList is generated from the XML Schema type DERControlList in namespace urn:ieee:std:2030.5:ns.

func (v *DERControlList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERControlList) Clone added in v0.4.0

func (v *DERControlList) Clone() *DERControlList

Clone returns a deep copy of v, or nil.

func (*DERControlList) ListItemElement added in v0.4.0

func (v *DERControlList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DERControlList) ListItems added in v0.4.0

func (v *DERControlList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DERControlList) NewListItem added in v0.4.0

func (v *DERControlList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DERControlList) SetListCounts added in v0.4.0

func (v *DERControlList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DERControlList) SetListItems added in v0.4.0

func (v *DERControlList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DERControl or a pointer to one.

func (*DERControlList) Strip2018 added in v0.4.0

func (v *DERControlList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERControlList) Validate

func (v *DERControlList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControlListLink struct {
	ListLink
	DERControlListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERControlListLink_r2_3,omitempty"`
}

DERControlListLink is generated from the XML Schema type DERControlListLink in namespace urn:ieee:std:2030.5:ns.

func (*DERControlListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERControlListLink) Strip2018 added in v0.4.0

func (v *DERControlListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERControlListLink) Validate

func (v *DERControlListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControlResponse

type DERControlResponse struct {
	Response
	ModesResponded         *DERControlType  `xml:"urn:ieee:std:2030.5:ns modesResponded,omitempty"`
	ModesResponded2        *DERControlType2 `xml:"urn:ieee:std:2030.5:ns modesResponded2,omitempty"`
	DERControlResponseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERControlResponse_r2_3,omitempty"`
}

DERControlResponse is generated from the XML Schema type DERControlResponse in namespace urn:ieee:std:2030.5:ns.

func (*DERControlResponse) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERControlResponse) Strip2018 added in v0.4.0

func (v *DERControlResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERControlResponse) Validate

func (v *DERControlResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERControlType

type DERControlType []byte

DERControlType is generated from the XML Schema type DERControlType in namespace urn:ieee:std:2030.5:ns.

func (DERControlType) MarshalText

func (v DERControlType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (DERControlType) String

func (v DERControlType) String() string

String returns v as upper-case hexadecimal.

func (*DERControlType) UnmarshalText

func (v *DERControlType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (DERControlType) Validate

func (v DERControlType) Validate() error

Validate reports whether v violates a facet of DERControlType.

type DERControlType2

type DERControlType2 []byte

DERControlType2 is generated from the XML Schema type DERControlType2 in namespace urn:ieee:std:2030.5:ns.

func (DERControlType2) MarshalText

func (v DERControlType2) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (DERControlType2) String

func (v DERControlType2) String() string

String returns v as upper-case hexadecimal.

func (*DERControlType2) UnmarshalText

func (v *DERControlType2) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (DERControlType2) Validate

func (v DERControlType2) Validate() error

Validate reports whether v violates a facet of DERControlType2.

type DERCurve

type DERCurve struct {
	IdentifiedObject
	AutonomousVRefEnable       *bool                    `xml:"urn:ieee:std:2030.5:ns autonomousVRefEnable,omitempty"`
	AutonomousVRefTimeConstant *UInt32                  `xml:"urn:ieee:std:2030.5:ns autonomousVRefTimeConstant,omitempty"`
	CreationTime               TimeType                 `xml:"urn:ieee:std:2030.5:ns creationTime"`
	CurveData                  []CurveData              `xml:"urn:ieee:std:2030.5:ns CurveData,omitempty"`
	CurveType                  DERCurveType             `xml:"urn:ieee:std:2030.5:ns curveType"`
	OpenLoopTms                *UInt16                  `xml:"urn:ieee:std:2030.5:ns openLoopTms,omitempty"`
	RampDecTms                 *UInt16                  `xml:"urn:ieee:std:2030.5:ns rampDecTms,omitempty"`
	RampIncTms                 *UInt16                  `xml:"urn:ieee:std:2030.5:ns rampIncTms,omitempty"`
	RampPT1Tms                 *UInt16                  `xml:"urn:ieee:std:2030.5:ns rampPT1Tms,omitempty"`
	VRef                       *PerCent                 `xml:"urn:ieee:std:2030.5:ns vRef,omitempty"`
	XMultiplier                PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns xMultiplier"`
	YMultiplier                PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns yMultiplier"`
	YRefType                   DERUnitRefType           `xml:"urn:ieee:std:2030.5:ns yRefType"`
	DERCurveR2_3               *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns DERCurve_r2_3,omitempty"`
}

DERCurve is generated from the XML Schema type DERCurve in namespace urn:ieee:std:2030.5:ns.

func (*DERCurve) Clone added in v0.4.0

func (v *DERCurve) Clone() *DERCurve

Clone returns a deep copy of v, or nil.

func (*DERCurve) GetAutonomousVRefEnable

func (v *DERCurve) GetAutonomousVRefEnable() bool

GetAutonomousVRefEnable returns AutonomousVRefEnable, or its schema default false when it is absent.

func (*DERCurve) Strip2018 added in v0.4.0

func (v *DERCurve) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCurve) Validate

func (v *DERCurve) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCurveControlType

type DERCurveControlType struct {
	DERCurve
	DERCurveControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERCurveControlType_r2_3,omitempty"`
	Disabled                *bool            `xml:"disabled,attr,omitempty"`
}

DERCurveControlType is generated from the XML Schema type DERCurveControlType in namespace urn:ieee:std:2030.5:ns.

func (*DERCurveControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERCurveControlType) GetDisabled

func (v *DERCurveControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*DERCurveControlType) Strip2018 added in v0.4.0

func (v *DERCurveControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCurveControlType) Validate

func (v *DERCurveControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCurveLink struct {
	Link
	DERCurveLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERCurveLink_r2_3,omitempty"`
	Disabled         *bool            `xml:"disabled,attr,omitempty"`
}

DERCurveLink is generated from the XML Schema type DERCurveLink in namespace urn:ieee:std:2030.5:ns.

func (*DERCurveLink) Clone added in v0.4.0

func (v *DERCurveLink) Clone() *DERCurveLink

Clone returns a deep copy of v, or nil.

func (*DERCurveLink) GetDisabled

func (v *DERCurveLink) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*DERCurveLink) Strip2018 added in v0.4.0

func (v *DERCurveLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCurveLink) Validate

func (v *DERCurveLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCurveList

type DERCurveList struct {
	List
	DERCurve         []DERCurve       `xml:"urn:ieee:std:2030.5:ns DERCurve,omitempty"`
	DERCurveListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERCurveList_r2_3,omitempty"`
}

DERCurveList is generated from the XML Schema type DERCurveList in namespace urn:ieee:std:2030.5:ns.

func (*DERCurveList) Clone added in v0.4.0

func (v *DERCurveList) Clone() *DERCurveList

Clone returns a deep copy of v, or nil.

func (*DERCurveList) ListItemElement added in v0.4.0

func (v *DERCurveList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DERCurveList) ListItems added in v0.4.0

func (v *DERCurveList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DERCurveList) NewListItem added in v0.4.0

func (v *DERCurveList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DERCurveList) SetListCounts added in v0.4.0

func (v *DERCurveList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DERCurveList) SetListItems added in v0.4.0

func (v *DERCurveList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DERCurve or a pointer to one.

func (*DERCurveList) Strip2018 added in v0.4.0

func (v *DERCurveList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCurveList) Validate

func (v *DERCurveList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCurveListLink struct {
	ListLink
	DERCurveListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERCurveListLink_r2_3,omitempty"`
}

DERCurveListLink is generated from the XML Schema type DERCurveListLink in namespace urn:ieee:std:2030.5:ns.

func (*DERCurveListLink) Clone added in v0.4.0

func (v *DERCurveListLink) Clone() *DERCurveListLink

Clone returns a deep copy of v, or nil.

func (*DERCurveListLink) Strip2018 added in v0.4.0

func (v *DERCurveListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERCurveListLink) Validate

func (v *DERCurveListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERCurveType

type DERCurveType uint8

DERCurveType is generated from the XML Schema type DERCurveType in namespace urn:ieee:std:2030.5:ns.

type DERLink struct {
	Link
	DERLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERLink_r2_3,omitempty"`
}

DERLink is generated from the XML Schema type DERLink in namespace urn:ieee:std:2030.5:ns.

func (*DERLink) Clone added in v0.4.0

func (v *DERLink) Clone() *DERLink

Clone returns a deep copy of v, or nil.

func (*DERLink) Strip2018 added in v0.4.0

func (v *DERLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERLink) Validate

func (v *DERLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERList

type DERList struct {
	List
	DER         []DER            `xml:"urn:ieee:std:2030.5:ns DER,omitempty"`
	DERListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERList_r2_3,omitempty"`
	PollRate    *UInt32          `xml:"pollRate,attr,omitempty"`
}

DERList is generated from the XML Schema type DERList in namespace urn:ieee:std:2030.5:ns.

func (v *DERList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERList) Clone added in v0.4.0

func (v *DERList) Clone() *DERList

Clone returns a deep copy of v, or nil.

func (*DERList) GetPollRate

func (v *DERList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DERList) ListItemElement added in v0.4.0

func (v *DERList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DERList) ListItems added in v0.4.0

func (v *DERList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DERList) NewListItem added in v0.4.0

func (v *DERList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DERList) SetListCounts added in v0.4.0

func (v *DERList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DERList) SetListItems added in v0.4.0

func (v *DERList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DER or a pointer to one.

func (*DERList) Strip2018 added in v0.4.0

func (v *DERList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERList) Validate

func (v *DERList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERListLink struct {
	ListLink
	DERListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERListLink_r2_3,omitempty"`
}

DERListLink is generated from the XML Schema type DERListLink in namespace urn:ieee:std:2030.5:ns.

func (*DERListLink) Clone added in v0.4.0

func (v *DERListLink) Clone() *DERListLink

Clone returns a deep copy of v, or nil.

func (*DERListLink) Strip2018 added in v0.4.0

func (v *DERListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERListLink) Validate

func (v *DERListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERProgram

type DERProgram struct {
	SubscribableIdentifiedObject
	ActiveDERControlListLink *ActiveDERControlListLink `xml:"urn:ieee:std:2030.5:ns ActiveDERControlListLink,omitempty"`
	DefaultDERControlLink    *DefaultDERControlLink    `xml:"urn:ieee:std:2030.5:ns DefaultDERControlLink,omitempty"`
	DERControlListLink       *DERControlListLink       `xml:"urn:ieee:std:2030.5:ns DERControlListLink,omitempty"`
	DERCurveListLink         *DERCurveListLink         `xml:"urn:ieee:std:2030.5:ns DERCurveListLink,omitempty"`
	Primacy                  PrimacyType               `xml:"urn:ieee:std:2030.5:ns primacy"`
	DERProgramR2_3           *Revision2_3Type          `xml:"urn:ieee:std:2030.5:ns DERProgram_r2_3,omitempty"`
}

DERProgram is generated from the XML Schema type DERProgram in namespace urn:ieee:std:2030.5:ns.

func (v *DERProgram) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERProgram) Clone added in v0.4.0

func (v *DERProgram) Clone() *DERProgram

Clone returns a deep copy of v, or nil.

func (*DERProgram) Strip2018 added in v0.4.0

func (v *DERProgram) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERProgram) Validate

func (v *DERProgram) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERProgramLink struct {
	Link
	DERProgramLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERProgramLink_r2_3,omitempty"`
}

DERProgramLink is generated from the XML Schema type DERProgramLink in namespace urn:ieee:std:2030.5:ns.

func (*DERProgramLink) Clone added in v0.4.0

func (v *DERProgramLink) Clone() *DERProgramLink

Clone returns a deep copy of v, or nil.

func (*DERProgramLink) Strip2018 added in v0.4.0

func (v *DERProgramLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERProgramLink) Validate

func (v *DERProgramLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERProgramList

type DERProgramList struct {
	SubscribableList
	DERProgram         []DERProgram     `xml:"urn:ieee:std:2030.5:ns DERProgram,omitempty"`
	DERProgramListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERProgramList_r2_3,omitempty"`
	PollRate           *UInt32          `xml:"pollRate,attr,omitempty"`
}

DERProgramList is generated from the XML Schema type DERProgramList in namespace urn:ieee:std:2030.5:ns.

func (v *DERProgramList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DERProgramList) Clone added in v0.4.0

func (v *DERProgramList) Clone() *DERProgramList

Clone returns a deep copy of v, or nil.

func (*DERProgramList) GetPollRate

func (v *DERProgramList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DERProgramList) ListItemElement added in v0.4.0

func (v *DERProgramList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DERProgramList) ListItems added in v0.4.0

func (v *DERProgramList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DERProgramList) NewListItem added in v0.4.0

func (v *DERProgramList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DERProgramList) SetListCounts added in v0.4.0

func (v *DERProgramList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DERProgramList) SetListItems added in v0.4.0

func (v *DERProgramList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DERProgram or a pointer to one.

func (*DERProgramList) Strip2018 added in v0.4.0

func (v *DERProgramList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERProgramList) Validate

func (v *DERProgramList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERProgramListLink struct {
	ListLink
	DERProgramListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERProgramListLink_r2_3,omitempty"`
}

DERProgramListLink is generated from the XML Schema type DERProgramListLink in namespace urn:ieee:std:2030.5:ns.

func (*DERProgramListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DERProgramListLink) Strip2018 added in v0.4.0

func (v *DERProgramListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERProgramListLink) Validate

func (v *DERProgramListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERSettings

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

DERSettings is generated from the XML Schema type DERSettings in namespace urn:ieee:std:2030.5:ns.

func (*DERSettings) Clone added in v0.4.0

func (v *DERSettings) Clone() *DERSettings

Clone returns a deep copy of v, or nil.

func (*DERSettings) Strip2018 added in v0.4.0

func (v *DERSettings) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERSettings) Validate

func (v *DERSettings) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERSettingsLink struct {
	Link
	DERSettingsLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERSettingsLink_r2_3,omitempty"`
}

DERSettingsLink is generated from the XML Schema type DERSettingsLink in namespace urn:ieee:std:2030.5:ns.

func (*DERSettingsLink) Clone added in v0.4.0

func (v *DERSettingsLink) Clone() *DERSettingsLink

Clone returns a deep copy of v, or nil.

func (*DERSettingsLink) Strip2018 added in v0.4.0

func (v *DERSettingsLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERSettingsLink) Validate

func (v *DERSettingsLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERStatus

type DERStatus struct {
	SubscribableResource
	AlarmStatus            *HexBinary32                `xml:"urn:ieee:std:2030.5:ns alarmStatus,omitempty"`
	ConnectStatus          *ConnectStatusType2         `xml:"urn:ieee:std:2030.5:ns connectStatus,omitempty"`
	GenConnectStatus       *ConnectStatusType          `xml:"urn:ieee:std:2030.5:ns genConnectStatus,omitempty"`
	InverterStatus         *InverterStatusType         `xml:"urn:ieee:std:2030.5:ns inverterStatus,omitempty"`
	LocalControlModeStatus *LocalControlModeStatusType `xml:"urn:ieee:std:2030.5:ns localControlModeStatus,omitempty"`
	ManufacturerStatus     *ManufacturerStatusType     `xml:"urn:ieee:std:2030.5:ns manufacturerStatus,omitempty"`
	OperationalModeStatus  *OperationalModeStatusType  `xml:"urn:ieee:std:2030.5:ns operationalModeStatus,omitempty"`
	ReadingTime            TimeType                    `xml:"urn:ieee:std:2030.5:ns readingTime"`
	StateOfChargeStatus    *StateOfChargeStatusType    `xml:"urn:ieee:std:2030.5:ns stateOfChargeStatus,omitempty"`
	StorageModeStatus      *StorageModeStatusType      `xml:"urn:ieee:std:2030.5:ns storageModeStatus,omitempty"`
	StorConnectStatus      *ConnectStatusType          `xml:"urn:ieee:std:2030.5:ns storConnectStatus,omitempty"`
	DERStatusR2_3          *Revision2_3Type            `xml:"urn:ieee:std:2030.5:ns DERStatus_r2_3,omitempty"`
}

DERStatus is generated from the XML Schema type DERStatus in namespace urn:ieee:std:2030.5:ns.

func (*DERStatus) Clone added in v0.4.0

func (v *DERStatus) Clone() *DERStatus

Clone returns a deep copy of v, or nil.

func (*DERStatus) Strip2018 added in v0.4.0

func (v *DERStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERStatus) Validate

func (v *DERStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERStatusLink struct {
	Link
	DERStatusLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DERStatusLink_r2_3,omitempty"`
}

DERStatusLink is generated from the XML Schema type DERStatusLink in namespace urn:ieee:std:2030.5:ns.

func (*DERStatusLink) Clone added in v0.4.0

func (v *DERStatusLink) Clone() *DERStatusLink

Clone returns a deep copy of v, or nil.

func (*DERStatusLink) Strip2018 added in v0.4.0

func (v *DERStatusLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DERStatusLink) Validate

func (v *DERStatusLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DERType

type DERType uint8

DERType is generated from the XML Schema type DERType in namespace urn:ieee:std:2030.5:ns.

type DERUnitRefType

type DERUnitRefType uint8

DERUnitRefType is generated from the XML Schema type DERUnitRefType in namespace urn:ieee:std:2030.5:ns.

type DRLCCapabilities

type DRLCCapabilities struct {
	AverageEnergy        RealEnergy         `xml:"urn:ieee:std:2030.5:ns averageEnergy"`
	MaxDemand            ActivePower        `xml:"urn:ieee:std:2030.5:ns maxDemand"`
	OptionsImplemented   HexBinary32        `xml:"urn:ieee:std:2030.5:ns optionsImplemented"`
	DRLCCapabilitiesR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns DRLCCapabilities_r2_3,omitempty"`
	Extensions           []ExtensionElement `xml:",any"`
}

DRLCCapabilities is generated from the XML Schema type DRLCCapabilities in namespace urn:ieee:std:2030.5:ns.

func (*DRLCCapabilities) Clone added in v0.4.0

func (v *DRLCCapabilities) Clone() *DRLCCapabilities

Clone returns a deep copy of v, or nil.

func (*DRLCCapabilities) Strip2018 added in v0.4.0

func (v *DRLCCapabilities) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DRLCCapabilities) Validate

func (v *DRLCCapabilities) Validate() error

Validate reports the first constraint of the schema that v violates.

type DataQualifierType

type DataQualifierType uint8

DataQualifierType is generated from the XML Schema type DataQualifierType in namespace urn:ieee:std:2030.5:ns.

type DateTimeInterval

type DateTimeInterval struct {
	Duration             UInt32             `xml:"urn:ieee:std:2030.5:ns duration"`
	Start                TimeType           `xml:"urn:ieee:std:2030.5:ns start"`
	DateTimeIntervalR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns DateTimeInterval_r2_3,omitempty"`
	Extensions           []ExtensionElement `xml:",any"`
}

DateTimeInterval is generated from the XML Schema type DateTimeInterval in namespace urn:ieee:std:2030.5:ns.

func (*DateTimeInterval) Clone added in v0.4.0

func (v *DateTimeInterval) Clone() *DateTimeInterval

Clone returns a deep copy of v, or nil.

func (*DateTimeInterval) Strip2018 added in v0.4.0

func (v *DateTimeInterval) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DateTimeInterval) Validate

func (v *DateTimeInterval) Validate() error

Validate reports the first constraint of the schema that v violates.

type DefaultDERControl

type DefaultDERControl struct {
	RespondableSubscribableIdentifiedObject
	DERControlBase        DERControlBase   `xml:"urn:ieee:std:2030.5:ns DERControlBase"`
	SetESDelay            *UInt32          `xml:"urn:ieee:std:2030.5:ns setESDelay,omitempty"`
	SetESHighFreq         *UInt16          `xml:"urn:ieee:std:2030.5:ns setESHighFreq,omitempty"`
	SetESHighVolt         *Int16           `xml:"urn:ieee:std:2030.5:ns setESHighVolt,omitempty"`
	SetESLowFreq          *UInt16          `xml:"urn:ieee:std:2030.5:ns setESLowFreq,omitempty"`
	SetESLowVolt          *Int16           `xml:"urn:ieee:std:2030.5:ns setESLowVolt,omitempty"`
	SetESRampTms          *UInt32          `xml:"urn:ieee:std:2030.5:ns setESRampTms,omitempty"`
	SetESRandomDelay      *UInt32          `xml:"urn:ieee:std:2030.5:ns setESRandomDelay,omitempty"`
	SetGradW              *UInt16          `xml:"urn:ieee:std:2030.5:ns setGradW,omitempty"`
	SetSoftGradW          *UInt16          `xml:"urn:ieee:std:2030.5:ns setSoftGradW,omitempty"`
	UpdatedTime           *TimeType        `xml:"urn:ieee:std:2030.5:ns updatedTime,omitempty"`
	DefaultDERControlR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DefaultDERControl_r2_3,omitempty"`
}

DefaultDERControl is generated from the XML Schema type DefaultDERControl in namespace urn:ieee:std:2030.5:ns.

func (v *DefaultDERControl) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DefaultDERControl) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DefaultDERControl) Strip2018 added in v0.4.0

func (v *DefaultDERControl) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DefaultDERControl) Validate

func (v *DefaultDERControl) Validate() error

Validate reports the first constraint of the schema that v violates.

type DefaultDERControlLink struct {
	Link
	DefaultDERControlLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DefaultDERControlLink_r2_3,omitempty"`
}

DefaultDERControlLink is generated from the XML Schema type DefaultDERControlLink in namespace urn:ieee:std:2030.5:ns.

func (*DefaultDERControlLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DefaultDERControlLink) Strip2018 added in v0.4.0

func (v *DefaultDERControlLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DefaultDERControlLink) Validate

func (v *DefaultDERControlLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DefaultDERControlResponse

type DefaultDERControlResponse struct {
	Response
	DefaultsResponded             DefaultDERControlType `xml:"urn:ieee:std:2030.5:ns defaultsResponded"`
	ModesResponded                DERControlType        `xml:"urn:ieee:std:2030.5:ns modesResponded"`
	ModesResponded2               DERControlType2       `xml:"urn:ieee:std:2030.5:ns modesResponded2"`
	DefaultDERControlResponseR2_3 *Revision2_3Type      `xml:"urn:ieee:std:2030.5:ns DefaultDERControlResponse_r2_3,omitempty"`
}

DefaultDERControlResponse is generated from the XML Schema type DefaultDERControlResponse in namespace urn:ieee:std:2030.5:ns.

func (*DefaultDERControlResponse) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DefaultDERControlResponse) Strip2018 added in v0.4.0

func (v *DefaultDERControlResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DefaultDERControlResponse) Validate

func (v *DefaultDERControlResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type DefaultDERControlType

type DefaultDERControlType []byte

DefaultDERControlType is generated from the XML Schema type DefaultDERControlType in namespace urn:ieee:std:2030.5:ns.

func (DefaultDERControlType) MarshalText

func (v DefaultDERControlType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (DefaultDERControlType) String

func (v DefaultDERControlType) String() string

String returns v as upper-case hexadecimal.

func (*DefaultDERControlType) UnmarshalText

func (v *DefaultDERControlType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (DefaultDERControlType) Validate

func (v DefaultDERControlType) Validate() error

Validate reports whether v violates a facet of DefaultDERControlType.

type DeltaBidirectionalType

type DeltaBidirectionalType uint8

DeltaBidirectionalType is generated from the XML Schema type DeltaBidirectionalType in namespace urn:ieee:std:2030.5:ns.

type DemandResponseProgram

type DemandResponseProgram struct {
	IdentifiedObject
	ActiveEndDeviceControlListLink           *ActiveEndDeviceControlListLink `xml:"urn:ieee:std:2030.5:ns ActiveEndDeviceControlListLink,omitempty"`
	AvailabilityUpdatePercentChangeThreshold *PerCent                        `xml:"urn:ieee:std:2030.5:ns availabilityUpdatePercentChangeThreshold,omitempty"`
	AvailabilityUpdatePowerChangeThreshold   *ActivePower                    `xml:"urn:ieee:std:2030.5:ns availabilityUpdatePowerChangeThreshold,omitempty"`
	EndDeviceControlListLink                 *EndDeviceControlListLink       `xml:"urn:ieee:std:2030.5:ns EndDeviceControlListLink,omitempty"`
	Primacy                                  PrimacyType                     `xml:"urn:ieee:std:2030.5:ns primacy"`
	DemandResponseProgramR2_3                *Revision2_3Type                `xml:"urn:ieee:std:2030.5:ns DemandResponseProgram_r2_3,omitempty"`
}

DemandResponseProgram is generated from the XML Schema type DemandResponseProgram in namespace urn:ieee:std:2030.5:ns.

func (v *DemandResponseProgram) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DemandResponseProgram) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DemandResponseProgram) GetAvailabilityUpdatePercentChangeThreshold

func (v *DemandResponseProgram) GetAvailabilityUpdatePercentChangeThreshold() PerCent

GetAvailabilityUpdatePercentChangeThreshold returns AvailabilityUpdatePercentChangeThreshold, or its schema default 0 when it is absent.

func (*DemandResponseProgram) Strip2018 added in v0.4.0

func (v *DemandResponseProgram) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DemandResponseProgram) Validate

func (v *DemandResponseProgram) Validate() error

Validate reports the first constraint of the schema that v violates.

type DemandResponseProgramLink struct {
	Link
	DemandResponseProgramLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DemandResponseProgramLink_r2_3,omitempty"`
}

DemandResponseProgramLink is generated from the XML Schema type DemandResponseProgramLink in namespace urn:ieee:std:2030.5:ns.

func (*DemandResponseProgramLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DemandResponseProgramLink) Strip2018 added in v0.4.0

func (v *DemandResponseProgramLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DemandResponseProgramLink) Validate

func (v *DemandResponseProgramLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DemandResponseProgramList

type DemandResponseProgramList struct {
	SubscribableList
	DemandResponseProgram         []DemandResponseProgram `xml:"urn:ieee:std:2030.5:ns DemandResponseProgram,omitempty"`
	DemandResponseProgramListR2_3 *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns DemandResponseProgramList_r2_3,omitempty"`
	PollRate                      *UInt32                 `xml:"pollRate,attr,omitempty"`
}

DemandResponseProgramList is generated from the XML Schema type DemandResponseProgramList in namespace urn:ieee:std:2030.5:ns.

func (v *DemandResponseProgramList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DemandResponseProgramList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DemandResponseProgramList) GetPollRate

func (v *DemandResponseProgramList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DemandResponseProgramList) ListItemElement added in v0.4.0

func (v *DemandResponseProgramList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*DemandResponseProgramList) ListItems added in v0.4.0

func (v *DemandResponseProgramList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*DemandResponseProgramList) NewListItem added in v0.4.0

func (v *DemandResponseProgramList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*DemandResponseProgramList) SetListCounts added in v0.4.0

func (v *DemandResponseProgramList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*DemandResponseProgramList) SetListItems added in v0.4.0

func (v *DemandResponseProgramList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a DemandResponseProgram or a pointer to one.

func (*DemandResponseProgramList) Strip2018 added in v0.4.0

func (v *DemandResponseProgramList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DemandResponseProgramList) Validate

func (v *DemandResponseProgramList) Validate() error

Validate reports the first constraint of the schema that v violates.

type DemandResponseProgramListLink struct {
	ListLink
	DemandResponseProgramListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DemandResponseProgramListLink_r2_3,omitempty"`
}

DemandResponseProgramListLink is generated from the XML Schema type DemandResponseProgramListLink in namespace urn:ieee:std:2030.5:ns.

func (*DemandResponseProgramListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DemandResponseProgramListLink) Strip2018 added in v0.4.0

func (v *DemandResponseProgramListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DemandResponseProgramListLink) Validate

func (v *DemandResponseProgramListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceCapability

type DeviceCapability struct {
	FunctionSetAssignmentsBase
	EndDeviceListLink        *EndDeviceListLink        `xml:"urn:ieee:std:2030.5:ns EndDeviceListLink,omitempty"`
	MirrorUsagePointListLink *MirrorUsagePointListLink `xml:"urn:ieee:std:2030.5:ns MirrorUsagePointListLink,omitempty"`
	SelfDeviceLink           *SelfDeviceLink           `xml:"urn:ieee:std:2030.5:ns SelfDeviceLink,omitempty"`
	DeviceCapabilityR2_3     *Revision2_3Type          `xml:"urn:ieee:std:2030.5:ns DeviceCapability_r2_3,omitempty"`
	PollRate                 *UInt32                   `xml:"pollRate,attr,omitempty"`
}

DeviceCapability is generated from the XML Schema type DeviceCapability in namespace urn:ieee:std:2030.5:ns.

func (v *DeviceCapability) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DeviceCapability) Clone added in v0.4.0

func (v *DeviceCapability) Clone() *DeviceCapability

Clone returns a deep copy of v, or nil.

func (*DeviceCapability) GetPollRate

func (v *DeviceCapability) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DeviceCapability) Strip2018 added in v0.4.0

func (v *DeviceCapability) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceCapability) Validate

func (v *DeviceCapability) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceCapabilityLink struct {
	Link
	DeviceCapabilityLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DeviceCapabilityLink_r2_3,omitempty"`
}

DeviceCapabilityLink is generated from the XML Schema type DeviceCapabilityLink in namespace urn:ieee:std:2030.5:ns.

func (*DeviceCapabilityLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DeviceCapabilityLink) Strip2018 added in v0.4.0

func (v *DeviceCapabilityLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceCapabilityLink) Validate

func (v *DeviceCapabilityLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceCategoryType

type DeviceCategoryType []byte

DeviceCategoryType is generated from the XML Schema type DeviceCategoryType in namespace urn:ieee:std:2030.5:ns.

func (DeviceCategoryType) MarshalText

func (v DeviceCategoryType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (DeviceCategoryType) String

func (v DeviceCategoryType) String() string

String returns v as upper-case hexadecimal.

func (*DeviceCategoryType) UnmarshalText

func (v *DeviceCategoryType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (DeviceCategoryType) Validate

func (v DeviceCategoryType) Validate() error

Validate reports whether v violates a facet of DeviceCategoryType.

type DeviceInformation

type DeviceInformation struct {
	Resource
	ConnectionPointID       *String32                `xml:"urn:ieee:std:2030.5:ns connectionPointID,omitempty"`
	DRLCCapabilities        *DRLCCapabilities        `xml:"urn:ieee:std:2030.5:ns DRLCCapabilities,omitempty"`
	FunctionsImplemented    *HexBinary64             `xml:"urn:ieee:std:2030.5:ns functionsImplemented,omitempty"`
	GpsLocation             *GPSLocationType         `xml:"urn:ieee:std:2030.5:ns gpsLocation,omitempty"`
	LFDI                    HexBinary160             `xml:"urn:ieee:std:2030.5:ns lFDI"`
	MfDate                  TimeType                 `xml:"urn:ieee:std:2030.5:ns mfDate"`
	MfHwVer                 String32                 `xml:"urn:ieee:std:2030.5:ns mfHwVer"`
	MfID                    PENType                  `xml:"urn:ieee:std:2030.5:ns mfID"`
	MfInfo                  *String32                `xml:"urn:ieee:std:2030.5:ns mfInfo,omitempty"`
	MfModel                 String32                 `xml:"urn:ieee:std:2030.5:ns mfModel"`
	MfSerNum                String32                 `xml:"urn:ieee:std:2030.5:ns mfSerNum"`
	PrimaryPower            PowerSourceType          `xml:"urn:ieee:std:2030.5:ns primaryPower"`
	SecondaryPower          PowerSourceType          `xml:"urn:ieee:std:2030.5:ns secondaryPower"`
	SupportedLocaleListLink *SupportedLocaleListLink `xml:"urn:ieee:std:2030.5:ns SupportedLocaleListLink,omitempty"`
	SwActTime               TimeType                 `xml:"urn:ieee:std:2030.5:ns swActTime"`
	SwVer                   String32                 `xml:"urn:ieee:std:2030.5:ns swVer"`
	DeviceInformationR2_3   *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns DeviceInformation_r2_3,omitempty"`
	PollRate                *UInt32                  `xml:"pollRate,attr,omitempty"`
}

DeviceInformation is generated from the XML Schema type DeviceInformation in namespace urn:ieee:std:2030.5:ns.

func (v *DeviceInformation) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DeviceInformation) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DeviceInformation) GetPollRate

func (v *DeviceInformation) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DeviceInformation) Strip2018 added in v0.4.0

func (v *DeviceInformation) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceInformation) Validate

func (v *DeviceInformation) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceInformationLink struct {
	Link
	DeviceInformationLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DeviceInformationLink_r2_3,omitempty"`
}

DeviceInformationLink is generated from the XML Schema type DeviceInformationLink in namespace urn:ieee:std:2030.5:ns.

func (*DeviceInformationLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*DeviceInformationLink) Strip2018 added in v0.4.0

func (v *DeviceInformationLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceInformationLink) Validate

func (v *DeviceInformationLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceStatus

type DeviceStatus struct {
	Resource
	ChangedTime      TimeType         `xml:"urn:ieee:std:2030.5:ns changedTime"`
	OnCount          *UInt16          `xml:"urn:ieee:std:2030.5:ns onCount,omitempty"`
	OpState          *UInt8           `xml:"urn:ieee:std:2030.5:ns opState,omitempty"`
	OpTime           *UInt32          `xml:"urn:ieee:std:2030.5:ns opTime,omitempty"`
	Temperature      []Temperature    `xml:"urn:ieee:std:2030.5:ns Temperature,omitempty"`
	TimeLink         *TimeLink        `xml:"urn:ieee:std:2030.5:ns TimeLink,omitempty"`
	DeviceStatusR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DeviceStatus_r2_3,omitempty"`
	PollRate         *UInt32          `xml:"pollRate,attr,omitempty"`
}

DeviceStatus is generated from the XML Schema type DeviceStatus in namespace urn:ieee:std:2030.5:ns.

func (v *DeviceStatus) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*DeviceStatus) Clone added in v0.4.0

func (v *DeviceStatus) Clone() *DeviceStatus

Clone returns a deep copy of v, or nil.

func (*DeviceStatus) GetOpState

func (v *DeviceStatus) GetOpState() UInt8

GetOpState returns OpState, or its schema default 0 when it is absent.

func (*DeviceStatus) GetPollRate

func (v *DeviceStatus) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*DeviceStatus) Strip2018 added in v0.4.0

func (v *DeviceStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceStatus) Validate

func (v *DeviceStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type DeviceStatusLink struct {
	Link
	DeviceStatusLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns DeviceStatusLink_r2_3,omitempty"`
}

DeviceStatusLink is generated from the XML Schema type DeviceStatusLink in namespace urn:ieee:std:2030.5:ns.

func (*DeviceStatusLink) Clone added in v0.4.0

func (v *DeviceStatusLink) Clone() *DeviceStatusLink

Clone returns a deep copy of v, or nil.

func (*DeviceStatusLink) Strip2018 added in v0.4.0

func (v *DeviceStatusLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DeviceStatusLink) Validate

func (v *DeviceStatusLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type DrResponse

type DrResponse struct {
	Response
	ApplianceLoadReduction *ApplianceLoadReduction `xml:"urn:ieee:std:2030.5:ns ApplianceLoadReduction,omitempty"`
	AppliedTargetReduction *AppliedTargetReduction `xml:"urn:ieee:std:2030.5:ns AppliedTargetReduction,omitempty"`
	DutyCycle              *DutyCycle              `xml:"urn:ieee:std:2030.5:ns DutyCycle,omitempty"`
	Offset                 *Offset                 `xml:"urn:ieee:std:2030.5:ns Offset,omitempty"`
	OverrideDuration       *UInt16                 `xml:"urn:ieee:std:2030.5:ns overrideDuration,omitempty"`
	SetPoint               *SetPoint               `xml:"urn:ieee:std:2030.5:ns SetPoint,omitempty"`
	DrResponseR2_3         *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns DrResponse_r2_3,omitempty"`
}

DrResponse is generated from the XML Schema type DrResponse in namespace urn:ieee:std:2030.5:ns.

func (*DrResponse) Clone added in v0.4.0

func (v *DrResponse) Clone() *DrResponse

Clone returns a deep copy of v, or nil.

func (*DrResponse) Strip2018 added in v0.4.0

func (v *DrResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DrResponse) Validate

func (v *DrResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type DstRuleType

type DstRuleType []byte

DstRuleType is generated from the XML Schema type DstRuleType in namespace urn:ieee:std:2030.5:ns.

func (DstRuleType) MarshalText

func (v DstRuleType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (DstRuleType) String

func (v DstRuleType) String() string

String returns v as upper-case hexadecimal.

func (*DstRuleType) UnmarshalText

func (v *DstRuleType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (DstRuleType) Validate

func (v DstRuleType) Validate() error

Validate reports whether v violates a facet of DstRuleType.

type DutyCycle

type DutyCycle struct {
	NormalValue   UInt8              `xml:"urn:ieee:std:2030.5:ns normalValue"`
	DutyCycleR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns DutyCycle_r2_3,omitempty"`
	Extensions    []ExtensionElement `xml:",any"`
}

DutyCycle is generated from the XML Schema type DutyCycle in namespace urn:ieee:std:2030.5:ns.

func (*DutyCycle) Clone added in v0.4.0

func (v *DutyCycle) Clone() *DutyCycle

Clone returns a deep copy of v, or nil.

func (*DutyCycle) Strip2018 added in v0.4.0

func (v *DutyCycle) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*DutyCycle) Validate

func (v *DutyCycle) Validate() error

Validate reports the first constraint of the schema that v violates.

type Edition added in v0.4.0

type Edition uint8

Edition is an edition of IEEE 2030.5. The types of this package follow IEEE 2030.5-2023; a document reduced to what IEEE 2030.5-2018 defines is a 2018 document, which 2018 implementations read.

const (
	// Edition2023 is IEEE 2030.5-2023, the edition the types follow.
	Edition2023 Edition = iota
	// Edition2018 is IEEE 2030.5-2018.
	Edition2018
)

Editions of IEEE 2030.5.

func ParseEdition added in v0.4.0

func ParseEdition(s string) (Edition, error)

ParseEdition returns the edition named "2018" or "2023".

func (Edition) Codec added in v0.4.0

func (e Edition) Codec() Codec

Codec returns the Codec of the documents of edition e: it encodes with MarshalEdition and decodes documents of either edition.

func (Edition) String added in v0.4.0

func (e Edition) String() string

type EndDevice

type EndDevice struct {
	ExternalDevice
	ProxiedDeviceListLink *ProxiedDeviceListLink `xml:"urn:ieee:std:2030.5:ns ProxiedDeviceListLink,omitempty"`
	SubscriptionListLink  *SubscriptionListLink  `xml:"urn:ieee:std:2030.5:ns SubscriptionListLink,omitempty"`
	EndDeviceR2_3         *Revision2_3Type       `xml:"urn:ieee:std:2030.5:ns EndDevice_r2_3,omitempty"`
}

EndDevice is generated from the XML Schema type EndDevice in namespace urn:ieee:std:2030.5:ns.

func (v *EndDevice) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*EndDevice) Clone added in v0.4.0

func (v *EndDevice) Clone() *EndDevice

Clone returns a deep copy of v, or nil.

func (*EndDevice) Strip2018 added in v0.4.0

func (v *EndDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDevice) Validate

func (v *EndDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceControl

type EndDeviceControl struct {
	RandomizableEvent
	ApplianceLoadReduction *ApplianceLoadReduction `xml:"urn:ieee:std:2030.5:ns ApplianceLoadReduction,omitempty"`
	DeviceCategory         DeviceCategoryType      `xml:"urn:ieee:std:2030.5:ns deviceCategory"`
	DrProgramMandatory     bool                    `xml:"urn:ieee:std:2030.5:ns drProgramMandatory"`
	DutyCycle              *DutyCycle              `xml:"urn:ieee:std:2030.5:ns DutyCycle,omitempty"`
	LoadShiftForward       bool                    `xml:"urn:ieee:std:2030.5:ns loadShiftForward"`
	Offset                 *Offset                 `xml:"urn:ieee:std:2030.5:ns Offset,omitempty"`
	OverrideDuration       *UInt16                 `xml:"urn:ieee:std:2030.5:ns overrideDuration,omitempty"`
	SetPoint               *SetPoint               `xml:"urn:ieee:std:2030.5:ns SetPoint,omitempty"`
	TargetReduction        *TargetReduction        `xml:"urn:ieee:std:2030.5:ns TargetReduction,omitempty"`
	EndDeviceControlR2_3   *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns EndDeviceControl_r2_3,omitempty"`
}

EndDeviceControl is generated from the XML Schema type EndDeviceControl in namespace urn:ieee:std:2030.5:ns.

func (*EndDeviceControl) Clone added in v0.4.0

func (v *EndDeviceControl) Clone() *EndDeviceControl

Clone returns a deep copy of v, or nil.

func (*EndDeviceControl) GetOverrideDuration

func (v *EndDeviceControl) GetOverrideDuration() UInt16

GetOverrideDuration returns OverrideDuration, or its schema default 0 when it is absent.

func (*EndDeviceControl) Strip2018 added in v0.4.0

func (v *EndDeviceControl) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceControl) Validate

func (v *EndDeviceControl) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceControlList

type EndDeviceControlList struct {
	SubscribableList
	EndDeviceControl         []EndDeviceControl `xml:"urn:ieee:std:2030.5:ns EndDeviceControl,omitempty"`
	EndDeviceControlListR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns EndDeviceControlList_r2_3,omitempty"`
}

EndDeviceControlList is generated from the XML Schema type EndDeviceControlList in namespace urn:ieee:std:2030.5:ns.

func (*EndDeviceControlList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*EndDeviceControlList) ListItemElement added in v0.4.0

func (v *EndDeviceControlList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*EndDeviceControlList) ListItems added in v0.4.0

func (v *EndDeviceControlList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*EndDeviceControlList) NewListItem added in v0.4.0

func (v *EndDeviceControlList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*EndDeviceControlList) SetListCounts added in v0.4.0

func (v *EndDeviceControlList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*EndDeviceControlList) SetListItems added in v0.4.0

func (v *EndDeviceControlList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a EndDeviceControl or a pointer to one.

func (*EndDeviceControlList) Strip2018 added in v0.4.0

func (v *EndDeviceControlList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceControlList) Validate

func (v *EndDeviceControlList) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceControlListLink struct {
	ListLink
	EndDeviceControlListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns EndDeviceControlListLink_r2_3,omitempty"`
}

EndDeviceControlListLink is generated from the XML Schema type EndDeviceControlListLink in namespace urn:ieee:std:2030.5:ns.

func (*EndDeviceControlListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*EndDeviceControlListLink) Strip2018 added in v0.4.0

func (v *EndDeviceControlListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceControlListLink) Validate

func (v *EndDeviceControlListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceLink struct {
	Link
	EndDeviceLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns EndDeviceLink_r2_3,omitempty"`
}

EndDeviceLink is generated from the XML Schema type EndDeviceLink in namespace urn:ieee:std:2030.5:ns.

func (*EndDeviceLink) Clone added in v0.4.0

func (v *EndDeviceLink) Clone() *EndDeviceLink

Clone returns a deep copy of v, or nil.

func (*EndDeviceLink) Strip2018 added in v0.4.0

func (v *EndDeviceLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceLink) Validate

func (v *EndDeviceLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceList

type EndDeviceList struct {
	SubscribableList
	EndDevice         []EndDevice      `xml:"urn:ieee:std:2030.5:ns EndDevice,omitempty"`
	EndDeviceListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns EndDeviceList_r2_3,omitempty"`
	PollRate          *UInt32          `xml:"pollRate,attr,omitempty"`
}

EndDeviceList is generated from the XML Schema type EndDeviceList in namespace urn:ieee:std:2030.5:ns.

func (v *EndDeviceList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*EndDeviceList) Clone added in v0.4.0

func (v *EndDeviceList) Clone() *EndDeviceList

Clone returns a deep copy of v, or nil.

func (*EndDeviceList) GetPollRate

func (v *EndDeviceList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*EndDeviceList) ListItemElement added in v0.4.0

func (v *EndDeviceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*EndDeviceList) ListItems added in v0.4.0

func (v *EndDeviceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*EndDeviceList) NewListItem added in v0.4.0

func (v *EndDeviceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*EndDeviceList) SetListCounts added in v0.4.0

func (v *EndDeviceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*EndDeviceList) SetListItems added in v0.4.0

func (v *EndDeviceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a EndDevice or a pointer to one.

func (*EndDeviceList) Strip2018 added in v0.4.0

func (v *EndDeviceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceList) Validate

func (v *EndDeviceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type EndDeviceListLink struct {
	ListLink
	EndDeviceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns EndDeviceListLink_r2_3,omitempty"`
}

EndDeviceListLink is generated from the XML Schema type EndDeviceListLink in namespace urn:ieee:std:2030.5:ns.

func (*EndDeviceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*EndDeviceListLink) Strip2018 added in v0.4.0

func (v *EndDeviceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EndDeviceListLink) Validate

func (v *EndDeviceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type EnvironmentalCost

type EnvironmentalCost struct {
	Amount                UInt32             `xml:"urn:ieee:std:2030.5:ns amount"`
	CostKind              CostKindType       `xml:"urn:ieee:std:2030.5:ns costKind"`
	CostLevel             UInt8              `xml:"urn:ieee:std:2030.5:ns costLevel"`
	NumCostLevels         UInt8              `xml:"urn:ieee:std:2030.5:ns numCostLevels"`
	EnvironmentalCostR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns EnvironmentalCost_r2_3,omitempty"`
	Extensions            []ExtensionElement `xml:",any"`
}

EnvironmentalCost is generated from the XML Schema type EnvironmentalCost in namespace urn:ieee:std:2030.5:ns.

func (*EnvironmentalCost) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*EnvironmentalCost) Strip2018 added in v0.4.0

func (v *EnvironmentalCost) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EnvironmentalCost) Validate

func (v *EnvironmentalCost) Validate() error

Validate reports the first constraint of the schema that v violates.

type Error

type Error struct {
	MaxRetryDuration *UInt16            `xml:"urn:ieee:std:2030.5:ns maxRetryDuration,omitempty"`
	ReasonCode       UInt16             `xml:"urn:ieee:std:2030.5:ns reasonCode"`
	ErrorR2_3        *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Error_r2_3,omitempty"`
	Extensions       []ExtensionElement `xml:",any"`
}

Error is generated from the XML Schema type Error in namespace urn:ieee:std:2030.5:ns.

func (*Error) Clone added in v0.4.0

func (v *Error) Clone() *Error

Clone returns a deep copy of v, or nil.

func (*Error) Strip2018 added in v0.4.0

func (v *Error) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Error) Validate

func (v *Error) Validate() error

Validate reports the first constraint of the schema that v violates.

type Event

type Event struct {
	RespondableSubscribableIdentifiedObject
	CreationTime TimeType         `xml:"urn:ieee:std:2030.5:ns creationTime"`
	EventStatus  EventStatus      `xml:"urn:ieee:std:2030.5:ns EventStatus"`
	Interval     DateTimeInterval `xml:"urn:ieee:std:2030.5:ns interval"`
	EventR2_3    *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Event_r2_3,omitempty"`
}

Event is generated from the XML Schema type Event in namespace urn:ieee:std:2030.5:ns.

func (*Event) Clone added in v0.4.0

func (v *Event) Clone() *Event

Clone returns a deep copy of v, or nil.

func (*Event) Strip2018 added in v0.4.0

func (v *Event) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Event) Validate

func (v *Event) Validate() error

Validate reports the first constraint of the schema that v violates.

type EventStatus

type EventStatus struct {
	CurrentStatus             UInt8              `xml:"urn:ieee:std:2030.5:ns currentStatus"`
	DateTime                  TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	PotentiallySuperseded     bool               `xml:"urn:ieee:std:2030.5:ns potentiallySuperseded"`
	PotentiallySupersededTime *TimeType          `xml:"urn:ieee:std:2030.5:ns potentiallySupersededTime,omitempty"`
	Reason                    *String192         `xml:"urn:ieee:std:2030.5:ns reason,omitempty"`
	EventStatusR2_3           *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns EventStatus_r2_3,omitempty"`
	Extensions                []ExtensionElement `xml:",any"`
}

EventStatus is generated from the XML Schema type EventStatus in namespace urn:ieee:std:2030.5:ns.

func (*EventStatus) Clone added in v0.4.0

func (v *EventStatus) Clone() *EventStatus

Clone returns a deep copy of v, or nil.

func (*EventStatus) Strip2018 added in v0.4.0

func (v *EventStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*EventStatus) Validate

func (v *EventStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type ExponentialBackoff added in v0.5.0

type ExponentialBackoff struct {
	// Initial is the delay after the first failure; 100 ms when zero.
	Initial time.Duration
	// Max caps the delay; 30 s when zero.
	Max time.Duration
	// Attempts is the number of retries; 3 when zero, unbounded when
	// negative.
	Attempts int
	// NoJitter waits the delay itself, for tests.
	NoJitter bool
}

ExponentialBackoff is the RetryPolicy that makes a call again when Retryable(err) says it may succeed, after a delay that doubles from Initial up to Max, with jitter: the wait is drawn at random between half of the delay and the delay, so that devices that failed together do not come back together. A server's RetryAfter is waited when it is longer.

The zero value retries up to 3 times from 100 ms (Attempts 3, Initial 100 ms, Max 30 s).

Example

The delays of an exponential backoff, without jitter.

package main

import (
	"fmt"
	"time"

	ieee20305 "github.com/otfabric/go-ieee20305"
)

func main() {
	b := ieee20305.ExponentialBackoff{Initial: time.Second, Max: 10 * time.Second, NoJitter: true}
	for attempt := 0; attempt < 5; attempt++ { // 0 is the first call
		fmt.Print(b.Delay(attempt), " ")
	}
	fmt.Println()
}
Output:
1s 2s 4s 8s 10s

func (ExponentialBackoff) Delay added in v0.5.0

func (b ExponentialBackoff) Delay(attempt int) time.Duration

Delay returns the wait after the failure of attempt, regardless of the error and of Attempts.

func (ExponentialBackoff) ShouldRetry added in v0.5.0

func (b ExponentialBackoff) ShouldRetry(attempt int, err error) (bool, time.Duration)

ShouldRetry implements RetryPolicy.

type ExtensionElement

type ExtensionElement struct {
	XMLName  xml.Name
	Attrs    []xml.Attr `xml:",any,attr"`
	InnerXML []byte     `xml:",innerxml"`
}

ExtensionElement is an element in a place where the schema admits elements it does not declare (xs:any): extensions in other namespaces, such as CSIP-AUS elements read through this package, and elements of later revisions of IEEE 2030.5. Decoding keeps them, so that a document can be encoded again without losing them.

The content is kept as raw XML. Namespace prefixes it uses that are declared outside the element are not carried along.

func CloneExtensions added in v0.4.0

func CloneExtensions(es []ExtensionElement) []ExtensionElement

CloneExtensions returns a deep copy of extension elements.

func (ExtensionElement) Clone added in v0.4.0

Clone returns a deep copy of e.

func (*ExtensionElement) UnmarshalXML

func (e *ExtensionElement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

UnmarshalXML decodes the element, dropping namespace declarations from its attributes: the encoder writes the declarations it needs itself.

type ExternalDevice

type ExternalDevice struct {
	AbstractDevice
	ChangedTime                     TimeType                         `xml:"urn:ieee:std:2030.5:ns changedTime"`
	Enabled                         *bool                            `xml:"urn:ieee:std:2030.5:ns enabled,omitempty"`
	FlowReservationRequestListLink  *FlowReservationRequestListLink  `xml:"urn:ieee:std:2030.5:ns FlowReservationRequestListLink,omitempty"`
	FlowReservationResponseListLink *FlowReservationResponseListLink `xml:"urn:ieee:std:2030.5:ns FlowReservationResponseListLink,omitempty"`
	FunctionSetAssignmentsListLink  *FunctionSetAssignmentsListLink  `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignmentsListLink,omitempty"`
	PostRate                        *UInt32                          `xml:"urn:ieee:std:2030.5:ns postRate,omitempty"`
	RegistrationLink                *RegistrationLink                `xml:"urn:ieee:std:2030.5:ns RegistrationLink,omitempty"`
	ExternalDeviceR2_3              *Revision2_3Type                 `xml:"urn:ieee:std:2030.5:ns ExternalDevice_r2_3,omitempty"`
}

ExternalDevice is generated from the XML Schema type ExternalDevice in namespace urn:ieee:std:2030.5:ns.

func (v *ExternalDevice) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ExternalDevice) Clone added in v0.4.0

func (v *ExternalDevice) Clone() *ExternalDevice

Clone returns a deep copy of v, or nil.

func (*ExternalDevice) GetEnabled

func (v *ExternalDevice) GetEnabled() bool

GetEnabled returns Enabled, or its schema default true when it is absent.

func (*ExternalDevice) Strip2018 added in v0.4.0

func (v *ExternalDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ExternalDevice) Validate

func (v *ExternalDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type FieldLogger added in v0.5.0

type FieldLogger interface {
	Logger
	With(kv ...any) FieldLogger
}

FieldLogger is a Logger that keeps fields (key-value pairs) with its lines: With returns one that adds kv to every line. The packages of this module name themselves (component=server, ...) through it when a Logger is one.

func NewSlogLogger added in v0.5.0

func NewSlogLogger(h slog.Handler) FieldLogger

NewSlogLogger returns a FieldLogger that writes to the slog handler h, at the slog levels of the same names.

func NewStdLogger added in v0.5.0

func NewStdLogger(l *log.Logger, debug bool) FieldLogger

NewStdLogger returns a Logger that writes to l (the standard logger when nil), with the level in front of each line, from Info up; NewStdLogger with debug true writes Debug lines too.

type File

type File struct {
	Resource
	ActivateTime *TimeType        `xml:"urn:ieee:std:2030.5:ns activateTime,omitempty"`
	FileURI      string           `xml:"urn:ieee:std:2030.5:ns fileURI"`
	LFDI         *HexBinary160    `xml:"urn:ieee:std:2030.5:ns lFDI,omitempty"`
	MfHwVer      *String32        `xml:"urn:ieee:std:2030.5:ns mfHwVer,omitempty"`
	MfID         PENType          `xml:"urn:ieee:std:2030.5:ns mfID"`
	MfModel      String32         `xml:"urn:ieee:std:2030.5:ns mfModel"`
	MfSerNum     *String32        `xml:"urn:ieee:std:2030.5:ns mfSerNum,omitempty"`
	MfVer        String16         `xml:"urn:ieee:std:2030.5:ns mfVer"`
	Size         UInt32           `xml:"urn:ieee:std:2030.5:ns size"`
	Type         HexBinary16      `xml:"urn:ieee:std:2030.5:ns type"`
	FileR2_3     *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns File_r2_3,omitempty"`
}

File is generated from the XML Schema type File in namespace urn:ieee:std:2030.5:ns.

func (*File) Clone added in v0.4.0

func (v *File) Clone() *File

Clone returns a deep copy of v, or nil.

func (*File) Strip2018 added in v0.4.0

func (v *File) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*File) Validate

func (v *File) Validate() error

Validate reports the first constraint of the schema that v violates.

type FileLink struct {
	Link
	FileLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FileLink_r2_3,omitempty"`
}

FileLink is generated from the XML Schema type FileLink in namespace urn:ieee:std:2030.5:ns.

func (*FileLink) Clone added in v0.4.0

func (v *FileLink) Clone() *FileLink

Clone returns a deep copy of v, or nil.

func (*FileLink) Strip2018 added in v0.4.0

func (v *FileLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FileLink) Validate

func (v *FileLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type FileList

type FileList struct {
	List
	File         []File           `xml:"urn:ieee:std:2030.5:ns File,omitempty"`
	FileListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FileList_r2_3,omitempty"`
	PollRate     *UInt32          `xml:"pollRate,attr,omitempty"`
}

FileList is generated from the XML Schema type FileList in namespace urn:ieee:std:2030.5:ns.

func (*FileList) Clone added in v0.4.0

func (v *FileList) Clone() *FileList

Clone returns a deep copy of v, or nil.

func (*FileList) GetPollRate

func (v *FileList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*FileList) ListItemElement added in v0.4.0

func (v *FileList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*FileList) ListItems added in v0.4.0

func (v *FileList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*FileList) NewListItem added in v0.4.0

func (v *FileList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*FileList) SetListCounts added in v0.4.0

func (v *FileList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*FileList) SetListItems added in v0.4.0

func (v *FileList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a File or a pointer to one.

func (*FileList) Strip2018 added in v0.4.0

func (v *FileList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FileList) Validate

func (v *FileList) Validate() error

Validate reports the first constraint of the schema that v violates.

type FileListLink struct {
	ListLink
	FileListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FileListLink_r2_3,omitempty"`
}

FileListLink is generated from the XML Schema type FileListLink in namespace urn:ieee:std:2030.5:ns.

func (*FileListLink) Clone added in v0.4.0

func (v *FileListLink) Clone() *FileListLink

Clone returns a deep copy of v, or nil.

func (*FileListLink) Strip2018 added in v0.4.0

func (v *FileListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FileListLink) Validate

func (v *FileListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type FileStatus

type FileStatus struct {
	Resource
	ActivateTime       *TimeType        `xml:"urn:ieee:std:2030.5:ns activateTime,omitempty"`
	FileLink           *FileLink        `xml:"urn:ieee:std:2030.5:ns FileLink,omitempty"`
	LoadPercent        UInt8            `xml:"urn:ieee:std:2030.5:ns loadPercent"`
	NextRequestAttempt TimeType         `xml:"urn:ieee:std:2030.5:ns nextRequestAttempt"`
	Request503Count    UInt16           `xml:"urn:ieee:std:2030.5:ns request503Count"`
	RequestFailCount   UInt16           `xml:"urn:ieee:std:2030.5:ns requestFailCount"`
	Status             UInt8            `xml:"urn:ieee:std:2030.5:ns status"`
	StatusTime         TimeType         `xml:"urn:ieee:std:2030.5:ns statusTime"`
	FileStatusR2_3     *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FileStatus_r2_3,omitempty"`
	PollRate           *UInt32          `xml:"pollRate,attr,omitempty"`
}

FileStatus is generated from the XML Schema type FileStatus in namespace urn:ieee:std:2030.5:ns.

func (v *FileStatus) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*FileStatus) Clone added in v0.4.0

func (v *FileStatus) Clone() *FileStatus

Clone returns a deep copy of v, or nil.

func (*FileStatus) GetPollRate

func (v *FileStatus) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*FileStatus) Strip2018 added in v0.4.0

func (v *FileStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FileStatus) Validate

func (v *FileStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type FileStatusLink struct {
	Link
	FileStatusLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FileStatusLink_r2_3,omitempty"`
}

FileStatusLink is generated from the XML Schema type FileStatusLink in namespace urn:ieee:std:2030.5:ns.

func (*FileStatusLink) Clone added in v0.4.0

func (v *FileStatusLink) Clone() *FileStatusLink

Clone returns a deep copy of v, or nil.

func (*FileStatusLink) Strip2018 added in v0.4.0

func (v *FileStatusLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FileStatusLink) Validate

func (v *FileStatusLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type FixedPointType

type FixedPointType struct {
	Multiplier         PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value              Int16                    `xml:"urn:ieee:std:2030.5:ns value"`
	FixedPointTypeR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns FixedPointType_r2_3,omitempty"`
	Extensions         []ExtensionElement       `xml:",any"`
}

FixedPointType is generated from the XML Schema type FixedPointType in namespace urn:ieee:std:2030.5:ns.

func (*FixedPointType) Clone added in v0.4.0

func (v *FixedPointType) Clone() *FixedPointType

Clone returns a deep copy of v, or nil.

func (*FixedPointType) Strip2018 added in v0.4.0

func (v *FixedPointType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FixedPointType) Validate

func (v *FixedPointType) Validate() error

Validate reports the first constraint of the schema that v violates.

type FixedVar

type FixedVar struct {
	RefType      DERUnitRefType     `xml:"urn:ieee:std:2030.5:ns refType"`
	Value        SignedPerCent      `xml:"urn:ieee:std:2030.5:ns value"`
	FixedVarR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns FixedVar_r2_3,omitempty"`
	Extensions   []ExtensionElement `xml:",any"`
}

FixedVar is generated from the XML Schema type FixedVar in namespace urn:ieee:std:2030.5:ns.

func (*FixedVar) Clone added in v0.4.0

func (v *FixedVar) Clone() *FixedVar

Clone returns a deep copy of v, or nil.

func (*FixedVar) Strip2018 added in v0.4.0

func (v *FixedVar) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FixedVar) Validate

func (v *FixedVar) Validate() error

Validate reports the first constraint of the schema that v violates.

type FixedVarControlType

type FixedVarControlType struct {
	FixedVar
	FixedVarControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FixedVarControlType_r2_3,omitempty"`
	Disabled                *bool            `xml:"disabled,attr,omitempty"`
}

FixedVarControlType is generated from the XML Schema type FixedVarControlType in namespace urn:ieee:std:2030.5:ns.

func (*FixedVarControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FixedVarControlType) GetDisabled

func (v *FixedVarControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*FixedVarControlType) Strip2018 added in v0.4.0

func (v *FixedVarControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FixedVarControlType) Validate

func (v *FixedVarControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowDirectionType

type FlowDirectionType uint8

FlowDirectionType is generated from the XML Schema type FlowDirectionType in namespace urn:ieee:std:2030.5:ns.

type FlowReservationRequest

type FlowReservationRequest struct {
	IdentifiedObject
	CreationTime               TimeType         `xml:"urn:ieee:std:2030.5:ns creationTime"`
	DurationRequested          *UInt16          `xml:"urn:ieee:std:2030.5:ns durationRequested,omitempty"`
	EnergyRequested            SignedRealEnergy `xml:"urn:ieee:std:2030.5:ns energyRequested"`
	IntervalRequested          DateTimeInterval `xml:"urn:ieee:std:2030.5:ns intervalRequested"`
	PowerRequested             ActivePower      `xml:"urn:ieee:std:2030.5:ns powerRequested"`
	RequestStatus              RequestStatus    `xml:"urn:ieee:std:2030.5:ns RequestStatus"`
	FlowReservationRequestR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FlowReservationRequest_r2_3,omitempty"`
}

FlowReservationRequest is generated from the XML Schema type FlowReservationRequest in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationRequest) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationRequest) Strip2018 added in v0.4.0

func (v *FlowReservationRequest) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationRequest) Validate

func (v *FlowReservationRequest) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationRequestList

type FlowReservationRequestList struct {
	List
	FlowReservationRequest         []FlowReservationRequest `xml:"urn:ieee:std:2030.5:ns FlowReservationRequest,omitempty"`
	FlowReservationRequestListR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns FlowReservationRequestList_r2_3,omitempty"`
	PollRate                       *UInt32                  `xml:"pollRate,attr,omitempty"`
}

FlowReservationRequestList is generated from the XML Schema type FlowReservationRequestList in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationRequestList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationRequestList) GetPollRate

func (v *FlowReservationRequestList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*FlowReservationRequestList) ListItemElement added in v0.4.0

func (v *FlowReservationRequestList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*FlowReservationRequestList) ListItems added in v0.4.0

func (v *FlowReservationRequestList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*FlowReservationRequestList) NewListItem added in v0.4.0

func (v *FlowReservationRequestList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*FlowReservationRequestList) SetListCounts added in v0.4.0

func (v *FlowReservationRequestList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*FlowReservationRequestList) SetListItems added in v0.4.0

func (v *FlowReservationRequestList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a FlowReservationRequest or a pointer to one.

func (*FlowReservationRequestList) Strip2018 added in v0.4.0

func (v *FlowReservationRequestList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationRequestList) Validate

func (v *FlowReservationRequestList) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationRequestListLink struct {
	ListLink
	FlowReservationRequestListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FlowReservationRequestListLink_r2_3,omitempty"`
}

FlowReservationRequestListLink is generated from the XML Schema type FlowReservationRequestListLink in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationRequestListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationRequestListLink) Strip2018 added in v0.4.0

func (v *FlowReservationRequestListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationRequestListLink) Validate

func (v *FlowReservationRequestListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationResponse

type FlowReservationResponse struct {
	Event
	EnergyAvailable             SignedRealEnergy `xml:"urn:ieee:std:2030.5:ns energyAvailable"`
	PowerAvailable              ActivePower      `xml:"urn:ieee:std:2030.5:ns powerAvailable"`
	Subject                     MRIDType         `xml:"urn:ieee:std:2030.5:ns subject"`
	FlowReservationResponseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FlowReservationResponse_r2_3,omitempty"`
}

FlowReservationResponse is generated from the XML Schema type FlowReservationResponse in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationResponse) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationResponse) Strip2018 added in v0.4.0

func (v *FlowReservationResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationResponse) Validate

func (v *FlowReservationResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationResponseList

type FlowReservationResponseList struct {
	SubscribableList
	FlowReservationResponse         []FlowReservationResponse `xml:"urn:ieee:std:2030.5:ns FlowReservationResponse,omitempty"`
	FlowReservationResponseListR2_3 *Revision2_3Type          `xml:"urn:ieee:std:2030.5:ns FlowReservationResponseList_r2_3,omitempty"`
	PollRate                        *UInt32                   `xml:"pollRate,attr,omitempty"`
}

FlowReservationResponseList is generated from the XML Schema type FlowReservationResponseList in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationResponseList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationResponseList) GetPollRate

func (v *FlowReservationResponseList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*FlowReservationResponseList) ListItemElement added in v0.4.0

func (v *FlowReservationResponseList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*FlowReservationResponseList) ListItems added in v0.4.0

func (v *FlowReservationResponseList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*FlowReservationResponseList) NewListItem added in v0.4.0

func (v *FlowReservationResponseList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*FlowReservationResponseList) SetListCounts added in v0.4.0

func (v *FlowReservationResponseList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*FlowReservationResponseList) SetListItems added in v0.4.0

func (v *FlowReservationResponseList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a FlowReservationResponse or a pointer to one.

func (*FlowReservationResponseList) Strip2018 added in v0.4.0

func (v *FlowReservationResponseList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationResponseList) Validate

func (v *FlowReservationResponseList) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationResponseListLink struct {
	ListLink
	FlowReservationResponseListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FlowReservationResponseListLink_r2_3,omitempty"`
}

FlowReservationResponseListLink is generated from the XML Schema type FlowReservationResponseListLink in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationResponseListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationResponseListLink) Strip2018 added in v0.4.0

func (v *FlowReservationResponseListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationResponseListLink) Validate

func (v *FlowReservationResponseListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type FlowReservationResponseResponse

type FlowReservationResponseResponse struct {
	Response
	FlowReservationResponseResponseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FlowReservationResponseResponse_r2_3,omitempty"`
}

FlowReservationResponseResponse is generated from the XML Schema type FlowReservationResponseResponse in namespace urn:ieee:std:2030.5:ns.

func (*FlowReservationResponseResponse) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FlowReservationResponseResponse) Strip2018 added in v0.4.0

func (v *FlowReservationResponseResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FlowReservationResponseResponse) Validate

func (v *FlowReservationResponseResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type FreqDroopType

type FreqDroopType struct {
	DBOF              UInt32             `xml:"urn:ieee:std:2030.5:ns dBOF"`
	DBUF              UInt32             `xml:"urn:ieee:std:2030.5:ns dBUF"`
	KOF               UInt16             `xml:"urn:ieee:std:2030.5:ns kOF"`
	KUF               UInt16             `xml:"urn:ieee:std:2030.5:ns kUF"`
	OpenLoopTms       UInt16             `xml:"urn:ieee:std:2030.5:ns openLoopTms"`
	PMin              *ActivePower       `xml:"urn:ieee:std:2030.5:ns pMin,omitempty"`
	FreqDroopTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns FreqDroopType_r2_3,omitempty"`
	Extensions        []ExtensionElement `xml:",any"`
	Disabled          *bool              `xml:"disabled,attr,omitempty"`
}

FreqDroopType is generated from the XML Schema type FreqDroopType in namespace urn:ieee:std:2030.5:ns.

func (*FreqDroopType) Clone added in v0.4.0

func (v *FreqDroopType) Clone() *FreqDroopType

Clone returns a deep copy of v, or nil.

func (*FreqDroopType) GetDisabled

func (v *FreqDroopType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*FreqDroopType) Strip2018 added in v0.4.0

func (v *FreqDroopType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FreqDroopType) Validate

func (v *FreqDroopType) Validate() error

Validate reports the first constraint of the schema that v violates.

type FunctionSetAssignments

type FunctionSetAssignments struct {
	FunctionSetAssignmentsBase
	MRID                       MRIDType          `xml:"urn:ieee:std:2030.5:ns mRID"`
	Description                *String32         `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Version                    *VersionType      `xml:"urn:ieee:std:2030.5:ns version,omitempty"`
	FunctionSetAssignmentsR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignments_r2_3,omitempty"`
	Subscribable               *SubscribableType `xml:"subscribable,attr,omitempty"`
}

FunctionSetAssignments is generated from the XML Schema type FunctionSetAssignments in namespace urn:ieee:std:2030.5:ns.

func (v *FunctionSetAssignments) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*FunctionSetAssignments) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FunctionSetAssignments) GetSubscribable

func (v *FunctionSetAssignments) GetSubscribable() SubscribableType

GetSubscribable returns Subscribable, or its schema default 0 when it is absent.

func (*FunctionSetAssignments) GetVersion

func (v *FunctionSetAssignments) GetVersion() VersionType

GetVersion returns Version, or its schema default 0 when it is absent.

func (*FunctionSetAssignments) Strip2018 added in v0.4.0

func (v *FunctionSetAssignments) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FunctionSetAssignments) Validate

func (v *FunctionSetAssignments) Validate() error

Validate reports the first constraint of the schema that v violates.

type FunctionSetAssignmentsBase

type FunctionSetAssignmentsBase struct {
	Resource
	CustomerAccountListLink        *CustomerAccountListLink       `xml:"urn:ieee:std:2030.5:ns CustomerAccountListLink,omitempty"`
	DemandResponseProgramListLink  *DemandResponseProgramListLink `xml:"urn:ieee:std:2030.5:ns DemandResponseProgramListLink,omitempty"`
	DERProgramListLink             *DERProgramListLink            `xml:"urn:ieee:std:2030.5:ns DERProgramListLink,omitempty"`
	FileListLink                   *FileListLink                  `xml:"urn:ieee:std:2030.5:ns FileListLink,omitempty"`
	MessagingProgramListLink       *MessagingProgramListLink      `xml:"urn:ieee:std:2030.5:ns MessagingProgramListLink,omitempty"`
	PrepaymentListLink             *PrepaymentListLink            `xml:"urn:ieee:std:2030.5:ns PrepaymentListLink,omitempty"`
	ResponseSetListLink            *ResponseSetListLink           `xml:"urn:ieee:std:2030.5:ns ResponseSetListLink,omitempty"`
	TariffProfileListLink          *TariffProfileListLink         `xml:"urn:ieee:std:2030.5:ns TariffProfileListLink,omitempty"`
	TimeLink                       *TimeLink                      `xml:"urn:ieee:std:2030.5:ns TimeLink,omitempty"`
	UsagePointListLink             *UsagePointListLink            `xml:"urn:ieee:std:2030.5:ns UsagePointListLink,omitempty"`
	FunctionSetAssignmentsBaseR2_3 *Revision2_3Type               `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignmentsBase_r2_3,omitempty"`
}

FunctionSetAssignmentsBase is generated from the XML Schema type FunctionSetAssignmentsBase in namespace urn:ieee:std:2030.5:ns.

func (v *FunctionSetAssignmentsBase) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*FunctionSetAssignmentsBase) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FunctionSetAssignmentsBase) Strip2018 added in v0.4.0

func (v *FunctionSetAssignmentsBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FunctionSetAssignmentsBase) Validate

func (v *FunctionSetAssignmentsBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type FunctionSetAssignmentsList

type FunctionSetAssignmentsList struct {
	SubscribableList
	FunctionSetAssignments         []FunctionSetAssignments `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignments,omitempty"`
	FunctionSetAssignmentsListR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignmentsList_r2_3,omitempty"`
	PollRate                       *UInt32                  `xml:"pollRate,attr,omitempty"`
}

FunctionSetAssignmentsList is generated from the XML Schema type FunctionSetAssignmentsList in namespace urn:ieee:std:2030.5:ns.

func (v *FunctionSetAssignmentsList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*FunctionSetAssignmentsList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FunctionSetAssignmentsList) GetPollRate

func (v *FunctionSetAssignmentsList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*FunctionSetAssignmentsList) ListItemElement added in v0.4.0

func (v *FunctionSetAssignmentsList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*FunctionSetAssignmentsList) ListItems added in v0.4.0

func (v *FunctionSetAssignmentsList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*FunctionSetAssignmentsList) NewListItem added in v0.4.0

func (v *FunctionSetAssignmentsList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*FunctionSetAssignmentsList) SetListCounts added in v0.4.0

func (v *FunctionSetAssignmentsList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*FunctionSetAssignmentsList) SetListItems added in v0.4.0

func (v *FunctionSetAssignmentsList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a FunctionSetAssignments or a pointer to one.

func (*FunctionSetAssignmentsList) Strip2018 added in v0.4.0

func (v *FunctionSetAssignmentsList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FunctionSetAssignmentsList) Validate

func (v *FunctionSetAssignmentsList) Validate() error

Validate reports the first constraint of the schema that v violates.

type FunctionSetAssignmentsListLink struct {
	ListLink
	FunctionSetAssignmentsListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns FunctionSetAssignmentsListLink_r2_3,omitempty"`
}

FunctionSetAssignmentsListLink is generated from the XML Schema type FunctionSetAssignmentsListLink in namespace urn:ieee:std:2030.5:ns.

func (*FunctionSetAssignmentsListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*FunctionSetAssignmentsListLink) Strip2018 added in v0.4.0

func (v *FunctionSetAssignmentsListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*FunctionSetAssignmentsListLink) Validate

func (v *FunctionSetAssignmentsListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type GPSLocationType

type GPSLocationType struct {
	Lat                 String32           `xml:"urn:ieee:std:2030.5:ns lat"`
	Lon                 String32           `xml:"urn:ieee:std:2030.5:ns lon"`
	GPSLocationTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns GPSLocationType_r2_3,omitempty"`
	Extensions          []ExtensionElement `xml:",any"`
}

GPSLocationType is generated from the XML Schema type GPSLocationType in namespace urn:ieee:std:2030.5:ns.

func (*GPSLocationType) Clone added in v0.4.0

func (v *GPSLocationType) Clone() *GPSLocationType

Clone returns a deep copy of v, or nil.

func (*GPSLocationType) Strip2018 added in v0.4.0

func (v *GPSLocationType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*GPSLocationType) Validate

func (v *GPSLocationType) Validate() error

Validate reports the first constraint of the schema that v violates.

type GeographicLocationType

type GeographicLocationType struct {
	Country                    CountryType        `xml:"urn:ieee:std:2030.5:ns country"`
	Subdivision                *SubdivisionType   `xml:"urn:ieee:std:2030.5:ns subdivision,omitempty"`
	GeographicLocationTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns GeographicLocationType_r2_3,omitempty"`
	Extensions                 []ExtensionElement `xml:",any"`
}

GeographicLocationType is generated from the XML Schema type GeographicLocationType in namespace urn:ieee:std:2030.5:ns.

func (*GeographicLocationType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*GeographicLocationType) Strip2018 added in v0.4.0

func (v *GeographicLocationType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*GeographicLocationType) Validate

func (v *GeographicLocationType) Validate() error

Validate reports the first constraint of the schema that v violates.

type HexBinary8

type HexBinary8 []byte

HexBinary8 is generated from the XML Schema type HexBinary8 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary8) MarshalText

func (v HexBinary8) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary8) String

func (v HexBinary8) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary8) UnmarshalText

func (v *HexBinary8) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary8) Validate

func (v HexBinary8) Validate() error

Validate reports whether v violates a facet of HexBinary8.

type HexBinary16

type HexBinary16 []byte

HexBinary16 is generated from the XML Schema type HexBinary16 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary16) MarshalText

func (v HexBinary16) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary16) String

func (v HexBinary16) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary16) UnmarshalText

func (v *HexBinary16) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary16) Validate

func (v HexBinary16) Validate() error

Validate reports whether v violates a facet of HexBinary16.

type HexBinary32

type HexBinary32 []byte

HexBinary32 is generated from the XML Schema type HexBinary32 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary32) MarshalText

func (v HexBinary32) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary32) String

func (v HexBinary32) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary32) UnmarshalText

func (v *HexBinary32) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary32) Validate

func (v HexBinary32) Validate() error

Validate reports whether v violates a facet of HexBinary32.

type HexBinary48

type HexBinary48 []byte

HexBinary48 is generated from the XML Schema type HexBinary48 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary48) MarshalText

func (v HexBinary48) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary48) String

func (v HexBinary48) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary48) UnmarshalText

func (v *HexBinary48) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary48) Validate

func (v HexBinary48) Validate() error

Validate reports whether v violates a facet of HexBinary48.

type HexBinary64

type HexBinary64 []byte

HexBinary64 is generated from the XML Schema type HexBinary64 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary64) MarshalText

func (v HexBinary64) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary64) String

func (v HexBinary64) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary64) UnmarshalText

func (v *HexBinary64) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary64) Validate

func (v HexBinary64) Validate() error

Validate reports whether v violates a facet of HexBinary64.

type HexBinary128

type HexBinary128 []byte

HexBinary128 is generated from the XML Schema type HexBinary128 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary128) MarshalText

func (v HexBinary128) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary128) String

func (v HexBinary128) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary128) UnmarshalText

func (v *HexBinary128) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary128) Validate

func (v HexBinary128) Validate() error

Validate reports whether v violates a facet of HexBinary128.

type HexBinary160

type HexBinary160 []byte

HexBinary160 is generated from the XML Schema type HexBinary160 in namespace urn:ieee:std:2030.5:ns.

func (HexBinary160) MarshalText

func (v HexBinary160) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (HexBinary160) String

func (v HexBinary160) String() string

String returns v as upper-case hexadecimal.

func (*HexBinary160) UnmarshalText

func (v *HexBinary160) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (HexBinary160) Validate

func (v HexBinary160) Validate() error

Validate reports whether v violates a facet of HexBinary160.

type HistoricalReading

type HistoricalReading struct {
	BillingMeterReadingBase
	HistoricalReadingR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns HistoricalReading_r2_3,omitempty"`
}

HistoricalReading is generated from the XML Schema type HistoricalReading in namespace urn:ieee:std:2030.5:ns.

func (v *HistoricalReading) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*HistoricalReading) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*HistoricalReading) Strip2018 added in v0.4.0

func (v *HistoricalReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*HistoricalReading) Validate

func (v *HistoricalReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type HistoricalReadingList

type HistoricalReadingList struct {
	List
	HistoricalReading         []HistoricalReading `xml:"urn:ieee:std:2030.5:ns HistoricalReading,omitempty"`
	HistoricalReadingListR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns HistoricalReadingList_r2_3,omitempty"`
}

HistoricalReadingList is generated from the XML Schema type HistoricalReadingList in namespace urn:ieee:std:2030.5:ns.

func (v *HistoricalReadingList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*HistoricalReadingList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*HistoricalReadingList) ListItemElement added in v0.4.0

func (v *HistoricalReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*HistoricalReadingList) ListItems added in v0.4.0

func (v *HistoricalReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*HistoricalReadingList) NewListItem added in v0.4.0

func (v *HistoricalReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*HistoricalReadingList) SetListCounts added in v0.4.0

func (v *HistoricalReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*HistoricalReadingList) SetListItems added in v0.4.0

func (v *HistoricalReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a HistoricalReading or a pointer to one.

func (*HistoricalReadingList) Strip2018 added in v0.4.0

func (v *HistoricalReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*HistoricalReadingList) Validate

func (v *HistoricalReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type HistoricalReadingListLink struct {
	ListLink
	HistoricalReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns HistoricalReadingListLink_r2_3,omitempty"`
}

HistoricalReadingListLink is generated from the XML Schema type HistoricalReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*HistoricalReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*HistoricalReadingListLink) Strip2018 added in v0.4.0

func (v *HistoricalReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*HistoricalReadingListLink) Validate

func (v *HistoricalReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Hrefer added in v0.4.0

type Hrefer interface {
	GetHref() string
	SetHref(href string)
}

Hrefer is implemented by every document type: see Resource.

type IEEE_802_15_4

type IEEE_802_15_4 struct {
	CapabilityInfo    HexBinary8         `xml:"urn:ieee:std:2030.5:ns capabilityInfo"`
	NeighborListLink  *NeighborListLink  `xml:"urn:ieee:std:2030.5:ns NeighborListLink,omitempty"`
	ShortAddress      UInt16             `xml:"urn:ieee:std:2030.5:ns shortAddress"`
	IEEE_802_15_4R2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns IEEE_802_15_4_r2_3,omitempty"`
	Extensions        []ExtensionElement `xml:",any"`
}

IEEE_802_15_4 is generated from the XML Schema type IEEE_802_15_4 in namespace urn:ieee:std:2030.5:ns.

func (v *IEEE_802_15_4) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*IEEE_802_15_4) Clone added in v0.4.0

func (v *IEEE_802_15_4) Clone() *IEEE_802_15_4

Clone returns a deep copy of v, or nil.

func (*IEEE_802_15_4) Strip2018 added in v0.4.0

func (v *IEEE_802_15_4) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IEEE_802_15_4) Validate

func (v *IEEE_802_15_4) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPAddr

type IPAddr struct {
	Resource
	Address             HexBinary128         `xml:"urn:ieee:std:2030.5:ns address"`
	RPLInstanceListLink *RPLInstanceListLink `xml:"urn:ieee:std:2030.5:ns RPLInstanceListLink,omitempty"`
	IPAddrR2_3          *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns IPAddr_r2_3,omitempty"`
}

IPAddr is generated from the XML Schema type IPAddr in namespace urn:ieee:std:2030.5:ns.

func (v *IPAddr) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*IPAddr) Clone added in v0.4.0

func (v *IPAddr) Clone() *IPAddr

Clone returns a deep copy of v, or nil.

func (*IPAddr) Strip2018 added in v0.4.0

func (v *IPAddr) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPAddr) Validate

func (v *IPAddr) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPAddrList

type IPAddrList struct {
	List
	IPAddr         []IPAddr         `xml:"urn:ieee:std:2030.5:ns IPAddr,omitempty"`
	IPAddrListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns IPAddrList_r2_3,omitempty"`
}

IPAddrList is generated from the XML Schema type IPAddrList in namespace urn:ieee:std:2030.5:ns.

func (v *IPAddrList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*IPAddrList) Clone added in v0.4.0

func (v *IPAddrList) Clone() *IPAddrList

Clone returns a deep copy of v, or nil.

func (*IPAddrList) ListItemElement added in v0.4.0

func (v *IPAddrList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*IPAddrList) ListItems added in v0.4.0

func (v *IPAddrList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*IPAddrList) NewListItem added in v0.4.0

func (v *IPAddrList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*IPAddrList) SetListCounts added in v0.4.0

func (v *IPAddrList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*IPAddrList) SetListItems added in v0.4.0

func (v *IPAddrList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a IPAddr or a pointer to one.

func (*IPAddrList) Strip2018 added in v0.4.0

func (v *IPAddrList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPAddrList) Validate

func (v *IPAddrList) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPAddrListLink struct {
	ListLink
	IPAddrListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns IPAddrListLink_r2_3,omitempty"`
}

IPAddrListLink is generated from the XML Schema type IPAddrListLink in namespace urn:ieee:std:2030.5:ns.

func (*IPAddrListLink) Clone added in v0.4.0

func (v *IPAddrListLink) Clone() *IPAddrListLink

Clone returns a deep copy of v, or nil.

func (*IPAddrListLink) Strip2018 added in v0.4.0

func (v *IPAddrListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPAddrListLink) Validate

func (v *IPAddrListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPInterface

type IPInterface struct {
	Resource
	IfDescr             *String192           `xml:"urn:ieee:std:2030.5:ns ifDescr,omitempty"`
	IfHighSpeed         *UInt32              `xml:"urn:ieee:std:2030.5:ns ifHighSpeed,omitempty"`
	IfInBroadcastPkts   *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInBroadcastPkts,omitempty"`
	IfIndex             *UInt32              `xml:"urn:ieee:std:2030.5:ns ifIndex,omitempty"`
	IfInDiscards        *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInDiscards,omitempty"`
	IfInErrors          *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInErrors,omitempty"`
	IfInMulticastPkts   *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInMulticastPkts,omitempty"`
	IfInOctets          *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInOctets,omitempty"`
	IfInUcastPkts       *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInUcastPkts,omitempty"`
	IfInUnknownProtos   *UInt32              `xml:"urn:ieee:std:2030.5:ns ifInUnknownProtos,omitempty"`
	IfMtu               *UInt32              `xml:"urn:ieee:std:2030.5:ns ifMtu,omitempty"`
	IfName              *String16            `xml:"urn:ieee:std:2030.5:ns ifName,omitempty"`
	IfOperStatus        *UInt8               `xml:"urn:ieee:std:2030.5:ns ifOperStatus,omitempty"`
	IfOutBroadcastPkts  *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutBroadcastPkts,omitempty"`
	IfOutDiscards       *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutDiscards,omitempty"`
	IfOutErrors         *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutErrors,omitempty"`
	IfOutMulticastPkts  *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutMulticastPkts,omitempty"`
	IfOutOctets         *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutOctets,omitempty"`
	IfOutUcastPkts      *UInt32              `xml:"urn:ieee:std:2030.5:ns ifOutUcastPkts,omitempty"`
	IfPromiscuousMode   *bool                `xml:"urn:ieee:std:2030.5:ns ifPromiscuousMode,omitempty"`
	IfSpeed             *UInt32              `xml:"urn:ieee:std:2030.5:ns ifSpeed,omitempty"`
	IfType              *UInt16              `xml:"urn:ieee:std:2030.5:ns ifType,omitempty"`
	IPAddrListLink      *IPAddrListLink      `xml:"urn:ieee:std:2030.5:ns IPAddrListLink,omitempty"`
	LastResetTime       *Int64               `xml:"urn:ieee:std:2030.5:ns lastResetTime,omitempty"`
	LastUpdatedTime     *Int64               `xml:"urn:ieee:std:2030.5:ns lastUpdatedTime,omitempty"`
	LLInterfaceListLink *LLInterfaceListLink `xml:"urn:ieee:std:2030.5:ns LLInterfaceListLink,omitempty"`
	IPInterfaceR2_3     *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns IPInterface_r2_3,omitempty"`
}

IPInterface is generated from the XML Schema type IPInterface in namespace urn:ieee:std:2030.5:ns.

func (v *IPInterface) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*IPInterface) Clone added in v0.4.0

func (v *IPInterface) Clone() *IPInterface

Clone returns a deep copy of v, or nil.

func (*IPInterface) Strip2018 added in v0.4.0

func (v *IPInterface) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPInterface) Validate

func (v *IPInterface) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPInterfaceList

type IPInterfaceList struct {
	List
	IPInterface         []IPInterface    `xml:"urn:ieee:std:2030.5:ns IPInterface,omitempty"`
	IPInterfaceListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns IPInterfaceList_r2_3,omitempty"`
	PollRate            *UInt32          `xml:"pollRate,attr,omitempty"`
}

IPInterfaceList is generated from the XML Schema type IPInterfaceList in namespace urn:ieee:std:2030.5:ns.

func (v *IPInterfaceList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*IPInterfaceList) Clone added in v0.4.0

func (v *IPInterfaceList) Clone() *IPInterfaceList

Clone returns a deep copy of v, or nil.

func (*IPInterfaceList) GetPollRate

func (v *IPInterfaceList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*IPInterfaceList) ListItemElement added in v0.4.0

func (v *IPInterfaceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*IPInterfaceList) ListItems added in v0.4.0

func (v *IPInterfaceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*IPInterfaceList) NewListItem added in v0.4.0

func (v *IPInterfaceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*IPInterfaceList) SetListCounts added in v0.4.0

func (v *IPInterfaceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*IPInterfaceList) SetListItems added in v0.4.0

func (v *IPInterfaceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a IPInterface or a pointer to one.

func (*IPInterfaceList) Strip2018 added in v0.4.0

func (v *IPInterfaceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPInterfaceList) Validate

func (v *IPInterfaceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type IPInterfaceListLink struct {
	ListLink
	IPInterfaceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns IPInterfaceListLink_r2_3,omitempty"`
}

IPInterfaceListLink is generated from the XML Schema type IPInterfaceListLink in namespace urn:ieee:std:2030.5:ns.

func (*IPInterfaceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*IPInterfaceListLink) Strip2018 added in v0.4.0

func (v *IPInterfaceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IPInterfaceListLink) Validate

func (v *IPInterfaceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type IdentifiedObject

type IdentifiedObject struct {
	Resource
	MRID                 MRIDType         `xml:"urn:ieee:std:2030.5:ns mRID"`
	Description          *String32        `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Version              *VersionType     `xml:"urn:ieee:std:2030.5:ns version,omitempty"`
	IdentifiedObjectR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns IdentifiedObject_r2_3,omitempty"`
}

IdentifiedObject is generated from the XML Schema type IdentifiedObject in namespace urn:ieee:std:2030.5:ns.

func (*IdentifiedObject) Clone added in v0.4.0

func (v *IdentifiedObject) Clone() *IdentifiedObject

Clone returns a deep copy of v, or nil.

func (*IdentifiedObject) GetVersion

func (v *IdentifiedObject) GetVersion() VersionType

GetVersion returns Version, or its schema default 0 when it is absent.

func (*IdentifiedObject) Strip2018 added in v0.4.0

func (v *IdentifiedObject) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*IdentifiedObject) Validate

func (v *IdentifiedObject) Validate() error

Validate reports the first constraint of the schema that v violates.

type Int8

type Int8 int8

Int8 is generated from the XML Schema type Int8 in namespace urn:ieee:std:2030.5:ns.

type Int16

type Int16 int16

Int16 is generated from the XML Schema type Int16 in namespace urn:ieee:std:2030.5:ns.

type Int32

type Int32 int32

Int32 is generated from the XML Schema type Int32 in namespace urn:ieee:std:2030.5:ns.

type Int48

type Int48 int64

Int48 is generated from the XML Schema type Int48 in namespace urn:ieee:std:2030.5:ns.

func (Int48) Validate

func (v Int48) Validate() error

Validate reports whether v violates a facet of Int48.

type Int64

type Int64 int64

Int64 is generated from the XML Schema type Int64 in namespace urn:ieee:std:2030.5:ns.

type InverterStatusType

type InverterStatusType struct {
	DateTime               TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                  UInt8              `xml:"urn:ieee:std:2030.5:ns value"`
	InverterStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns InverterStatusType_r2_3,omitempty"`
	Extensions             []ExtensionElement `xml:",any"`
}

InverterStatusType is generated from the XML Schema type InverterStatusType in namespace urn:ieee:std:2030.5:ns.

func (*InverterStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*InverterStatusType) Strip2018 added in v0.4.0

func (v *InverterStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*InverterStatusType) Validate

func (v *InverterStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type KindType

type KindType uint8

KindType is generated from the XML Schema type KindType in namespace urn:ieee:std:2030.5:ns.

type LLInterface

type LLInterface struct {
	Resource
	CRCerrors         UInt32           `xml:"urn:ieee:std:2030.5:ns CRCerrors"`
	EUI64             HexBinary64      `xml:"urn:ieee:std:2030.5:ns EUI64"`
	IEEE_802_15_4     *IEEE_802_15_4   `xml:"urn:ieee:std:2030.5:ns IEEE_802_15_4,omitempty"`
	LinkLayerType     UInt8            `xml:"urn:ieee:std:2030.5:ns linkLayerType"`
	LLAckNotRx        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLAckNotRx,omitempty"`
	LLCSMAFail        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLCSMAFail,omitempty"`
	LLFramesDropRx    *UInt32          `xml:"urn:ieee:std:2030.5:ns LLFramesDropRx,omitempty"`
	LLFramesDropTx    *UInt32          `xml:"urn:ieee:std:2030.5:ns LLFramesDropTx,omitempty"`
	LLFramesRx        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLFramesRx,omitempty"`
	LLFramesTx        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLFramesTx,omitempty"`
	LLMediaAccessFail *UInt32          `xml:"urn:ieee:std:2030.5:ns LLMediaAccessFail,omitempty"`
	LLOctetsRx        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLOctetsRx,omitempty"`
	LLOctetsTx        *UInt32          `xml:"urn:ieee:std:2030.5:ns LLOctetsTx,omitempty"`
	LLRetryCount      *UInt32          `xml:"urn:ieee:std:2030.5:ns LLRetryCount,omitempty"`
	LLSecurityErrorRx *UInt32          `xml:"urn:ieee:std:2030.5:ns LLSecurityErrorRx,omitempty"`
	LoWPAN            *LoWPAN          `xml:"urn:ieee:std:2030.5:ns loWPAN,omitempty"`
	LLInterfaceR2_3   *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LLInterface_r2_3,omitempty"`
}

LLInterface is generated from the XML Schema type LLInterface in namespace urn:ieee:std:2030.5:ns.

func (v *LLInterface) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*LLInterface) Clone added in v0.4.0

func (v *LLInterface) Clone() *LLInterface

Clone returns a deep copy of v, or nil.

func (*LLInterface) Strip2018 added in v0.4.0

func (v *LLInterface) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LLInterface) Validate

func (v *LLInterface) Validate() error

Validate reports the first constraint of the schema that v violates.

type LLInterfaceList

type LLInterfaceList struct {
	List
	LLInterface         []LLInterface    `xml:"urn:ieee:std:2030.5:ns LLInterface,omitempty"`
	LLInterfaceListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LLInterfaceList_r2_3,omitempty"`
}

LLInterfaceList is generated from the XML Schema type LLInterfaceList in namespace urn:ieee:std:2030.5:ns.

func (v *LLInterfaceList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*LLInterfaceList) Clone added in v0.4.0

func (v *LLInterfaceList) Clone() *LLInterfaceList

Clone returns a deep copy of v, or nil.

func (*LLInterfaceList) ListItemElement added in v0.4.0

func (v *LLInterfaceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*LLInterfaceList) ListItems added in v0.4.0

func (v *LLInterfaceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*LLInterfaceList) NewListItem added in v0.4.0

func (v *LLInterfaceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*LLInterfaceList) SetListCounts added in v0.4.0

func (v *LLInterfaceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*LLInterfaceList) SetListItems added in v0.4.0

func (v *LLInterfaceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a LLInterface or a pointer to one.

func (*LLInterfaceList) Strip2018 added in v0.4.0

func (v *LLInterfaceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LLInterfaceList) Validate

func (v *LLInterfaceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type LLInterfaceListLink struct {
	ListLink
	LLInterfaceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LLInterfaceListLink_r2_3,omitempty"`
}

LLInterfaceListLink is generated from the XML Schema type LLInterfaceListLink in namespace urn:ieee:std:2030.5:ns.

func (*LLInterfaceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*LLInterfaceListLink) Strip2018 added in v0.4.0

func (v *LLInterfaceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LLInterfaceListLink) Validate

func (v *LLInterfaceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Link struct {
	LinkR2_3   *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Link_r2_3,omitempty"`
	Extensions []ExtensionElement `xml:",any"`
	Href       string             `xml:"href,attr"`
}

Link is generated from the XML Schema type Link in namespace urn:ieee:std:2030.5:ns.

func (*Link) Clone added in v0.4.0

func (v *Link) Clone() *Link

Clone returns a deep copy of v, or nil.

func (*Link) Strip2018 added in v0.4.0

func (v *Link) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Link) Validate

func (v *Link) Validate() error

Validate reports the first constraint of the schema that v violates.

type LinkRef added in v0.4.0

type LinkRef struct {
	// Element is the name of the element holding the link, such as
	// "EndDeviceListLink" or "opModFreqWatt".
	Element string
	// Type is the link type, such as "EndDeviceListLink".
	Type string
	// Resource is the ID of the WADL resource the link points to, such as
	// "EndDeviceList": see LookupResource.
	Resource string
	// Href is the URI of the resource.
	Href string
	// All is the number of items of a list link, when the server gives it.
	All *UInt32
}

LinkRef is a link a resource holds to another resource: an element whose type derives from Link, such as EndDeviceListLink.

func Links(v any) []LinkRef

Links returns the links v holds, in document order, or nil when v holds none. v is a pointer to a struct type of this package or of a profile package such as csipaus.

type Linker added in v0.4.0

type Linker interface {
	AppendLinks(out []LinkRef) []LinkRef
}

Linker is implemented by every struct type that can hold links.

type List

type List struct {
	Resource
	ListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns List_r2_3,omitempty"`
	All      UInt32           `xml:"all,attr"`
	Results  UInt32           `xml:"results,attr"`
}

List is generated from the XML Schema type List in namespace urn:ieee:std:2030.5:ns.

func (*List) Clone added in v0.4.0

func (v *List) Clone() *List

Clone returns a deep copy of v, or nil.

func (*List) Strip2018 added in v0.4.0

func (v *List) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*List) Validate

func (v *List) Validate() error

Validate reports the first constraint of the schema that v violates.

type ListLink struct {
	Link
	ListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ListLink_r2_3,omitempty"`
	All          *UInt32          `xml:"all,attr,omitempty"`
}

ListLink is generated from the XML Schema type ListLink in namespace urn:ieee:std:2030.5:ns.

func (*ListLink) Clone added in v0.4.0

func (v *ListLink) Clone() *ListLink

Clone returns a deep copy of v, or nil.

func (*ListLink) Strip2018 added in v0.4.0

func (v *ListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ListLink) Validate

func (v *ListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Lister added in v0.4.0

type Lister interface {
	// ListItems returns pointers to the items of the list.
	ListItems() []any
	// SetListItems replaces the items of the list.
	SetListItems(items []any) error
	// NewListItem returns a pointer to a new item of the list.
	NewListItem() any
	// ListItemElement returns the element name of the items.
	ListItemElement() string
	// SetListCounts sets the all and results attributes of the list.
	SetListCounts(all, results uint32)
}

Lister is implemented by every list type, such as *EndDeviceList.

type LoWPAN

type LoWPAN struct {
	OctetsRx    *UInt32            `xml:"urn:ieee:std:2030.5:ns octetsRx,omitempty"`
	OctetsTx    *UInt32            `xml:"urn:ieee:std:2030.5:ns octetsTx,omitempty"`
	PacketsRx   UInt32             `xml:"urn:ieee:std:2030.5:ns packetsRx"`
	PacketsTx   UInt32             `xml:"urn:ieee:std:2030.5:ns packetsTx"`
	RxFragError UInt32             `xml:"urn:ieee:std:2030.5:ns rxFragError"`
	LoWPANR2_3  *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns loWPAN_r2_3,omitempty"`
	Extensions  []ExtensionElement `xml:",any"`
}

LoWPAN is generated from the XML Schema type loWPAN in namespace urn:ieee:std:2030.5:ns.

func (*LoWPAN) Clone added in v0.4.0

func (v *LoWPAN) Clone() *LoWPAN

Clone returns a deep copy of v, or nil.

func (*LoWPAN) Strip2018 added in v0.4.0

func (v *LoWPAN) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LoWPAN) Validate

func (v *LoWPAN) Validate() error

Validate reports the first constraint of the schema that v violates.

type LoadShedAvailability

type LoadShedAvailability struct {
	Resource
	AvailabilityDuration      *UInt32                    `xml:"urn:ieee:std:2030.5:ns availabilityDuration,omitempty"`
	DemandResponseProgramLink *DemandResponseProgramLink `xml:"urn:ieee:std:2030.5:ns DemandResponseProgramLink,omitempty"`
	SheddablePercent          *PerCent                   `xml:"urn:ieee:std:2030.5:ns sheddablePercent,omitempty"`
	SheddablePower            *ActivePower               `xml:"urn:ieee:std:2030.5:ns sheddablePower,omitempty"`
	LoadShedAvailabilityR2_3  *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns LoadShedAvailability_r2_3,omitempty"`
}

LoadShedAvailability is generated from the XML Schema type LoadShedAvailability in namespace urn:ieee:std:2030.5:ns.

func (v *LoadShedAvailability) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*LoadShedAvailability) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*LoadShedAvailability) Strip2018 added in v0.4.0

func (v *LoadShedAvailability) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LoadShedAvailability) Validate

func (v *LoadShedAvailability) Validate() error

Validate reports the first constraint of the schema that v violates.

type LoadShedAvailabilityList

type LoadShedAvailabilityList struct {
	List
	LoadShedAvailability         []LoadShedAvailability `xml:"urn:ieee:std:2030.5:ns LoadShedAvailability,omitempty"`
	LoadShedAvailabilityListR2_3 *Revision2_3Type       `xml:"urn:ieee:std:2030.5:ns LoadShedAvailabilityList_r2_3,omitempty"`
	PollRate                     *UInt32                `xml:"pollRate,attr,omitempty"`
}

LoadShedAvailabilityList is generated from the XML Schema type LoadShedAvailabilityList in namespace urn:ieee:std:2030.5:ns.

func (v *LoadShedAvailabilityList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*LoadShedAvailabilityList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*LoadShedAvailabilityList) GetPollRate

func (v *LoadShedAvailabilityList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*LoadShedAvailabilityList) ListItemElement added in v0.4.0

func (v *LoadShedAvailabilityList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*LoadShedAvailabilityList) ListItems added in v0.4.0

func (v *LoadShedAvailabilityList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*LoadShedAvailabilityList) NewListItem added in v0.4.0

func (v *LoadShedAvailabilityList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*LoadShedAvailabilityList) SetListCounts added in v0.4.0

func (v *LoadShedAvailabilityList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*LoadShedAvailabilityList) SetListItems added in v0.4.0

func (v *LoadShedAvailabilityList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a LoadShedAvailability or a pointer to one.

func (*LoadShedAvailabilityList) Strip2018 added in v0.4.0

func (v *LoadShedAvailabilityList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LoadShedAvailabilityList) Validate

func (v *LoadShedAvailabilityList) Validate() error

Validate reports the first constraint of the schema that v violates.

type LoadShedAvailabilityListLink struct {
	ListLink
	LoadShedAvailabilityListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LoadShedAvailabilityListLink_r2_3,omitempty"`
}

LoadShedAvailabilityListLink is generated from the XML Schema type LoadShedAvailabilityListLink in namespace urn:ieee:std:2030.5:ns.

func (*LoadShedAvailabilityListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*LoadShedAvailabilityListLink) Strip2018 added in v0.4.0

func (v *LoadShedAvailabilityListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LoadShedAvailabilityListLink) Validate

func (v *LoadShedAvailabilityListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type LocalControlModeStatusType

type LocalControlModeStatusType struct {
	DateTime                       TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                          UInt8              `xml:"urn:ieee:std:2030.5:ns value"`
	LocalControlModeStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns LocalControlModeStatusType_r2_3,omitempty"`
	Extensions                     []ExtensionElement `xml:",any"`
}

LocalControlModeStatusType is generated from the XML Schema type LocalControlModeStatusType in namespace urn:ieee:std:2030.5:ns.

func (*LocalControlModeStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*LocalControlModeStatusType) Strip2018 added in v0.4.0

func (v *LocalControlModeStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LocalControlModeStatusType) Validate

func (v *LocalControlModeStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type LocaleType

type LocaleType string

LocaleType is generated from the XML Schema type LocaleType in namespace urn:ieee:std:2030.5:ns.

func (LocaleType) Validate

func (v LocaleType) Validate() error

Validate reports whether v violates a facet of LocaleType.

type LogEvent

type LogEvent struct {
	Resource
	CreatedDateTime TimeType         `xml:"urn:ieee:std:2030.5:ns createdDateTime"`
	Details         *String32        `xml:"urn:ieee:std:2030.5:ns details,omitempty"`
	ExtendedData    *UInt32          `xml:"urn:ieee:std:2030.5:ns extendedData,omitempty"`
	FunctionSet     UInt8            `xml:"urn:ieee:std:2030.5:ns functionSet"`
	LogEventCode    UInt8            `xml:"urn:ieee:std:2030.5:ns logEventCode"`
	LogEventID      UInt16           `xml:"urn:ieee:std:2030.5:ns logEventID"`
	LogEventPEN     PENType          `xml:"urn:ieee:std:2030.5:ns logEventPEN"`
	ProfileID       UInt8            `xml:"urn:ieee:std:2030.5:ns profileID"`
	LogEventR2_3    *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LogEvent_r2_3,omitempty"`
}

LogEvent is generated from the XML Schema type LogEvent in namespace urn:ieee:std:2030.5:ns.

func (*LogEvent) Clone added in v0.4.0

func (v *LogEvent) Clone() *LogEvent

Clone returns a deep copy of v, or nil.

func (*LogEvent) Strip2018 added in v0.4.0

func (v *LogEvent) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LogEvent) Validate

func (v *LogEvent) Validate() error

Validate reports the first constraint of the schema that v violates.

type LogEventList

type LogEventList struct {
	SubscribableList
	LogEvent         []LogEvent       `xml:"urn:ieee:std:2030.5:ns LogEvent,omitempty"`
	LogEventListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LogEventList_r2_3,omitempty"`
	PollRate         *UInt32          `xml:"pollRate,attr,omitempty"`
}

LogEventList is generated from the XML Schema type LogEventList in namespace urn:ieee:std:2030.5:ns.

func (*LogEventList) Clone added in v0.4.0

func (v *LogEventList) Clone() *LogEventList

Clone returns a deep copy of v, or nil.

func (*LogEventList) GetPollRate

func (v *LogEventList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*LogEventList) ListItemElement added in v0.4.0

func (v *LogEventList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*LogEventList) ListItems added in v0.4.0

func (v *LogEventList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*LogEventList) NewListItem added in v0.4.0

func (v *LogEventList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*LogEventList) SetListCounts added in v0.4.0

func (v *LogEventList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*LogEventList) SetListItems added in v0.4.0

func (v *LogEventList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a LogEvent or a pointer to one.

func (*LogEventList) Strip2018 added in v0.4.0

func (v *LogEventList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LogEventList) Validate

func (v *LogEventList) Validate() error

Validate reports the first constraint of the schema that v violates.

type LogEventListLink struct {
	ListLink
	LogEventListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns LogEventListLink_r2_3,omitempty"`
}

LogEventListLink is generated from the XML Schema type LogEventListLink in namespace urn:ieee:std:2030.5:ns.

func (*LogEventListLink) Clone added in v0.4.0

func (v *LogEventListLink) Clone() *LogEventListLink

Clone returns a deep copy of v, or nil.

func (*LogEventListLink) Strip2018 added in v0.4.0

func (v *LogEventListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*LogEventListLink) Validate

func (v *LogEventListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Logger added in v0.5.0

type Logger interface {
	Debugf(format string, args ...any)
	Infof(format string, args ...any)
	Warnf(format string, args ...any)
	Errorf(format string, args ...any)
}

Logger receives the log of the clients, servers and agents of this module: set it as the Logger of their configuration. A nil Logger logs nothing. Debug is the detail of every request; Info, what changes (a registration, a subscription); Warn, what failed and is retried; Error, what fails a request or stops work.

A Logger is called from many goroutines, and must not block.

func ComponentLogger added in v0.5.0

func ComponentLogger(l Logger, name string) Logger

ComponentLogger returns the Logger a package of this module uses for l: NopLogger for nil, and for a FieldLogger one with component=name.

func NopLogger added in v0.5.0

func NopLogger() Logger

NopLogger returns a Logger that logs nothing.

type MRIDType

type MRIDType []byte

MRIDType is generated from the XML Schema type mRIDType in namespace urn:ieee:std:2030.5:ns.

func (MRIDType) MarshalText

func (v MRIDType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (MRIDType) String

func (v MRIDType) String() string

String returns v as upper-case hexadecimal.

func (*MRIDType) UnmarshalText

func (v *MRIDType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (MRIDType) Validate

func (v MRIDType) Validate() error

Validate reports whether v violates a facet of mRIDType.

type ManufacturerStatusType

type ManufacturerStatusType struct {
	DateTime                   TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                      String6            `xml:"urn:ieee:std:2030.5:ns value"`
	ManufacturerStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns ManufacturerStatusType_r2_3,omitempty"`
	Extensions                 []ExtensionElement `xml:",any"`
}

ManufacturerStatusType is generated from the XML Schema type ManufacturerStatusType in namespace urn:ieee:std:2030.5:ns.

func (*ManufacturerStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ManufacturerStatusType) Strip2018 added in v0.4.0

func (v *ManufacturerStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ManufacturerStatusType) Validate

func (v *ManufacturerStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type MessagingProgram

type MessagingProgram struct {
	SubscribableIdentifiedObject
	ActiveTextMessageListLink *ActiveTextMessageListLink `xml:"urn:ieee:std:2030.5:ns ActiveTextMessageListLink,omitempty"`
	Locale                    LocaleType                 `xml:"urn:ieee:std:2030.5:ns locale"`
	Primacy                   PrimacyType                `xml:"urn:ieee:std:2030.5:ns primacy"`
	TextMessageListLink       *TextMessageListLink       `xml:"urn:ieee:std:2030.5:ns TextMessageListLink,omitempty"`
	MessagingProgramR2_3      *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns MessagingProgram_r2_3,omitempty"`
}

MessagingProgram is generated from the XML Schema type MessagingProgram in namespace urn:ieee:std:2030.5:ns.

func (v *MessagingProgram) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MessagingProgram) Clone added in v0.4.0

func (v *MessagingProgram) Clone() *MessagingProgram

Clone returns a deep copy of v, or nil.

func (*MessagingProgram) Strip2018 added in v0.4.0

func (v *MessagingProgram) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MessagingProgram) Validate

func (v *MessagingProgram) Validate() error

Validate reports the first constraint of the schema that v violates.

type MessagingProgramList

type MessagingProgramList struct {
	SubscribableList
	MessagingProgram         []MessagingProgram `xml:"urn:ieee:std:2030.5:ns MessagingProgram,omitempty"`
	MessagingProgramListR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns MessagingProgramList_r2_3,omitempty"`
	PollRate                 *UInt32            `xml:"pollRate,attr,omitempty"`
}

MessagingProgramList is generated from the XML Schema type MessagingProgramList in namespace urn:ieee:std:2030.5:ns.

func (v *MessagingProgramList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MessagingProgramList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MessagingProgramList) GetPollRate

func (v *MessagingProgramList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*MessagingProgramList) ListItemElement added in v0.4.0

func (v *MessagingProgramList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*MessagingProgramList) ListItems added in v0.4.0

func (v *MessagingProgramList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*MessagingProgramList) NewListItem added in v0.4.0

func (v *MessagingProgramList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*MessagingProgramList) SetListCounts added in v0.4.0

func (v *MessagingProgramList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*MessagingProgramList) SetListItems added in v0.4.0

func (v *MessagingProgramList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a MessagingProgram or a pointer to one.

func (*MessagingProgramList) Strip2018 added in v0.4.0

func (v *MessagingProgramList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MessagingProgramList) Validate

func (v *MessagingProgramList) Validate() error

Validate reports the first constraint of the schema that v violates.

type MessagingProgramListLink struct {
	ListLink
	MessagingProgramListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MessagingProgramListLink_r2_3,omitempty"`
}

MessagingProgramListLink is generated from the XML Schema type MessagingProgramListLink in namespace urn:ieee:std:2030.5:ns.

func (*MessagingProgramListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MessagingProgramListLink) Strip2018 added in v0.4.0

func (v *MessagingProgramListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MessagingProgramListLink) Validate

func (v *MessagingProgramListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type MeterReading

type MeterReading struct {
	MeterReadingBase
	RateComponentListLink *RateComponentListLink `xml:"urn:ieee:std:2030.5:ns RateComponentListLink,omitempty"`
	ReadingLink           *ReadingLink           `xml:"urn:ieee:std:2030.5:ns ReadingLink,omitempty"`
	ReadingSetListLink    *ReadingSetListLink    `xml:"urn:ieee:std:2030.5:ns ReadingSetListLink,omitempty"`
	ReadingTypeLink       ReadingTypeLink        `xml:"urn:ieee:std:2030.5:ns ReadingTypeLink"`
	MeterReadingR2_3      *Revision2_3Type       `xml:"urn:ieee:std:2030.5:ns MeterReading_r2_3,omitempty"`
}

MeterReading is generated from the XML Schema type MeterReading in namespace urn:ieee:std:2030.5:ns.

func (v *MeterReading) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MeterReading) Clone added in v0.4.0

func (v *MeterReading) Clone() *MeterReading

Clone returns a deep copy of v, or nil.

func (*MeterReading) Strip2018 added in v0.4.0

func (v *MeterReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MeterReading) Validate

func (v *MeterReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type MeterReadingBase

type MeterReadingBase struct {
	IdentifiedObject
	MeterReadingBaseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MeterReadingBase_r2_3,omitempty"`
}

MeterReadingBase is generated from the XML Schema type MeterReadingBase in namespace urn:ieee:std:2030.5:ns.

func (*MeterReadingBase) Clone added in v0.4.0

func (v *MeterReadingBase) Clone() *MeterReadingBase

Clone returns a deep copy of v, or nil.

func (*MeterReadingBase) Strip2018 added in v0.4.0

func (v *MeterReadingBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MeterReadingBase) Validate

func (v *MeterReadingBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type MeterReadingLink struct {
	Link
	MeterReadingLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MeterReadingLink_r2_3,omitempty"`
}

MeterReadingLink is generated from the XML Schema type MeterReadingLink in namespace urn:ieee:std:2030.5:ns.

func (*MeterReadingLink) Clone added in v0.4.0

func (v *MeterReadingLink) Clone() *MeterReadingLink

Clone returns a deep copy of v, or nil.

func (*MeterReadingLink) Strip2018 added in v0.4.0

func (v *MeterReadingLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MeterReadingLink) Validate

func (v *MeterReadingLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type MeterReadingList

type MeterReadingList struct {
	SubscribableList
	MeterReading         []MeterReading   `xml:"urn:ieee:std:2030.5:ns MeterReading,omitempty"`
	MeterReadingListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MeterReadingList_r2_3,omitempty"`
}

MeterReadingList is generated from the XML Schema type MeterReadingList in namespace urn:ieee:std:2030.5:ns.

func (v *MeterReadingList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MeterReadingList) Clone added in v0.4.0

func (v *MeterReadingList) Clone() *MeterReadingList

Clone returns a deep copy of v, or nil.

func (*MeterReadingList) ListItemElement added in v0.4.0

func (v *MeterReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*MeterReadingList) ListItems added in v0.4.0

func (v *MeterReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*MeterReadingList) NewListItem added in v0.4.0

func (v *MeterReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*MeterReadingList) SetListCounts added in v0.4.0

func (v *MeterReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*MeterReadingList) SetListItems added in v0.4.0

func (v *MeterReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a MeterReading or a pointer to one.

func (*MeterReadingList) Strip2018 added in v0.4.0

func (v *MeterReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MeterReadingList) Validate

func (v *MeterReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type MeterReadingListLink struct {
	ListLink
	MeterReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MeterReadingListLink_r2_3,omitempty"`
}

MeterReadingListLink is generated from the XML Schema type MeterReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*MeterReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MeterReadingListLink) Strip2018 added in v0.4.0

func (v *MeterReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MeterReadingListLink) Validate

func (v *MeterReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type MethodSpec

type MethodSpec struct {
	Method      string
	Conformance Conformance
	// Request and Response are the document elements of the bodies, or
	// "" for none.
	Request  string
	Response string
	// QueryParams are the query parameters the method accepts.
	QueryParams []string
	// Statuses are the status codes the WADL lists for the method.
	Statuses []int
}

MethodSpec describes an HTTP method on a resource.

type MirrorMeterReading

type MirrorMeterReading struct {
	MeterReadingBase
	LastUpdateTime         *TimeType          `xml:"urn:ieee:std:2030.5:ns lastUpdateTime,omitempty"`
	MirrorReadingSet       []MirrorReadingSet `xml:"urn:ieee:std:2030.5:ns MirrorReadingSet,omitempty"`
	NextUpdateTime         *TimeType          `xml:"urn:ieee:std:2030.5:ns nextUpdateTime,omitempty"`
	Reading                *Reading           `xml:"urn:ieee:std:2030.5:ns Reading,omitempty"`
	ReadingType            *ReadingType       `xml:"urn:ieee:std:2030.5:ns ReadingType,omitempty"`
	MirrorMeterReadingR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns MirrorMeterReading_r2_3,omitempty"`
}

MirrorMeterReading is generated from the XML Schema type MirrorMeterReading in namespace urn:ieee:std:2030.5:ns.

func (*MirrorMeterReading) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MirrorMeterReading) Strip2018 added in v0.4.0

func (v *MirrorMeterReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorMeterReading) Validate

func (v *MirrorMeterReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type MirrorMeterReadingList

type MirrorMeterReadingList struct {
	List
	MirrorMeterReading         []MirrorMeterReading `xml:"urn:ieee:std:2030.5:ns MirrorMeterReading,omitempty"`
	MirrorMeterReadingListR2_3 *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns MirrorMeterReadingList_r2_3,omitempty"`
}

MirrorMeterReadingList is generated from the XML Schema type MirrorMeterReadingList in namespace urn:ieee:std:2030.5:ns.

func (*MirrorMeterReadingList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MirrorMeterReadingList) ListItemElement added in v0.4.0

func (v *MirrorMeterReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*MirrorMeterReadingList) ListItems added in v0.4.0

func (v *MirrorMeterReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*MirrorMeterReadingList) NewListItem added in v0.4.0

func (v *MirrorMeterReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*MirrorMeterReadingList) SetListCounts added in v0.4.0

func (v *MirrorMeterReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*MirrorMeterReadingList) SetListItems added in v0.4.0

func (v *MirrorMeterReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a MirrorMeterReading or a pointer to one.

func (*MirrorMeterReadingList) Strip2018 added in v0.4.0

func (v *MirrorMeterReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorMeterReadingList) Validate

func (v *MirrorMeterReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type MirrorReadingSet

type MirrorReadingSet struct {
	ReadingSetBase
	Reading              []Reading        `xml:"urn:ieee:std:2030.5:ns Reading,omitempty"`
	MirrorReadingSetR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MirrorReadingSet_r2_3,omitempty"`
}

MirrorReadingSet is generated from the XML Schema type MirrorReadingSet in namespace urn:ieee:std:2030.5:ns.

func (*MirrorReadingSet) Clone added in v0.4.0

func (v *MirrorReadingSet) Clone() *MirrorReadingSet

Clone returns a deep copy of v, or nil.

func (*MirrorReadingSet) Strip2018 added in v0.4.0

func (v *MirrorReadingSet) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorReadingSet) Validate

func (v *MirrorReadingSet) Validate() error

Validate reports the first constraint of the schema that v violates.

type MirrorUsagePoint

type MirrorUsagePoint struct {
	UsagePointBase
	DeviceLFDI           HexBinary160         `xml:"urn:ieee:std:2030.5:ns deviceLFDI"`
	MirrorMeterReading   []MirrorMeterReading `xml:"urn:ieee:std:2030.5:ns MirrorMeterReading,omitempty"`
	PostRate             *UInt32              `xml:"urn:ieee:std:2030.5:ns postRate,omitempty"`
	UsagePointLink       *UsagePointLink      `xml:"urn:ieee:std:2030.5:ns UsagePointLink,omitempty"`
	MirrorUsagePointR2_3 *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns MirrorUsagePoint_r2_3,omitempty"`
	Subscribable         *SubscribableType    `xml:"subscribable,attr,omitempty"`
}

MirrorUsagePoint is generated from the XML Schema type MirrorUsagePoint in namespace urn:ieee:std:2030.5:ns.

func (v *MirrorUsagePoint) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MirrorUsagePoint) Clone added in v0.4.0

func (v *MirrorUsagePoint) Clone() *MirrorUsagePoint

Clone returns a deep copy of v, or nil.

func (*MirrorUsagePoint) GetSubscribable

func (v *MirrorUsagePoint) GetSubscribable() SubscribableType

GetSubscribable returns Subscribable, or its schema default 0 when it is absent.

func (*MirrorUsagePoint) Strip2018 added in v0.4.0

func (v *MirrorUsagePoint) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorUsagePoint) Validate

func (v *MirrorUsagePoint) Validate() error

Validate reports the first constraint of the schema that v violates.

type MirrorUsagePointList

type MirrorUsagePointList struct {
	SubscribableList
	MirrorUsagePoint         []MirrorUsagePoint `xml:"urn:ieee:std:2030.5:ns MirrorUsagePoint,omitempty"`
	MirrorUsagePointListR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns MirrorUsagePointList_r2_3,omitempty"`
	PollRate                 *UInt32            `xml:"pollRate,attr,omitempty"`
}

MirrorUsagePointList is generated from the XML Schema type MirrorUsagePointList in namespace urn:ieee:std:2030.5:ns.

func (v *MirrorUsagePointList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*MirrorUsagePointList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MirrorUsagePointList) GetPollRate

func (v *MirrorUsagePointList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*MirrorUsagePointList) ListItemElement added in v0.4.0

func (v *MirrorUsagePointList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*MirrorUsagePointList) ListItems added in v0.4.0

func (v *MirrorUsagePointList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*MirrorUsagePointList) NewListItem added in v0.4.0

func (v *MirrorUsagePointList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*MirrorUsagePointList) SetListCounts added in v0.4.0

func (v *MirrorUsagePointList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*MirrorUsagePointList) SetListItems added in v0.4.0

func (v *MirrorUsagePointList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a MirrorUsagePoint or a pointer to one.

func (*MirrorUsagePointList) Strip2018 added in v0.4.0

func (v *MirrorUsagePointList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorUsagePointList) Validate

func (v *MirrorUsagePointList) Validate() error

Validate reports the first constraint of the schema that v violates.

type MirrorUsagePointListLink struct {
	ListLink
	MirrorUsagePointListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns MirrorUsagePointListLink_r2_3,omitempty"`
}

MirrorUsagePointListLink is generated from the XML Schema type MirrorUsagePointListLink in namespace urn:ieee:std:2030.5:ns.

func (*MirrorUsagePointListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*MirrorUsagePointListLink) Strip2018 added in v0.4.0

func (v *MirrorUsagePointListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*MirrorUsagePointListLink) Validate

func (v *MirrorUsagePointListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Neighbor

type Neighbor struct {
	Resource
	IsChild      bool             `xml:"urn:ieee:std:2030.5:ns isChild"`
	LinkQuality  UInt8            `xml:"urn:ieee:std:2030.5:ns linkQuality"`
	ShortAddress UInt16           `xml:"urn:ieee:std:2030.5:ns shortAddress"`
	NeighborR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Neighbor_r2_3,omitempty"`
}

Neighbor is generated from the XML Schema type Neighbor in namespace urn:ieee:std:2030.5:ns.

func (*Neighbor) Clone added in v0.4.0

func (v *Neighbor) Clone() *Neighbor

Clone returns a deep copy of v, or nil.

func (*Neighbor) Strip2018 added in v0.4.0

func (v *Neighbor) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Neighbor) Validate

func (v *Neighbor) Validate() error

Validate reports the first constraint of the schema that v violates.

type NeighborList

type NeighborList struct {
	List
	Neighbor         []Neighbor       `xml:"urn:ieee:std:2030.5:ns Neighbor,omitempty"`
	NeighborListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns NeighborList_r2_3,omitempty"`
}

NeighborList is generated from the XML Schema type NeighborList in namespace urn:ieee:std:2030.5:ns.

func (*NeighborList) Clone added in v0.4.0

func (v *NeighborList) Clone() *NeighborList

Clone returns a deep copy of v, or nil.

func (*NeighborList) ListItemElement added in v0.4.0

func (v *NeighborList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*NeighborList) ListItems added in v0.4.0

func (v *NeighborList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*NeighborList) NewListItem added in v0.4.0

func (v *NeighborList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*NeighborList) SetListCounts added in v0.4.0

func (v *NeighborList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*NeighborList) SetListItems added in v0.4.0

func (v *NeighborList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Neighbor or a pointer to one.

func (*NeighborList) Strip2018 added in v0.4.0

func (v *NeighborList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*NeighborList) Validate

func (v *NeighborList) Validate() error

Validate reports the first constraint of the schema that v violates.

type NeighborListLink struct {
	ListLink
	NeighborListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns NeighborListLink_r2_3,omitempty"`
}

NeighborListLink is generated from the XML Schema type NeighborListLink in namespace urn:ieee:std:2030.5:ns.

func (*NeighborListLink) Clone added in v0.4.0

func (v *NeighborListLink) Clone() *NeighborListLink

Clone returns a deep copy of v, or nil.

func (*NeighborListLink) Strip2018 added in v0.4.0

func (v *NeighborListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*NeighborListLink) Validate

func (v *NeighborListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Notification

type Notification struct {
	SubscriptionBase
	CreatedDateTime  *TimeType        `xml:"urn:ieee:std:2030.5:ns createdDateTime,omitempty"`
	NewResourceURI   *string          `xml:"urn:ieee:std:2030.5:ns newResourceURI,omitempty"`
	Resource         *AnyResource     `xml:"urn:ieee:std:2030.5:ns Resource,omitempty"`
	Status           UInt8            `xml:"urn:ieee:std:2030.5:ns status"`
	SubscriptionURI  string           `xml:"urn:ieee:std:2030.5:ns subscriptionURI"`
	NotificationR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Notification_r2_3,omitempty"`
}

Notification is generated from the XML Schema type Notification in namespace urn:ieee:std:2030.5:ns.

func (*Notification) Clone added in v0.4.0

func (v *Notification) Clone() *Notification

Clone returns a deep copy of v, or nil.

func (*Notification) Strip2018 added in v0.4.0

func (v *Notification) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Notification) Validate

func (v *Notification) Validate() error

Validate reports the first constraint of the schema that v violates.

type NotificationList

type NotificationList struct {
	List
	Notification         []Notification   `xml:"urn:ieee:std:2030.5:ns Notification,omitempty"`
	NotificationListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns NotificationList_r2_3,omitempty"`
}

NotificationList is generated from the XML Schema type NotificationList in namespace urn:ieee:std:2030.5:ns.

func (*NotificationList) Clone added in v0.4.0

func (v *NotificationList) Clone() *NotificationList

Clone returns a deep copy of v, or nil.

func (*NotificationList) ListItemElement added in v0.4.0

func (v *NotificationList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*NotificationList) ListItems added in v0.4.0

func (v *NotificationList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*NotificationList) NewListItem added in v0.4.0

func (v *NotificationList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*NotificationList) SetListCounts added in v0.4.0

func (v *NotificationList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*NotificationList) SetListItems added in v0.4.0

func (v *NotificationList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Notification or a pointer to one.

func (*NotificationList) Strip2018 added in v0.4.0

func (v *NotificationList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*NotificationList) Validate

func (v *NotificationList) Validate() error

Validate reports the first constraint of the schema that v violates.

type NotificationListLink struct {
	ListLink
	NotificationListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns NotificationListLink_r2_3,omitempty"`
}

NotificationListLink is generated from the XML Schema type NotificationListLink in namespace urn:ieee:std:2030.5:ns.

func (*NotificationListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*NotificationListLink) Strip2018 added in v0.4.0

func (v *NotificationListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*NotificationListLink) Validate

func (v *NotificationListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Offset

type Offset struct {
	CoolingOffset                  *UInt8             `xml:"urn:ieee:std:2030.5:ns coolingOffset,omitempty"`
	HeatingOffset                  *UInt8             `xml:"urn:ieee:std:2030.5:ns heatingOffset,omitempty"`
	LoadAdjustmentPercentageOffset *PerCent           `xml:"urn:ieee:std:2030.5:ns loadAdjustmentPercentageOffset,omitempty"`
	OffsetR2_3                     *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Offset_r2_3,omitempty"`
	Extensions                     []ExtensionElement `xml:",any"`
}

Offset is generated from the XML Schema type Offset in namespace urn:ieee:std:2030.5:ns.

func (*Offset) Clone added in v0.4.0

func (v *Offset) Clone() *Offset

Clone returns a deep copy of v, or nil.

func (*Offset) Strip2018 added in v0.4.0

func (v *Offset) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Offset) Validate

func (v *Offset) Validate() error

Validate reports the first constraint of the schema that v violates.

type OneHourRangeType

type OneHourRangeType int16

OneHourRangeType is generated from the XML Schema type OneHourRangeType in namespace urn:ieee:std:2030.5:ns.

type OperationalModeStatusType

type OperationalModeStatusType struct {
	DateTime                      TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                         UInt8              `xml:"urn:ieee:std:2030.5:ns value"`
	OperationalModeStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns OperationalModeStatusType_r2_3,omitempty"`
	Extensions                    []ExtensionElement `xml:",any"`
}

OperationalModeStatusType is generated from the XML Schema type OperationalModeStatusType in namespace urn:ieee:std:2030.5:ns.

func (*OperationalModeStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*OperationalModeStatusType) Strip2018 added in v0.4.0

func (v *OperationalModeStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*OperationalModeStatusType) Validate

func (v *OperationalModeStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type PENType

type PENType uint32

PENType is generated from the XML Schema type PENType in namespace urn:ieee:std:2030.5:ns.

type PEVInfo

type PEVInfo struct {
	ChargingPowerNow        ActivePower        `xml:"urn:ieee:std:2030.5:ns chargingPowerNow"`
	EnergyRequestNow        RealEnergy         `xml:"urn:ieee:std:2030.5:ns energyRequestNow"`
	MaxForwardPower         ActivePower        `xml:"urn:ieee:std:2030.5:ns maxForwardPower"`
	MinimumChargingDuration UInt32             `xml:"urn:ieee:std:2030.5:ns minimumChargingDuration"`
	TargetStateOfCharge     PerCent            `xml:"urn:ieee:std:2030.5:ns targetStateOfCharge"`
	TimeChargeIsNeeded      TimeType           `xml:"urn:ieee:std:2030.5:ns timeChargeIsNeeded"`
	TimeChargingStatusPEV   TimeType           `xml:"urn:ieee:std:2030.5:ns timeChargingStatusPEV"`
	PEVInfoR2_3             *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns PEVInfo_r2_3,omitempty"`
	Extensions              []ExtensionElement `xml:",any"`
}

PEVInfo is generated from the XML Schema type PEVInfo in namespace urn:ieee:std:2030.5:ns.

func (*PEVInfo) Clone added in v0.4.0

func (v *PEVInfo) Clone() *PEVInfo

Clone returns a deep copy of v, or nil.

func (*PEVInfo) Strip2018 added in v0.4.0

func (v *PEVInfo) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PEVInfo) Validate

func (v *PEVInfo) Validate() error

Validate reports the first constraint of the schema that v violates.

type PINType

type PINType uint32

PINType is generated from the XML Schema type PINType in namespace urn:ieee:std:2030.5:ns.

type PerCent

type PerCent uint16

PerCent is generated from the XML Schema type PerCent in namespace urn:ieee:std:2030.5:ns.

type PerCentControlType

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

PerCentControlType is generated from the XML Schema type PerCentControlType in namespace urn:ieee:std:2030.5:ns.

func (*PerCentControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PerCentControlType) GetDisabled

func (v *PerCentControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*PerCentControlType) Strip2018 added in v0.4.0

func (v *PerCentControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PerCentControlType) Validate

func (v *PerCentControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type PhaseCode

type PhaseCode uint8

PhaseCode is generated from the XML Schema type PhaseCode in namespace urn:ieee:std:2030.5:ns.

type PowerConfiguration

type PowerConfiguration struct {
	BatteryInstallTime     *TimeType          `xml:"urn:ieee:std:2030.5:ns batteryInstallTime,omitempty"`
	LowChargeThreshold     *UInt32            `xml:"urn:ieee:std:2030.5:ns lowChargeThreshold,omitempty"`
	PowerConfigurationR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns PowerConfiguration_r2_3,omitempty"`
	Extensions             []ExtensionElement `xml:",any"`
}

PowerConfiguration is generated from the XML Schema type PowerConfiguration in namespace urn:ieee:std:2030.5:ns.

func (*PowerConfiguration) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PowerConfiguration) Strip2018 added in v0.4.0

func (v *PowerConfiguration) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerConfiguration) Validate

func (v *PowerConfiguration) Validate() error

Validate reports the first constraint of the schema that v violates.

type PowerFactor

type PowerFactor struct {
	Displacement    UInt16                   `xml:"urn:ieee:std:2030.5:ns displacement"`
	Multiplier      PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	PowerFactorR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns PowerFactor_r2_3,omitempty"`
	Extensions      []ExtensionElement       `xml:",any"`
}

PowerFactor is generated from the XML Schema type PowerFactor in namespace urn:ieee:std:2030.5:ns.

func (*PowerFactor) Clone added in v0.4.0

func (v *PowerFactor) Clone() *PowerFactor

Clone returns a deep copy of v, or nil.

func (*PowerFactor) Strip2018 added in v0.4.0

func (v *PowerFactor) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerFactor) Validate

func (v *PowerFactor) Validate() error

Validate reports the first constraint of the schema that v violates.

type PowerFactorWithExcitation

type PowerFactorWithExcitation struct {
	Displacement                  UInt16                   `xml:"urn:ieee:std:2030.5:ns displacement"`
	Excitation                    bool                     `xml:"urn:ieee:std:2030.5:ns excitation"`
	Multiplier                    PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	PowerFactorWithExcitationR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns PowerFactorWithExcitation_r2_3,omitempty"`
	Extensions                    []ExtensionElement       `xml:",any"`
}

PowerFactorWithExcitation is generated from the XML Schema type PowerFactorWithExcitation in namespace urn:ieee:std:2030.5:ns.

func (*PowerFactorWithExcitation) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PowerFactorWithExcitation) Strip2018 added in v0.4.0

func (v *PowerFactorWithExcitation) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerFactorWithExcitation) Validate

func (v *PowerFactorWithExcitation) Validate() error

Validate reports the first constraint of the schema that v violates.

type PowerFactorWithExcitationControlType

type PowerFactorWithExcitationControlType struct {
	PowerFactorWithExcitation
	PowerFactorWithExcitationControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PowerFactorWithExcitationControlType_r2_3,omitempty"`
	Disabled                                 *bool            `xml:"disabled,attr,omitempty"`
}

PowerFactorWithExcitationControlType is generated from the XML Schema type PowerFactorWithExcitationControlType in namespace urn:ieee:std:2030.5:ns.

func (*PowerFactorWithExcitationControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PowerFactorWithExcitationControlType) GetDisabled

func (v *PowerFactorWithExcitationControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*PowerFactorWithExcitationControlType) Strip2018 added in v0.4.0

func (v *PowerFactorWithExcitationControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerFactorWithExcitationControlType) Validate

Validate reports the first constraint of the schema that v violates.

type PowerOfTenMultiplierType

type PowerOfTenMultiplierType int8

PowerOfTenMultiplierType is generated from the XML Schema type PowerOfTenMultiplierType in namespace urn:ieee:std:2030.5:ns.

type PowerSourceType

type PowerSourceType uint8

PowerSourceType is generated from the XML Schema type PowerSourceType in namespace urn:ieee:std:2030.5:ns.

type PowerStatus

type PowerStatus struct {
	Resource
	BatteryStatus            UInt8            `xml:"urn:ieee:std:2030.5:ns batteryStatus"`
	ChangedTime              TimeType         `xml:"urn:ieee:std:2030.5:ns changedTime"`
	CurrentPowerSource       PowerSourceType  `xml:"urn:ieee:std:2030.5:ns currentPowerSource"`
	EstimatedChargeRemaining *PerCent         `xml:"urn:ieee:std:2030.5:ns estimatedChargeRemaining,omitempty"`
	EstimatedTimeRemaining   *UInt32          `xml:"urn:ieee:std:2030.5:ns estimatedTimeRemaining,omitempty"`
	PEVInfo                  *PEVInfo         `xml:"urn:ieee:std:2030.5:ns PEVInfo,omitempty"`
	SessionTimeOnBattery     *UInt32          `xml:"urn:ieee:std:2030.5:ns sessionTimeOnBattery,omitempty"`
	TotalTimeOnBattery       *UInt32          `xml:"urn:ieee:std:2030.5:ns totalTimeOnBattery,omitempty"`
	PowerStatusR2_3          *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PowerStatus_r2_3,omitempty"`
	PollRate                 *UInt32          `xml:"pollRate,attr,omitempty"`
}

PowerStatus is generated from the XML Schema type PowerStatus in namespace urn:ieee:std:2030.5:ns.

func (*PowerStatus) Clone added in v0.4.0

func (v *PowerStatus) Clone() *PowerStatus

Clone returns a deep copy of v, or nil.

func (*PowerStatus) GetPollRate

func (v *PowerStatus) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*PowerStatus) Strip2018 added in v0.4.0

func (v *PowerStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerStatus) Validate

func (v *PowerStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type PowerStatusLink struct {
	Link
	PowerStatusLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PowerStatusLink_r2_3,omitempty"`
}

PowerStatusLink is generated from the XML Schema type PowerStatusLink in namespace urn:ieee:std:2030.5:ns.

func (*PowerStatusLink) Clone added in v0.4.0

func (v *PowerStatusLink) Clone() *PowerStatusLink

Clone returns a deep copy of v, or nil.

func (*PowerStatusLink) Strip2018 added in v0.4.0

func (v *PowerStatusLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PowerStatusLink) Validate

func (v *PowerStatusLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrepayModeType

type PrepayModeType uint8

PrepayModeType is generated from the XML Schema type PrepayModeType in namespace urn:ieee:std:2030.5:ns.

type PrepayOperationStatus

type PrepayOperationStatus struct {
	Resource
	CreditTypeChange          *CreditTypeChange `xml:"urn:ieee:std:2030.5:ns creditTypeChange,omitempty"`
	CreditTypeInUse           *CreditTypeType   `xml:"urn:ieee:std:2030.5:ns creditTypeInUse,omitempty"`
	ServiceChange             *ServiceChange    `xml:"urn:ieee:std:2030.5:ns serviceChange,omitempty"`
	ServiceStatus             ServiceStatusType `xml:"urn:ieee:std:2030.5:ns serviceStatus"`
	PrepayOperationStatusR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns PrepayOperationStatus_r2_3,omitempty"`
}

PrepayOperationStatus is generated from the XML Schema type PrepayOperationStatus in namespace urn:ieee:std:2030.5:ns.

func (*PrepayOperationStatus) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PrepayOperationStatus) Strip2018 added in v0.4.0

func (v *PrepayOperationStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PrepayOperationStatus) Validate

func (v *PrepayOperationStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrepayOperationStatusLink struct {
	Link
	PrepayOperationStatusLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PrepayOperationStatusLink_r2_3,omitempty"`
}

PrepayOperationStatusLink is generated from the XML Schema type PrepayOperationStatusLink in namespace urn:ieee:std:2030.5:ns.

func (*PrepayOperationStatusLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PrepayOperationStatusLink) Strip2018 added in v0.4.0

func (v *PrepayOperationStatusLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PrepayOperationStatusLink) Validate

func (v *PrepayOperationStatusLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Prepayment

type Prepayment struct {
	IdentifiedObject
	AccountBalanceLink                       AccountBalanceLink                        `xml:"urn:ieee:std:2030.5:ns AccountBalanceLink"`
	ActiveCreditRegisterListLink             *ActiveCreditRegisterListLink             `xml:"urn:ieee:std:2030.5:ns ActiveCreditRegisterListLink,omitempty"`
	ActiveSupplyInterruptionOverrideListLink *ActiveSupplyInterruptionOverrideListLink `xml:"urn:ieee:std:2030.5:ns ActiveSupplyInterruptionOverrideListLink,omitempty"`
	CreditExpiryLevel                        *AccountingUnit                           `xml:"urn:ieee:std:2030.5:ns creditExpiryLevel,omitempty"`
	CreditRegisterListLink                   CreditRegisterListLink                    `xml:"urn:ieee:std:2030.5:ns CreditRegisterListLink"`
	LowCreditWarningLevel                    *AccountingUnit                           `xml:"urn:ieee:std:2030.5:ns lowCreditWarningLevel,omitempty"`
	LowEmergencyCreditWarningLevel           *AccountingUnit                           `xml:"urn:ieee:std:2030.5:ns lowEmergencyCreditWarningLevel,omitempty"`
	PrepayMode                               PrepayModeType                            `xml:"urn:ieee:std:2030.5:ns prepayMode"`
	PrepayOperationStatusLink                PrepayOperationStatusLink                 `xml:"urn:ieee:std:2030.5:ns PrepayOperationStatusLink"`
	SupplyInterruptionOverrideListLink       SupplyInterruptionOverrideListLink        `xml:"urn:ieee:std:2030.5:ns SupplyInterruptionOverrideListLink"`
	UsagePoint                               []UsagePoint                              `xml:"urn:ieee:std:2030.5:ns UsagePoint,omitempty"`
	UsagePointLink                           *UsagePointLink                           `xml:"urn:ieee:std:2030.5:ns UsagePointLink,omitempty"`
	PrepaymentR2_3                           *Revision2_3Type                          `xml:"urn:ieee:std:2030.5:ns Prepayment_r2_3,omitempty"`
}

Prepayment is generated from the XML Schema type Prepayment in namespace urn:ieee:std:2030.5:ns.

func (v *Prepayment) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*Prepayment) Clone added in v0.4.0

func (v *Prepayment) Clone() *Prepayment

Clone returns a deep copy of v, or nil.

func (*Prepayment) Strip2018 added in v0.4.0

func (v *Prepayment) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Prepayment) Validate

func (v *Prepayment) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrepaymentLink struct {
	Link
	PrepaymentLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PrepaymentLink_r2_3,omitempty"`
}

PrepaymentLink is generated from the XML Schema type PrepaymentLink in namespace urn:ieee:std:2030.5:ns.

func (*PrepaymentLink) Clone added in v0.4.0

func (v *PrepaymentLink) Clone() *PrepaymentLink

Clone returns a deep copy of v, or nil.

func (*PrepaymentLink) Strip2018 added in v0.4.0

func (v *PrepaymentLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PrepaymentLink) Validate

func (v *PrepaymentLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrepaymentList

type PrepaymentList struct {
	SubscribableList
	Prepayment         []Prepayment     `xml:"urn:ieee:std:2030.5:ns Prepayment,omitempty"`
	PrepaymentListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PrepaymentList_r2_3,omitempty"`
	PollRate           *UInt32          `xml:"pollRate,attr,omitempty"`
}

PrepaymentList is generated from the XML Schema type PrepaymentList in namespace urn:ieee:std:2030.5:ns.

func (v *PrepaymentList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*PrepaymentList) Clone added in v0.4.0

func (v *PrepaymentList) Clone() *PrepaymentList

Clone returns a deep copy of v, or nil.

func (*PrepaymentList) GetPollRate

func (v *PrepaymentList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*PrepaymentList) ListItemElement added in v0.4.0

func (v *PrepaymentList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*PrepaymentList) ListItems added in v0.4.0

func (v *PrepaymentList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*PrepaymentList) NewListItem added in v0.4.0

func (v *PrepaymentList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*PrepaymentList) SetListCounts added in v0.4.0

func (v *PrepaymentList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*PrepaymentList) SetListItems added in v0.4.0

func (v *PrepaymentList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Prepayment or a pointer to one.

func (*PrepaymentList) Strip2018 added in v0.4.0

func (v *PrepaymentList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PrepaymentList) Validate

func (v *PrepaymentList) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrepaymentListLink struct {
	ListLink
	PrepaymentListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PrepaymentListLink_r2_3,omitempty"`
}

PrepaymentListLink is generated from the XML Schema type PrepaymentListLink in namespace urn:ieee:std:2030.5:ns.

func (*PrepaymentListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PrepaymentListLink) Strip2018 added in v0.4.0

func (v *PrepaymentListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PrepaymentListLink) Validate

func (v *PrepaymentListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type PriceResponse

type PriceResponse struct {
	Response
	PriceResponseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PriceResponse_r2_3,omitempty"`
}

PriceResponse is generated from the XML Schema type PriceResponse in namespace urn:ieee:std:2030.5:ns.

func (*PriceResponse) Clone added in v0.4.0

func (v *PriceResponse) Clone() *PriceResponse

Clone returns a deep copy of v, or nil.

func (*PriceResponse) Strip2018 added in v0.4.0

func (v *PriceResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PriceResponse) Validate

func (v *PriceResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type PriceResponseCfg

type PriceResponseCfg struct {
	Resource
	ConsumeThreshold      Int32             `xml:"urn:ieee:std:2030.5:ns consumeThreshold"`
	MaxReductionThreshold Int32             `xml:"urn:ieee:std:2030.5:ns maxReductionThreshold"`
	RateComponentLink     RateComponentLink `xml:"urn:ieee:std:2030.5:ns RateComponentLink"`
	PriceResponseCfgR2_3  *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns PriceResponseCfg_r2_3,omitempty"`
}

PriceResponseCfg is generated from the XML Schema type PriceResponseCfg in namespace urn:ieee:std:2030.5:ns.

func (v *PriceResponseCfg) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*PriceResponseCfg) Clone added in v0.4.0

func (v *PriceResponseCfg) Clone() *PriceResponseCfg

Clone returns a deep copy of v, or nil.

func (*PriceResponseCfg) Strip2018 added in v0.4.0

func (v *PriceResponseCfg) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PriceResponseCfg) Validate

func (v *PriceResponseCfg) Validate() error

Validate reports the first constraint of the schema that v violates.

type PriceResponseCfgList

type PriceResponseCfgList struct {
	List
	PriceResponseCfg         []PriceResponseCfg `xml:"urn:ieee:std:2030.5:ns PriceResponseCfg,omitempty"`
	PriceResponseCfgListR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns PriceResponseCfgList_r2_3,omitempty"`
}

PriceResponseCfgList is generated from the XML Schema type PriceResponseCfgList in namespace urn:ieee:std:2030.5:ns.

func (v *PriceResponseCfgList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*PriceResponseCfgList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PriceResponseCfgList) ListItemElement added in v0.4.0

func (v *PriceResponseCfgList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*PriceResponseCfgList) ListItems added in v0.4.0

func (v *PriceResponseCfgList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*PriceResponseCfgList) NewListItem added in v0.4.0

func (v *PriceResponseCfgList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*PriceResponseCfgList) SetListCounts added in v0.4.0

func (v *PriceResponseCfgList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*PriceResponseCfgList) SetListItems added in v0.4.0

func (v *PriceResponseCfgList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a PriceResponseCfg or a pointer to one.

func (*PriceResponseCfgList) Strip2018 added in v0.4.0

func (v *PriceResponseCfgList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PriceResponseCfgList) Validate

func (v *PriceResponseCfgList) Validate() error

Validate reports the first constraint of the schema that v violates.

type PriceResponseCfgListLink struct {
	ListLink
	PriceResponseCfgListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns PriceResponseCfgListLink_r2_3,omitempty"`
}

PriceResponseCfgListLink is generated from the XML Schema type PriceResponseCfgListLink in namespace urn:ieee:std:2030.5:ns.

func (*PriceResponseCfgListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*PriceResponseCfgListLink) Strip2018 added in v0.4.0

func (v *PriceResponseCfgListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PriceResponseCfgListLink) Validate

func (v *PriceResponseCfgListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type PrimacyType

type PrimacyType uint8

PrimacyType is generated from the XML Schema type PrimacyType in namespace urn:ieee:std:2030.5:ns.

type PriorityData

type PriorityData struct {
	LFDI             HexBinary160       `xml:"urn:ieee:std:2030.5:ns lFDI"`
	PriorityDataR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns PriorityData_r2_3,omitempty"`
	Extensions       []ExtensionElement `xml:",any"`
}

PriorityData is generated from the XML Schema type PriorityData in namespace urn:ieee:std:2030.5:ns.

func (*PriorityData) Clone added in v0.4.0

func (v *PriorityData) Clone() *PriorityData

Clone returns a deep copy of v, or nil.

func (*PriorityData) Strip2018 added in v0.4.0

func (v *PriorityData) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*PriorityData) Validate

func (v *PriorityData) Validate() error

Validate reports the first constraint of the schema that v violates.

type PriorityType

type PriorityType uint8

PriorityType is generated from the XML Schema type PriorityType in namespace urn:ieee:std:2030.5:ns.

type Profile

type Profile string

Profile identifies an implementation profile that constrains or extends the base IEEE 2030.5 standard for a particular jurisdiction.

const (
	// ProfileCSIP is the Common Smart Inverter Profile, used in
	// California for Rule 21 and the CPUC Smart Inverter mandate.
	ProfileCSIP Profile = "CSIP"
	// ProfileCSIPAUS is the Common Smart Inverter Profile — Australia,
	// used for AS/NZS 4777.2 compliance and AEMO requirements.
	ProfileCSIPAUS Profile = "CSIP-AUS"
)

Implementation profiles.

type ProjectionReading

type ProjectionReading struct {
	BillingMeterReadingBase
	ProjectionReadingR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ProjectionReading_r2_3,omitempty"`
}

ProjectionReading is generated from the XML Schema type ProjectionReading in namespace urn:ieee:std:2030.5:ns.

func (v *ProjectionReading) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ProjectionReading) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ProjectionReading) Strip2018 added in v0.4.0

func (v *ProjectionReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProjectionReading) Validate

func (v *ProjectionReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type ProjectionReadingList

type ProjectionReadingList struct {
	List
	ProjectionReading         []ProjectionReading `xml:"urn:ieee:std:2030.5:ns ProjectionReading,omitempty"`
	ProjectionReadingListR2_3 *Revision2_3Type    `xml:"urn:ieee:std:2030.5:ns ProjectionReadingList_r2_3,omitempty"`
}

ProjectionReadingList is generated from the XML Schema type ProjectionReadingList in namespace urn:ieee:std:2030.5:ns.

func (v *ProjectionReadingList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ProjectionReadingList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ProjectionReadingList) ListItemElement added in v0.4.0

func (v *ProjectionReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ProjectionReadingList) ListItems added in v0.4.0

func (v *ProjectionReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ProjectionReadingList) NewListItem added in v0.4.0

func (v *ProjectionReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ProjectionReadingList) SetListCounts added in v0.4.0

func (v *ProjectionReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ProjectionReadingList) SetListItems added in v0.4.0

func (v *ProjectionReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a ProjectionReading or a pointer to one.

func (*ProjectionReadingList) Strip2018 added in v0.4.0

func (v *ProjectionReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProjectionReadingList) Validate

func (v *ProjectionReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ProjectionReadingListLink struct {
	ListLink
	ProjectionReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ProjectionReadingListLink_r2_3,omitempty"`
}

ProjectionReadingListLink is generated from the XML Schema type ProjectionReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*ProjectionReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ProjectionReadingListLink) Strip2018 added in v0.4.0

func (v *ProjectionReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProjectionReadingListLink) Validate

func (v *ProjectionReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ProxiedDevice

type ProxiedDevice struct {
	ExternalDevice
	ProxiedDeviceR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ProxiedDevice_r2_3,omitempty"`
}

ProxiedDevice is generated from the XML Schema type ProxiedDevice in namespace urn:ieee:std:2030.5:ns.

func (v *ProxiedDevice) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ProxiedDevice) Clone added in v0.4.0

func (v *ProxiedDevice) Clone() *ProxiedDevice

Clone returns a deep copy of v, or nil.

func (*ProxiedDevice) Strip2018 added in v0.4.0

func (v *ProxiedDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProxiedDevice) Validate

func (v *ProxiedDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type ProxiedDeviceList

type ProxiedDeviceList struct {
	SubscribableList
	ProxiedDevice         []ProxiedDevice  `xml:"urn:ieee:std:2030.5:ns ProxiedDevice,omitempty"`
	ProxiedDeviceListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ProxiedDeviceList_r2_3,omitempty"`
	PollRate              *UInt32          `xml:"pollRate,attr,omitempty"`
}

ProxiedDeviceList is generated from the XML Schema type ProxiedDeviceList in namespace urn:ieee:std:2030.5:ns.

func (v *ProxiedDeviceList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ProxiedDeviceList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ProxiedDeviceList) GetPollRate

func (v *ProxiedDeviceList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*ProxiedDeviceList) ListItemElement added in v0.4.0

func (v *ProxiedDeviceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ProxiedDeviceList) ListItems added in v0.4.0

func (v *ProxiedDeviceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ProxiedDeviceList) NewListItem added in v0.4.0

func (v *ProxiedDeviceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ProxiedDeviceList) SetListCounts added in v0.4.0

func (v *ProxiedDeviceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ProxiedDeviceList) SetListItems added in v0.4.0

func (v *ProxiedDeviceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a ProxiedDevice or a pointer to one.

func (*ProxiedDeviceList) Strip2018 added in v0.4.0

func (v *ProxiedDeviceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProxiedDeviceList) Validate

func (v *ProxiedDeviceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ProxiedDeviceListLink struct {
	ListLink
	ProxiedDeviceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ProxiedDeviceListLink_r2_3,omitempty"`
}

ProxiedDeviceListLink is generated from the XML Schema type ProxiedDeviceListLink in namespace urn:ieee:std:2030.5:ns.

func (*ProxiedDeviceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ProxiedDeviceListLink) Strip2018 added in v0.4.0

func (v *ProxiedDeviceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ProxiedDeviceListLink) Validate

func (v *ProxiedDeviceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLInstance

type RPLInstance struct {
	Resource
	DODAGid                 UInt8                    `xml:"urn:ieee:std:2030.5:ns DODAGid"`
	DODAGroot               bool                     `xml:"urn:ieee:std:2030.5:ns DODAGroot"`
	Flags                   UInt8                    `xml:"urn:ieee:std:2030.5:ns flags"`
	GroundedFlag            bool                     `xml:"urn:ieee:std:2030.5:ns groundedFlag"`
	MOP                     UInt8                    `xml:"urn:ieee:std:2030.5:ns MOP"`
	PRF                     UInt8                    `xml:"urn:ieee:std:2030.5:ns PRF"`
	Rank                    UInt16                   `xml:"urn:ieee:std:2030.5:ns rank"`
	RPLInstanceID           UInt8                    `xml:"urn:ieee:std:2030.5:ns RPLInstanceID"`
	RPLSourceRoutesListLink *RPLSourceRoutesListLink `xml:"urn:ieee:std:2030.5:ns RPLSourceRoutesListLink,omitempty"`
	VersionNumber           UInt8                    `xml:"urn:ieee:std:2030.5:ns versionNumber"`
	RPLInstanceR2_3         *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns RPLInstance_r2_3,omitempty"`
}

RPLInstance is generated from the XML Schema type RPLInstance in namespace urn:ieee:std:2030.5:ns.

func (v *RPLInstance) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*RPLInstance) Clone added in v0.4.0

func (v *RPLInstance) Clone() *RPLInstance

Clone returns a deep copy of v, or nil.

func (*RPLInstance) Strip2018 added in v0.4.0

func (v *RPLInstance) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLInstance) Validate

func (v *RPLInstance) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLInstanceList

type RPLInstanceList struct {
	List
	RPLInstance         []RPLInstance    `xml:"urn:ieee:std:2030.5:ns RPLInstance,omitempty"`
	RPLInstanceListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RPLInstanceList_r2_3,omitempty"`
}

RPLInstanceList is generated from the XML Schema type RPLInstanceList in namespace urn:ieee:std:2030.5:ns.

func (v *RPLInstanceList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*RPLInstanceList) Clone added in v0.4.0

func (v *RPLInstanceList) Clone() *RPLInstanceList

Clone returns a deep copy of v, or nil.

func (*RPLInstanceList) ListItemElement added in v0.4.0

func (v *RPLInstanceList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*RPLInstanceList) ListItems added in v0.4.0

func (v *RPLInstanceList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*RPLInstanceList) NewListItem added in v0.4.0

func (v *RPLInstanceList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*RPLInstanceList) SetListCounts added in v0.4.0

func (v *RPLInstanceList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*RPLInstanceList) SetListItems added in v0.4.0

func (v *RPLInstanceList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a RPLInstance or a pointer to one.

func (*RPLInstanceList) Strip2018 added in v0.4.0

func (v *RPLInstanceList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLInstanceList) Validate

func (v *RPLInstanceList) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLInstanceListLink struct {
	ListLink
	RPLInstanceListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RPLInstanceListLink_r2_3,omitempty"`
}

RPLInstanceListLink is generated from the XML Schema type RPLInstanceListLink in namespace urn:ieee:std:2030.5:ns.

func (*RPLInstanceListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RPLInstanceListLink) Strip2018 added in v0.4.0

func (v *RPLInstanceListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLInstanceListLink) Validate

func (v *RPLInstanceListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLSourceRoutes

type RPLSourceRoutes struct {
	Resource
	DestAddress         HexBinary128     `xml:"urn:ieee:std:2030.5:ns DestAddress"`
	SourceRoute         HexBinary128     `xml:"urn:ieee:std:2030.5:ns SourceRoute"`
	RPLSourceRoutesR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RPLSourceRoutes_r2_3,omitempty"`
}

RPLSourceRoutes is generated from the XML Schema type RPLSourceRoutes in namespace urn:ieee:std:2030.5:ns.

func (*RPLSourceRoutes) Clone added in v0.4.0

func (v *RPLSourceRoutes) Clone() *RPLSourceRoutes

Clone returns a deep copy of v, or nil.

func (*RPLSourceRoutes) Strip2018 added in v0.4.0

func (v *RPLSourceRoutes) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLSourceRoutes) Validate

func (v *RPLSourceRoutes) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLSourceRoutesList

type RPLSourceRoutesList struct {
	List
	RPLSourceRoutes         []RPLSourceRoutes `xml:"urn:ieee:std:2030.5:ns RPLSourceRoutes,omitempty"`
	RPLSourceRoutesListR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns RPLSourceRoutesList_r2_3,omitempty"`
}

RPLSourceRoutesList is generated from the XML Schema type RPLSourceRoutesList in namespace urn:ieee:std:2030.5:ns.

func (*RPLSourceRoutesList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RPLSourceRoutesList) ListItemElement added in v0.4.0

func (v *RPLSourceRoutesList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*RPLSourceRoutesList) ListItems added in v0.4.0

func (v *RPLSourceRoutesList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*RPLSourceRoutesList) NewListItem added in v0.4.0

func (v *RPLSourceRoutesList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*RPLSourceRoutesList) SetListCounts added in v0.4.0

func (v *RPLSourceRoutesList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*RPLSourceRoutesList) SetListItems added in v0.4.0

func (v *RPLSourceRoutesList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a RPLSourceRoutes or a pointer to one.

func (*RPLSourceRoutesList) Strip2018 added in v0.4.0

func (v *RPLSourceRoutesList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLSourceRoutesList) Validate

func (v *RPLSourceRoutesList) Validate() error

Validate reports the first constraint of the schema that v violates.

type RPLSourceRoutesListLink struct {
	ListLink
	RPLSourceRoutesListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RPLSourceRoutesListLink_r2_3,omitempty"`
}

RPLSourceRoutesListLink is generated from the XML Schema type RPLSourceRoutesListLink in namespace urn:ieee:std:2030.5:ns.

func (*RPLSourceRoutesListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RPLSourceRoutesListLink) Strip2018 added in v0.4.0

func (v *RPLSourceRoutesListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RPLSourceRoutesListLink) Validate

func (v *RPLSourceRoutesListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RandomizableEvent

type RandomizableEvent struct {
	Event
	RandomizeDuration     *OneHourRangeType `xml:"urn:ieee:std:2030.5:ns randomizeDuration,omitempty"`
	RandomizeStart        *OneHourRangeType `xml:"urn:ieee:std:2030.5:ns randomizeStart,omitempty"`
	RandomizableEventR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns RandomizableEvent_r2_3,omitempty"`
}

RandomizableEvent is generated from the XML Schema type RandomizableEvent in namespace urn:ieee:std:2030.5:ns.

func (*RandomizableEvent) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RandomizableEvent) GetRandomizeDuration

func (v *RandomizableEvent) GetRandomizeDuration() OneHourRangeType

GetRandomizeDuration returns RandomizeDuration, or its schema default 0 when it is absent.

func (*RandomizableEvent) GetRandomizeStart

func (v *RandomizableEvent) GetRandomizeStart() OneHourRangeType

GetRandomizeStart returns RandomizeStart, or its schema default 0 when it is absent.

func (*RandomizableEvent) Strip2018 added in v0.4.0

func (v *RandomizableEvent) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RandomizableEvent) Validate

func (v *RandomizableEvent) Validate() error

Validate reports the first constraint of the schema that v violates.

type RateComponent

type RateComponent struct {
	IdentifiedObject
	ActiveTimeTariffIntervalListLink *ActiveTimeTariffIntervalListLink `xml:"urn:ieee:std:2030.5:ns ActiveTimeTariffIntervalListLink,omitempty"`
	FlowRateEndLimit                 *UnitValueType                    `xml:"urn:ieee:std:2030.5:ns flowRateEndLimit,omitempty"`
	FlowRateStartLimit               *UnitValueType                    `xml:"urn:ieee:std:2030.5:ns flowRateStartLimit,omitempty"`
	ReadingTypeLink                  ReadingTypeLink                   `xml:"urn:ieee:std:2030.5:ns ReadingTypeLink"`
	RoleFlags                        RoleFlagsType                     `xml:"urn:ieee:std:2030.5:ns roleFlags"`
	TimeTariffIntervalListLink       TimeTariffIntervalListLink        `xml:"urn:ieee:std:2030.5:ns TimeTariffIntervalListLink"`
	RateComponentR2_3                *Revision2_3Type                  `xml:"urn:ieee:std:2030.5:ns RateComponent_r2_3,omitempty"`
}

RateComponent is generated from the XML Schema type RateComponent in namespace urn:ieee:std:2030.5:ns.

func (v *RateComponent) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*RateComponent) Clone added in v0.4.0

func (v *RateComponent) Clone() *RateComponent

Clone returns a deep copy of v, or nil.

func (*RateComponent) Strip2018 added in v0.4.0

func (v *RateComponent) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RateComponent) Validate

func (v *RateComponent) Validate() error

Validate reports the first constraint of the schema that v violates.

type RateComponentLink struct {
	Link
	RateComponentLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RateComponentLink_r2_3,omitempty"`
}

RateComponentLink is generated from the XML Schema type RateComponentLink in namespace urn:ieee:std:2030.5:ns.

func (*RateComponentLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RateComponentLink) Strip2018 added in v0.4.0

func (v *RateComponentLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RateComponentLink) Validate

func (v *RateComponentLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RateComponentList

type RateComponentList struct {
	List
	RateComponent         []RateComponent  `xml:"urn:ieee:std:2030.5:ns RateComponent,omitempty"`
	RateComponentListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RateComponentList_r2_3,omitempty"`
}

RateComponentList is generated from the XML Schema type RateComponentList in namespace urn:ieee:std:2030.5:ns.

func (v *RateComponentList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*RateComponentList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RateComponentList) ListItemElement added in v0.4.0

func (v *RateComponentList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*RateComponentList) ListItems added in v0.4.0

func (v *RateComponentList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*RateComponentList) NewListItem added in v0.4.0

func (v *RateComponentList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*RateComponentList) SetListCounts added in v0.4.0

func (v *RateComponentList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*RateComponentList) SetListItems added in v0.4.0

func (v *RateComponentList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a RateComponent or a pointer to one.

func (*RateComponentList) Strip2018 added in v0.4.0

func (v *RateComponentList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RateComponentList) Validate

func (v *RateComponentList) Validate() error

Validate reports the first constraint of the schema that v violates.

type RateComponentListLink struct {
	ListLink
	RateComponentListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RateComponentListLink_r2_3,omitempty"`
}

RateComponentListLink is generated from the XML Schema type RateComponentListLink in namespace urn:ieee:std:2030.5:ns.

func (*RateComponentListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RateComponentListLink) Strip2018 added in v0.4.0

func (v *RateComponentListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RateComponentListLink) Validate

func (v *RateComponentListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReactivePower

type ReactivePower struct {
	Multiplier        PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value             Int16                    `xml:"urn:ieee:std:2030.5:ns value"`
	ReactivePowerR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns ReactivePower_r2_3,omitempty"`
	Extensions        []ExtensionElement       `xml:",any"`
}

ReactivePower is generated from the XML Schema type ReactivePower in namespace urn:ieee:std:2030.5:ns.

func (*ReactivePower) Clone added in v0.4.0

func (v *ReactivePower) Clone() *ReactivePower

Clone returns a deep copy of v, or nil.

func (*ReactivePower) Strip2018 added in v0.4.0

func (v *ReactivePower) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReactivePower) Validate

func (v *ReactivePower) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReactivePowerControlType

type ReactivePowerControlType struct {
	ReactivePower
	ReactivePowerControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReactivePowerControlType_r2_3,omitempty"`
	Disabled                     *bool            `xml:"disabled,attr,omitempty"`
}

ReactivePowerControlType is generated from the XML Schema type ReactivePowerControlType in namespace urn:ieee:std:2030.5:ns.

func (*ReactivePowerControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ReactivePowerControlType) GetDisabled

func (v *ReactivePowerControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*ReactivePowerControlType) Strip2018 added in v0.4.0

func (v *ReactivePowerControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReactivePowerControlType) Validate

func (v *ReactivePowerControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReactivePowerDeltaControlType

type ReactivePowerDeltaControlType struct {
	ReactivePower
	ReactivePowerDeltaControlTypeR2_3 *Revision2_3Type        `xml:"urn:ieee:std:2030.5:ns ReactivePowerDeltaControlType_r2_3,omitempty"`
	Bidirectional                     *DeltaBidirectionalType `xml:"bidirectional,attr,omitempty"`
	Disabled                          *bool                   `xml:"disabled,attr,omitempty"`
}

ReactivePowerDeltaControlType is generated from the XML Schema type ReactivePowerDeltaControlType in namespace urn:ieee:std:2030.5:ns.

func (*ReactivePowerDeltaControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ReactivePowerDeltaControlType) GetBidirectional

GetBidirectional returns Bidirectional, or its schema default 0 when it is absent.

func (*ReactivePowerDeltaControlType) GetDisabled

func (v *ReactivePowerDeltaControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*ReactivePowerDeltaControlType) Strip2018 added in v0.4.0

func (v *ReactivePowerDeltaControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReactivePowerDeltaControlType) Validate

func (v *ReactivePowerDeltaControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReactiveSusceptance

type ReactiveSusceptance struct {
	Multiplier              PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value                   UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	ReactiveSusceptanceR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns ReactiveSusceptance_r2_3,omitempty"`
	Extensions              []ExtensionElement       `xml:",any"`
}

ReactiveSusceptance is generated from the XML Schema type ReactiveSusceptance in namespace urn:ieee:std:2030.5:ns.

func (*ReactiveSusceptance) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ReactiveSusceptance) Strip2018 added in v0.4.0

func (v *ReactiveSusceptance) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReactiveSusceptance) Validate

func (v *ReactiveSusceptance) Validate() error

Validate reports the first constraint of the schema that v violates.

type Reading

type Reading struct {
	ReadingBase
	LocalID      *HexBinary16      `xml:"urn:ieee:std:2030.5:ns localID,omitempty"`
	ReadingR2_3  *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns Reading_r2_3,omitempty"`
	Subscribable *SubscribableType `xml:"subscribable,attr,omitempty"`
}

Reading is generated from the XML Schema type Reading in namespace urn:ieee:std:2030.5:ns.

func (*Reading) Clone added in v0.4.0

func (v *Reading) Clone() *Reading

Clone returns a deep copy of v, or nil.

func (*Reading) GetSubscribable

func (v *Reading) GetSubscribable() SubscribableType

GetSubscribable returns Subscribable, or its schema default 0 when it is absent.

func (*Reading) Strip2018 added in v0.4.0

func (v *Reading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Reading) Validate

func (v *Reading) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingBase

type ReadingBase struct {
	Resource
	ConsumptionBlock *ConsumptionBlockType `xml:"urn:ieee:std:2030.5:ns consumptionBlock,omitempty"`
	QualityFlags     *HexBinary16          `xml:"urn:ieee:std:2030.5:ns qualityFlags,omitempty"`
	TimePeriod       *DateTimeInterval     `xml:"urn:ieee:std:2030.5:ns timePeriod,omitempty"`
	TouTier          *TOUType              `xml:"urn:ieee:std:2030.5:ns touTier,omitempty"`
	Value            *Int48                `xml:"urn:ieee:std:2030.5:ns value,omitempty"`
	ReadingBaseR2_3  *Revision2_3Type      `xml:"urn:ieee:std:2030.5:ns ReadingBase_r2_3,omitempty"`
}

ReadingBase is generated from the XML Schema type ReadingBase in namespace urn:ieee:std:2030.5:ns.

func (*ReadingBase) Clone added in v0.4.0

func (v *ReadingBase) Clone() *ReadingBase

Clone returns a deep copy of v, or nil.

func (*ReadingBase) GetConsumptionBlock

func (v *ReadingBase) GetConsumptionBlock() ConsumptionBlockType

GetConsumptionBlock returns ConsumptionBlock, or its schema default 0 when it is absent.

func (*ReadingBase) GetQualityFlags

func (v *ReadingBase) GetQualityFlags() HexBinary16

GetQualityFlags returns QualityFlags, or its schema default HexBinary16{0x00} when it is absent.

func (*ReadingBase) GetTouTier

func (v *ReadingBase) GetTouTier() TOUType

GetTouTier returns TouTier, or its schema default 0 when it is absent.

func (*ReadingBase) Strip2018 added in v0.4.0

func (v *ReadingBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingBase) Validate

func (v *ReadingBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingLink struct {
	Link
	ReadingLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingLink_r2_3,omitempty"`
}

ReadingLink is generated from the XML Schema type ReadingLink in namespace urn:ieee:std:2030.5:ns.

func (*ReadingLink) Clone added in v0.4.0

func (v *ReadingLink) Clone() *ReadingLink

Clone returns a deep copy of v, or nil.

func (*ReadingLink) Strip2018 added in v0.4.0

func (v *ReadingLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingLink) Validate

func (v *ReadingLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingList

type ReadingList struct {
	SubscribableList
	Reading         []Reading        `xml:"urn:ieee:std:2030.5:ns Reading,omitempty"`
	ReadingListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingList_r2_3,omitempty"`
}

ReadingList is generated from the XML Schema type ReadingList in namespace urn:ieee:std:2030.5:ns.

func (*ReadingList) Clone added in v0.4.0

func (v *ReadingList) Clone() *ReadingList

Clone returns a deep copy of v, or nil.

func (*ReadingList) ListItemElement added in v0.4.0

func (v *ReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ReadingList) ListItems added in v0.4.0

func (v *ReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ReadingList) NewListItem added in v0.4.0

func (v *ReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ReadingList) SetListCounts added in v0.4.0

func (v *ReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ReadingList) SetListItems added in v0.4.0

func (v *ReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Reading or a pointer to one.

func (*ReadingList) Strip2018 added in v0.4.0

func (v *ReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingList) Validate

func (v *ReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingListLink struct {
	ListLink
	ReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingListLink_r2_3,omitempty"`
}

ReadingListLink is generated from the XML Schema type ReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*ReadingListLink) Clone added in v0.4.0

func (v *ReadingListLink) Clone() *ReadingListLink

Clone returns a deep copy of v, or nil.

func (*ReadingListLink) Strip2018 added in v0.4.0

func (v *ReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingListLink) Validate

func (v *ReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingSet

type ReadingSet struct {
	ReadingSetBase
	ReadingListLink *ReadingListLink `xml:"urn:ieee:std:2030.5:ns ReadingListLink,omitempty"`
	ReadingSetR2_3  *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingSet_r2_3,omitempty"`
}

ReadingSet is generated from the XML Schema type ReadingSet in namespace urn:ieee:std:2030.5:ns.

func (v *ReadingSet) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ReadingSet) Clone added in v0.4.0

func (v *ReadingSet) Clone() *ReadingSet

Clone returns a deep copy of v, or nil.

func (*ReadingSet) Strip2018 added in v0.4.0

func (v *ReadingSet) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingSet) Validate

func (v *ReadingSet) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingSetBase

type ReadingSetBase struct {
	IdentifiedObject
	TimePeriod         DateTimeInterval `xml:"urn:ieee:std:2030.5:ns timePeriod"`
	ReadingSetBaseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingSetBase_r2_3,omitempty"`
}

ReadingSetBase is generated from the XML Schema type ReadingSetBase in namespace urn:ieee:std:2030.5:ns.

func (*ReadingSetBase) Clone added in v0.4.0

func (v *ReadingSetBase) Clone() *ReadingSetBase

Clone returns a deep copy of v, or nil.

func (*ReadingSetBase) Strip2018 added in v0.4.0

func (v *ReadingSetBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingSetBase) Validate

func (v *ReadingSetBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingSetList

type ReadingSetList struct {
	SubscribableList
	ReadingSet         []ReadingSet     `xml:"urn:ieee:std:2030.5:ns ReadingSet,omitempty"`
	ReadingSetListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingSetList_r2_3,omitempty"`
}

ReadingSetList is generated from the XML Schema type ReadingSetList in namespace urn:ieee:std:2030.5:ns.

func (v *ReadingSetList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ReadingSetList) Clone added in v0.4.0

func (v *ReadingSetList) Clone() *ReadingSetList

Clone returns a deep copy of v, or nil.

func (*ReadingSetList) ListItemElement added in v0.4.0

func (v *ReadingSetList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ReadingSetList) ListItems added in v0.4.0

func (v *ReadingSetList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ReadingSetList) NewListItem added in v0.4.0

func (v *ReadingSetList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ReadingSetList) SetListCounts added in v0.4.0

func (v *ReadingSetList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ReadingSetList) SetListItems added in v0.4.0

func (v *ReadingSetList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a ReadingSet or a pointer to one.

func (*ReadingSetList) Strip2018 added in v0.4.0

func (v *ReadingSetList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingSetList) Validate

func (v *ReadingSetList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingSetListLink struct {
	ListLink
	ReadingSetListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingSetListLink_r2_3,omitempty"`
}

ReadingSetListLink is generated from the XML Schema type ReadingSetListLink in namespace urn:ieee:std:2030.5:ns.

func (*ReadingSetListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ReadingSetListLink) Strip2018 added in v0.4.0

func (v *ReadingSetListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingSetListLink) Validate

func (v *ReadingSetListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingType

type ReadingType struct {
	Resource
	AccumulationBehaviour     *AccumulationBehaviourType `xml:"urn:ieee:std:2030.5:ns accumulationBehaviour,omitempty"`
	CalorificValue            *UnitValueType             `xml:"urn:ieee:std:2030.5:ns calorificValue,omitempty"`
	Commodity                 *CommodityType             `xml:"urn:ieee:std:2030.5:ns commodity,omitempty"`
	ConversionFactor          *UnitValueType             `xml:"urn:ieee:std:2030.5:ns conversionFactor,omitempty"`
	DataQualifier             *DataQualifierType         `xml:"urn:ieee:std:2030.5:ns dataQualifier,omitempty"`
	FlowDirection             *FlowDirectionType         `xml:"urn:ieee:std:2030.5:ns flowDirection,omitempty"`
	IntervalLength            *UInt32                    `xml:"urn:ieee:std:2030.5:ns intervalLength,omitempty"`
	Kind                      *KindType                  `xml:"urn:ieee:std:2030.5:ns kind,omitempty"`
	MaxNumberOfIntervals      *UInt8                     `xml:"urn:ieee:std:2030.5:ns maxNumberOfIntervals,omitempty"`
	NumberOfConsumptionBlocks *UInt8                     `xml:"urn:ieee:std:2030.5:ns numberOfConsumptionBlocks,omitempty"`
	NumberOfTouTiers          *UInt8                     `xml:"urn:ieee:std:2030.5:ns numberOfTouTiers,omitempty"`
	Phase                     *PhaseCode                 `xml:"urn:ieee:std:2030.5:ns phase,omitempty"`
	PowerOfTenMultiplier      *PowerOfTenMultiplierType  `xml:"urn:ieee:std:2030.5:ns powerOfTenMultiplier,omitempty"`
	SubIntervalLength         *UInt32                    `xml:"urn:ieee:std:2030.5:ns subIntervalLength,omitempty"`
	SupplyLimit               *UInt48                    `xml:"urn:ieee:std:2030.5:ns supplyLimit,omitempty"`
	TieredConsumptionBlocks   *bool                      `xml:"urn:ieee:std:2030.5:ns tieredConsumptionBlocks,omitempty"`
	Uom                       *UomType                   `xml:"urn:ieee:std:2030.5:ns uom,omitempty"`
	ReadingTypeR2_3           *Revision2_3Type           `xml:"urn:ieee:std:2030.5:ns ReadingType_r2_3,omitempty"`
}

ReadingType is generated from the XML Schema type ReadingType in namespace urn:ieee:std:2030.5:ns.

func (*ReadingType) Clone added in v0.4.0

func (v *ReadingType) Clone() *ReadingType

Clone returns a deep copy of v, or nil.

func (*ReadingType) GetAccumulationBehaviour

func (v *ReadingType) GetAccumulationBehaviour() AccumulationBehaviourType

GetAccumulationBehaviour returns AccumulationBehaviour, or its schema default 0 when it is absent.

func (*ReadingType) GetCommodity

func (v *ReadingType) GetCommodity() CommodityType

GetCommodity returns Commodity, or its schema default 0 when it is absent.

func (*ReadingType) GetDataQualifier

func (v *ReadingType) GetDataQualifier() DataQualifierType

GetDataQualifier returns DataQualifier, or its schema default 0 when it is absent.

func (*ReadingType) GetFlowDirection

func (v *ReadingType) GetFlowDirection() FlowDirectionType

GetFlowDirection returns FlowDirection, or its schema default 0 when it is absent.

func (*ReadingType) GetKind

func (v *ReadingType) GetKind() KindType

GetKind returns Kind, or its schema default 0 when it is absent.

func (*ReadingType) GetNumberOfConsumptionBlocks

func (v *ReadingType) GetNumberOfConsumptionBlocks() UInt8

GetNumberOfConsumptionBlocks returns NumberOfConsumptionBlocks, or its schema default 0 when it is absent.

func (*ReadingType) GetNumberOfTouTiers

func (v *ReadingType) GetNumberOfTouTiers() UInt8

GetNumberOfTouTiers returns NumberOfTouTiers, or its schema default 0 when it is absent.

func (*ReadingType) GetPhase

func (v *ReadingType) GetPhase() PhaseCode

GetPhase returns Phase, or its schema default 0 when it is absent.

func (*ReadingType) GetPowerOfTenMultiplier

func (v *ReadingType) GetPowerOfTenMultiplier() PowerOfTenMultiplierType

GetPowerOfTenMultiplier returns PowerOfTenMultiplier, or its schema default 0 when it is absent.

func (*ReadingType) GetTieredConsumptionBlocks

func (v *ReadingType) GetTieredConsumptionBlocks() bool

GetTieredConsumptionBlocks returns TieredConsumptionBlocks, or its schema default false when it is absent.

func (*ReadingType) GetUom

func (v *ReadingType) GetUom() UomType

GetUom returns Uom, or its schema default 0 when it is absent.

func (*ReadingType) Strip2018 added in v0.4.0

func (v *ReadingType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingType) Validate

func (v *ReadingType) Validate() error

Validate reports the first constraint of the schema that v violates.

type ReadingTypeLink struct {
	Link
	ReadingTypeLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ReadingTypeLink_r2_3,omitempty"`
}

ReadingTypeLink is generated from the XML Schema type ReadingTypeLink in namespace urn:ieee:std:2030.5:ns.

func (*ReadingTypeLink) Clone added in v0.4.0

func (v *ReadingTypeLink) Clone() *ReadingTypeLink

Clone returns a deep copy of v, or nil.

func (*ReadingTypeLink) Strip2018 added in v0.4.0

func (v *ReadingTypeLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ReadingTypeLink) Validate

func (v *ReadingTypeLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RealEnergy

type RealEnergy struct {
	Multiplier     PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value          UInt48                   `xml:"urn:ieee:std:2030.5:ns value"`
	RealEnergyR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns RealEnergy_r2_3,omitempty"`
	Extensions     []ExtensionElement       `xml:",any"`
}

RealEnergy is generated from the XML Schema type RealEnergy in namespace urn:ieee:std:2030.5:ns.

func (*RealEnergy) Clone added in v0.4.0

func (v *RealEnergy) Clone() *RealEnergy

Clone returns a deep copy of v, or nil.

func (*RealEnergy) Strip2018 added in v0.4.0

func (v *RealEnergy) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RealEnergy) Validate

func (v *RealEnergy) Validate() error

Validate reports the first constraint of the schema that v violates.

type Registration

type Registration struct {
	Resource
	DateTimeRegistered TimeType         `xml:"urn:ieee:std:2030.5:ns dateTimeRegistered"`
	PIN                PINType          `xml:"urn:ieee:std:2030.5:ns pIN"`
	RegistrationR2_3   *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Registration_r2_3,omitempty"`
	PollRate           *UInt32          `xml:"pollRate,attr,omitempty"`
}

Registration is generated from the XML Schema type Registration in namespace urn:ieee:std:2030.5:ns.

func (*Registration) Clone added in v0.4.0

func (v *Registration) Clone() *Registration

Clone returns a deep copy of v, or nil.

func (*Registration) GetPollRate

func (v *Registration) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*Registration) Strip2018 added in v0.4.0

func (v *Registration) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Registration) Validate

func (v *Registration) Validate() error

Validate reports the first constraint of the schema that v violates.

type RegistrationLink struct {
	Link
	RegistrationLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RegistrationLink_r2_3,omitempty"`
}

RegistrationLink is generated from the XML Schema type RegistrationLink in namespace urn:ieee:std:2030.5:ns.

func (*RegistrationLink) Clone added in v0.4.0

func (v *RegistrationLink) Clone() *RegistrationLink

Clone returns a deep copy of v, or nil.

func (*RegistrationLink) Strip2018 added in v0.4.0

func (v *RegistrationLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RegistrationLink) Validate

func (v *RegistrationLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RequestStatus

type RequestStatus struct {
	DateTime          TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	RequestStatus     UInt8              `xml:"urn:ieee:std:2030.5:ns requestStatus"`
	RequestStatusR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns RequestStatus_r2_3,omitempty"`
	Extensions        []ExtensionElement `xml:",any"`
}

RequestStatus is generated from the XML Schema type RequestStatus in namespace urn:ieee:std:2030.5:ns.

func (*RequestStatus) Clone added in v0.4.0

func (v *RequestStatus) Clone() *RequestStatus

Clone returns a deep copy of v, or nil.

func (*RequestStatus) Strip2018 added in v0.4.0

func (v *RequestStatus) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RequestStatus) Validate

func (v *RequestStatus) Validate() error

Validate reports the first constraint of the schema that v violates.

type Resource

type Resource struct {
	ResourceR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns Resource_r2_3,omitempty"`
	Extensions   []ExtensionElement `xml:",any"`
	Href         *string            `xml:"href,attr,omitempty"`
}

Resource is generated from the XML Schema type Resource in namespace urn:ieee:std:2030.5:ns.

func (*Resource) Clone added in v0.4.0

func (v *Resource) Clone() *Resource

Clone returns a deep copy of v, or nil.

func (*Resource) GetHref added in v0.4.0

func (r *Resource) GetHref() string

GetHref returns the href of the resource, or "" when it has none. Every document type embeds Resource and so has GetHref.

func (*Resource) SetHref added in v0.4.0

func (r *Resource) SetHref(href string)

SetHref sets the href of the resource.

func (*Resource) Strip2018 added in v0.4.0

func (v *Resource) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Resource) Validate

func (v *Resource) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResourceSpec

type ResourceSpec struct {
	// ID is the resource id of the WADL, such as "EndDeviceList".
	ID string
	// SamplePath is the sample URI of the WADL. Servers choose their own
	// URIs; clients follow links rather than build paths.
	SamplePath string
	Methods    []MethodSpec
}

ResourceSpec describes a resource of the IEEE 2030.5 WADL.

func LookupResource

func LookupResource(id string) (ResourceSpec, bool)

LookupResource returns the resource with the given WADL id.

type RespondableIdentifiedObject

type RespondableIdentifiedObject struct {
	RespondableResource
	MRID                            MRIDType         `xml:"urn:ieee:std:2030.5:ns mRID"`
	Description                     *String32        `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Version                         *VersionType     `xml:"urn:ieee:std:2030.5:ns version,omitempty"`
	RespondableIdentifiedObjectR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RespondableIdentifiedObject_r2_3,omitempty"`
}

RespondableIdentifiedObject is generated from the XML Schema type RespondableIdentifiedObject in namespace urn:ieee:std:2030.5:ns.

func (*RespondableIdentifiedObject) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RespondableIdentifiedObject) GetVersion

func (v *RespondableIdentifiedObject) GetVersion() VersionType

GetVersion returns Version, or its schema default 0 when it is absent.

func (*RespondableIdentifiedObject) Strip2018 added in v0.4.0

func (v *RespondableIdentifiedObject) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RespondableIdentifiedObject) Validate

func (v *RespondableIdentifiedObject) Validate() error

Validate reports the first constraint of the schema that v violates.

type RespondableResource

type RespondableResource struct {
	Resource
	RespondableResourceR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns RespondableResource_r2_3,omitempty"`
	ReplyTo                 *string          `xml:"replyTo,attr,omitempty"`
	ResponseRequired        *HexBinary8      `xml:"responseRequired,attr,omitempty"`
}

RespondableResource is generated from the XML Schema type RespondableResource in namespace urn:ieee:std:2030.5:ns.

func (*RespondableResource) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RespondableResource) GetResponseRequired

func (v *RespondableResource) GetResponseRequired() HexBinary8

GetResponseRequired returns ResponseRequired, or its schema default HexBinary8{0x00} when it is absent.

func (*RespondableResource) Strip2018 added in v0.4.0

func (v *RespondableResource) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RespondableResource) Validate

func (v *RespondableResource) Validate() error

Validate reports the first constraint of the schema that v violates.

type RespondableSubscribableIdentifiedObject

type RespondableSubscribableIdentifiedObject struct {
	RespondableResource
	MRID                                        MRIDType          `xml:"urn:ieee:std:2030.5:ns mRID"`
	Description                                 *String32         `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Version                                     *VersionType      `xml:"urn:ieee:std:2030.5:ns version,omitempty"`
	RespondableSubscribableIdentifiedObjectR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns RespondableSubscribableIdentifiedObject_r2_3,omitempty"`
	Subscribable                                *SubscribableType `xml:"subscribable,attr,omitempty"`
}

RespondableSubscribableIdentifiedObject is generated from the XML Schema type RespondableSubscribableIdentifiedObject in namespace urn:ieee:std:2030.5:ns.

func (*RespondableSubscribableIdentifiedObject) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*RespondableSubscribableIdentifiedObject) GetSubscribable

GetSubscribable returns Subscribable, or its schema default 0 when it is absent.

func (*RespondableSubscribableIdentifiedObject) GetVersion

GetVersion returns Version, or its schema default 0 when it is absent.

func (*RespondableSubscribableIdentifiedObject) Strip2018 added in v0.4.0

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*RespondableSubscribableIdentifiedObject) Validate

Validate reports the first constraint of the schema that v violates.

type Response

type Response struct {
	Resource
	CreatedDateTime *TimeType        `xml:"urn:ieee:std:2030.5:ns createdDateTime,omitempty"`
	EndDeviceLFDI   HexBinary160     `xml:"urn:ieee:std:2030.5:ns endDeviceLFDI"`
	Status          *UInt8           `xml:"urn:ieee:std:2030.5:ns status,omitempty"`
	Subject         MRIDType         `xml:"urn:ieee:std:2030.5:ns subject"`
	ResponseR2_3    *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Response_r2_3,omitempty"`
}

Response is generated from the XML Schema type Response in namespace urn:ieee:std:2030.5:ns.

func (*Response) Clone added in v0.4.0

func (v *Response) Clone() *Response

Clone returns a deep copy of v, or nil.

func (*Response) Strip2018 added in v0.4.0

func (v *Response) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Response) Validate

func (v *Response) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResponseList

type ResponseList struct {
	List
	Response         []Response       `xml:"urn:ieee:std:2030.5:ns Response,omitempty"`
	ResponseListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ResponseList_r2_3,omitempty"`
}

ResponseList is generated from the XML Schema type ResponseList in namespace urn:ieee:std:2030.5:ns.

func (*ResponseList) Clone added in v0.4.0

func (v *ResponseList) Clone() *ResponseList

Clone returns a deep copy of v, or nil.

func (*ResponseList) ListItemElement added in v0.4.0

func (v *ResponseList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ResponseList) ListItems added in v0.4.0

func (v *ResponseList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ResponseList) NewListItem added in v0.4.0

func (v *ResponseList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ResponseList) SetListCounts added in v0.4.0

func (v *ResponseList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ResponseList) SetListItems added in v0.4.0

func (v *ResponseList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Response or a pointer to one.

func (*ResponseList) Strip2018 added in v0.4.0

func (v *ResponseList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ResponseList) Validate

func (v *ResponseList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResponseListLink struct {
	ListLink
	ResponseListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ResponseListLink_r2_3,omitempty"`
}

ResponseListLink is generated from the XML Schema type ResponseListLink in namespace urn:ieee:std:2030.5:ns.

func (*ResponseListLink) Clone added in v0.4.0

func (v *ResponseListLink) Clone() *ResponseListLink

Clone returns a deep copy of v, or nil.

func (*ResponseListLink) Strip2018 added in v0.4.0

func (v *ResponseListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ResponseListLink) Validate

func (v *ResponseListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResponseSet

type ResponseSet struct {
	IdentifiedObject
	ResponseListLink *ResponseListLink `xml:"urn:ieee:std:2030.5:ns ResponseListLink,omitempty"`
	ResponseSetR2_3  *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns ResponseSet_r2_3,omitempty"`
}

ResponseSet is generated from the XML Schema type ResponseSet in namespace urn:ieee:std:2030.5:ns.

func (v *ResponseSet) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ResponseSet) Clone added in v0.4.0

func (v *ResponseSet) Clone() *ResponseSet

Clone returns a deep copy of v, or nil.

func (*ResponseSet) Strip2018 added in v0.4.0

func (v *ResponseSet) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ResponseSet) Validate

func (v *ResponseSet) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResponseSetList

type ResponseSetList struct {
	List
	ResponseSet         []ResponseSet    `xml:"urn:ieee:std:2030.5:ns ResponseSet,omitempty"`
	ResponseSetListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ResponseSetList_r2_3,omitempty"`
	PollRate            *UInt32          `xml:"pollRate,attr,omitempty"`
}

ResponseSetList is generated from the XML Schema type ResponseSetList in namespace urn:ieee:std:2030.5:ns.

func (v *ResponseSetList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*ResponseSetList) Clone added in v0.4.0

func (v *ResponseSetList) Clone() *ResponseSetList

Clone returns a deep copy of v, or nil.

func (*ResponseSetList) GetPollRate

func (v *ResponseSetList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*ResponseSetList) ListItemElement added in v0.4.0

func (v *ResponseSetList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*ResponseSetList) ListItems added in v0.4.0

func (v *ResponseSetList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*ResponseSetList) NewListItem added in v0.4.0

func (v *ResponseSetList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*ResponseSetList) SetListCounts added in v0.4.0

func (v *ResponseSetList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*ResponseSetList) SetListItems added in v0.4.0

func (v *ResponseSetList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a ResponseSet or a pointer to one.

func (*ResponseSetList) Strip2018 added in v0.4.0

func (v *ResponseSetList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ResponseSetList) Validate

func (v *ResponseSetList) Validate() error

Validate reports the first constraint of the schema that v violates.

type ResponseSetListLink struct {
	ListLink
	ResponseSetListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ResponseSetListLink_r2_3,omitempty"`
}

ResponseSetListLink is generated from the XML Schema type ResponseSetListLink in namespace urn:ieee:std:2030.5:ns.

func (*ResponseSetListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ResponseSetListLink) Strip2018 added in v0.4.0

func (v *ResponseSetListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ResponseSetListLink) Validate

func (v *ResponseSetListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type RetryPolicy added in v0.5.0

type RetryPolicy interface {
	ShouldRetry(attempt int, err error) (retry bool, wait time.Duration)
}

RetryPolicy decides whether a failed call is made again, and when: the clients and servers of this module take one for their requests. attempt is the number of the attempt that failed, from 0. A policy is called from many goroutines.

func NoRetry added in v0.5.0

func NoRetry() RetryPolicy

NoRetry returns the RetryPolicy that makes no call twice.

type Revision2_3Type

type Revision2_3Type struct {
	Extensions []ExtensionElement `xml:",any"`
}

Revision2_3Type is generated from the XML Schema type Revision2_3Type in namespace urn:ieee:std:2030.5:ns.

func (*Revision2_3Type) Clone added in v0.4.0

func (v *Revision2_3Type) Clone() *Revision2_3Type

Clone returns a deep copy of v, or nil.

func (*Revision2_3Type) Strip2018 added in v0.4.0

func (v *Revision2_3Type) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Revision2_3Type) Validate

func (v *Revision2_3Type) Validate() error

Validate reports the first constraint of the schema that v violates.

type RoleFlagsType

type RoleFlagsType []byte

RoleFlagsType is generated from the XML Schema type RoleFlagsType in namespace urn:ieee:std:2030.5:ns.

func (RoleFlagsType) MarshalText

func (v RoleFlagsType) MarshalText() ([]byte, error)

MarshalText encodes v as upper-case hexadecimal.

func (RoleFlagsType) String

func (v RoleFlagsType) String() string

String returns v as upper-case hexadecimal.

func (*RoleFlagsType) UnmarshalText

func (v *RoleFlagsType) UnmarshalText(text []byte) error

UnmarshalText decodes hexadecimal text.

func (RoleFlagsType) Validate

func (v RoleFlagsType) Validate() error

Validate reports whether v violates a facet of RoleFlagsType.

type SEPVersion

type SEPVersion string

SEPVersion is generated from the XML Schema type SEPVersion in namespace urn:ieee:std:2030.5:ns.

func (SEPVersion) Validate

func (v SEPVersion) Validate() error

Validate reports whether v violates a facet of SEPVersion.

type SFDIType

type SFDIType uint64

SFDIType is generated from the XML Schema type SFDIType in namespace urn:ieee:std:2030.5:ns.

func (SFDIType) Validate

func (v SFDIType) Validate() error

Validate reports whether v violates a facet of SFDIType.

type SelfDevice

type SelfDevice struct {
	AbstractDevice
	ProxiedDeviceListLink *ProxiedDeviceListLink `xml:"urn:ieee:std:2030.5:ns ProxiedDeviceListLink,omitempty"`
	SelfDeviceR2_3        *Revision2_3Type       `xml:"urn:ieee:std:2030.5:ns SelfDevice_r2_3,omitempty"`
	PollRate              *UInt32                `xml:"pollRate,attr,omitempty"`
}

SelfDevice is generated from the XML Schema type SelfDevice in namespace urn:ieee:std:2030.5:ns.

func (v *SelfDevice) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*SelfDevice) Clone added in v0.4.0

func (v *SelfDevice) Clone() *SelfDevice

Clone returns a deep copy of v, or nil.

func (*SelfDevice) GetPollRate

func (v *SelfDevice) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*SelfDevice) Strip2018 added in v0.4.0

func (v *SelfDevice) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SelfDevice) Validate

func (v *SelfDevice) Validate() error

Validate reports the first constraint of the schema that v violates.

type SelfDeviceLink struct {
	Link
	SelfDeviceLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SelfDeviceLink_r2_3,omitempty"`
}

SelfDeviceLink is generated from the XML Schema type SelfDeviceLink in namespace urn:ieee:std:2030.5:ns.

func (*SelfDeviceLink) Clone added in v0.4.0

func (v *SelfDeviceLink) Clone() *SelfDeviceLink

Clone returns a deep copy of v, or nil.

func (*SelfDeviceLink) Strip2018 added in v0.4.0

func (v *SelfDeviceLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SelfDeviceLink) Validate

func (v *SelfDeviceLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ServiceChange

type ServiceChange struct {
	NewStatus         ServiceStatusType  `xml:"urn:ieee:std:2030.5:ns newStatus"`
	StartTime         TimeType           `xml:"urn:ieee:std:2030.5:ns startTime"`
	ServiceChangeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns ServiceChange_r2_3,omitempty"`
	Extensions        []ExtensionElement `xml:",any"`
}

ServiceChange is generated from the XML Schema type ServiceChange in namespace urn:ieee:std:2030.5:ns.

func (*ServiceChange) Clone added in v0.4.0

func (v *ServiceChange) Clone() *ServiceChange

Clone returns a deep copy of v, or nil.

func (*ServiceChange) Strip2018 added in v0.4.0

func (v *ServiceChange) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ServiceChange) Validate

func (v *ServiceChange) Validate() error

Validate reports the first constraint of the schema that v violates.

type ServiceKind

type ServiceKind uint8

ServiceKind is generated from the XML Schema type ServiceKind in namespace urn:ieee:std:2030.5:ns.

type ServiceStatusType

type ServiceStatusType uint8

ServiceStatusType is generated from the XML Schema type ServiceStatusType in namespace urn:ieee:std:2030.5:ns.

type ServiceSupplier

type ServiceSupplier struct {
	IdentifiedObject
	Email               *String32        `xml:"urn:ieee:std:2030.5:ns email,omitempty"`
	Phone               *String20        `xml:"urn:ieee:std:2030.5:ns phone,omitempty"`
	ProviderID          *UInt32          `xml:"urn:ieee:std:2030.5:ns providerID,omitempty"`
	Web                 *String42        `xml:"urn:ieee:std:2030.5:ns web,omitempty"`
	ServiceSupplierR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ServiceSupplier_r2_3,omitempty"`
}

ServiceSupplier is generated from the XML Schema type ServiceSupplier in namespace urn:ieee:std:2030.5:ns.

func (*ServiceSupplier) Clone added in v0.4.0

func (v *ServiceSupplier) Clone() *ServiceSupplier

Clone returns a deep copy of v, or nil.

func (*ServiceSupplier) Strip2018 added in v0.4.0

func (v *ServiceSupplier) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ServiceSupplier) Validate

func (v *ServiceSupplier) Validate() error

Validate reports the first constraint of the schema that v violates.

type ServiceSupplierLink struct {
	Link
	ServiceSupplierLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns ServiceSupplierLink_r2_3,omitempty"`
}

ServiceSupplierLink is generated from the XML Schema type ServiceSupplierLink in namespace urn:ieee:std:2030.5:ns.

func (*ServiceSupplierLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*ServiceSupplierLink) Strip2018 added in v0.4.0

func (v *ServiceSupplierLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*ServiceSupplierLink) Validate

func (v *ServiceSupplierLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type SetPoint

type SetPoint struct {
	CoolingSetpoint *Int16             `xml:"urn:ieee:std:2030.5:ns coolingSetpoint,omitempty"`
	HeatingSetpoint *Int16             `xml:"urn:ieee:std:2030.5:ns heatingSetpoint,omitempty"`
	SetPointR2_3    *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns SetPoint_r2_3,omitempty"`
	Extensions      []ExtensionElement `xml:",any"`
}

SetPoint is generated from the XML Schema type SetPoint in namespace urn:ieee:std:2030.5:ns.

func (*SetPoint) Clone added in v0.4.0

func (v *SetPoint) Clone() *SetPoint

Clone returns a deep copy of v, or nil.

func (*SetPoint) Strip2018 added in v0.4.0

func (v *SetPoint) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SetPoint) Validate

func (v *SetPoint) Validate() error

Validate reports the first constraint of the schema that v violates.

type SignedPerCent

type SignedPerCent int16

SignedPerCent is generated from the XML Schema type SignedPerCent in namespace urn:ieee:std:2030.5:ns.

type SignedPerCentControlType

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

SignedPerCentControlType is generated from the XML Schema type SignedPerCentControlType in namespace urn:ieee:std:2030.5:ns.

func (*SignedPerCentControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SignedPerCentControlType) GetDisabled

func (v *SignedPerCentControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*SignedPerCentControlType) Strip2018 added in v0.4.0

func (v *SignedPerCentControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SignedPerCentControlType) Validate

func (v *SignedPerCentControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type SignedRealEnergy

type SignedRealEnergy struct {
	Multiplier           PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value                Int48                    `xml:"urn:ieee:std:2030.5:ns value"`
	SignedRealEnergyR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns SignedRealEnergy_r2_3,omitempty"`
	Extensions           []ExtensionElement       `xml:",any"`
}

SignedRealEnergy is generated from the XML Schema type SignedRealEnergy in namespace urn:ieee:std:2030.5:ns.

func (*SignedRealEnergy) Clone added in v0.4.0

func (v *SignedRealEnergy) Clone() *SignedRealEnergy

Clone returns a deep copy of v, or nil.

func (*SignedRealEnergy) Strip2018 added in v0.4.0

func (v *SignedRealEnergy) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SignedRealEnergy) Validate

func (v *SignedRealEnergy) Validate() error

Validate reports the first constraint of the schema that v violates.

type StateOfChargeStatusType

type StateOfChargeStatusType struct {
	DateTime                    TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                       PerCent            `xml:"urn:ieee:std:2030.5:ns value"`
	StateOfChargeStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns StateOfChargeStatusType_r2_3,omitempty"`
	Extensions                  []ExtensionElement `xml:",any"`
}

StateOfChargeStatusType is generated from the XML Schema type StateOfChargeStatusType in namespace urn:ieee:std:2030.5:ns.

func (*StateOfChargeStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*StateOfChargeStatusType) Strip2018 added in v0.4.0

func (v *StateOfChargeStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*StateOfChargeStatusType) Validate

func (v *StateOfChargeStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type StatusError

type StatusError struct {
	// Method and Path identify the request.
	Method string
	Path   string
	// StatusCode is the HTTP status of the response.
	StatusCode int
	// Document is the Error document of the response body, when the
	// server sent one; its ReasonCode says why the request failed.
	Document *Error
	// RetryAfter is the delay the server asked for (the Retry-After header
	// of a 503 or 429), or zero.
	RetryAfter time.Duration
}

StatusError is a non-success HTTP response from an IEEE 2030.5 server. The Error document a server may send in the body is the generated type Error.

func (*StatusError) Error

func (e *StatusError) Error() string

func (*StatusError) Is

func (e *StatusError) Is(target error) bool

Is matches the category sentinel for the response's status code.

type StorageModeStatusType

type StorageModeStatusType struct {
	DateTime                  TimeType           `xml:"urn:ieee:std:2030.5:ns dateTime"`
	Value                     UInt8              `xml:"urn:ieee:std:2030.5:ns value"`
	StorageModeStatusTypeR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns StorageModeStatusType_r2_3,omitempty"`
	Extensions                []ExtensionElement `xml:",any"`
}

StorageModeStatusType is generated from the XML Schema type StorageModeStatusType in namespace urn:ieee:std:2030.5:ns.

func (*StorageModeStatusType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*StorageModeStatusType) Strip2018 added in v0.4.0

func (v *StorageModeStatusType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*StorageModeStatusType) Validate

func (v *StorageModeStatusType) Validate() error

Validate reports the first constraint of the schema that v violates.

type String2

type String2 string

String2 is generated from the XML Schema type String2 in namespace urn:ieee:std:2030.5:ns.

func (String2) Validate

func (v String2) Validate() error

Validate reports whether v violates a facet of String2.

type String3

type String3 string

String3 is generated from the XML Schema type String3 in namespace urn:ieee:std:2030.5:ns.

func (String3) Validate

func (v String3) Validate() error

Validate reports whether v violates a facet of String3.

type String6

type String6 string

String6 is generated from the XML Schema type String6 in namespace urn:ieee:std:2030.5:ns.

func (String6) Validate

func (v String6) Validate() error

Validate reports whether v violates a facet of String6.

type String16

type String16 string

String16 is generated from the XML Schema type String16 in namespace urn:ieee:std:2030.5:ns.

func (String16) Validate

func (v String16) Validate() error

Validate reports whether v violates a facet of String16.

type String20

type String20 string

String20 is generated from the XML Schema type String20 in namespace urn:ieee:std:2030.5:ns.

func (String20) Validate

func (v String20) Validate() error

Validate reports whether v violates a facet of String20.

type String32

type String32 string

String32 is generated from the XML Schema type String32 in namespace urn:ieee:std:2030.5:ns.

func (String32) Validate

func (v String32) Validate() error

Validate reports whether v violates a facet of String32.

type String42

type String42 string

String42 is generated from the XML Schema type String42 in namespace urn:ieee:std:2030.5:ns.

func (String42) Validate

func (v String42) Validate() error

Validate reports whether v violates a facet of String42.

type String192

type String192 string

String192 is generated from the XML Schema type String192 in namespace urn:ieee:std:2030.5:ns.

func (String192) Validate

func (v String192) Validate() error

Validate reports whether v violates a facet of String192.

type Stripper added in v0.4.0

type Stripper interface {
	Strip2018()
}

Stripper is implemented by every struct type: Strip2018 removes what IEEE 2030.5-2018 does not define.

type SubdivisionType

type SubdivisionType string

SubdivisionType is generated from the XML Schema type SubdivisionType in namespace urn:ieee:std:2030.5:ns.

func (SubdivisionType) Validate

func (v SubdivisionType) Validate() error

Validate reports whether v violates a facet of SubdivisionType.

type SubscribableIdentifiedObject

type SubscribableIdentifiedObject struct {
	SubscribableResource
	MRID                             MRIDType         `xml:"urn:ieee:std:2030.5:ns mRID"`
	Description                      *String32        `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Version                          *VersionType     `xml:"urn:ieee:std:2030.5:ns version,omitempty"`
	SubscribableIdentifiedObjectR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SubscribableIdentifiedObject_r2_3,omitempty"`
}

SubscribableIdentifiedObject is generated from the XML Schema type SubscribableIdentifiedObject in namespace urn:ieee:std:2030.5:ns.

func (*SubscribableIdentifiedObject) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SubscribableIdentifiedObject) GetVersion

func (v *SubscribableIdentifiedObject) GetVersion() VersionType

GetVersion returns Version, or its schema default 0 when it is absent.

func (*SubscribableIdentifiedObject) Strip2018 added in v0.4.0

func (v *SubscribableIdentifiedObject) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscribableIdentifiedObject) Validate

func (v *SubscribableIdentifiedObject) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscribableList

type SubscribableList struct {
	SubscribableResource
	SubscribableListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SubscribableList_r2_3,omitempty"`
	All                  UInt32           `xml:"all,attr"`
	Results              UInt32           `xml:"results,attr"`
}

SubscribableList is generated from the XML Schema type SubscribableList in namespace urn:ieee:std:2030.5:ns.

func (*SubscribableList) Clone added in v0.4.0

func (v *SubscribableList) Clone() *SubscribableList

Clone returns a deep copy of v, or nil.

func (*SubscribableList) Strip2018 added in v0.4.0

func (v *SubscribableList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscribableList) Validate

func (v *SubscribableList) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscribableResource

type SubscribableResource struct {
	Resource
	SubscribableResourceR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns SubscribableResource_r2_3,omitempty"`
	Subscribable             *SubscribableType `xml:"subscribable,attr,omitempty"`
}

SubscribableResource is generated from the XML Schema type SubscribableResource in namespace urn:ieee:std:2030.5:ns.

func (*SubscribableResource) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SubscribableResource) GetSubscribable

func (v *SubscribableResource) GetSubscribable() SubscribableType

GetSubscribable returns Subscribable, or its schema default 0 when it is absent.

func (*SubscribableResource) Strip2018 added in v0.4.0

func (v *SubscribableResource) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscribableResource) Validate

func (v *SubscribableResource) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscribableType

type SubscribableType uint8

SubscribableType is generated from the XML Schema type SubscribableType in namespace urn:ieee:std:2030.5:ns.

type Subscription

type Subscription struct {
	SubscriptionBase
	Condition        *Condition       `xml:"urn:ieee:std:2030.5:ns Condition,omitempty"`
	Encoding         UInt8            `xml:"urn:ieee:std:2030.5:ns encoding"`
	Level            String16         `xml:"urn:ieee:std:2030.5:ns level"`
	Limit            UInt32           `xml:"urn:ieee:std:2030.5:ns limit"`
	NotificationURI  string           `xml:"urn:ieee:std:2030.5:ns notificationURI"`
	SubscriptionR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Subscription_r2_3,omitempty"`
}

Subscription is generated from the XML Schema type Subscription in namespace urn:ieee:std:2030.5:ns.

func (*Subscription) Clone added in v0.4.0

func (v *Subscription) Clone() *Subscription

Clone returns a deep copy of v, or nil.

func (*Subscription) Strip2018 added in v0.4.0

func (v *Subscription) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Subscription) Validate

func (v *Subscription) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscriptionBase

type SubscriptionBase struct {
	Resource
	SubscribedResource   string           `xml:"urn:ieee:std:2030.5:ns subscribedResource"`
	SubscriptionBaseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SubscriptionBase_r2_3,omitempty"`
}

SubscriptionBase is generated from the XML Schema type SubscriptionBase in namespace urn:ieee:std:2030.5:ns.

func (*SubscriptionBase) Clone added in v0.4.0

func (v *SubscriptionBase) Clone() *SubscriptionBase

Clone returns a deep copy of v, or nil.

func (*SubscriptionBase) Strip2018 added in v0.4.0

func (v *SubscriptionBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscriptionBase) Validate

func (v *SubscriptionBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscriptionList

type SubscriptionList struct {
	List
	Subscription         []Subscription   `xml:"urn:ieee:std:2030.5:ns Subscription,omitempty"`
	SubscriptionListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SubscriptionList_r2_3,omitempty"`
	PollRate             *UInt32          `xml:"pollRate,attr,omitempty"`
}

SubscriptionList is generated from the XML Schema type SubscriptionList in namespace urn:ieee:std:2030.5:ns.

func (*SubscriptionList) Clone added in v0.4.0

func (v *SubscriptionList) Clone() *SubscriptionList

Clone returns a deep copy of v, or nil.

func (*SubscriptionList) GetPollRate

func (v *SubscriptionList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*SubscriptionList) ListItemElement added in v0.4.0

func (v *SubscriptionList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*SubscriptionList) ListItems added in v0.4.0

func (v *SubscriptionList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*SubscriptionList) NewListItem added in v0.4.0

func (v *SubscriptionList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*SubscriptionList) SetListCounts added in v0.4.0

func (v *SubscriptionList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*SubscriptionList) SetListItems added in v0.4.0

func (v *SubscriptionList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a Subscription or a pointer to one.

func (*SubscriptionList) Strip2018 added in v0.4.0

func (v *SubscriptionList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscriptionList) Validate

func (v *SubscriptionList) Validate() error

Validate reports the first constraint of the schema that v violates.

type SubscriptionListLink struct {
	ListLink
	SubscriptionListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SubscriptionListLink_r2_3,omitempty"`
}

SubscriptionListLink is generated from the XML Schema type SubscriptionListLink in namespace urn:ieee:std:2030.5:ns.

func (*SubscriptionListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SubscriptionListLink) Strip2018 added in v0.4.0

func (v *SubscriptionListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SubscriptionListLink) Validate

func (v *SubscriptionListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type SupplyInterruptionOverride

type SupplyInterruptionOverride struct {
	Resource
	Description                    *String32        `xml:"urn:ieee:std:2030.5:ns description,omitempty"`
	Interval                       DateTimeInterval `xml:"urn:ieee:std:2030.5:ns interval"`
	SupplyInterruptionOverrideR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SupplyInterruptionOverride_r2_3,omitempty"`
}

SupplyInterruptionOverride is generated from the XML Schema type SupplyInterruptionOverride in namespace urn:ieee:std:2030.5:ns.

func (*SupplyInterruptionOverride) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SupplyInterruptionOverride) Strip2018 added in v0.4.0

func (v *SupplyInterruptionOverride) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupplyInterruptionOverride) Validate

func (v *SupplyInterruptionOverride) Validate() error

Validate reports the first constraint of the schema that v violates.

type SupplyInterruptionOverrideList

type SupplyInterruptionOverrideList struct {
	List
	SupplyInterruptionOverride         []SupplyInterruptionOverride `xml:"urn:ieee:std:2030.5:ns SupplyInterruptionOverride,omitempty"`
	SupplyInterruptionOverrideListR2_3 *Revision2_3Type             `xml:"urn:ieee:std:2030.5:ns SupplyInterruptionOverrideList_r2_3,omitempty"`
}

SupplyInterruptionOverrideList is generated from the XML Schema type SupplyInterruptionOverrideList in namespace urn:ieee:std:2030.5:ns.

func (*SupplyInterruptionOverrideList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SupplyInterruptionOverrideList) ListItemElement added in v0.4.0

func (v *SupplyInterruptionOverrideList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*SupplyInterruptionOverrideList) ListItems added in v0.4.0

func (v *SupplyInterruptionOverrideList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*SupplyInterruptionOverrideList) NewListItem added in v0.4.0

func (v *SupplyInterruptionOverrideList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*SupplyInterruptionOverrideList) SetListCounts added in v0.4.0

func (v *SupplyInterruptionOverrideList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*SupplyInterruptionOverrideList) SetListItems added in v0.4.0

func (v *SupplyInterruptionOverrideList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a SupplyInterruptionOverride or a pointer to one.

func (*SupplyInterruptionOverrideList) Strip2018 added in v0.4.0

func (v *SupplyInterruptionOverrideList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupplyInterruptionOverrideList) Validate

func (v *SupplyInterruptionOverrideList) Validate() error

Validate reports the first constraint of the schema that v violates.

type SupplyInterruptionOverrideListLink struct {
	ListLink
	SupplyInterruptionOverrideListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SupplyInterruptionOverrideListLink_r2_3,omitempty"`
}

SupplyInterruptionOverrideListLink is generated from the XML Schema type SupplyInterruptionOverrideListLink in namespace urn:ieee:std:2030.5:ns.

func (*SupplyInterruptionOverrideListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SupplyInterruptionOverrideListLink) Strip2018 added in v0.4.0

func (v *SupplyInterruptionOverrideListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupplyInterruptionOverrideListLink) Validate

Validate reports the first constraint of the schema that v violates.

type SupportedLocale

type SupportedLocale struct {
	Resource
	Locale              LocaleType       `xml:"urn:ieee:std:2030.5:ns locale"`
	SupportedLocaleR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SupportedLocale_r2_3,omitempty"`
}

SupportedLocale is generated from the XML Schema type SupportedLocale in namespace urn:ieee:std:2030.5:ns.

func (*SupportedLocale) Clone added in v0.4.0

func (v *SupportedLocale) Clone() *SupportedLocale

Clone returns a deep copy of v, or nil.

func (*SupportedLocale) Strip2018 added in v0.4.0

func (v *SupportedLocale) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupportedLocale) Validate

func (v *SupportedLocale) Validate() error

Validate reports the first constraint of the schema that v violates.

type SupportedLocaleList

type SupportedLocaleList struct {
	List
	SupportedLocale         []SupportedLocale `xml:"urn:ieee:std:2030.5:ns SupportedLocale,omitempty"`
	SupportedLocaleListR2_3 *Revision2_3Type  `xml:"urn:ieee:std:2030.5:ns SupportedLocaleList_r2_3,omitempty"`
}

SupportedLocaleList is generated from the XML Schema type SupportedLocaleList in namespace urn:ieee:std:2030.5:ns.

func (*SupportedLocaleList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SupportedLocaleList) ListItemElement added in v0.4.0

func (v *SupportedLocaleList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*SupportedLocaleList) ListItems added in v0.4.0

func (v *SupportedLocaleList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*SupportedLocaleList) NewListItem added in v0.4.0

func (v *SupportedLocaleList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*SupportedLocaleList) SetListCounts added in v0.4.0

func (v *SupportedLocaleList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*SupportedLocaleList) SetListItems added in v0.4.0

func (v *SupportedLocaleList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a SupportedLocale or a pointer to one.

func (*SupportedLocaleList) Strip2018 added in v0.4.0

func (v *SupportedLocaleList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupportedLocaleList) Validate

func (v *SupportedLocaleList) Validate() error

Validate reports the first constraint of the schema that v violates.

type SupportedLocaleListLink struct {
	ListLink
	SupportedLocaleListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns SupportedLocaleListLink_r2_3,omitempty"`
}

SupportedLocaleListLink is generated from the XML Schema type SupportedLocaleListLink in namespace urn:ieee:std:2030.5:ns.

func (*SupportedLocaleListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*SupportedLocaleListLink) Strip2018 added in v0.4.0

func (v *SupportedLocaleListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*SupportedLocaleListLink) Validate

func (v *SupportedLocaleListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TOUType

type TOUType uint8

TOUType is generated from the XML Schema type TOUType in namespace urn:ieee:std:2030.5:ns.

type TargetReading

type TargetReading struct {
	BillingMeterReadingBase
	TargetReadingR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TargetReading_r2_3,omitempty"`
}

TargetReading is generated from the XML Schema type TargetReading in namespace urn:ieee:std:2030.5:ns.

func (v *TargetReading) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TargetReading) Clone added in v0.4.0

func (v *TargetReading) Clone() *TargetReading

Clone returns a deep copy of v, or nil.

func (*TargetReading) Strip2018 added in v0.4.0

func (v *TargetReading) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TargetReading) Validate

func (v *TargetReading) Validate() error

Validate reports the first constraint of the schema that v violates.

type TargetReadingList

type TargetReadingList struct {
	List
	TargetReading         []TargetReading  `xml:"urn:ieee:std:2030.5:ns TargetReading,omitempty"`
	TargetReadingListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TargetReadingList_r2_3,omitempty"`
}

TargetReadingList is generated from the XML Schema type TargetReadingList in namespace urn:ieee:std:2030.5:ns.

func (v *TargetReadingList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TargetReadingList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TargetReadingList) ListItemElement added in v0.4.0

func (v *TargetReadingList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*TargetReadingList) ListItems added in v0.4.0

func (v *TargetReadingList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*TargetReadingList) NewListItem added in v0.4.0

func (v *TargetReadingList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*TargetReadingList) SetListCounts added in v0.4.0

func (v *TargetReadingList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*TargetReadingList) SetListItems added in v0.4.0

func (v *TargetReadingList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a TargetReading or a pointer to one.

func (*TargetReadingList) Strip2018 added in v0.4.0

func (v *TargetReadingList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TargetReadingList) Validate

func (v *TargetReadingList) Validate() error

Validate reports the first constraint of the schema that v violates.

type TargetReadingListLink struct {
	ListLink
	TargetReadingListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TargetReadingListLink_r2_3,omitempty"`
}

TargetReadingListLink is generated from the XML Schema type TargetReadingListLink in namespace urn:ieee:std:2030.5:ns.

func (*TargetReadingListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TargetReadingListLink) Strip2018 added in v0.4.0

func (v *TargetReadingListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TargetReadingListLink) Validate

func (v *TargetReadingListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TargetReduction

type TargetReduction struct {
	Type                UnitType           `xml:"urn:ieee:std:2030.5:ns type"`
	Value               UInt16             `xml:"urn:ieee:std:2030.5:ns value"`
	TargetReductionR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns TargetReduction_r2_3,omitempty"`
	Extensions          []ExtensionElement `xml:",any"`
}

TargetReduction is generated from the XML Schema type TargetReduction in namespace urn:ieee:std:2030.5:ns.

func (*TargetReduction) Clone added in v0.4.0

func (v *TargetReduction) Clone() *TargetReduction

Clone returns a deep copy of v, or nil.

func (*TargetReduction) Strip2018 added in v0.4.0

func (v *TargetReduction) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TargetReduction) Validate

func (v *TargetReduction) Validate() error

Validate reports the first constraint of the schema that v violates.

type TariffProfile

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

TariffProfile is generated from the XML Schema type TariffProfile in namespace urn:ieee:std:2030.5:ns.

func (v *TariffProfile) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TariffProfile) Clone added in v0.4.0

func (v *TariffProfile) Clone() *TariffProfile

Clone returns a deep copy of v, or nil.

func (*TariffProfile) Strip2018 added in v0.4.0

func (v *TariffProfile) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TariffProfile) Validate

func (v *TariffProfile) Validate() error

Validate reports the first constraint of the schema that v violates.

type TariffProfileLink struct {
	Link
	TariffProfileLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TariffProfileLink_r2_3,omitempty"`
}

TariffProfileLink is generated from the XML Schema type TariffProfileLink in namespace urn:ieee:std:2030.5:ns.

func (*TariffProfileLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TariffProfileLink) Strip2018 added in v0.4.0

func (v *TariffProfileLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TariffProfileLink) Validate

func (v *TariffProfileLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TariffProfileList

type TariffProfileList struct {
	SubscribableList
	TariffProfile         []TariffProfile  `xml:"urn:ieee:std:2030.5:ns TariffProfile,omitempty"`
	TariffProfileListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TariffProfileList_r2_3,omitempty"`
	PollRate              *UInt32          `xml:"pollRate,attr,omitempty"`
}

TariffProfileList is generated from the XML Schema type TariffProfileList in namespace urn:ieee:std:2030.5:ns.

func (v *TariffProfileList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TariffProfileList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TariffProfileList) GetPollRate

func (v *TariffProfileList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*TariffProfileList) ListItemElement added in v0.4.0

func (v *TariffProfileList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*TariffProfileList) ListItems added in v0.4.0

func (v *TariffProfileList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*TariffProfileList) NewListItem added in v0.4.0

func (v *TariffProfileList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*TariffProfileList) SetListCounts added in v0.4.0

func (v *TariffProfileList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*TariffProfileList) SetListItems added in v0.4.0

func (v *TariffProfileList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a TariffProfile or a pointer to one.

func (*TariffProfileList) Strip2018 added in v0.4.0

func (v *TariffProfileList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TariffProfileList) Validate

func (v *TariffProfileList) Validate() error

Validate reports the first constraint of the schema that v violates.

type TariffProfileListLink struct {
	ListLink
	TariffProfileListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TariffProfileListLink_r2_3,omitempty"`
}

TariffProfileListLink is generated from the XML Schema type TariffProfileListLink in namespace urn:ieee:std:2030.5:ns.

func (*TariffProfileListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TariffProfileListLink) Strip2018 added in v0.4.0

func (v *TariffProfileListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TariffProfileListLink) Validate

func (v *TariffProfileListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type Temperature

type Temperature struct {
	Multiplier      PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Subject         UInt8                    `xml:"urn:ieee:std:2030.5:ns subject"`
	Value           Int16                    `xml:"urn:ieee:std:2030.5:ns value"`
	TemperatureR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns Temperature_r2_3,omitempty"`
	Extensions      []ExtensionElement       `xml:",any"`
}

Temperature is generated from the XML Schema type Temperature in namespace urn:ieee:std:2030.5:ns.

func (*Temperature) Clone added in v0.4.0

func (v *Temperature) Clone() *Temperature

Clone returns a deep copy of v, or nil.

func (*Temperature) Strip2018 added in v0.4.0

func (v *Temperature) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Temperature) Validate

func (v *Temperature) Validate() error

Validate reports the first constraint of the schema that v violates.

type TextMessage

type TextMessage struct {
	Event
	Originator      *String20        `xml:"urn:ieee:std:2030.5:ns originator,omitempty"`
	Priority        PriorityType     `xml:"urn:ieee:std:2030.5:ns priority"`
	TextMessage     string           `xml:"urn:ieee:std:2030.5:ns textMessage"`
	TextMessageR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TextMessage_r2_3,omitempty"`
}

TextMessage is generated from the XML Schema type TextMessage in namespace urn:ieee:std:2030.5:ns.

func (*TextMessage) Clone added in v0.4.0

func (v *TextMessage) Clone() *TextMessage

Clone returns a deep copy of v, or nil.

func (*TextMessage) Strip2018 added in v0.4.0

func (v *TextMessage) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TextMessage) Validate

func (v *TextMessage) Validate() error

Validate reports the first constraint of the schema that v violates.

type TextMessageList

type TextMessageList struct {
	SubscribableList
	TextMessage         []TextMessage    `xml:"urn:ieee:std:2030.5:ns TextMessage,omitempty"`
	TextMessageListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TextMessageList_r2_3,omitempty"`
}

TextMessageList is generated from the XML Schema type TextMessageList in namespace urn:ieee:std:2030.5:ns.

func (*TextMessageList) Clone added in v0.4.0

func (v *TextMessageList) Clone() *TextMessageList

Clone returns a deep copy of v, or nil.

func (*TextMessageList) ListItemElement added in v0.4.0

func (v *TextMessageList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*TextMessageList) ListItems added in v0.4.0

func (v *TextMessageList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*TextMessageList) NewListItem added in v0.4.0

func (v *TextMessageList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*TextMessageList) SetListCounts added in v0.4.0

func (v *TextMessageList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*TextMessageList) SetListItems added in v0.4.0

func (v *TextMessageList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a TextMessage or a pointer to one.

func (*TextMessageList) Strip2018 added in v0.4.0

func (v *TextMessageList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TextMessageList) Validate

func (v *TextMessageList) Validate() error

Validate reports the first constraint of the schema that v violates.

type TextMessageListLink struct {
	ListLink
	TextMessageListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TextMessageListLink_r2_3,omitempty"`
}

TextMessageListLink is generated from the XML Schema type TextMessageListLink in namespace urn:ieee:std:2030.5:ns.

func (*TextMessageListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TextMessageListLink) Strip2018 added in v0.4.0

func (v *TextMessageListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TextMessageListLink) Validate

func (v *TextMessageListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TextResponse

type TextResponse struct {
	Response
	TextResponseR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TextResponse_r2_3,omitempty"`
}

TextResponse is generated from the XML Schema type TextResponse in namespace urn:ieee:std:2030.5:ns.

func (*TextResponse) Clone added in v0.4.0

func (v *TextResponse) Clone() *TextResponse

Clone returns a deep copy of v, or nil.

func (*TextResponse) Strip2018 added in v0.4.0

func (v *TextResponse) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TextResponse) Validate

func (v *TextResponse) Validate() error

Validate reports the first constraint of the schema that v violates.

type Time

type Time struct {
	Resource
	CurrentTime  TimeType         `xml:"urn:ieee:std:2030.5:ns currentTime"`
	DstEndTime   TimeType         `xml:"urn:ieee:std:2030.5:ns dstEndTime"`
	DstOffset    TimeOffsetType   `xml:"urn:ieee:std:2030.5:ns dstOffset"`
	DstStartTime TimeType         `xml:"urn:ieee:std:2030.5:ns dstStartTime"`
	LocalTime    *TimeType        `xml:"urn:ieee:std:2030.5:ns localTime,omitempty"`
	Quality      UInt8            `xml:"urn:ieee:std:2030.5:ns quality"`
	TzOffset     TimeOffsetType   `xml:"urn:ieee:std:2030.5:ns tzOffset"`
	TimeR2_3     *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns Time_r2_3,omitempty"`
	PollRate     *UInt32          `xml:"pollRate,attr,omitempty"`
}

Time is generated from the XML Schema type Time in namespace urn:ieee:std:2030.5:ns.

func (*Time) Clone added in v0.4.0

func (v *Time) Clone() *Time

Clone returns a deep copy of v, or nil.

func (*Time) GetPollRate

func (v *Time) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*Time) Strip2018 added in v0.4.0

func (v *Time) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*Time) Validate

func (v *Time) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeConfiguration

type TimeConfiguration struct {
	DstEndRule            DstRuleType        `xml:"urn:ieee:std:2030.5:ns dstEndRule"`
	DstOffset             TimeOffsetType     `xml:"urn:ieee:std:2030.5:ns dstOffset"`
	DstStartRule          DstRuleType        `xml:"urn:ieee:std:2030.5:ns dstStartRule"`
	TzOffset              TimeOffsetType     `xml:"urn:ieee:std:2030.5:ns tzOffset"`
	TimeConfigurationR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns TimeConfiguration_r2_3,omitempty"`
	Extensions            []ExtensionElement `xml:",any"`
}

TimeConfiguration is generated from the XML Schema type TimeConfiguration in namespace urn:ieee:std:2030.5:ns.

func (*TimeConfiguration) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TimeConfiguration) Strip2018 added in v0.4.0

func (v *TimeConfiguration) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TimeConfiguration) Validate

func (v *TimeConfiguration) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeLink struct {
	Link
	TimeLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TimeLink_r2_3,omitempty"`
}

TimeLink is generated from the XML Schema type TimeLink in namespace urn:ieee:std:2030.5:ns.

func (*TimeLink) Clone added in v0.4.0

func (v *TimeLink) Clone() *TimeLink

Clone returns a deep copy of v, or nil.

func (*TimeLink) Strip2018 added in v0.4.0

func (v *TimeLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TimeLink) Validate

func (v *TimeLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeOffsetType

type TimeOffsetType int32

TimeOffsetType is generated from the XML Schema type TimeOffsetType in namespace urn:ieee:std:2030.5:ns.

type TimeTariffInterval

type TimeTariffInterval struct {
	RandomizableEvent
	ConsumptionTariffIntervalListLink *ConsumptionTariffIntervalListLink `xml:"urn:ieee:std:2030.5:ns ConsumptionTariffIntervalListLink,omitempty"`
	TouTier                           TOUType                            `xml:"urn:ieee:std:2030.5:ns touTier"`
	TimeTariffIntervalR2_3            *Revision2_3Type                   `xml:"urn:ieee:std:2030.5:ns TimeTariffInterval_r2_3,omitempty"`
}

TimeTariffInterval is generated from the XML Schema type TimeTariffInterval in namespace urn:ieee:std:2030.5:ns.

func (v *TimeTariffInterval) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TimeTariffInterval) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TimeTariffInterval) Strip2018 added in v0.4.0

func (v *TimeTariffInterval) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TimeTariffInterval) Validate

func (v *TimeTariffInterval) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeTariffIntervalList

type TimeTariffIntervalList struct {
	SubscribableList
	TimeTariffInterval         []TimeTariffInterval `xml:"urn:ieee:std:2030.5:ns TimeTariffInterval,omitempty"`
	TimeTariffIntervalListR2_3 *Revision2_3Type     `xml:"urn:ieee:std:2030.5:ns TimeTariffIntervalList_r2_3,omitempty"`
}

TimeTariffIntervalList is generated from the XML Schema type TimeTariffIntervalList in namespace urn:ieee:std:2030.5:ns.

func (v *TimeTariffIntervalList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*TimeTariffIntervalList) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TimeTariffIntervalList) ListItemElement added in v0.4.0

func (v *TimeTariffIntervalList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*TimeTariffIntervalList) ListItems added in v0.4.0

func (v *TimeTariffIntervalList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*TimeTariffIntervalList) NewListItem added in v0.4.0

func (v *TimeTariffIntervalList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*TimeTariffIntervalList) SetListCounts added in v0.4.0

func (v *TimeTariffIntervalList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*TimeTariffIntervalList) SetListItems added in v0.4.0

func (v *TimeTariffIntervalList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a TimeTariffInterval or a pointer to one.

func (*TimeTariffIntervalList) Strip2018 added in v0.4.0

func (v *TimeTariffIntervalList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TimeTariffIntervalList) Validate

func (v *TimeTariffIntervalList) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeTariffIntervalListLink struct {
	ListLink
	TimeTariffIntervalListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns TimeTariffIntervalListLink_r2_3,omitempty"`
}

TimeTariffIntervalListLink is generated from the XML Schema type TimeTariffIntervalListLink in namespace urn:ieee:std:2030.5:ns.

func (*TimeTariffIntervalListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*TimeTariffIntervalListLink) Strip2018 added in v0.4.0

func (v *TimeTariffIntervalListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*TimeTariffIntervalListLink) Validate

func (v *TimeTariffIntervalListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type TimeType

type TimeType int64

TimeType is generated from the XML Schema type TimeType in namespace urn:ieee:std:2030.5:ns.

type UInt8

type UInt8 uint8

UInt8 is generated from the XML Schema type UInt8 in namespace urn:ieee:std:2030.5:ns.

type UInt16

type UInt16 uint16

UInt16 is generated from the XML Schema type UInt16 in namespace urn:ieee:std:2030.5:ns.

type UInt32

type UInt32 uint32

UInt32 is generated from the XML Schema type UInt32 in namespace urn:ieee:std:2030.5:ns.

type UInt40

type UInt40 uint64

UInt40 is generated from the XML Schema type UInt40 in namespace urn:ieee:std:2030.5:ns.

func (UInt40) Validate

func (v UInt40) Validate() error

Validate reports whether v violates a facet of UInt40.

type UInt48

type UInt48 uint64

UInt48 is generated from the XML Schema type UInt48 in namespace urn:ieee:std:2030.5:ns.

func (UInt48) Validate

func (v UInt48) Validate() error

Validate reports whether v violates a facet of UInt48.

type UInt64

type UInt64 uint64

UInt64 is generated from the XML Schema type UInt64 in namespace urn:ieee:std:2030.5:ns.

type UnitType

type UnitType uint8

UnitType is generated from the XML Schema type UnitType in namespace urn:ieee:std:2030.5:ns.

type UnitValueType

type UnitValueType struct {
	Multiplier        PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Unit              UomType                  `xml:"urn:ieee:std:2030.5:ns unit"`
	Value             Int32                    `xml:"urn:ieee:std:2030.5:ns value"`
	UnitValueTypeR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns UnitValueType_r2_3,omitempty"`
	Extensions        []ExtensionElement       `xml:",any"`
}

UnitValueType is generated from the XML Schema type UnitValueType in namespace urn:ieee:std:2030.5:ns.

func (*UnitValueType) Clone added in v0.4.0

func (v *UnitValueType) Clone() *UnitValueType

Clone returns a deep copy of v, or nil.

func (*UnitValueType) Strip2018 added in v0.4.0

func (v *UnitValueType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnitValueType) Validate

func (v *UnitValueType) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedActivePower

type UnsignedActivePower struct {
	Multiplier              PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value                   UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	UnsignedActivePowerR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns UnsignedActivePower_r2_3,omitempty"`
	Extensions              []ExtensionElement       `xml:",any"`
}

UnsignedActivePower is generated from the XML Schema type UnsignedActivePower in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedActivePower) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedActivePower) Strip2018 added in v0.4.0

func (v *UnsignedActivePower) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedActivePower) Validate

func (v *UnsignedActivePower) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedActivePowerControlType

type UnsignedActivePowerControlType struct {
	UnsignedActivePower
	UnsignedActivePowerControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UnsignedActivePowerControlType_r2_3,omitempty"`
	Disabled                           *bool            `xml:"disabled,attr,omitempty"`
}

UnsignedActivePowerControlType is generated from the XML Schema type UnsignedActivePowerControlType in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedActivePowerControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedActivePowerControlType) GetDisabled

func (v *UnsignedActivePowerControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*UnsignedActivePowerControlType) Strip2018 added in v0.4.0

func (v *UnsignedActivePowerControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedActivePowerControlType) Validate

func (v *UnsignedActivePowerControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedFixedPointType

type UnsignedFixedPointType struct {
	Multiplier                 PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value                      UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	UnsignedFixedPointTypeR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns UnsignedFixedPointType_r2_3,omitempty"`
	Extensions                 []ExtensionElement       `xml:",any"`
}

UnsignedFixedPointType is generated from the XML Schema type UnsignedFixedPointType in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedFixedPointType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedFixedPointType) Strip2018 added in v0.4.0

func (v *UnsignedFixedPointType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedFixedPointType) Validate

func (v *UnsignedFixedPointType) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedFixedVar

type UnsignedFixedVar struct {
	RefType              DERUnitRefType     `xml:"urn:ieee:std:2030.5:ns refType"`
	Value                PerCent            `xml:"urn:ieee:std:2030.5:ns value"`
	UnsignedFixedVarR2_3 *Revision2_3Type   `xml:"urn:ieee:std:2030.5:ns UnsignedFixedVar_r2_3,omitempty"`
	Extensions           []ExtensionElement `xml:",any"`
}

UnsignedFixedVar is generated from the XML Schema type UnsignedFixedVar in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedFixedVar) Clone added in v0.4.0

func (v *UnsignedFixedVar) Clone() *UnsignedFixedVar

Clone returns a deep copy of v, or nil.

func (*UnsignedFixedVar) Strip2018 added in v0.4.0

func (v *UnsignedFixedVar) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedFixedVar) Validate

func (v *UnsignedFixedVar) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedFixedVarControlType

type UnsignedFixedVarControlType struct {
	UnsignedFixedVar
	UnsignedFixedVarControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UnsignedFixedVarControlType_r2_3,omitempty"`
	Disabled                        *bool            `xml:"disabled,attr,omitempty"`
}

UnsignedFixedVarControlType is generated from the XML Schema type UnsignedFixedVarControlType in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedFixedVarControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedFixedVarControlType) GetDisabled

func (v *UnsignedFixedVarControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*UnsignedFixedVarControlType) Strip2018 added in v0.4.0

func (v *UnsignedFixedVarControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedFixedVarControlType) Validate

func (v *UnsignedFixedVarControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedReactivePower

type UnsignedReactivePower struct {
	Multiplier                PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value                     UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	UnsignedReactivePowerR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns UnsignedReactivePower_r2_3,omitempty"`
	Extensions                []ExtensionElement       `xml:",any"`
}

UnsignedReactivePower is generated from the XML Schema type UnsignedReactivePower in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedReactivePower) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedReactivePower) Strip2018 added in v0.4.0

func (v *UnsignedReactivePower) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedReactivePower) Validate

func (v *UnsignedReactivePower) Validate() error

Validate reports the first constraint of the schema that v violates.

type UnsignedReactivePowerControlType

type UnsignedReactivePowerControlType struct {
	UnsignedReactivePower
	UnsignedReactivePowerControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UnsignedReactivePowerControlType_r2_3,omitempty"`
	Disabled                             *bool            `xml:"disabled,attr,omitempty"`
}

UnsignedReactivePowerControlType is generated from the XML Schema type UnsignedReactivePowerControlType in namespace urn:ieee:std:2030.5:ns.

func (*UnsignedReactivePowerControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UnsignedReactivePowerControlType) GetDisabled

func (v *UnsignedReactivePowerControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*UnsignedReactivePowerControlType) Strip2018 added in v0.4.0

func (v *UnsignedReactivePowerControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UnsignedReactivePowerControlType) Validate

Validate reports the first constraint of the schema that v violates.

type UomType

type UomType uint8

UomType is generated from the XML Schema type UomType in namespace urn:ieee:std:2030.5:ns.

type UsagePoint

type UsagePoint struct {
	UsagePointBase
	DeviceLFDI           *HexBinary160         `xml:"urn:ieee:std:2030.5:ns deviceLFDI,omitempty"`
	MeterReadingListLink *MeterReadingListLink `xml:"urn:ieee:std:2030.5:ns MeterReadingListLink,omitempty"`
	UsagePointR2_3       *Revision2_3Type      `xml:"urn:ieee:std:2030.5:ns UsagePoint_r2_3,omitempty"`
}

UsagePoint is generated from the XML Schema type UsagePoint in namespace urn:ieee:std:2030.5:ns.

func (v *UsagePoint) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*UsagePoint) Clone added in v0.4.0

func (v *UsagePoint) Clone() *UsagePoint

Clone returns a deep copy of v, or nil.

func (*UsagePoint) Strip2018 added in v0.4.0

func (v *UsagePoint) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UsagePoint) Validate

func (v *UsagePoint) Validate() error

Validate reports the first constraint of the schema that v violates.

type UsagePointBase

type UsagePointBase struct {
	IdentifiedObject
	RoleFlags           RoleFlagsType    `xml:"urn:ieee:std:2030.5:ns roleFlags"`
	ServiceCategoryKind ServiceKind      `xml:"urn:ieee:std:2030.5:ns serviceCategoryKind"`
	Status              UInt8            `xml:"urn:ieee:std:2030.5:ns status"`
	UsagePointBaseR2_3  *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UsagePointBase_r2_3,omitempty"`
}

UsagePointBase is generated from the XML Schema type UsagePointBase in namespace urn:ieee:std:2030.5:ns.

func (*UsagePointBase) Clone added in v0.4.0

func (v *UsagePointBase) Clone() *UsagePointBase

Clone returns a deep copy of v, or nil.

func (*UsagePointBase) Strip2018 added in v0.4.0

func (v *UsagePointBase) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UsagePointBase) Validate

func (v *UsagePointBase) Validate() error

Validate reports the first constraint of the schema that v violates.

type UsagePointLink struct {
	Link
	UsagePointLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UsagePointLink_r2_3,omitempty"`
}

UsagePointLink is generated from the XML Schema type UsagePointLink in namespace urn:ieee:std:2030.5:ns.

func (*UsagePointLink) Clone added in v0.4.0

func (v *UsagePointLink) Clone() *UsagePointLink

Clone returns a deep copy of v, or nil.

func (*UsagePointLink) Strip2018 added in v0.4.0

func (v *UsagePointLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UsagePointLink) Validate

func (v *UsagePointLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type UsagePointList

type UsagePointList struct {
	SubscribableList
	UsagePoint         []UsagePoint     `xml:"urn:ieee:std:2030.5:ns UsagePoint,omitempty"`
	UsagePointListR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UsagePointList_r2_3,omitempty"`
	PollRate           *UInt32          `xml:"pollRate,attr,omitempty"`
}

UsagePointList is generated from the XML Schema type UsagePointList in namespace urn:ieee:std:2030.5:ns.

func (v *UsagePointList) AppendLinks(out []LinkRef) []LinkRef

AppendLinks appends the links of v to out, in document order, and returns the extended slice.

func (*UsagePointList) Clone added in v0.4.0

func (v *UsagePointList) Clone() *UsagePointList

Clone returns a deep copy of v, or nil.

func (*UsagePointList) GetPollRate

func (v *UsagePointList) GetPollRate() UInt32

GetPollRate returns PollRate, or its schema default 900 when it is absent.

func (*UsagePointList) ListItemElement added in v0.4.0

func (v *UsagePointList) ListItemElement() string

ListItemElement returns the element name of the items of the list.

func (*UsagePointList) ListItems added in v0.4.0

func (v *UsagePointList) ListItems() []any

ListItems returns pointers to the items of the list.

func (*UsagePointList) NewListItem added in v0.4.0

func (v *UsagePointList) NewListItem() any

NewListItem returns a pointer to a new item of the list.

func (*UsagePointList) SetListCounts added in v0.4.0

func (v *UsagePointList) SetListCounts(all, results uint32)

SetListCounts sets the all and results attributes of the list.

func (*UsagePointList) SetListItems added in v0.4.0

func (v *UsagePointList) SetListItems(items []any) error

SetListItems replaces the items of the list with items, each a UsagePoint or a pointer to one.

func (*UsagePointList) Strip2018 added in v0.4.0

func (v *UsagePointList) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UsagePointList) Validate

func (v *UsagePointList) Validate() error

Validate reports the first constraint of the schema that v violates.

type UsagePointListLink struct {
	ListLink
	UsagePointListLinkR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns UsagePointListLink_r2_3,omitempty"`
}

UsagePointListLink is generated from the XML Schema type UsagePointListLink in namespace urn:ieee:std:2030.5:ns.

func (*UsagePointListLink) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*UsagePointListLink) Strip2018 added in v0.4.0

func (v *UsagePointListLink) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*UsagePointListLink) Validate

func (v *UsagePointListLink) Validate() error

Validate reports the first constraint of the schema that v violates.

type ValidationError

type ValidationError struct {
	// Field is the path of the property, such as
	// "DERControl.DERControlBase.opModExpLimW".
	Field  string
	Reason string
}

ValidationError reports a field that violates the IEEE 2030.5 schema. It is returned by the Validate methods and by the wire codecs for malformed messages.

func (*ValidationError) Error

func (e *ValidationError) Error() string

func (*ValidationError) Is

func (e *ValidationError) Is(target error) bool

Is matches ErrInvalid.

type Version

type Version string

Version identifies a revision of the IEEE 2030.5 standard.

const (
	// Version2018 is IEEE 2030.5-2018.
	Version2018 Version = "2018"
	// Version2023 is IEEE 2030.5-2023.
	Version2023 Version = "2023"
)

Supported standard revisions.

type VersionType

type VersionType uint16

VersionType is generated from the XML Schema type VersionType in namespace urn:ieee:std:2030.5:ns.

type VoltageRMS

type VoltageRMS struct {
	Multiplier     PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value          UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	VoltageRMSR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns VoltageRMS_r2_3,omitempty"`
	Extensions     []ExtensionElement       `xml:",any"`
}

VoltageRMS is generated from the XML Schema type VoltageRMS in namespace urn:ieee:std:2030.5:ns.

func (*VoltageRMS) Clone added in v0.4.0

func (v *VoltageRMS) Clone() *VoltageRMS

Clone returns a deep copy of v, or nil.

func (*VoltageRMS) Strip2018 added in v0.4.0

func (v *VoltageRMS) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*VoltageRMS) Validate

func (v *VoltageRMS) Validate() error

Validate reports the first constraint of the schema that v violates.

type VoltageRMSControlType

type VoltageRMSControlType struct {
	VoltageRMS
	VoltageRMSControlTypeR2_3 *Revision2_3Type `xml:"urn:ieee:std:2030.5:ns VoltageRMSControlType_r2_3,omitempty"`
	Disabled                  *bool            `xml:"disabled,attr,omitempty"`
}

VoltageRMSControlType is generated from the XML Schema type VoltageRMSControlType in namespace urn:ieee:std:2030.5:ns.

func (*VoltageRMSControlType) Clone added in v0.4.0

Clone returns a deep copy of v, or nil.

func (*VoltageRMSControlType) GetDisabled

func (v *VoltageRMSControlType) GetDisabled() bool

GetDisabled returns Disabled, or its schema default false when it is absent.

func (*VoltageRMSControlType) Strip2018 added in v0.4.0

func (v *VoltageRMSControlType) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*VoltageRMSControlType) Validate

func (v *VoltageRMSControlType) Validate() error

Validate reports the first constraint of the schema that v violates.

type WattHour

type WattHour struct {
	Multiplier   PowerOfTenMultiplierType `xml:"urn:ieee:std:2030.5:ns multiplier"`
	Value        UInt16                   `xml:"urn:ieee:std:2030.5:ns value"`
	WattHourR2_3 *Revision2_3Type         `xml:"urn:ieee:std:2030.5:ns WattHour_r2_3,omitempty"`
	Extensions   []ExtensionElement       `xml:",any"`
}

WattHour is generated from the XML Schema type WattHour in namespace urn:ieee:std:2030.5:ns.

func (*WattHour) Clone added in v0.4.0

func (v *WattHour) Clone() *WattHour

Clone returns a deep copy of v, or nil.

func (*WattHour) Strip2018 added in v0.4.0

func (v *WattHour) Strip2018()

Strip2018 removes from v what IEEE 2030.5-2018 does not define.

func (*WattHour) Validate

func (v *WattHour) Validate() error

Validate reports the first constraint of the schema that v violates.

Directories

Path Synopsis
Package agent is the behaviour of an IEEE 2030.5 device on top of package client: it finds the server's resources from DeviceCapability, keeps its clock in step with the server's, registers its EndDevice and checks the PIN of its Registration, and then polls its FunctionSetAssignments at the server's pollRate, retrying with backoff when the server fails.
Package agent is the behaviour of an IEEE 2030.5 device on top of package client: it finds the server's resources from DeviceCapability, keeps its clock in step with the server's, registers its EndDevice and checks the PIN of its Registration, and then polls its FunctionSetAssignments at the server's pollRate, retrying with backoff when the server fails.
Package client is an IEEE 2030.5 client: it reads and writes the resources of one server over HTTPS with mutual TLS, identifying the device by its certificate.
Package client is an IEEE 2030.5 client: it reads and writes the resources of one server over HTTPS with mutual TLS, identifying the device by its certificate.
Package csipaus is the CSIP-AUS (Common Smart Inverter Profile, Australia) v1.3 profile of IEEE 2030.5, generated from the official CSIP-AUS schemas.
Package csipaus is the CSIP-AUS (Common Smart Inverter Profile, Australia) v1.3 profile of IEEE 2030.5, generated from the official CSIP-AUS schemas.
csipclient
Package csipclient is what a CSIP-AUS device needs beyond package client (with csipaus.Codec as its codec) and package agent: the ConnectionPoint of its EndDevice.
Package csipclient is what a CSIP-AUS device needs beyond package client (with csipaus.Codec as its codec) and package agent: the ConnectionPoint of its EndDevice.
csipserver
Package csipserver configures a server of package server for CSIP-AUS: the documents of package csipaus, the ConnectionPoint of each EndDevice, and the site limits (dynamic operating envelopes) of DERControls and DefaultDERControls.
Package csipserver configures a server of package server for CSIP-AUS: the documents of package csipaus, the ConnectionPoint of each EndDevice, and the site limits (dynamic operating envelopes) of DERControls and DefaultDERControls.
Package discovery implements DNS-SD service discovery for IEEE 2030.5 servers, as specified in the standard's service-discovery annex.
Package discovery implements DNS-SD service discovery for IEEE 2030.5 servers, as specified in the standard's service-discovery annex.
Package e2e holds end-to-end tests of go-ieee20305 against itself: the client of this module against the server of this module, over real HTTPS connections with mutual TLS on loopback.
Package e2e holds end-to-end tests of go-ieee20305 against itself: the client of this module against the server of this module, over real HTTPS connections with mutual TLS on loopback.
examples
client command
Client connects to an IEEE 2030.5 server as a device, over mutual TLS: it reads the DeviceCapability, finds or creates its EndDevice, checks the PIN of its Registration, and walks the resources the server offers it, printing each with the link it was reached by.
Client connects to an IEEE 2030.5 server as a device, over mutual TLS: it reads the DeviceCapability, finds or creates its EndDevice, checks the PIN of its Registration, and walks the resources the server offers it, printing each with the link it was reached by.
csipaus command
Csipaus runs a CSIP-AUS server and device in one process: the server, in the profile of csipaus/csipserver, publishes default site limits and a dynamic operating envelope that starts now; the device, an agent with the csipaus codec, reports its connection point and reads both.
Csipaus runs a CSIP-AUS server and device in one process: the server, in the profile of csipaus/csipserver, publishes default site limits and a dynamic operating envelope that starts now; the device, an agent with the csipaus codec, reports its connection point and reads both.
observability command
Observability shows the plug points of a server and a client: a log/slog logger, metrics hooks that count requests by resource and status, and a retry policy on the client.
Observability shows the plug points of a server and a client: a log/slog logger, metrics hooks that count requests by resource and status, and a retry policy on the client.
quickstart command
Quickstart runs an IEEE 2030.5 server and a device agent in one process, over mutual TLS on the loopback interface.
Quickstart runs an IEEE 2030.5 server and a device agent in one process, over mutual TLS on the loopback interface.
server command
Server serves IEEE 2030.5 over mutual TLS until it is interrupted.
Server serves IEEE 2030.5 over mutual TLS until it is interrupted.
internal
chaos
Package chaos injects faults between IEEE 2030.5 clients and servers, for tests: a client transport, a server middleware and a TCP proxy that fail at random, from a seed, so that a failing run can be repeated.
Package chaos injects faults between IEEE 2030.5 clients and servers, for tests: a client transport, a server middleware and a TCP proxy that fail at random, from a seed, so that a failing run can be repeated.
dnsmsg
Package dnsmsg encodes and decodes DNS messages (RFC 1035) to the extent that multicast DNS and DNS-based service discovery (RFC 6762, RFC 6763) need: the header, questions, and answer, authority and additional records, with PTR, SRV, TXT, A and AAAA data decoded and other types kept as raw bytes.
Package dnsmsg encodes and decodes DNS messages (RFC 1035) to the extent that multicast DNS and DNS-based service discovery (RFC 6762, RFC 6763) need: the header, questions, and answer, authority and additional records, with PTR, SRV, TXT, A and AAAA data decoded and other types kept as raw bytes.
examples/csipaus
Package examples builds example values of every type of package csipaus, for the tests generated with it.
Package examples builds example values of every type of package csipaus, for the tests generated with it.
examples/ieee20305
Package examples builds example values of every type of package ieee20305, for the tests generated with it.
Package examples builds example values of every type of package ieee20305, for the tests generated with it.
gen command
Command ieee20305-gen generates the Go types of go-ieee20305 from the upstream IEEE 2030.5 and CSIP-AUS schemas pinned in schemas/manifest.json.
Command ieee20305-gen generates the Go types of go-ieee20305 from the upstream IEEE 2030.5 and CSIP-AUS schemas pinned in schemas/manifest.json.
gen/emit
Package emit turns a loaded XSD set into Go source files.
Package emit turns a loaded XSD set into Go source files.
gen/manifest
Package manifest reads schemas/manifest.json: the pinned upstream sources the generator consumes and the packages it generates.
Package manifest reads schemas/manifest.json: the pinned upstream sources the generator consumes and the packages it generates.
gen/upstream
Package upstream downloads the pinned schema sources of the manifest, verifies them, and checks whether upstream has published something newer.
Package upstream downloads the pinned schema sources of the manifest, verifies them, and checks whether upstream has published something newer.
gen/wadl
Package wadl reads the IEEE 2030.5 WADL: the resources of the protocol with their sample URIs, methods, conformance levels and representations.
Package wadl reads the IEEE 2030.5 WADL: the resources of the protocol with their sample URIs, methods, conformance levels and representations.
gen/xsd
Package xsd loads a set of XML Schema documents into a typed, namespace-aware model.
Package xsd loads a set of XML Schema documents into a typed, namespace-aware model.
xml
Package xml encodes and decodes IEEE 2030.5 resources as XML, the wire format of the protocol.
Package xml encodes and decodes IEEE 2030.5 resources as XML, the wire format of the protocol.
Package schedule implements IEEE 2030.5 event scheduling: primacy-based control priority, overlapping event resolution, randomization of start and duration, and the active/superseded/cancelled state machine.
Package schedule implements IEEE 2030.5 event scheduling: primacy-based control priority, overlapping event resolution, randomization of start and duration, and the active/superseded/cancelled state machine.
Package security implements the certificate handling of IEEE 2030.5: device identifiers, chain verification for certificates with a HardwareModuleName, and the TLS configurations of clients, servers and notifiers.
Package security implements the certificate handling of IEEE 2030.5: device identifiers, chain verification for certificates with a HardwareModuleName, and the TLS configurations of clients, servers and notifiers.
Package server implements an IEEE 2030.5 server as an http.Handler.
Package server implements an IEEE 2030.5 server as an http.Handler.
tlsccm module

Jump to

Keyboard shortcuts

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