model

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2024 License: MIT Imports: 14 Imported by: 50

Documentation

Index

Constants

View Source
const EEBusTagName string = "eebus"
View Source
const (
	UseCaseDocumentSubRevisionRelease string = "release"
)

Variables

This section is empty.

Functions

func CopyNonNilDataFromItemToItem

func CopyNonNilDataFromItemToItem[T any](source *T, destination *T)

func EEBusTags

func EEBusTags(field reflect.StructField) map[EEBusTag]string

func HasIdentifiers

func HasIdentifiers(data any) bool

func Merge

func Merge[T any](remoteWrite bool, s1 []T, s2 []T) ([]T, bool)

Merges two slices into one. The item in the first slice will be replaced by the one in the second slice if the hash key is the same. Items in the second slice which are not in the first will be added.

Parameter remoteWrite defines if this data came on from a remote service, as that is then to ignore the "writecheck" tagges fields and should only be allowed to write if the "writecheck" tagged field boolean is set to true

returns:

  • the new data set
  • true if everything was successful, false if not

func RemoveElementFromItem

func RemoveElementFromItem[T any, E any](item *T, element E)

func SortData

func SortData[T any](data []T) []T

sort slices by fields that have eebus tag "key"

func ToMap

func ToMap[T any](s []T) map[string]T

func UpdateList

func UpdateList[T any](remoteWrite bool, existingData []T, newData []T, filterPartial, filterDelete *FilterType) ([]T, bool)

Generates a new list of function items by applying the rules mentioned in the spec (EEBus_SPINE_TS_ProtocolSpecification.pdf; chapter "5.3.4 Restricted function exchange with cmdOptions"). The given data provider is used the get the current items and the items and the filters in the payload.

returns:

  • the new data set
  • true if everything was successful, false if not

Types

type AbsoluteOrRecurringTimeElementsType

type AbsoluteOrRecurringTimeElementsType struct {
	DateTime            *ElementTagType `json:"dateTime,omitempty"`
	Month               *ElementTagType `json:"month,omitempty"`
	DayOfMonth          *ElementTagType `json:"dayOfMonth,omitempty"`
	CalendarWeek        *ElementTagType `json:"calendarWeek,omitempty"`
	DayOfWeekOccurrence *ElementTagType `json:"dayOfWeekOccurrence,omitempty"`
	DaysOfWeek          *ElementTagType `json:"daysOfWeek,omitempty"`
	Time                *ElementTagType `json:"time,omitempty"`
	Relative            *ElementTagType `json:"relative,omitempty"`
}

type AbsoluteOrRecurringTimeType

type AbsoluteOrRecurringTimeType struct {
	DateTime            *DateTimeType     `json:"dateTime,omitempty"`
	Month               *MonthType        `json:"month,omitempty"`
	DayOfMonth          *DayOfMonthType   `json:"dayOfMonth,omitempty"`
	CalendarWeek        *CalendarWeekType `json:"calendarWeek,omitempty"`
	DayOfWeekOccurrence *OccurrenceType   `json:"dayOfWeekOccurrence,omitempty"`
	DaysOfWeek          *DaysOfWeekType   `json:"daysOfWeek,omitempty"`
	Time                *TimeType         `json:"time,omitempty"`
	Relative            *DurationType     `json:"relative,omitempty"`
}

type AbsoluteOrRelativeTimeType

type AbsoluteOrRelativeTimeType string

func NewAbsoluteOrRelativeTimeType

func NewAbsoluteOrRelativeTimeType(s string) *AbsoluteOrRelativeTimeType

func NewAbsoluteOrRelativeTimeTypeFromDuration

func NewAbsoluteOrRelativeTimeTypeFromDuration(t time.Duration) *AbsoluteOrRelativeTimeType

func NewAbsoluteOrRelativeTimeTypeFromTime

func NewAbsoluteOrRelativeTimeTypeFromTime(t time.Time) *AbsoluteOrRelativeTimeType

func (*AbsoluteOrRelativeTimeType) GetDateTimeType

func (a *AbsoluteOrRelativeTimeType) GetDateTimeType() *DateTimeType

func (*AbsoluteOrRelativeTimeType) GetDurationType

func (a *AbsoluteOrRelativeTimeType) GetDurationType() (*DurationType, error)

func (*AbsoluteOrRelativeTimeType) GetTime

func (a *AbsoluteOrRelativeTimeType) GetTime() (time.Time, error)

func (*AbsoluteOrRelativeTimeType) GetTimeDuration

func (a *AbsoluteOrRelativeTimeType) GetTimeDuration() (time.Duration, error)

func (*AbsoluteOrRelativeTimeType) IsRelativeTime

func (a *AbsoluteOrRelativeTimeType) IsRelativeTime() bool

type ActuatorLevelDataElementsType

type ActuatorLevelDataElementsType struct {
	Function *ElementTagType `json:"function,omitempty"`
	Value    *ElementTagType `json:"value,omitempty"`
}

type ActuatorLevelDataType

type ActuatorLevelDataType struct {
	Function *ActuatorLevelFctType `json:"function,omitempty"`
	Value    *ScaledNumberType     `json:"value,omitempty"`
}

type ActuatorLevelDescriptionDataElementsType

type ActuatorLevelDescriptionDataElementsType struct {
	Label            *ElementTagType `json:"label,omitempty"`
	Description      *ElementTagType `json:"description,omitempty"`
	LevelDefaultUnit *ElementTagType `json:"levelDefaultUnit,omitempty"`
}

type ActuatorLevelDescriptionDataType

type ActuatorLevelDescriptionDataType struct {
	Label            *LabelType             `json:"label,omitempty"`
	Description      *DescriptionType       `json:"description,omitempty"`
	LevelDefaultUnit *UnitOfMeasurementType `json:"levelDefaultUnit,omitempty"`
}

type ActuatorLevelFctType

type ActuatorLevelFctType string
const (
	ActuatorLevelFctTypeStart              ActuatorLevelFctType = "start"
	ActuatorLevelFctTypeUp                 ActuatorLevelFctType = "up"
	ActuatorLevelFctTypeDown               ActuatorLevelFctType = "down"
	ActuatorLevelFctTypeStop               ActuatorLevelFctType = "stop"
	ActuatorLevelFctTypePercentageAbsolute ActuatorLevelFctType = "percentageAbsolute"
	ActuatorLevelFctTypePercentageRelative ActuatorLevelFctType = "percentageRelative"
	ActuatorLevelFctTypeAbsolut            ActuatorLevelFctType = "absolut"
	ActuatorLevelFctTypeRelative           ActuatorLevelFctType = "relative"
)

type ActuatorSwitchDataElementsType

type ActuatorSwitchDataElementsType struct {
	Function *ElementTagType `json:"function,omitempty"`
}

type ActuatorSwitchDataType

type ActuatorSwitchDataType struct {
	Function *ActuatorSwitchFctType `json:"function,omitempty"`
}

type ActuatorSwitchDescriptionDataElementsType

type ActuatorSwitchDescriptionDataElementsType struct {
	Label       *ElementTagType `json:"label,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type ActuatorSwitchDescriptionDataType

type ActuatorSwitchDescriptionDataType struct {
	Label       *LabelType       `json:"label,omitempty"`
	Description *DescriptionType `json:"description,omitempty"`
}

type ActuatorSwitchFctType

type ActuatorSwitchFctType string
const (
	ActuatorSwitchFctTypeOn     ActuatorSwitchFctType = "on"
	ActuatorSwitchFctTypeOff    ActuatorSwitchFctType = "off"
	ActuatorSwitchFctTypeToggle ActuatorSwitchFctType = "toggle"
)

type AddressDeviceType

type AddressDeviceType string

type AddressEntityType

type AddressEntityType uint

type AddressFeatureType

type AddressFeatureType uint

type AlarmDataElementsType

type AlarmDataElementsType struct {
	AlarmId          *ElementTagType           `json:"alarmId,omitempty"`
	ThresholdId      *ElementTagType           `json:"thresholdId,omitempty"`
	Timestamp        *ElementTagType           `json:"timestamp,omitempty"`
	AlarmType        *ElementTagType           `json:"alarmType,omitempty"`
	MeasuredValue    *ScaledNumberElementsType `json:"measuredValue,omitempty"`
	EvaluationPeriod *TimePeriodElementsType   `json:"evaluationPeriod,omitempty"`
	ScopeType        *ElementTagType           `json:"scopeType,omitempty"`
	Label            *ElementTagType           `json:"label,omitempty"`
	Description      *ElementTagType           `json:"description,omitempty"`
}

type AlarmDataType

type AlarmDataType struct {
	AlarmId          *AlarmIdType                `json:"alarmId,omitempty" eebus:"key"`
	ThresholdId      *ThresholdIdType            `json:"thresholdId,omitempty"`
	Timestamp        *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	AlarmType        *AlarmTypeType              `json:"alarmType,omitempty"`
	MeasuredValue    *ScaledNumberType           `json:"measuredValue,omitempty"`
	EvaluationPeriod *TimePeriodType             `json:"evaluationPeriod,omitempty"`
	ScopeType        *ScopeTypeType              `json:"scopeType,omitempty"`
	Label            *LabelType                  `json:"label,omitempty"`
	Description      *DescriptionType            `json:"description,omitempty"`
}

type AlarmIdType

type AlarmIdType uint

type AlarmListDataSelectorsType

type AlarmListDataSelectorsType struct {
	AlarmId   *AlarmIdType   `json:"alarmId,omitempty"`
	ScopeType *ScopeTypeType `json:"scopeType,omitempty"`
}

type AlarmListDataType

type AlarmListDataType struct {
	AlarmListData []AlarmDataType `json:"alarmListData,omitempty"`
}

func (*AlarmListDataType) UpdateList

func (r *AlarmListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type AlarmTypeType

type AlarmTypeType string
const (
	AlarmTypeTypeAlarmCancelled AlarmTypeType = "alarmCancelled"
	AlarmTypeTypeUnderThreshold AlarmTypeType = "underThreshold"
	AlarmTypeTypeOverThreshold  AlarmTypeType = "overThreshold"
)
const (
	DirectControlActivityStateTypeRunning  AlarmTypeType = "running"
	DirectControlActivityStateTypePaused   AlarmTypeType = "paused"
	DirectControlActivityStateTypeInactive AlarmTypeType = "inactive"
)

type AlternativesIdType

type AlternativesIdType uint

type BillConstraintsDataElementsType

type BillConstraintsDataElementsType struct {
	BillId           *ElementTagType `json:"billId,omitempty"`
	PositionCountMin *ElementTagType `json:"positionCountMin,omitempty"`
	PositionCountMax *ElementTagType `json:"positionCountMax,omitempty"`
}

type BillConstraintsDataType

type BillConstraintsDataType struct {
	BillId           *BillIdType            `json:"billId,omitempty" eebus:"key"`
	PositionCountMin *BillPositionCountType `json:"positionCountMin,omitempty"`
	PositionCountMax *BillPositionCountType `json:"positionCountMax,omitempty"`
}

type BillConstraintsListDataSelectorsType

type BillConstraintsListDataSelectorsType struct {
	BillId *BillIdType `json:"billId,omitempty"`
}

type BillConstraintsListDataType

type BillConstraintsListDataType struct {
	BillConstraintsData []BillConstraintsDataType `json:"billConstraintsData,omitempty"`
}

func (*BillConstraintsListDataType) UpdateList

func (r *BillConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type BillCostElementsType

type BillCostElementsType struct {
	CostId         *ElementTagType           `json:"costId,omitempty"`
	CostType       *ElementTagType           `json:"costType,omitempty"`
	ValueId        *ElementTagType           `json:"valueId,omitempty"`
	Unit           *ElementTagType           `json:"unit,omitempty"`
	Currency       *ElementTagType           `json:"currency,omitempty"`
	Cost           *ScaledNumberElementsType `json:"cost,omitempty"`
	CostPercentage *ScaledNumberElementsType `json:"costPercentage,omitempty"`
}

type BillCostIdType

type BillCostIdType uint

type BillCostType

type BillCostType struct {
	CostId         *BillCostIdType        `json:"costId,omitempty"`
	CostType       *BillCostTypeType      `json:"costType,omitempty"`
	ValueId        *BillValueIdType       `json:"valueId,omitempty"`
	Unit           *UnitOfMeasurementType `json:"unit,omitempty"`
	Currency       *CurrencyType          `json:"currency,omitempty"`
	Cost           *ScaledNumberType      `json:"cost,omitempty"`
	CostPercentage *ScaledNumberType      `json:"costPercentage,omitempty"`
}

type BillCostTypeType

type BillCostTypeType string
const (
	BillCostTypeTypeAbsolutePrice    BillCostTypeType = "absolutePrice"
	BillCostTypeTypeRelativePrice    BillCostTypeType = "relativePrice"
	BillCostTypeTypeCo2Emission      BillCostTypeType = "co2Emission"
	BillCostTypeTypeRenewableEnergy  BillCostTypeType = "renewableEnergy"
	BillCostTypeTypeRadioactiveWaste BillCostTypeType = "radioactiveWaste"
)

type BillDataElementsType

type BillDataElementsType struct {
	BillId    *ElementTagType           `json:"billId,omitempty"`
	BillType  *ElementTagType           `json:"billType,omitempty"`
	ScopeType *ElementTagType           `json:"scopeType,omitempty"`
	Total     *BillPositionElementsType `json:"total,omitempty"`
	Position  *BillPositionElementsType `json:"position,omitempty"`
}

type BillDataType

type BillDataType struct {
	BillId    *BillIdType        `json:"billId,omitempty" eebus:"key"`
	BillType  *BillTypeType      `json:"billType,omitempty"`
	ScopeType *ScopeTypeType     `json:"scopeType,omitempty"`
	Total     *BillPositionType  `json:"total,omitempty"`
	Position  []BillPositionType `json:"position,omitempty"`
}

type BillDescriptionDataElementsType

type BillDescriptionDataElementsType struct {
	BillId            *ElementTagType `json:"billId,omitempty"`
	BillWriteable     *ElementTagType `json:"billWriteable,omitempty"`
	UpdateRequired    *ElementTagType `json:"updateRequired,omitempty"`
	SupportedBillType *ElementTagType `json:"supportedBillType,omitempty"`
	SessionId         *ElementTagType `json:"sessionId,omitempty"`
}

type BillDescriptionDataType

type BillDescriptionDataType struct {
	BillId            *BillIdType    `json:"billId,omitempty" eebus:"key"`
	BillWriteable     *bool          `json:"billWriteable,omitempty"`
	UpdateRequired    *bool          `json:"updateRequired,omitempty"`
	SupportedBillType []BillTypeType `json:"supportedBillType,omitempty"`
	SessionId         *SessionIdType `json:"sessionId,omitempty"`
}

type BillDescriptionListDataSelectorsType

type BillDescriptionListDataSelectorsType struct {
	BillId *BillIdType `json:"billId,omitempty"`
}

type BillDescriptionListDataType

type BillDescriptionListDataType struct {
	BillDescriptionData []BillDescriptionDataType `json:"billDescriptionData,omitempty"`
}

func (*BillDescriptionListDataType) UpdateList

func (r *BillDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type BillIdType

type BillIdType uint

type BillListDataSelectorsType

type BillListDataSelectorsType struct {
	BillId    *BillIdType    `json:"billId,omitempty"`
	ScopeType *ScopeTypeType `json:"scopeType,omitempty"`
}

type BillListDataType

type BillListDataType struct {
	BillData []BillDataType `json:"billData,omitempty"`
}

func (*BillListDataType) UpdateList

func (r *BillListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type BillPositionCountType

type BillPositionCountType BillPositionIdType

type BillPositionElementsType

type BillPositionElementsType struct {
	PositionId   *ElementTagType         `json:"positionId,omitempty"`
	PositionType *ElementTagType         `json:"positionType,omitempty"`
	TimePeriod   *TimePeriodElementsType `json:"timePeriod,omitempty"`
	Value        *BillValueElementsType  `json:"value,omitempty"`
	Cost         *BillCostElementsType   `json:"cost,omitempty"`
	Label        *ElementTagType         `json:"label,omitempty"`
	Description  *ElementTagType         `json:"description,omitempty"`
}

type BillPositionIdType

type BillPositionIdType uint

type BillPositionType

type BillPositionType struct {
	PositionId   *BillPositionIdType   `json:"positionId,omitempty"`
	PositionType *BillPositionTypeType `json:"positionType,omitempty"`
	TimePeriod   *TimePeriodType       `json:"timePeriod,omitempty"`
	Value        *BillValueType        `json:"value,omitempty"`
	Cost         *BillCostType         `json:"cost,omitempty"`
	Label        *LabelType            `json:"label,omitempty"`
	Description  *DescriptionType      `json:"description,omitempty"`
}

type BillPositionTypeType

type BillPositionTypeType string
const (
	BillPositionTypeTypeGridElectricEnergy         BillPositionTypeType = "gridElectricEnergy"
	BillPositionTypeTypeSelfProducedElectricEnergy BillPositionTypeType = "selfProducedElectricEnergy"
)

type BillTypeType

type BillTypeType string
const (
	BillTypeTypeChargingSummary BillTypeType = "chargingSummary"
)

type BillValueElementsType

type BillValueElementsType struct {
	ValueId         *ElementTagType `json:"valueId,omitempty"`
	Unit            *ElementTagType `json:"unit,omitempty"`
	Value           *ElementTagType `json:"value,omitempty"`
	ValuePercentage *ElementTagType `json:"valuePercentage,omitempty"`
}

type BillValueIdType

type BillValueIdType uint

type BillValueType

type BillValueType struct {
	ValueId         *BillValueIdType       `json:"valueId,omitempty"`
	Unit            *UnitOfMeasurementType `json:"unit,omitempty"`
	Value           *ScaledNumberType      `json:"value,omitempty"`
	ValuePercentage *ScaledNumberType      `json:"valuePercentage,omitempty"`
}

type BindingIdType

type BindingIdType uint

type BindingManagementDeleteCallElementsType

type BindingManagementDeleteCallElementsType struct {
	BindingId     *ElementTagType `json:"bindingId,omitempty"`
	ClientAddress *ElementTagType `json:"clientAddress,omitempty"`
	ServerAddress *ElementTagType `json:"serverAddress,omitempty"`
}

type BindingManagementDeleteCallType

type BindingManagementDeleteCallType struct {
	BindingId     *BindingIdType      `json:"bindingId,omitempty"`
	ClientAddress *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress *FeatureAddressType `json:"serverAddress,omitempty"`
}

type BindingManagementEntryDataElementsType

type BindingManagementEntryDataElementsType struct {
	BindingId     *ElementTagType `json:"bindingId,omitempty"`
	ClientAddress *ElementTagType `json:"clientAddress,omitempty"`
	ServerAddress *ElementTagType `json:"serverAddress,omitempty"`
	Label         *ElementTagType `json:"label,omitempty"`
	Description   *ElementTagType `json:"description,omitempty"`
}

type BindingManagementEntryDataType

type BindingManagementEntryDataType struct {
	BindingId     *BindingIdType      `json:"bindingId,omitempty" eebus:"key"`
	ClientAddress *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress *FeatureAddressType `json:"serverAddress,omitempty"`
	Label         *LabelType          `json:"label,omitempty"`
	Description   *DescriptionType    `json:"description,omitempty"`
}

type BindingManagementEntryListDataSelectorsType

type BindingManagementEntryListDataSelectorsType struct {
	BindingId     *BindingIdType      `json:"bindingId,omitempty"`
	ClientAddress *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress *FeatureAddressType `json:"serverAddress,omitempty"`
}

type BindingManagementEntryListDataType

type BindingManagementEntryListDataType struct {
	BindingManagementEntryData []BindingManagementEntryDataType `json:"bindingManagementEntryData,omitempty"`
}

func (*BindingManagementEntryListDataType) UpdateList

func (r *BindingManagementEntryListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type BindingManagementRequestCallElementsType

type BindingManagementRequestCallElementsType struct {
	ClientAddress     *ElementTagType `json:"clientAddress,omitempty"`
	ServerAddress     *ElementTagType `json:"serverAddress,omitempty"`
	ServerFeatureType *ElementTagType `json:"serverFeatureType,omitempty"`
}

type BindingManagementRequestCallType

type BindingManagementRequestCallType struct {
	ClientAddress     *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress     *FeatureAddressType `json:"serverAddress,omitempty"`
	ServerFeatureType *FeatureTypeType    `json:"serverFeatureType,omitempty"`
}

type CalendarWeekType

type CalendarWeekType uint8

type ChannelIdType

type ChannelIdType uint

type CmdClassifierType

type CmdClassifierType string
const (
	CmdClassifierTypeRead   CmdClassifierType = "read"
	CmdClassifierTypeReply  CmdClassifierType = "reply"
	CmdClassifierTypeNotify CmdClassifierType = "notify"
	CmdClassifierTypeWrite  CmdClassifierType = "write"
	CmdClassifierTypeCall   CmdClassifierType = "call"
	CmdClassifierTypeResult CmdClassifierType = "result"
)

type CmdControlType

type CmdControlType struct {
	Delete  *ElementTagType `json:"delete,omitempty"`
	Partial *ElementTagType `json:"partial,omitempty"`
}

type CmdData

type CmdData struct {
	FieldName string
	Function  *FunctionType
	Value     any
}

CmdData stores the function field name for a cmd field

type CmdType

type CmdType struct {
	// CmdOptionGroup
	Function *FunctionType `json:"function,omitempty"`
	Filter   []FilterType  `json:"filter,omitempty"`

	// DataChoiceGroup
	ActuatorLevelData                                  *ActuatorLevelDataType                                  `json:"actuatorLevelData,omitempty" eebus:"fct:actuatorLevelData"`
	ActuatorLevelDescriptionData                       *ActuatorLevelDescriptionDataType                       `json:"actuatorLevelDescriptionData,omitempty" eebus:"fct:actuatorLevelDescriptionData"`
	ActuatorSwitchData                                 *ActuatorSwitchDataType                                 `json:"actuatorSwitchData,omitempty" eebus:"fct:actuatorSwitchData"`
	ActuatorSwitchDescriptionData                      *ActuatorSwitchDescriptionDataType                      `json:"actuatorSwitchDescriptionData,omitempty" eebus:"fct:actuatorSwitchDescriptionData"`
	AlarmListData                                      *AlarmListDataType                                      `json:"alarmListData,omitempty" eebus:"fct:alarmListData"`
	BillConstraintsListData                            *BillConstraintsListDataType                            `json:"billConstraintsListData,omitempty" eebus:"fct:billConstraintsListData"`
	BillDescriptionListData                            *BillDescriptionListDataType                            `json:"billDescriptionListData,omitempty" eebus:"fct:billDescriptionListData"`
	BillListData                                       *BillListDataType                                       `json:"billListData,omitempty" eebus:"fct:billListData"`
	BindingManagementDeleteCall                        *BindingManagementDeleteCallType                        `json:"bindingManagementDeleteCall,omitempty" eebus:"fct:bindingManagementDeleteCall"`
	BindingManagementEntryListData                     *BindingManagementEntryListDataType                     `json:"bindingManagementEntryListData,omitempty" eebus:"fct:bindingManagementEntryListData"`
	BindingManagementRequestCall                       *BindingManagementRequestCallType                       `json:"bindingManagementRequestCall,omitempty" eebus:"fct:bindingManagementRequestCall"`
	CommodityListData                                  *CommodityListDataType                                  `json:"commodityListData,omitempty" eebus:"fct:commodityListData"`
	DataTunnelingCall                                  *DataTunnelingCallType                                  `json:"dataTunnelingCall,omitempty" eebus:"fct:dataTunnelingCall"`
	DeviceClassificationManufacturerData               *DeviceClassificationManufacturerDataType               `json:"deviceClassificationManufacturerData,omitempty" eebus:"fct:deviceClassificationManufacturerData"`
	DeviceClassificationUserData                       *DeviceClassificationUserDataType                       `json:"deviceClassificationUserData,omitempty" eebus:"fct:deviceClassificationUserData"`
	DeviceConfigurationKeyValueConstraintsListData     *DeviceConfigurationKeyValueConstraintsListDataType     `json:"deviceConfigurationKeyValueConstraintsListData,omitempty" eebus:"fct:deviceConfigurationKeyValueConstraintsListData"`
	DeviceConfigurationKeyValueDescriptionListData     *DeviceConfigurationKeyValueDescriptionListDataType     `json:"deviceConfigurationKeyValueDescriptionListData,omitempty" eebus:"fct:deviceConfigurationKeyValueDescriptionListData"`
	DeviceConfigurationKeyValueListData                *DeviceConfigurationKeyValueListDataType                `json:"deviceConfigurationKeyValueListData,omitempty" eebus:"fct:deviceConfigurationKeyValueListData"`
	DeviceDiagnosisHeartbeatData                       *DeviceDiagnosisHeartbeatDataType                       `json:"deviceDiagnosisHeartbeatData,omitempty" eebus:"fct:deviceDiagnosisHeartbeatData"`
	DeviceDiagnosisServiceData                         *DeviceDiagnosisServiceDataType                         `json:"deviceDiagnosisServiceData,omitempty" eebus:"fct:deviceDiagnosisServiceData"`
	DeviceDiagnosisStateData                           *DeviceDiagnosisStateDataType                           `json:"deviceDiagnosisStateData,omitempty" eebus:"fct:deviceDiagnosisStateData"`
	DirectControlActivityListData                      *DirectControlActivityListDataType                      `json:"directControlActivityListData,omitempty" eebus:"fct:directControlActivityListData"`
	DirectControlDescriptionData                       *DirectControlDescriptionDataType                       `json:"directControlDescriptionData,omitempty" eebus:"fct:directControlDescriptionData"`
	ElectricalConnectionDescriptionListData            *ElectricalConnectionDescriptionListDataType            `json:"electricalConnectionDescriptionListData,omitempty" eebus:"fct:electricalConnectionDescriptionListData"`
	ElectricalConnectionParameterDescriptionListData   *ElectricalConnectionParameterDescriptionListDataType   `` /* 126-byte string literal not displayed */
	ElectricalConnectionPermittedValueSetListData      *ElectricalConnectionPermittedValueSetListDataType      `json:"electricalConnectionPermittedValueSetListData,omitempty" eebus:"fct:electricalConnectionPermittedValueSetListData"`
	ElectricalConnectionStateListData                  *ElectricalConnectionStateListDataType                  `json:"electricalConnectionStateListData,omitempty" eebus:"fct:electricalConnectionStateListData"`
	ElectricalConnectionCharacteristicData             *ElectricalConnectionCharacteristicDataType             `json:"electricalConnectionCharacteristicData,omitempty" eebus:"fct:electricalConnectionCharacteristicData"`
	ElectricalConnectionCharacteristicListData         *ElectricalConnectionCharacteristicListDataType         `json:"electricalConnectionCharacteristicListData,omitempty" eebus:"fct:electricalConnectionCharacteristicListData"`
	HvacOperationModeDescriptionListData               *HvacOperationModeDescriptionListDataType               `json:"hvacOperationModeDescriptionListData,omitempty" eebus:"fct:hvacOperationModeDescriptionListData"`
	HvacOverrunDescriptionListData                     *HvacOverrunDescriptionListDataType                     `json:"hvacOverrunDescriptionListData,omitempty" eebus:"fct:hvacOverrunDescriptionListData"`
	HvacOverrunListData                                *HvacOverrunListDataType                                `json:"hvacOverrunListData,omitempty" eebus:"fct:hvacOverrunListData"`
	HvacSystemFunctionDescriptionListData              *HvacSystemFunctionDescriptionListDataType              `json:"hvacSystemFunctionDescriptionListData,omitempty" eebus:"fct:hvacSystemFunctionDescriptionListData"`
	HvacSystemFunctionListData                         *HvacSystemFunctionListDataType                         `json:"hvacSystemFunctionListData,omitempty" eebus:"fct:hvacSystemFunctionListData"`
	HvacSystemFunctionOperationModeRelationListData    *HvacSystemFunctionOperationModeRelationListDataType    `json:"hvacSystemFunctionOperationModeRelationListData,omitempty" eebus:"fct:hvacSystemFunctionOperationModeRelationListData"`
	HvacSystemFunctionPowerSequenceRelationListData    *HvacSystemFunctionPowerSequenceRelationListDataType    `json:"hvacSystemFunctionPowerSequenceRelationListData,omitempty" eebus:"fct:hvacSystemFunctionPowerSequenceRelationListData"`
	HvacSystemFunctionSetPointRelationListData         *HvacSystemFunctionSetpointRelationListDataType         `json:"hvacSystemFunctionSetpointRelationListData,omitempty" eebus:"fct:hvacSystemFunctionSetpointRelationListData"`
	IdentificationListData                             *IdentificationListDataType                             `json:"identificationListData,omitempty" eebus:"fct:identificationListData"`
	IncentiveDescriptionListData                       *IncentiveDescriptionListDataType                       `json:"incentiveDescriptionListData,omitempty" eebus:"fct:incentiveDescriptionListData"`
	IncentiveListData                                  *IncentiveListDataType                                  `json:"incentiveListData,omitempty" eebus:"fct:incentiveListData"`
	IncentiveTableConstraintsData                      *IncentiveTableConstraintsDataType                      `json:"incentiveTableConstraintsData,omitempty" eebus:"fct:incentiveTableConstraintsData"`
	IncentiveTableData                                 *IncentiveTableDataType                                 `json:"incentiveTableData,omitempty" eebus:"fct:incentiveTableData"`
	IncentiveTableDescriptionData                      *IncentiveTableDescriptionDataType                      `json:"incentiveTableDescriptionData,omitempty" eebus:"fct:incentiveTableDescriptionData"`
	LoadControlEventListData                           *LoadControlEventListDataType                           `json:"loadControlEventListData,omitempty" eebus:"fct:loadControlEventListData"`
	LoadControlLimitConstraintsListData                *LoadControlLimitConstraintsListDataType                `json:"loadControlLimitConstraintsListData,omitempty" eebus:"fct:loadControlLimitConstraintsListData"`
	LoadControlLimitDescriptionListData                *LoadControlLimitDescriptionListDataType                `json:"loadControlLimitDescriptionListData,omitempty" eebus:"fct:loadControlLimitDescriptionListData"`
	LoadControlLimitListData                           *LoadControlLimitListDataType                           `json:"loadControlLimitListData,omitempty" eebus:"fct:loadControlLimitListData"`
	LoadControlNodeData                                *LoadControlNodeDataType                                `json:"loadControlNodeData,omitempty" eebus:"fct:loadControlNodeData"`
	LoadControlStateListData                           *LoadControlStateListDataType                           `json:"loadControlStateListData,omitempty" eebus:"fct:loadControlStateListData"`
	MeasurementConstraintsListData                     *MeasurementConstraintsListDataType                     `json:"measurementConstraintsListData,omitempty" eebus:"fct:measurementConstraintsListData"`
	MeasurementDescriptionListData                     *MeasurementDescriptionListDataType                     `json:"measurementDescriptionListData,omitempty" eebus:"fct:measurementDescriptionListData"`
	MeasurementListData                                *MeasurementListDataType                                `json:"measurementListData,omitempty" eebus:"fct:measurementListData"`
	MeasurementSeriesListData                          *MeasurementSeriesListDataType                          `json:"measurementSeriesListData,omitempty" eebus:"fct:measurementSeriesListData"`
	MeasurementThresholdRelationListData               *MeasurementThresholdRelationListDataType               `json:"measurementThresholdRelationListData,omitempty" eebus:"fct:measurementThresholdRelationListData"`
	MessagingListData                                  *MessagingListDataType                                  `json:"messagingListData,omitempty" eebus:"fct:messagingListData"`
	NetworkManagementAbortCall                         *NetworkManagementAbortCallType                         `json:"networkManagementAbortCall,omitempty" eebus:"fct:networkManagementAbortCall"`
	NetworkManagementAddNodeCall                       *NetworkManagementAddNodeCallType                       `json:"networkManagementAddNodeCall,omitempty" eebus:"fct:networkManagementAddNodeCall"`
	NetworkManagementDeviceDescriptionListData         *NetworkManagementDeviceDescriptionListDataType         `json:"networkManagementDeviceDescriptionListData,omitempty" eebus:"fct:networkManagementDeviceDescriptionListData"`
	NetworkManagementDiscoverCall                      *NetworkManagementDiscoverCallType                      `json:"networkManagementDiscoverCall,omitempty" eebus:"fct:networkManagementDiscoverCall"`
	NetworkManagementEntityDescriptionListData         *NetworkManagementEntityDescriptionListDataType         `json:"networkManagementEntityDescriptionListData,omitempty" eebus:"fct:networkManagementEntityDescriptionListData"`
	NetworkManagementFeatureDescriptionListData        *NetworkManagementFeatureDescriptionListDataType        `json:"networkManagementFeatureDescriptionListData,omitempty" eebus:"fct:networkManagementFeatureDescriptionListData"`
	NetworkManagementJoiningModeData                   *NetworkManagementJoiningModeDataType                   `json:"networkManagementJoiningModeData,omitempty" eebus:"fct:networkManagementJoiningModeData"`
	NetworkManagementModifyNodeCall                    *NetworkManagementModifyNodeCallType                    `json:"networkManagementModifyNodeCall,omitempty" eebus:"fct:networkManagementModifyNodeCall"`
	NetworkManagementProcessStateData                  *NetworkManagementProcessStateDataType                  `json:"networkManagementProcessStateData,omitempty" eebus:"fct:networkManagementProcessStateData"`
	NetworkManagementRemoveNodeCall                    *NetworkManagementRemoveNodeCallType                    `json:"networkManagementRemoveNodeCall,omitempty" eebus:"fct:networkManagementRemoveNodeCall"`
	NetworkManagementReportCandidateData               *NetworkManagementReportCandidateDataType               `json:"networkManagementReportCandidateData,omitempty" eebus:"fct:networkManagementReportCandidateData"`
	NetworkManagementScanNetworkCall                   *NetworkManagementScanNetworkCallType                   `json:"networkManagementScanNetworkCall,omitempty" eebus:"fct:networkManagementScanNetworkCall"`
	NodeManagementBindingData                          *NodeManagementBindingDataType                          `json:"nodeManagementBindingData,omitempty" eebus:"fct:nodeManagementBindingData"`
	NodeManagementBindingDeleteCall                    *NodeManagementBindingDeleteCallType                    `json:"nodeManagementBindingDeleteCall,omitempty" eebus:"fct:nodeManagementBindingDeleteCall"`
	NodeManagementBindingRequestCall                   *NodeManagementBindingRequestCallType                   `json:"nodeManagementBindingRequestCall,omitempty" eebus:"fct:nodeManagementBindingRequestCall"`
	NodeManagementDestinationListData                  *NodeManagementDestinationListDataType                  `json:"nodeManagementDestinationListData,omitempty" eebus:"fct:nodeManagementDestinationListData"`
	NodeManagementDetailedDiscoveryData                *NodeManagementDetailedDiscoveryDataType                `json:"nodeManagementDetailedDiscoveryData,omitempty" eebus:"fct:nodeManagementDetailedDiscoveryData"`
	NodeManagementSubscriptionData                     *NodeManagementSubscriptionDataType                     `json:"nodeManagementSubscriptionData,omitempty" eebus:"fct:nodeManagementSubscriptionData"`
	NodeManagementSubscriptionDeleteCall               *NodeManagementSubscriptionDeleteCallType               `json:"nodeManagementSubscriptionDeleteCall,omitempty" eebus:"fct:nodeManagementSubscriptionDeleteCall"`
	NodeManagementSubscriptionRequestCall              *NodeManagementSubscriptionRequestCallType              `json:"nodeManagementSubscriptionRequestCall,omitempty" eebus:"fct:nodeManagementSubscriptionRequestCall"`
	NodeManagementUseCaseData                          *NodeManagementUseCaseDataType                          `json:"nodeManagementUseCaseData,omitempty" eebus:"fct:nodeManagementUseCaseData"`
	OperatingConstraintsDurationListData               *OperatingConstraintsDurationListDataType               `json:"operatingConstraintsDurationListData,omitempty" eebus:"fct:operatingConstraintsDurationListData"`
	OperatingConstraintsInterruptListData              *OperatingConstraintsInterruptListDataType              `json:"operatingConstraintsInterruptListData,omitempty" eebus:"fct:operatingConstraintsInterruptListData"`
	OperatingConstraintsPowerDescriptionListData       *OperatingConstraintsPowerDescriptionListDataType       `json:"operatingConstraintsPowerDescriptionListData,omitempty" eebus:"fct:operatingConstraintsPowerDescriptionListData"`
	OperatingConstraintsPowerLevelListData             *OperatingConstraintsPowerLevelListDataType             `json:"operatingConstraintsPowerLevelListData,omitempty" eebus:"fct:operatingConstraintsPowerLevelListData"`
	OperatingConstraintsPowerRangeListData             *OperatingConstraintsPowerRangeListDataType             `json:"operatingConstraintsPowerRangeListData,omitempty" eebus:"fct:operatingConstraintsPowerRangeListData"`
	OperatingConstraintsResumeImplicationListData      *OperatingConstraintsResumeImplicationListDataType      `json:"operatingConstraintsResumeImplicationListData,omitempty" eebus:"fct:operatingConstraintsResumeImplicationListData"`
	PowerSequenceAlternativesRelationListData          *PowerSequenceAlternativesRelationListDataType          `json:"powerSequenceAlternativesRelationListData,omitempty" eebus:"fct:powerSequenceAlternativesRelationListData"`
	PowerSequenceDescriptionListData                   *PowerSequenceDescriptionListDataType                   `json:"powerSequenceDescriptionListData,omitempty" eebus:"fct:powerSequenceDescriptionListData"`
	PowerSequenceNodeScheduleInformationData           *PowerSequenceNodeScheduleInformationDataType           `json:"powerSequenceNodeScheduleInformationData,omitempty" eebus:"fct:powerSequenceNodeScheduleInformationData"`
	PowerSequencePriceCalculationRequestCall           *PowerSequencePriceCalculationRequestCallType           `json:"powerSequencePriceCalculationRequestCall,omitempty" eebus:"fct:powerSequencePriceCalculationRequestCall"`
	PowerSequencePriceListData                         *PowerSequencePriceListDataType                         `json:"powerSequencePriceListData,omitempty" eebus:"fct:powerSequencePriceListData"`
	PowerSequenceScheduleConfigurationRequestCall      *PowerSequenceScheduleConfigurationRequestCallType      `json:"powerSequenceScheduleConfigurationRequestCall,omitempty" eebus:"fct:powerSequenceScheduleConfigurationRequestCall"`
	PowerSequenceScheduleConstraintsListData           *PowerSequenceScheduleConstraintsListDataType           `json:"powerSequenceScheduleConstraintsListData,omitempty" eebus:"fct:powerSequenceScheduleConstraintsListData"`
	PowerSequenceScheduleListData                      *PowerSequenceScheduleListDataType                      `json:"powerSequenceScheduleListData,omitempty" eebus:"fct:powerSequenceScheduleListData"`
	PowerSequenceSchedulePreferenceListData            *PowerSequenceSchedulePreferenceListDataType            `json:"powerSequenceSchedulePreferenceListData,omitempty" eebus:"fct:powerSequenceSchedulePreferenceListData"`
	PowerSequenceStateListData                         *PowerSequenceStateListDataType                         `json:"powerSequenceStateListData,omitempty" eebus:"fct:powerSequenceStateListData"`
	PowerTimeSlotScheduleConstraintsListData           *PowerTimeSlotScheduleConstraintsListDataType           `json:"powerTimeSlotScheduleConstraintsListData,omitempty" eebus:"fct:powerTimeSlotScheduleConstraintsListData"`
	PowerTimeSlotScheduleListData                      *PowerTimeSlotScheduleListDataType                      `json:"powerTimeSlotScheduleListData,omitempty" eebus:"fct:powerTimeSlotScheduleListData"`
	PowerTimeSlotValueListData                         *PowerTimeSlotValueListDataType                         `json:"powerTimeSlotValueListData,omitempty" eebus:"fct:powerTimeSlotValueListData"`
	ResultData                                         *ResultDataType                                         `json:"resultData,omitempty" eebus:"fct:resultData"`
	SensingDescriptionData                             *SensingDescriptionDataType                             `json:"sensingDescriptionData,omitempty" eebus:"fct:sensingDescriptionData"`
	SensingListData                                    *SensingListDataType                                    `json:"sensingListData,omitempty" eebus:"fct:sensingListData"`
	SessionIdentificationListData                      *SessionIdentificationListDataType                      `json:"sessionIdentificationListData,omitempty" eebus:"fct:sessionIdentificationListData"`
	SessionMeasurementRelationListData                 *SessionMeasurementRelationListDataType                 `json:"sessionMeasurementRelationListData,omitempty" eebus:"fct:sessionMeasurementRelationListData"`
	SetpointConstraintsListData                        *SetpointConstraintsListDataType                        `json:"setpointConstraintsListData,omitempty" eebus:"fct:setpointConstraintsListData"`
	SetpointDescriptionListData                        *SetpointDescriptionListDataType                        `json:"setpointDescriptionListData,omitempty" eebus:"fct:setpointDescriptionListData"`
	SetpointListData                                   *SetpointListDataType                                   `json:"setpointListData,omitempty" eebus:"fct:setpointListData"`
	SmartEnergyManagementPsConfigurationRequestCall    *SmartEnergyManagementPsConfigurationRequestCallType    `json:"smartEnergyManagementPsConfigurationRequestCall,omitempty" eebus:"fct:smartEnergyManagementPsConfigurationRequestCall"`
	SmartEnergyManagementPsData                        *SmartEnergyManagementPsDataType                        `json:"smartEnergyManagementPsData,omitempty" eebus:"fct:smartEnergyManagementPsData"`
	SmartEnergyManagementPsPriceCalculationRequestCall *SmartEnergyManagementPsPriceCalculationRequestCallType `` /* 130-byte string literal not displayed */
	SmartEnergyManagementPsPriceData                   *SmartEnergyManagementPsPriceDataType                   `json:"smartEnergyManagementPsPriceData,omitempty" eebus:"fct:smartEnergyManagementPsPriceData"`
	SpecificationVersionListData                       *SpecificationVersionListDataType                       `json:"specificationVersionListData,omitempty" eebus:"fct:specificationVersionListData"`
	StateInformationListData                           *StateInformationListDataType                           `json:"stateInformationListData,omitempty" eebus:"fct:stateInformationListData"`
	SubscriptionManagementDeleteCall                   *SubscriptionManagementDeleteCallType                   `json:"subscriptionManagementDeleteCall,omitempty" eebus:"fct:subscriptionManagementDeleteCall"`
	SubscriptionManagementEntryListData                *SubscriptionManagementEntryListDataType                `json:"subscriptionManagementEntryListData,omitempty" eebus:"fct:subscriptionManagementEntryListData"`
	SubscriptionManagementRequestCall                  *SubscriptionManagementRequestCallType                  `json:"subscriptionManagementRequestCall,omitempty" eebus:"fct:subscriptionManagementRequestCall"`
	SupplyConditionDescriptionListData                 *SupplyConditionDescriptionListDataType                 `json:"supplyConditionDescriptionListData,omitempty" eebus:"fct:supplyConditionDescriptionListData"`
	SupplyConditionListData                            *SupplyConditionListDataType                            `json:"supplyConditionListData,omitempty" eebus:"fct:supplyConditionListData"`
	SupplyConditionThresholdRelationListData           *SupplyConditionThresholdRelationListDataType           `json:"supplyConditionThresholdRelationListData,omitempty" eebus:"fct:supplyConditionThresholdRelationListData"`
	TariffBoundaryRelationListData                     *TariffBoundaryRelationListDataType                     `json:"tariffBoundaryRelationListData,omitempty" eebus:"fct:tariffBoundaryRelationListData"`
	TariffDescriptionListData                          *TariffDescriptionListDataType                          `json:"tariffDescriptionListData,omitempty" eebus:"fct:tariffDescriptionListData"`
	TariffListData                                     *TariffListDataType                                     `json:"tariffListData,omitempty" eebus:"fct:tariffListData"`
	TariffOverallConstraintsData                       *TariffOverallConstraintsDataType                       `json:"tariffOverallConstraintsData,omitempty" eebus:"fct:tariffOverallConstraintsData"`
	TariffTierRelationListData                         *TariffTierRelationListDataType                         `json:"tariffTierRelationListData,omitempty" eebus:"fct:tariffTierRelationListData"`
	TaskManagementJobDescriptionListData               *TaskManagementJobDescriptionListDataType               `json:"taskManagementJobDescriptionListData,omitempty" eebus:"fct:taskManagementJobDescriptionListData"`
	TaskManagementJobListData                          *TaskManagementJobListDataType                          `json:"taskManagementJobListData,omitempty" eebus:"fct:taskManagementJobListData"`
	TaskManagementJobRelationListData                  *TaskManagementJobRelationListDataType                  `json:"taskManagementJobRelationListData,omitempty" eebus:"fct:taskManagementJobRelationListData"`
	TaskManagementOverviewData                         *TaskManagementOverviewDataType                         `json:"taskManagementOverviewData,omitempty" eebus:"fct:taskManagementOverviewData"`
	ThresholdConstraintsListData                       *ThresholdConstraintsListDataType                       `json:"thresholdConstraintsListData,omitempty" eebus:"fct:thresholdConstraintsListData"`
	ThresholdDescriptionListData                       *ThresholdDescriptionListDataType                       `json:"thresholdDescriptionListData,omitempty" eebus:"fct:thresholdDescriptionListData"`
	ThresholdListData                                  *ThresholdListDataType                                  `json:"thresholdListData,omitempty" eebus:"fct:thresholdListData"`
	TierBoundaryDescriptionListData                    *TierBoundaryDescriptionListDataType                    `json:"tierBoundaryDescriptionListData,omitempty" eebus:"fct:tierBoundaryDescriptionListData"`
	TierBoundaryListData                               *TierBoundaryListDataType                               `json:"tierBoundaryListData,omitempty" eebus:"fct:tierBoundaryListData"`
	TierDescriptionListData                            *TierDescriptionListDataType                            `json:"tierDescriptionListData,omitempty" eebus:"fct:tierDescriptionListData"`
	TierIncentiveRelationListData                      *TierIncentiveRelationListDataType                      `json:"tierIncentiveRelationListData,omitempty" eebus:"fct:tierIncentiveRelationListData"`
	TierListData                                       *TierListDataType                                       `json:"tierListData,omitempty" eebus:"fct:tierListData"`
	TimeDistributorData                                *TimeDistributorDataType                                `json:"timeDistributorData,omitempty" eebus:"fct:timeDistributorData"`
	TimeDistributorEnquiryCall                         *TimeDistributorEnquiryCallType                         `json:"timeDistributorEnquiryCall,omitempty" eebus:"fct:timeDistributorEnquiryCall"`
	TimeInformationData                                *TimeInformationDataType                                `json:"timeInformationData,omitempty" eebus:"fct:timeInformationData"`
	TimePrecisionData                                  *TimePrecisionDataType                                  `json:"timePrecisionData,omitempty" eebus:"fct:timePrecisionData"`
	TimeSeriesConstraintsListData                      *TimeSeriesConstraintsListDataType                      `json:"timeSeriesConstraintsListData,omitempty" eebus:"fct:timeSeriesConstraintsListData"`
	TimeSeriesDescriptionListData                      *TimeSeriesDescriptionListDataType                      `json:"timeSeriesDescriptionListData,omitempty" eebus:"fct:timeSeriesDescriptionListData"`
	TimeSeriesListData                                 *TimeSeriesListDataType                                 `json:"timeSeriesListData,omitempty" eebus:"fct:timeSeriesListData"`
	TimeTableConstraintsListData                       *TimeTableConstraintsListDataType                       `json:"timeTableConstraintsListData,omitempty" eebus:"fct:timeTableConstraintsListData"`
	TimeTableDescriptionListData                       *TimeTableDescriptionListDataType                       `json:"timeTableDescriptionListData,omitempty" eebus:"fct:timeTableDescriptionListData"`
	TimeTableListData                                  *TimeTableListDataType                                  `json:"timeTableListData,omitempty" eebus:"fct:timeTableListData"`
	UseCaseInformationListData                         *UseCaseInformationListDataType                         `json:"useCaseInformationListData,omitempty" eebus:"fct:useCaseInformationListData"`

	// DataExtendGroup
	ManufacturerSpecificExtension *string                     `json:"manufacturerSpecificExtension,omitempty"`
	LastUpdateAt                  *AbsoluteOrRelativeTimeType `json:"lastUpdateAt,omitempty"`
}

func (*CmdType) Data

func (cmd *CmdType) Data() (*CmdData, error)

Get the data and some meta data of the current value

func (*CmdType) DataName

func (cmd *CmdType) DataName() string

Get the non empty field name of the data type

func (*CmdType) ExtractFilter

func (cmd *CmdType) ExtractFilter() (filterPartial *FilterType, filterDelete *FilterType)

func (*CmdType) SetDataForFunction

func (cmd *CmdType) SetDataForFunction(fct FunctionType, data any)

Get the field for a given functionType

type CommodityDataElementsType

type CommodityDataElementsType struct {
	CommodityId             *ElementTagType `json:"commodityId,omitempty"`
	CommodityType           *ElementTagType `json:"commodityType,omitempty"`
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	Label                   *ElementTagType `json:"label,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type CommodityDataType

type CommodityDataType struct {
	CommodityId             *CommodityIdType     `json:"commodityId,omitempty" eebus:"key"`
	CommodityType           *CommodityTypeType   `json:"commodityType,omitempty"`
	PositiveEnergyDirection *EnergyDirectionType `json:"positiveEnergyDirection,omitempty"`
	Label                   *LabelType           `json:"label,omitempty"`
	Description             *DescriptionType     `json:"description,omitempty"`
}

type CommodityIdType

type CommodityIdType uint

type CommodityListDataSelectorsType

type CommodityListDataSelectorsType struct {
	CommodityId   *CommodityIdType   `json:"commodityId,omitempty"`
	CommodityType *CommodityTypeType `json:"commodityType,omitempty"`
}

type CommodityListDataType

type CommodityListDataType struct {
	CommodityData []CommodityDataType `json:"commodityData,omitempty"`
}

func (*CommodityListDataType) UpdateList

func (r *CommodityListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type CommodityTypeType

type CommodityTypeType string
const (
	CommodityTypeTypeElectricity      CommodityTypeType = "electricity"
	CommodityTypeTypeGas              CommodityTypeType = "gas"
	CommodityTypeTypeOil              CommodityTypeType = "oil"
	CommodityTypeTypeWater            CommodityTypeType = "water"
	CommodityTypeTypeWastewater       CommodityTypeType = "wasteWater"
	CommodityTypeTypeDomestichotwater CommodityTypeType = "domesticHotWater"
	CommodityTypeTypeHeatingwater     CommodityTypeType = "heatingWater"
	CommodityTypeTypeSteam            CommodityTypeType = "steam"
	CommodityTypeTypeHeat             CommodityTypeType = "heat"
	CommodityTypeTypeCoolingload      CommodityTypeType = "coolingLoad"
	CommodityTypeTypeAir              CommodityTypeType = "air"
)

type ConditionIdType

type ConditionIdType uint

type CurrencyType

type CurrencyType string
const (
	CurrencyTypeAed CurrencyType = "AED"
	CurrencyTypeAfn CurrencyType = "AFN"
	CurrencyTypeAll CurrencyType = "ALL"
	CurrencyTypeAmd CurrencyType = "AMD"
	CurrencyTypeAng CurrencyType = "ANG"
	CurrencyTypeAoa CurrencyType = "AOA"
	CurrencyTypeArs CurrencyType = "ARS"
	CurrencyTypeAud CurrencyType = "AUD"
	CurrencyTypeAwg CurrencyType = "AWG"
	CurrencyTypeAzn CurrencyType = "AZN"
	CurrencyTypeBam CurrencyType = "BAM"
	CurrencyTypeBbd CurrencyType = "BBD"
	CurrencyTypeBdt CurrencyType = "BDT"
	CurrencyTypeBgn CurrencyType = "BGN"
	CurrencyTypeBhd CurrencyType = "BHD"
	CurrencyTypeBif CurrencyType = "BIF"
	CurrencyTypeBmd CurrencyType = "BMD"
	CurrencyTypeBnd CurrencyType = "BND"
	CurrencyTypeBob CurrencyType = "BOB"
	CurrencyTypeBov CurrencyType = "BOV"
	CurrencyTypeBrl CurrencyType = "BRL"
	CurrencyTypeBsd CurrencyType = "BSD"
	CurrencyTypeBtn CurrencyType = "BTN"
	CurrencyTypeBwp CurrencyType = "BWP"
	CurrencyTypeByr CurrencyType = "BYR"
	CurrencyTypeBzd CurrencyType = "BZD"
	CurrencyTypeCad CurrencyType = "CAD"
	CurrencyTypeCdf CurrencyType = "CDF"
	CurrencyTypeChe CurrencyType = "CHE"
	CurrencyTypeChf CurrencyType = "CHF"
	CurrencyTypeChw CurrencyType = "CHW"
	CurrencyTypeClf CurrencyType = "CLF"
	CurrencyTypeClp CurrencyType = "CLP"
	CurrencyTypeCny CurrencyType = "CNY"
	CurrencyTypeCop CurrencyType = "COP"
	CurrencyTypeCou CurrencyType = "COU"
	CurrencyTypeCrc CurrencyType = "CRC"
	CurrencyTypeCuc CurrencyType = "CUC"
	CurrencyTypeCup CurrencyType = "CUP"
	CurrencyTypeCve CurrencyType = "CVE"
	CurrencyTypeCzk CurrencyType = "CZK"
	CurrencyTypeDjf CurrencyType = "DJF"
	CurrencyTypeDkk CurrencyType = "DKK"
	CurrencyTypeDop CurrencyType = "DOP"
	CurrencyTypeDzd CurrencyType = "DZD"
	CurrencyTypeEgp CurrencyType = "EGP"
	CurrencyTypeErn CurrencyType = "ERN"
	CurrencyTypeEtb CurrencyType = "ETB"
	CurrencyTypeEur CurrencyType = "EUR"
	CurrencyTypeFjd CurrencyType = "FJD"
	CurrencyTypeFkp CurrencyType = "FKP"
	CurrencyTypeGbp CurrencyType = "GBP"
	CurrencyTypeGel CurrencyType = "GEL"
	CurrencyTypeGhs CurrencyType = "GHS"
	CurrencyTypeGip CurrencyType = "GIP"
	CurrencyTypeGmd CurrencyType = "GMD"
	CurrencyTypeGnf CurrencyType = "GNF"
	CurrencyTypeGtq CurrencyType = "GTQ"
	CurrencyTypeGyd CurrencyType = "GYD"
	CurrencyTypeHkd CurrencyType = "HKD"
	CurrencyTypeHnl CurrencyType = "HNL"
	CurrencyTypeHrk CurrencyType = "HRK"
	CurrencyTypeHtg CurrencyType = "HTG"
	CurrencyTypeHuf CurrencyType = "HUF"
	CurrencyTypeIdr CurrencyType = "IDR"
	CurrencyTypeIls CurrencyType = "ILS"
	CurrencyTypeInr CurrencyType = "INR"
	CurrencyTypeIqd CurrencyType = "IQD"
	CurrencyTypeIrr CurrencyType = "IRR"
	CurrencyTypeIsk CurrencyType = "ISK"
	CurrencyTypeJmd CurrencyType = "JMD"
	CurrencyTypeJod CurrencyType = "JOD"
	CurrencyTypeJpy CurrencyType = "JPY"
	CurrencyTypeKes CurrencyType = "KES"
	CurrencyTypeKgs CurrencyType = "KGS"
	CurrencyTypeKhr CurrencyType = "KHR"
	CurrencyTypeKmf CurrencyType = "KMF"
	CurrencyTypeKpw CurrencyType = "KPW"
	CurrencyTypeKrw CurrencyType = "KRW"
	CurrencyTypeKwd CurrencyType = "KWD"
	CurrencyTypeKyd CurrencyType = "KYD"
	CurrencyTypeKzt CurrencyType = "KZT"
	CurrencyTypeLak CurrencyType = "LAK"
	CurrencyTypeLbp CurrencyType = "LBP"
	CurrencyTypeLkr CurrencyType = "LKR"
	CurrencyTypeLrd CurrencyType = "LRD"
	CurrencyTypeLsl CurrencyType = "LSL"
	CurrencyTypeLyd CurrencyType = "LYD"
	CurrencyTypeMad CurrencyType = "MAD"
	CurrencyTypeMdl CurrencyType = "MDL"
	CurrencyTypeMga CurrencyType = "MGA"
	CurrencyTypeMkd CurrencyType = "MKD"
	CurrencyTypeMmk CurrencyType = "MMK"
	CurrencyTypeMnt CurrencyType = "MNT"
	CurrencyTypeMop CurrencyType = "MOP"
	CurrencyTypeMro CurrencyType = "MRO"
	CurrencyTypeMur CurrencyType = "MUR"
	CurrencyTypeMvr CurrencyType = "MVR"
	CurrencyTypeMwk CurrencyType = "MWK"
	CurrencyTypeMxn CurrencyType = "MXN"
	CurrencyTypeMxv CurrencyType = "MXV"
	CurrencyTypeMyr CurrencyType = "MYR"
	CurrencyTypeMzn CurrencyType = "MZN"
	CurrencyTypeNad CurrencyType = "NAD"
	CurrencyTypeNgn CurrencyType = "NGN"
	CurrencyTypeNio CurrencyType = "NIO"
	CurrencyTypeNok CurrencyType = "NOK"
	CurrencyTypeNpr CurrencyType = "NPR"
	CurrencyTypeNzd CurrencyType = "NZD"
	CurrencyTypeOmr CurrencyType = "OMR"
	CurrencyTypePab CurrencyType = "PAB"
	CurrencyTypePen CurrencyType = "PEN"
	CurrencyTypePgk CurrencyType = "PGK"
	CurrencyTypePhp CurrencyType = "PHP"
	CurrencyTypePkr CurrencyType = "PKR"
	CurrencyTypePln CurrencyType = "PLN"
	CurrencyTypePyg CurrencyType = "PYG"
	CurrencyTypeQar CurrencyType = "QAR"
	CurrencyTypeRon CurrencyType = "RON"
	CurrencyTypeRsd CurrencyType = "RSD"
	CurrencyTypeRub CurrencyType = "RUB"
	CurrencyTypeRwf CurrencyType = "RWF"
	CurrencyTypeSar CurrencyType = "SAR"
	CurrencyTypeSbd CurrencyType = "SBD"
	CurrencyTypeScr CurrencyType = "SCR"
	CurrencyTypeSdg CurrencyType = "SDG"
	CurrencyTypeSek CurrencyType = "SEK"
	CurrencyTypeSgd CurrencyType = "SGD"
	CurrencyTypeShp CurrencyType = "SHP"
	CurrencyTypeSll CurrencyType = "SLL"
	CurrencyTypeSos CurrencyType = "SOS"
	CurrencyTypeSrd CurrencyType = "SRD"
	CurrencyTypeSsp CurrencyType = "SSP"
	CurrencyTypeStd CurrencyType = "STD"
	CurrencyTypeSvc CurrencyType = "SVC"
	CurrencyTypeSyp CurrencyType = "SYP"
	CurrencyTypeSzl CurrencyType = "SZL"
	CurrencyTypeThb CurrencyType = "THB"
	CurrencyTypeTjs CurrencyType = "TJS"
	CurrencyTypeTmt CurrencyType = "TMT"
	CurrencyTypeTnd CurrencyType = "TND"
	CurrencyTypeTop CurrencyType = "TOP"
	CurrencyTypeTry CurrencyType = "TRY"
	CurrencyTypeTtd CurrencyType = "TTD"
	CurrencyTypeTwd CurrencyType = "TWD"
	CurrencyTypeTzs CurrencyType = "TZS"
	CurrencyTypeUah CurrencyType = "UAH"
	CurrencyTypeUgx CurrencyType = "UGX"
	CurrencyTypeUsd CurrencyType = "USD"
	CurrencyTypeUsn CurrencyType = "USN"
	CurrencyTypeUyi CurrencyType = "UYI"
	CurrencyTypeUyu CurrencyType = "UYU"
	CurrencyTypeUzs CurrencyType = "UZS"
	CurrencyTypeVef CurrencyType = "VEF"
	CurrencyTypeVnd CurrencyType = "VND"
	CurrencyTypeVuv CurrencyType = "VUV"
	CurrencyTypeWst CurrencyType = "WST"
	CurrencyTypeXaf CurrencyType = "XAF"
	CurrencyTypeXag CurrencyType = "XAG"
	CurrencyTypeXau CurrencyType = "XAU"
	CurrencyTypeXba CurrencyType = "XBA"
	CurrencyTypeXbb CurrencyType = "XBB"
	CurrencyTypeXbc CurrencyType = "XBC"
	CurrencyTypeXbd CurrencyType = "XBD"
	CurrencyTypeXcd CurrencyType = "XCD"
	CurrencyTypeXdr CurrencyType = "XDR"
	CurrencyTypeXof CurrencyType = "XOF"
	CurrencyTypeXpd CurrencyType = "XPD"
	CurrencyTypeXpf CurrencyType = "XPF"
	CurrencyTypeXpt CurrencyType = "XPT"
	CurrencyTypeXsu CurrencyType = "XSU"
	CurrencyTypeXts CurrencyType = "XTS"
	CurrencyTypeXua CurrencyType = "XUA"
	CurrencyTypeXxx CurrencyType = "XXX"
	CurrencyTypeYer CurrencyType = "YER"
	CurrencyTypeZar CurrencyType = "ZAR"
	CurrencyTypeZmw CurrencyType = "ZMW"
	CurrencyTypeZwl CurrencyType = "ZWL"
)

type DataTunnelingCallElementsType

type DataTunnelingCallElementsType struct {
	Header  *DataTunnelingHeaderElementsType `json:"header,omitempty"`
	Payload *ElementTagType                  `json:"payload,omitempty"`
}

type DataTunnelingCallType

type DataTunnelingCallType struct {
	Header  *DataTunnelingHeaderType `json:"header,omitempty"`
	Payload *string                  `json:"payload,omitempty"`
}

type DataTunnelingHeaderElementsType

type DataTunnelingHeaderElementsType struct {
	PurposeId  *ElementTagType `json:"purposeId,omitempty"`
	ChannelId  *ElementTagType `json:"channelId,omitempty"`
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
}

type DataTunnelingHeaderType

type DataTunnelingHeaderType struct {
	PurposeId  *PurposeIdType `json:"purposeId,omitempty"`
	ChannelId  *ChannelIdType `json:"channelId,omitempty"`
	SequenceId *uint          `json:"sequenceId,omitempty"`
}

type Datagram

type Datagram struct {
	Datagram DatagramType `json:"datagram"`
}

type DatagramType

type DatagramType struct {
	Header  HeaderType  `json:"header"`
	Payload PayloadType `json:"payload"`
}

func (*DatagramType) PrintMessageOverview

func (d *DatagramType) PrintMessageOverview(send bool, localFeature, remoteFeature string) string

type DateTimeType

type DateTimeType string

func NewDateTimeType

func NewDateTimeType(t string) *DateTimeType

func NewDateTimeTypeFromTime

func NewDateTimeTypeFromTime(t time.Time) *DateTimeType

func (*DateTimeType) GetTime

func (d *DateTimeType) GetTime() (time.Time, error)

type DateType

type DateType string

func NewDateType

func NewDateType(t string) *DateType

func (*DateType) GetTime

func (d *DateType) GetTime() (time.Time, error)

2001-10-26, 2001-10-26+02:00, 2001-10-26Z, 2001-10-26+00:00, -2001-10-26, or -20000-04-01

type DayOfMonthType

type DayOfMonthType uint8

type DayOfWeekType

type DayOfWeekType string
const (
	DayOfWeekTypeMonday    DayOfWeekType = "monday"
	DayOfWeekTypeTuesday   DayOfWeekType = "tuesday"
	DayOfWeekTypeWednesday DayOfWeekType = "wednesday"
	DayOfWeekTypeThursday  DayOfWeekType = "thursday"
	DayOfWeekTypeFriday    DayOfWeekType = "friday"
	DayOfWeekTypeSaturday  DayOfWeekType = "saturday"
	DayOfWeekTypeSunday    DayOfWeekType = "sunday"
)

type DaysOfWeekType

type DaysOfWeekType struct {
	Monday    *ElementTagType `json:"monday,omitempty"`
	Tuesday   *ElementTagType `json:"tuesday,omitempty"`
	Wednesday *ElementTagType `json:"wednesday,omitempty"`
	Thursday  *ElementTagType `json:"thursday,omitempty"`
	Friday    *ElementTagType `json:"friday,omitempty"`
	Saturday  *ElementTagType `json:"saturday,omitempty"`
	Sunday    *ElementTagType `json:"sunday,omitempty"`
}

type DescriptionType

type DescriptionType string

type DeviceAddressElementsType

type DeviceAddressElementsType struct {
	Device *ElementTagType `json:"device,omitempty"`
}

type DeviceAddressType

type DeviceAddressType struct {
	Device *AddressDeviceType `json:"device,omitempty"`
}

func (*DeviceAddressType) String

func (r *DeviceAddressType) String() string

type DeviceClassificationManufacturerDataElementsType

type DeviceClassificationManufacturerDataElementsType struct {
	DeviceName                     *ElementTagType `json:"deviceName,omitempty"`
	DeviceCode                     *ElementTagType `json:"deviceCode,omitempty"`
	SerialNumber                   *ElementTagType `json:"serialNumber,omitempty"`
	SoftwareRevision               *ElementTagType `json:"softwareRevision,omitempty"`
	HardwareRevision               *ElementTagType `json:"hardwareRevision,omitempty"`
	VendorName                     *ElementTagType `json:"vendorName,omitempty"`
	VendorCode                     *ElementTagType `json:"vendorCode,omitempty"`
	BrandName                      *ElementTagType `json:"brandName,omitempty"`
	PowerSource                    *ElementTagType `json:"powerSource,omitempty"`
	ManufacturerNodeIdentification *ElementTagType `json:"manufacturerNodeIdentification,omitempty"`
	ManufacturerLabel              *ElementTagType `json:"manufacturerLabel,omitempty"`
	ManufacturerDescription        *ElementTagType `json:"manufacturerDescription,omitempty"`
}

type DeviceClassificationManufacturerDataType

type DeviceClassificationManufacturerDataType struct {
	DeviceName                     *DeviceClassificationStringType `json:"deviceName,omitempty"`
	DeviceCode                     *DeviceClassificationStringType `json:"deviceCode,omitempty"`
	SerialNumber                   *DeviceClassificationStringType `json:"serialNumber,omitempty"`
	SoftwareRevision               *DeviceClassificationStringType `json:"softwareRevision,omitempty"`
	HardwareRevision               *DeviceClassificationStringType `json:"hardwareRevision,omitempty"`
	VendorName                     *DeviceClassificationStringType `json:"vendorName,omitempty"`
	VendorCode                     *DeviceClassificationStringType `json:"vendorCode,omitempty"`
	BrandName                      *DeviceClassificationStringType `json:"brandName,omitempty"`
	PowerSource                    *PowerSourceType                `json:"powerSource,omitempty"`
	ManufacturerNodeIdentification *DeviceClassificationStringType `json:"manufacturerNodeIdentification,omitempty"`
	ManufacturerLabel              *LabelType                      `json:"manufacturerLabel,omitempty"`
	ManufacturerDescription        *DescriptionType                `json:"manufacturerDescription,omitempty"`
}

type DeviceClassificationStringType

type DeviceClassificationStringType string

type DeviceClassificationUserDataElementsType

type DeviceClassificationUserDataElementsType struct {
	UserNodeIdentification *ElementTagType `json:"userNodeIdentification,omitempty"`
	UserLabel              *ElementTagType `json:"userLabel,omitempty"`
	UserDescription        *ElementTagType `json:"userDescription,omitempty"`
}

type DeviceClassificationUserDataType

type DeviceClassificationUserDataType struct {
	UserNodeIdentification *DeviceClassificationStringType `json:"userNodeIdentification,omitempty"`
	UserLabel              *LabelType                      `json:"userLabel,omitempty"`
	UserDescription        *DescriptionType                `json:"userDescription,omitempty"`
}

type DeviceConfigurationKeyIdType

type DeviceConfigurationKeyIdType uint

type DeviceConfigurationKeyNameType

type DeviceConfigurationKeyNameType string
const (
	DeviceConfigurationKeyNameTypePeakPowerOfPVSystem                          DeviceConfigurationKeyNameType = "peakPowerOfPvSystem"
	DeviceConfigurationKeyNameTypePvCurtailmentLimitFactor                     DeviceConfigurationKeyNameType = "pvCurtailmentLimitFactor"
	DeviceConfigurationKeyNameTypeAsymmetricChargingSupported                  DeviceConfigurationKeyNameType = "asymmetricChargingSupported"
	DeviceConfigurationKeyNameTypeCommunicationsStandard                       DeviceConfigurationKeyNameType = "communicationsStandard"
	DeviceConfigurationKeyNameTypeInverterGridCode                             DeviceConfigurationKeyNameType = "inverterGridCode"
	DeviceConfigurationKeyNameTypePvStringAvailabilityStatus                   DeviceConfigurationKeyNameType = "pvStringAvailabilityStatus"
	DeviceConfigurationKeyNameTypeBatteryAvailabilityStatus                    DeviceConfigurationKeyNameType = "batteryAvailabilityStatus"
	DeviceConfigurationKeyNameTypeGridConnectionStatus                         DeviceConfigurationKeyNameType = "gridConnectionStatus"
	DeviceConfigurationKeyNameTypeTimeToAcChargePowerMax                       DeviceConfigurationKeyNameType = "timeToAcChargePowerMax"
	DeviceConfigurationKeyNameTypeTimeToAcDischargePowerMax                    DeviceConfigurationKeyNameType = "timeToAcDischargePowerMax"
	DeviceConfigurationKeyNameTypeTilt                                         DeviceConfigurationKeyNameType = "tilt"
	DeviceConfigurationKeyNameTypeAzimuth                                      DeviceConfigurationKeyNameType = "azimuth"
	DeviceConfigurationKeyNameTypeBatteryType                                  DeviceConfigurationKeyNameType = "batteryType"
	DeviceConfigurationKeyNameTypeMaxCycleCountPerDay                          DeviceConfigurationKeyNameType = "maxCycleCountPerDay"
	DeviceConfigurationKeyNameTypeFailsafeConsumptionActivePowerLimit          DeviceConfigurationKeyNameType = "failsafeConsumptionActivePowerLimit"
	DeviceConfigurationKeyNameTypeFailsafeProductionActivePowerLimit           DeviceConfigurationKeyNameType = "failsafeProductionActivePowerLimit"
	DeviceConfigurationKeyNameTypeFailsafePositiveReactivePowerLimit           DeviceConfigurationKeyNameType = "failsafePositiveReactivePowerLimit"
	DeviceConfigurationKeyNameTypeFailsafeNegativeReactivePowerLimit           DeviceConfigurationKeyNameType = "failsafeNegativeReactivePowerLimit"
	DeviceConfigurationKeyNameTypeFailsafePositiveCosPhiLimit                  DeviceConfigurationKeyNameType = "failsafePositiveCosPhiLimit"
	DeviceConfigurationKeyNameTypeFailsafeNegativeCosPhiLimit                  DeviceConfigurationKeyNameType = "failsafeNegativeCosPhiLimit"
	DeviceConfigurationKeyNameTypeMaxAcChargePower                             DeviceConfigurationKeyNameType = "maxAcChargePower"
	DeviceConfigurationKeyNameTypeMaxAcDischargePower                          DeviceConfigurationKeyNameType = "maxAcDischargePower"
	DeviceConfigurationKeyNameTypeMaxDcChargePower                             DeviceConfigurationKeyNameType = "maxDcChargePower"
	DeviceConfigurationKeyNameTypeMaxDcDischargePower                          DeviceConfigurationKeyNameType = "maxDcDischargePower"
	DeviceConfigurationKeyNameTypeBatteryActiveControlMode                     DeviceConfigurationKeyNameType = "batteryActiveControlMode"
	DeviceConfigurationKeyNameTypeDefaultAcPower                               DeviceConfigurationKeyNameType = "defaultAcPower"
	DeviceConfigurationKeyNameTypeDefaultDcPower                               DeviceConfigurationKeyNameType = "defaultDcPower"
	DeviceConfigurationKeyNameTypeDefaultPccPower                              DeviceConfigurationKeyNameType = "defaultPccPower"
	DeviceConfigurationKeyNameTypeFailsafeAcPowerSetpoint                      DeviceConfigurationKeyNameType = "failsafeAcPowerSetpoint"
	DeviceConfigurationKeyNameTypeFailsafeDcPowerSetpoint                      DeviceConfigurationKeyNameType = "failsafeDcPowerSetpoint"
	DeviceConfigurationKeyNameTypeFailsafePccPowerSetpoint                     DeviceConfigurationKeyNameType = "failsafePccPowerSetpoint"
	DeviceConfigurationKeyNameTypeFailsafeDurationMinimum                      DeviceConfigurationKeyNameType = "failsafeDurationMinimum"
	DeviceConfigurationKeyNameTypeDischargingBelowTargetEnergyRequestPermitted DeviceConfigurationKeyNameType = "dischargingBelowTargetEnergyRequestPermitted"
	DeviceConfigurationKeyNameTypeIncentivesSimulationCyclesMax                DeviceConfigurationKeyNameType = "incentivesSimulationCyclesMax"
	DeviceConfigurationKeyNameTypeIncentivesSimulationConcurrent               DeviceConfigurationKeyNameType = "incentivesSimulationConcurrent"
	DeviceConfigurationKeyNameTypeIncentivesTimeoutIncentiveRequest            DeviceConfigurationKeyNameType = "incentivesTimeoutIncentiveRequest"
	DeviceConfigurationKeyNameTypeIncentivesWaitIncentiveWriteable             DeviceConfigurationKeyNameType = "incentivesWaitIncentiveWriteable"
)

type DeviceConfigurationKeyValueConstraintsDataElementsType

type DeviceConfigurationKeyValueConstraintsDataElementsType struct {
	KeyId         *ElementTagType                               `json:"keyId,omitempty"`
	ValueRangeMin *DeviceConfigurationKeyValueValueElementsType `json:"valueRangeMin,omitempty"`
	ValueRangeMax *DeviceConfigurationKeyValueValueElementsType `json:"valueRangeMax,omitempty"`
	ValueStepSize *DeviceConfigurationKeyValueValueElementsType `json:"valueStepSize,omitempty"`
}

type DeviceConfigurationKeyValueConstraintsDataType

type DeviceConfigurationKeyValueConstraintsDataType struct {
	KeyId         *DeviceConfigurationKeyIdType         `json:"keyId,omitempty" eebus:"key"`
	ValueRangeMin *DeviceConfigurationKeyValueValueType `json:"valueRangeMin,omitempty"`
	ValueRangeMax *DeviceConfigurationKeyValueValueType `json:"valueRangeMax,omitempty"`
	ValueStepSize *DeviceConfigurationKeyValueValueType `json:"valueStepSize,omitempty"`
}

type DeviceConfigurationKeyValueConstraintsListDataSelectorsType

type DeviceConfigurationKeyValueConstraintsListDataSelectorsType struct {
	KeyId *DeviceConfigurationKeyIdType `json:"keyId,omitempty"`
}

type DeviceConfigurationKeyValueConstraintsListDataType

type DeviceConfigurationKeyValueConstraintsListDataType struct {
	DeviceConfigurationKeyValueConstraintsData []DeviceConfigurationKeyValueConstraintsDataType `json:"deviceConfigurationKeyValueConstraintsData,omitempty"`
}

func (*DeviceConfigurationKeyValueConstraintsListDataType) UpdateList

func (r *DeviceConfigurationKeyValueConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type DeviceConfigurationKeyValueDataElementsType

type DeviceConfigurationKeyValueDataElementsType struct {
	KeyId             *ElementTagType                               `json:"keyId,omitempty"`
	Value             *DeviceConfigurationKeyValueValueElementsType `json:"value,omitempty"`
	IsValueChangeable *ElementTagType                               `json:"isValueChangeable,omitempty"`
}

type DeviceConfigurationKeyValueDataType

type DeviceConfigurationKeyValueDataType struct {
	KeyId             *DeviceConfigurationKeyIdType         `json:"keyId,omitempty" eebus:"key"`
	Value             *DeviceConfigurationKeyValueValueType `json:"value,omitempty"`
	IsValueChangeable *bool                                 `json:"isValueChangeable,omitempty" eebus:"writecheck"`
}

type DeviceConfigurationKeyValueDescriptionDataElementsType

type DeviceConfigurationKeyValueDescriptionDataElementsType struct {
	KeyId       *ElementTagType `json:"keyId,omitempty"`
	KeyName     *ElementTagType `json:"keyName,omitempty"`
	ValueType   *ElementTagType `json:"valueType,omitempty"`
	Unit        *ElementTagType `json:"unit,omitempty"`
	Label       *ElementTagType `json:"label,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type DeviceConfigurationKeyValueDescriptionDataType

type DeviceConfigurationKeyValueDescriptionDataType struct {
	KeyId       *DeviceConfigurationKeyIdType        `json:"keyId,omitempty" eebus:"key"`
	KeyName     *DeviceConfigurationKeyNameType      `json:"keyName,omitempty"`
	ValueType   *DeviceConfigurationKeyValueTypeType `json:"valueType,omitempty"`
	Unit        *UnitOfMeasurementType               `json:"unit,omitempty"`
	Label       *LabelType                           `json:"label,omitempty"`
	Description *DescriptionType                     `json:"description,omitempty"`
}

type DeviceConfigurationKeyValueDescriptionListDataSelectorsType

type DeviceConfigurationKeyValueDescriptionListDataSelectorsType struct {
	KeyId   *DeviceConfigurationKeyIdType   `json:"keyId,omitempty"`
	KeyName *DeviceConfigurationKeyNameType `json:"keyName,omitempty"`
}

type DeviceConfigurationKeyValueDescriptionListDataType

type DeviceConfigurationKeyValueDescriptionListDataType struct {
	DeviceConfigurationKeyValueDescriptionData []DeviceConfigurationKeyValueDescriptionDataType `json:"deviceConfigurationKeyValueDescriptionData,omitempty"`
}

func (*DeviceConfigurationKeyValueDescriptionListDataType) UpdateList

func (r *DeviceConfigurationKeyValueDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type DeviceConfigurationKeyValueListDataSelectorsType

type DeviceConfigurationKeyValueListDataSelectorsType struct {
	KeyId *DeviceConfigurationKeyIdType `json:"keyId,omitempty"`
}

type DeviceConfigurationKeyValueListDataType

type DeviceConfigurationKeyValueListDataType struct {
	DeviceConfigurationKeyValueData []DeviceConfigurationKeyValueDataType `json:"deviceConfigurationKeyValueData,omitempty"`
}

func (*DeviceConfigurationKeyValueListDataType) UpdateList

func (r *DeviceConfigurationKeyValueListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type DeviceConfigurationKeyValueStringType

type DeviceConfigurationKeyValueStringType string
const (
	DeviceConfigurationKeyValueStringTypeISO151182ED1 DeviceConfigurationKeyValueStringType = "iso15118-2ed1"
	DeviceConfigurationKeyValueStringTypeISO151182ED2 DeviceConfigurationKeyValueStringType = "iso15118-2ed2"
	DeviceConfigurationKeyValueStringTypeIEC61851     DeviceConfigurationKeyValueStringType = "iec61851"
)

type DeviceConfigurationKeyValueTypeType

type DeviceConfigurationKeyValueTypeType string
const (
	DeviceConfigurationKeyValueTypeTypeBoolean      DeviceConfigurationKeyValueTypeType = "boolean"
	DeviceConfigurationKeyValueTypeTypeDate         DeviceConfigurationKeyValueTypeType = "date"
	DeviceConfigurationKeyValueTypeTypeDateTime     DeviceConfigurationKeyValueTypeType = "dateTime"
	DeviceConfigurationKeyValueTypeTypeDuration     DeviceConfigurationKeyValueTypeType = "duration"
	DeviceConfigurationKeyValueTypeTypeString       DeviceConfigurationKeyValueTypeType = "string"
	DeviceConfigurationKeyValueTypeTypeTime         DeviceConfigurationKeyValueTypeType = "time"
	DeviceConfigurationKeyValueTypeTypeScaledNumber DeviceConfigurationKeyValueTypeType = "scaledNumber"
	DeviceConfigurationKeyValueTypeTypeInteger      DeviceConfigurationKeyValueTypeType = "integer"
)

type DeviceConfigurationKeyValueValueElementsType

type DeviceConfigurationKeyValueValueElementsType struct {
	Boolean      *ElementTagType           `json:"boolean,omitempty"`
	Date         *ElementTagType           `json:"date,omitempty"`
	DateTime     *ElementTagType           `json:"dateTime,omitempty"`
	Duration     *ElementTagType           `json:"duration,omitempty"`
	String       *ElementTagType           `json:"string,omitempty"`
	Time         *ElementTagType           `json:"time,omitempty"`
	ScaledNumber *ScaledNumberElementsType `json:"scaledNumber,omitempty"`
}

type DeviceConfigurationKeyValueValueType

type DeviceConfigurationKeyValueValueType struct {
	Boolean      *bool                                  `json:"boolean,omitempty"`
	Date         *DateType                              `json:"date,omitempty"`
	DateTime     *DateTimeType                          `json:"dateTime,omitempty"`
	Duration     *DurationType                          `json:"duration,omitempty"`
	String       *DeviceConfigurationKeyValueStringType `json:"string,omitempty"`
	Time         *TimeType                              `json:"time,omitempty"`
	ScaledNumber *ScaledNumberType                      `json:"scaledNumber,omitempty"`
	Integer      *int64                                 `json:"integer,omitempty"`
}

type DeviceDiagnosisHeartbeatDataElementsType

type DeviceDiagnosisHeartbeatDataElementsType struct {
	Timestamp        *ElementTagType `json:"timestamp,omitempty"`
	HeartbeatCounter *ElementTagType `json:"heartbeatCounter,omitempty"`
	HeartbeatTimeout *ElementTagType `json:"heartbeatTimeout,omitempty"`
}

type DeviceDiagnosisHeartbeatDataType

type DeviceDiagnosisHeartbeatDataType struct {
	Timestamp        *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	HeartbeatCounter *uint64                     `json:"heartbeatCounter,omitempty"`
	HeartbeatTimeout *DurationType               `json:"heartbeatTimeout,omitempty"`
}

type DeviceDiagnosisOperatingStateType

type DeviceDiagnosisOperatingStateType string
const (
	DeviceDiagnosisOperatingStateTypeNormalOperation     DeviceDiagnosisOperatingStateType = "normalOperation"
	DeviceDiagnosisOperatingStateTypeStandby             DeviceDiagnosisOperatingStateType = "standby"
	DeviceDiagnosisOperatingStateTypeFailure             DeviceDiagnosisOperatingStateType = "failure"
	DeviceDiagnosisOperatingStateTypeServiceNeeded       DeviceDiagnosisOperatingStateType = "serviceNeeded"
	DeviceDiagnosisOperatingStateTypeOverrideDetected    DeviceDiagnosisOperatingStateType = "overrideDetected"
	DeviceDiagnosisOperatingStateTypeInAlarm             DeviceDiagnosisOperatingStateType = "inAlarm"
	DeviceDiagnosisOperatingStateTypeNotReachable        DeviceDiagnosisOperatingStateType = "notReachable"
	DeviceDiagnosisOperatingStateTypeFinished            DeviceDiagnosisOperatingStateType = "finished"
	DeviceDiagnosisOperatingStateTypeTemporarilyNotReady DeviceDiagnosisOperatingStateType = "temporarilyNotReady"
	DeviceDiagnosisOperatingStateTypeOff                 DeviceDiagnosisOperatingStateType = "off"
)

type DeviceDiagnosisServiceDataElementsType

type DeviceDiagnosisServiceDataElementsType struct {
	Timestamp        *ElementTagType `json:"timestamp,omitempty"`
	InstallationTime *ElementTagType `json:"installationTime,omitempty"`
	BootCounter      *ElementTagType `json:"bootCounter,omitempty"`
	NextService      *ElementTagType `json:"nextService,omitempty"`
}

type DeviceDiagnosisServiceDataType

type DeviceDiagnosisServiceDataType struct {
	Timestamp        *string `json:"timestamp,omitempty"`
	InstallationTime *string `json:"installationTime,omitempty"`
	BootCounter      *uint64 `json:"bootCounter,omitempty"`
	NextService      *string `json:"nextService,omitempty"`
}

type DeviceDiagnosisStateDataElementsType

type DeviceDiagnosisStateDataElementsType struct {
	Timestamp            *ElementTagType `json:"timestamp,omitempty"`
	OperatingState       *ElementTagType `json:"operatingState,omitempty"`
	VendorStateCode      *ElementTagType `json:"vendorStateCode,omitempty"`
	LastErrorCode        *ElementTagType `json:"lastErrorCode,omitempty"`
	UpTime               *ElementTagType `json:"upTime,omitempty"`
	TotalUpTime          *ElementTagType `json:"totalUpTime,omitempty"`
	PowerSupplyCondition *ElementTagType `json:"powerSupplyCondition,omitempty"`
}

type DeviceDiagnosisStateDataType

type DeviceDiagnosisStateDataType struct {
	Timestamp            *string                            `json:"timestamp,omitempty"`
	OperatingState       *DeviceDiagnosisOperatingStateType `json:"operatingState,omitempty"`
	VendorStateCode      *VendorStateCodeType               `json:"vendorStateCode,omitempty"`
	LastErrorCode        *LastErrorCodeType                 `json:"lastErrorCode,omitempty"`
	UpTime               *DurationType                      `json:"upTime,omitempty"`
	TotalUpTime          *DurationType                      `json:"totalUpTime,omitempty"`
	PowerSupplyCondition *PowerSupplyConditionType          `json:"powerSupplyCondition,omitempty"`
}

type DeviceTypeType

type DeviceTypeType string
const (
	DeviceTypeTypeDishwasher              DeviceTypeType = "Dishwasher"
	DeviceTypeTypeDryer                   DeviceTypeType = "Dryer"
	DeviceTypeTypeEnvironmentSensor       DeviceTypeType = "EnvironmentSensor"
	DeviceTypeTypeGeneric                 DeviceTypeType = "Generic"
	DeviceTypeTypeHeatgenerationSystem    DeviceTypeType = "HeatGenerationSystem"
	DeviceTypeTypeHeatsinkSystem          DeviceTypeType = "HeatSinkSystem"
	DeviceTypeTypeHeatstorageSystem       DeviceTypeType = "HeatStorageSystem"
	DeviceTypeTypeHVACController          DeviceTypeType = "HVACController"
	DeviceTypeTypeSubmeter                DeviceTypeType = "SubMeter"
	DeviceTypeTypeWasher                  DeviceTypeType = "Washer"
	DeviceTypeTypeElectricitySupplySystem DeviceTypeType = "ElectricitySupplySystem"
	DeviceTypeTypeEnergyManagementSystem  DeviceTypeType = "EnergyManagementSystem"
	DeviceTypeTypeInverter                DeviceTypeType = "Inverter"
	DeviceTypeTypeChargingStation         DeviceTypeType = "ChargingStation"
)

type DirectControlActivityDataElementsType

type DirectControlActivityDataElementsType struct {
	Timestamp                 *ElementTagType           `json:"timestamp,omitempty"`
	ActivityState             *ElementTagType           `json:"activityState,omitempty"`
	IsActivityStateChangeable *ElementTagType           `json:"isActivityStateChangeable,omitempty"`
	EnergyMode                *ElementTagType           `json:"energyMode,omitempty"`
	IsEnergyModeChangeable    *ElementTagType           `json:"isEnergyModeChangeable,omitempty"`
	Power                     *ScaledNumberElementsType `json:"power,omitempty"`
	IsPowerChangeable         *ElementTagType           `json:"isPowerChangeable,omitempty"`
	Energy                    *ScaledNumberElementsType `json:"energy,omitempty"`
	IsEnergyChangeable        *ElementTagType           `json:"isEnergyChangeable,omitempty"`
	SequenceId                *ElementTagType           `json:"sequence_id,omitempty"`
}

type DirectControlActivityDataType

type DirectControlActivityDataType struct {
	Timestamp                 *AbsoluteOrRelativeTimeType     `json:"timestamp,omitempty"`
	ActivityState             *DirectControlActivityStateType `json:"activityState,omitempty"`
	IsActivityStateChangeable *bool                           `json:"isActivityStateChangeable,omitempty"`
	EnergyMode                *EnergyModeType                 `json:"energyMode,omitempty"`
	IsEnergyModeChangeable    *bool                           `json:"isEnergyModeChangeable,omitempty"`
	Power                     *ScaledNumberType               `json:"power,omitempty"`
	IsPowerChangeable         *bool                           `json:"isPowerChangeable,omitempty"`
	Energy                    *ScaledNumberType               `json:"energy,omitempty"`
	IsEnergyChangeable        *bool                           `json:"isEnergyChangeable,omitempty"`
	SequenceId                *PowerSequenceIdType            `json:"sequence_id,omitempty"`
}

type DirectControlActivityListDataSelectorsType

type DirectControlActivityListDataSelectorsType struct {
	TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"`
}

type DirectControlActivityListDataType

type DirectControlActivityListDataType struct {
	DirectControlActivityDataElements []DirectControlActivityDataType `json:"directControlActivityDataElements,omitempty"`
}

type DirectControlActivityStateType

type DirectControlActivityStateType string

type DirectControlDescriptionDataElementsType

type DirectControlDescriptionDataElementsType struct {
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *ElementTagType `json:"powerUnit,omitempty"`
	EnergyUnit              *ElementTagType `json:"energyUnit,omitempty"`
}

type DirectControlDescriptionDataType

type DirectControlDescriptionDataType struct {
	PositiveEnergyDirection *EnergyDirectionType   `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *UnitOfMeasurementType `json:"powerUnit,omitempty"`
	EnergyUnit              *UnitOfMeasurementType `json:"energyUnit,omitempty"`
}

type DurationType

type DurationType string

func NewDurationType

func NewDurationType(duration time.Duration) *DurationType

func (*DurationType) GetTimeDuration

func (d *DurationType) GetTimeDuration() (time.Duration, error)

type EEBusTag

type EEBusTag string
const (
	EEBusTagFunction   EEBusTag = "fct"
	EEBusTagType       EEBusTag = "typ"
	EEBusTagKey        EEBusTag = "key"
	EEBusTagWriteCheck EEBusTag = "writecheck"
)

type EEBusTagTypeType

type EEBusTagTypeType string
const (
	EEBusTagTypeTypeSelector EEBusTagTypeType = "selector"
	EEbusTagTypeTypeElements EEBusTagTypeType = "elements"
)

type ElectricalConnectionAcMeasurementTypeType

type ElectricalConnectionAcMeasurementTypeType string
const (
	ElectricalConnectionAcMeasurementTypeTypeReal     ElectricalConnectionAcMeasurementTypeType = "real"
	ElectricalConnectionAcMeasurementTypeTypeReactive ElectricalConnectionAcMeasurementTypeType = "reactive"
	ElectricalConnectionAcMeasurementTypeTypeApparent ElectricalConnectionAcMeasurementTypeType = "apparent"
	ElectricalConnectionAcMeasurementTypeTypePhase    ElectricalConnectionAcMeasurementTypeType = "phase"
)

type ElectricalConnectionCharacteristicContextType

type ElectricalConnectionCharacteristicContextType string
const (
	ElectricalConnectionCharacteristicContextTypeDevice   ElectricalConnectionCharacteristicContextType = "device"
	ElectricalConnectionCharacteristicContextTypeEntity   ElectricalConnectionCharacteristicContextType = "entity"
	ElectricalConnectionCharacteristicContextTypeInverter ElectricalConnectionCharacteristicContextType = "inverter"
	ElectricalConnectionCharacteristicContextTypePvString ElectricalConnectionCharacteristicContextType = "pvString"
	ElectricalConnectionCharacteristicContextTypeBattery  ElectricalConnectionCharacteristicContextType = "battery"
)

type ElectricalConnectionCharacteristicDataElementsType

type ElectricalConnectionCharacteristicDataElementsType struct {
	ElectricalConnectionId *ElementTagType           `json:"electricalConnectionId,omitempty"`
	ParameterId            *ElementTagType           `json:"parameterId,omitempty"`
	CharacteristicId       *ElementTagType           `json:"characteristicId,omitempty"`
	CharacteristicContext  *ElementTagType           `json:"characteristicContext,omitempty"`
	CharacteristicType     *ElementTagType           `json:"characteristicType,omitempty"`
	Value                  *ScaledNumberElementsType `json:"value,omitempty"`
	Unit                   *ElementTagType           `json:"unit,omitempty"`
}

type ElectricalConnectionCharacteristicDataType

type ElectricalConnectionCharacteristicDataType struct {
	ElectricalConnectionId *ElectricalConnectionIdType                    `json:"electricalConnectionId,omitempty" eebus:"key"`
	ParameterId            *ElectricalConnectionParameterIdType           `json:"parameterId,omitempty" eebus:"key"`
	CharacteristicId       *ElectricalConnectionCharacteristicIdType      `json:"characteristicId,omitempty" eebus:"key"`
	CharacteristicContext  *ElectricalConnectionCharacteristicContextType `json:"characteristicContext,omitempty"`
	CharacteristicType     *ElectricalConnectionCharacteristicTypeType    `json:"characteristicType,omitempty"`
	Value                  *ScaledNumberType                              `json:"value,omitempty"`
	Unit                   *UnitOfMeasurementType                         `json:"unit,omitempty"`
}

type ElectricalConnectionCharacteristicIdType

type ElectricalConnectionCharacteristicIdType uint

type ElectricalConnectionCharacteristicListDataSelectorsType

type ElectricalConnectionCharacteristicListDataSelectorsType struct {
	ElectricalConnectionId *ElectricalConnectionIdType                    `json:"electricalConnectionId,omitempty"`
	ParameterId            *ElectricalConnectionParameterIdType           `json:"parameterId,omitempty"`
	CharacteristicId       *ElectricalConnectionCharacteristicIdType      `json:"characteristicId,omitempty"`
	CharacteristicContext  *ElectricalConnectionCharacteristicContextType `json:"characteristicContext,omitempty"`
	CharacteristicType     *ElectricalConnectionCharacteristicTypeType    `json:"characteristicType,omitempty"`
}

type ElectricalConnectionCharacteristicListDataType

type ElectricalConnectionCharacteristicListDataType struct {
	ElectricalConnectionCharacteristicData []ElectricalConnectionCharacteristicDataType `json:"electricalConnectionCharacteristicData,omitempty"`
}

func (*ElectricalConnectionCharacteristicListDataType) UpdateList

func (r *ElectricalConnectionCharacteristicListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ElectricalConnectionCharacteristicTypeType

type ElectricalConnectionCharacteristicTypeType string
const (
	ElectricalConnectionCharacteristicTypeTypePowerConsumptionMin                ElectricalConnectionCharacteristicTypeType = "powerConsumptionMin"
	ElectricalConnectionCharacteristicTypeTypePowerConsumptionMax                ElectricalConnectionCharacteristicTypeType = "powerConsumptionMax"
	ElectricalConnectionCharacteristicTypeTypePowerConsumptionNominalMin         ElectricalConnectionCharacteristicTypeType = "powerConsumptionNominalMin"
	ElectricalConnectionCharacteristicTypeTypePowerConsumptionNominalMax         ElectricalConnectionCharacteristicTypeType = "powerConsumptionNominalMax"
	ElectricalConnectionCharacteristicTypeTypePowerProductionMin                 ElectricalConnectionCharacteristicTypeType = "powerProductionMin"
	ElectricalConnectionCharacteristicTypeTypePowerProductionMax                 ElectricalConnectionCharacteristicTypeType = "powerProductionMax"
	ElectricalConnectionCharacteristicTypeTypePowerProductionNominalMin          ElectricalConnectionCharacteristicTypeType = "powerProductionNominalMin"
	ElectricalConnectionCharacteristicTypeTypePowerProductionNominalMax          ElectricalConnectionCharacteristicTypeType = "powerProductionNominalMax"
	ElectricalConnectionCharacteristicTypeTypeEnergyCapacityNominalMax           ElectricalConnectionCharacteristicTypeType = "energyCapacityNominalMax"
	ElectricalConnectionCharacteristicTypeTypeContractualConsumptionNominalMax   ElectricalConnectionCharacteristicTypeType = "contractualConsumptionNominalMax"
	ElectricalConnectionCharacteristicTypeTypeContractualProductionNominalMax    ElectricalConnectionCharacteristicTypeType = "contractualProductionNominalMax"
	ElectricalConnectionCharacteristicTypeTypeApparentPowerProductionNominalMax  ElectricalConnectionCharacteristicTypeType = "apparentPowerProductionNominalMax"
	ElectricalConnectionCharacteristicTypeTypeApparentPowerConsumptionNominalMax ElectricalConnectionCharacteristicTypeType = "apparentPowerConsumptionNominalMax"
)

type ElectricalConnectionConnectionPointType

type ElectricalConnectionConnectionPointType string
const (
	ElectricalConnectionConnectionPointTypeGrid  ElectricalConnectionConnectionPointType = "grid"
	ElectricalConnectionConnectionPointTypeHome  ElectricalConnectionConnectionPointType = "home"
	ElectricalConnectionConnectionPointTypePv    ElectricalConnectionConnectionPointType = "pv"
	ElectricalConnectionConnectionPointTypeSd    ElectricalConnectionConnectionPointType = "sd"
	ElectricalConnectionConnectionPointTypeOther ElectricalConnectionConnectionPointType = "other"
)

type ElectricalConnectionDescriptionDataElementsType

type ElectricalConnectionDescriptionDataElementsType struct {
	ElectricalConnectionId  *ElementTagType `json:"electricalConnectionId,omitempty"`
	PowerSupplyType         *ElementTagType `json:"powerSupplyType,omitempty"`
	AcConnectedPhases       *ElementTagType `json:"acConnectedPhases,omitempty"`
	AcRmsPeriodDuration     *ElementTagType `json:"acRmsPeriodDuration,omitempty"`
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	ScopeType               *ElementTagType `json:"scopeType,omitempty"`
	Label                   *ElementTagType `json:"label,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type ElectricalConnectionDescriptionDataType

type ElectricalConnectionDescriptionDataType struct {
	ElectricalConnectionId  *ElectricalConnectionIdType          `json:"electricalConnectionId,omitempty" eebus:"key"`
	PowerSupplyType         *ElectricalConnectionVoltageTypeType `json:"powerSupplyType,omitempty"`
	AcConnectedPhases       *uint                                `json:"acConnectedPhases,omitempty"`
	AcRmsPeriodDuration     *DurationType                        `json:"acRmsPeriodDuration,omitempty"`
	PositiveEnergyDirection *EnergyDirectionType                 `json:"positiveEnergyDirection,omitempty"`
	ScopeType               *ScopeTypeType                       `json:"scopeType,omitempty"`
	Label                   *LabelType                           `json:"label,omitempty"`
	Description             *DescriptionType                     `json:"description,omitempty"`
}

type ElectricalConnectionDescriptionListDataSelectorsType

type ElectricalConnectionDescriptionListDataSelectorsType struct {
	ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty"`
	ScopeType              *ScopeTypeType              `json:"scopeType,omitempty"`
}

type ElectricalConnectionDescriptionListDataType

type ElectricalConnectionDescriptionListDataType struct {
	ElectricalConnectionDescriptionData []ElectricalConnectionDescriptionDataType `json:"electricalConnectionDescriptionData,omitempty"`
}

func (*ElectricalConnectionDescriptionListDataType) UpdateList

func (r *ElectricalConnectionDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ElectricalConnectionIdType

type ElectricalConnectionIdType uint

type ElectricalConnectionMeasurandVariantType

type ElectricalConnectionMeasurandVariantType string
const (
	ElectricalConnectionMeasurandVariantTypeAmplitude     ElectricalConnectionMeasurandVariantType = "amplitude"
	ElectricalConnectionMeasurandVariantTypeRms           ElectricalConnectionMeasurandVariantType = "rms"
	ElectricalConnectionMeasurandVariantTypeInstantaneous ElectricalConnectionMeasurandVariantType = "instantaneous"
	ElectricalConnectionMeasurandVariantTypeAngle         ElectricalConnectionMeasurandVariantType = "angle"
	ElectricalConnectionMeasurandVariantTypeCosphi        ElectricalConnectionMeasurandVariantType = "cosPhi"
)

type ElectricalConnectionParameterDescriptionDataElementsType

type ElectricalConnectionParameterDescriptionDataElementsType struct {
	ElectricalConnectionId  *ElementTagType `json:"electricalConnectionId,omitempty"`
	ParameterId             *ElementTagType `json:"parameterId,omitempty"`
	MeasurementId           *ElementTagType `json:"measurementId,omitempty"`
	VoltageType             *ElementTagType `json:"voltageType,omitempty"`
	AcMeasuredPhases        *ElementTagType `json:"acMeasuredPhases,omitempty"`
	AcMeasuredInReferenceTo *ElementTagType `json:"acMeasuredInReferenceTo,omitempty"`
	AcMeasurementType       *ElementTagType `json:"acMeasurementType,omitempty"`
	AcMeasurementVariant    *ElementTagType `json:"acMeasurementVariant,omitempty"`
	AcMeasuredHarmonic      *ElementTagType `json:"acMeasuredHarmonic,omitempty"`
	ScopeType               *ElementTagType `json:"scopeType,omitempty"`
	Label                   *ElementTagType `json:"label,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type ElectricalConnectionParameterDescriptionDataType

type ElectricalConnectionParameterDescriptionDataType struct {
	ElectricalConnectionId  *ElectricalConnectionIdType                `json:"electricalConnectionId,omitempty" eebus:"key"`
	ParameterId             *ElectricalConnectionParameterIdType       `json:"parameterId,omitempty" eebus:"key"`
	MeasurementId           *MeasurementIdType                         `json:"measurementId,omitempty"`
	VoltageType             *ElectricalConnectionVoltageTypeType       `json:"voltageType,omitempty"`
	AcMeasuredPhases        *ElectricalConnectionPhaseNameType         `json:"acMeasuredPhases,omitempty"`
	AcMeasuredInReferenceTo *ElectricalConnectionPhaseNameType         `json:"acMeasuredInReferenceTo,omitempty"`
	AcMeasurementType       *ElectricalConnectionAcMeasurementTypeType `json:"acMeasurementType,omitempty"`
	AcMeasurementVariant    *ElectricalConnectionMeasurandVariantType  `json:"acMeasurementVariant,omitempty"`
	AcMeasuredHarmonic      *uint8                                     `json:"acMeasuredHarmonic,omitempty"`
	ScopeType               *ScopeTypeType                             `json:"scopeType,omitempty"`
	Label                   *LabelType                                 `json:"label,omitempty"`
	Description             *DescriptionType                           `json:"description,omitempty"`
}

type ElectricalConnectionParameterDescriptionListDataSelectorsType

type ElectricalConnectionParameterDescriptionListDataSelectorsType struct {
	ElectricalConnectionId *ElectricalConnectionIdType          `json:"electricalConnectionId,omitempty"`
	ParameterId            *ElectricalConnectionParameterIdType `json:"parameterId,omitempty"`
	MeasurementId          *MeasurementIdType                   `json:"measurementId,omitempty"`
	ScopeType              *ScopeTypeType                       `json:"scopeType,omitempty"`
}

type ElectricalConnectionParameterDescriptionListDataType

type ElectricalConnectionParameterDescriptionListDataType struct {
	ElectricalConnectionParameterDescriptionData []ElectricalConnectionParameterDescriptionDataType `json:"electricalConnectionParameterDescriptionData,omitempty"`
}

func (*ElectricalConnectionParameterDescriptionListDataType) UpdateList

func (r *ElectricalConnectionParameterDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ElectricalConnectionParameterIdType

type ElectricalConnectionParameterIdType uint

type ElectricalConnectionPermittedValueSetDataElementsType

type ElectricalConnectionPermittedValueSetDataElementsType struct {
	ElectricalConnectionId *ElementTagType `json:"electricalConnectionId,omitempty"`
	ParameterId            *ElementTagType `json:"parameterId,omitempty"`
	PermittedValueSet      *ElementTagType `json:"permittedValueSet,omitempty"`
}

type ElectricalConnectionPermittedValueSetDataType

type ElectricalConnectionPermittedValueSetDataType struct {
	ElectricalConnectionId *ElectricalConnectionIdType          `json:"electricalConnectionId,omitempty" eebus:"key"`
	ParameterId            *ElectricalConnectionParameterIdType `json:"parameterId,omitempty" eebus:"key"`
	PermittedValueSet      []ScaledNumberSetType                `json:"permittedValueSet,omitempty"`
}

type ElectricalConnectionPermittedValueSetListDataSelectorsType

type ElectricalConnectionPermittedValueSetListDataSelectorsType struct {
	ElectricalConnectionId *ElectricalConnectionIdType          `json:"electricalConnectionId,omitempty"`
	ParameterId            *ElectricalConnectionParameterIdType `json:"parameterId,omitempty"`
}

type ElectricalConnectionPermittedValueSetListDataType

type ElectricalConnectionPermittedValueSetListDataType struct {
	ElectricalConnectionPermittedValueSetData []ElectricalConnectionPermittedValueSetDataType `json:"electricalConnectionPermittedValueSetData,omitempty"`
}

func (*ElectricalConnectionPermittedValueSetListDataType) UpdateList

func (r *ElectricalConnectionPermittedValueSetListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ElectricalConnectionPhaseNameType

type ElectricalConnectionPhaseNameType string
const (
	ElectricalConnectionPhaseNameTypeA       ElectricalConnectionPhaseNameType = "a"
	ElectricalConnectionPhaseNameTypeB       ElectricalConnectionPhaseNameType = "b"
	ElectricalConnectionPhaseNameTypeC       ElectricalConnectionPhaseNameType = "c"
	ElectricalConnectionPhaseNameTypeAb      ElectricalConnectionPhaseNameType = "ab"
	ElectricalConnectionPhaseNameTypeBc      ElectricalConnectionPhaseNameType = "bc"
	ElectricalConnectionPhaseNameTypeAc      ElectricalConnectionPhaseNameType = "ac"
	ElectricalConnectionPhaseNameTypeAbc     ElectricalConnectionPhaseNameType = "abc"
	ElectricalConnectionPhaseNameTypeNeutral ElectricalConnectionPhaseNameType = "neutral"
	ElectricalConnectionPhaseNameTypeGround  ElectricalConnectionPhaseNameType = "ground"
	ElectricalConnectionPhaseNameTypeNone    ElectricalConnectionPhaseNameType = "none"
)

type ElectricalConnectionStateDataElementsType

type ElectricalConnectionStateDataElementsType struct {
	ElectricalConnectionId *ElementTagType `json:"electricalConnectionId,omitempty"`
	Timestamp              *ElementTagType `json:"timestamp,omitempty"`
	CurrentEnergyMode      *ElementTagType `json:"currentEnergyMode,omitempty"`
	ConsumptionTime        *ElementTagType `json:"consumptionTime,omitempty"`
	ProductionTime         *ElementTagType `json:"productionTime,omitempty"`
	TotalConsumptionTime   *ElementTagType `json:"totalConsumptionTime,omitempty"`
	TotalProductionTime    *ElementTagType `json:"totalProductionTime,omitempty"`
}

type ElectricalConnectionStateDataType

type ElectricalConnectionStateDataType struct {
	ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty" eebus:"key"`
	Timestamp              *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	CurrentEnergyMode      *EnergyModeType             `json:"currentEnergyMode,omitempty"`
	ConsumptionTime        *DurationType               `json:"consumptionTime,omitempty"`
	ProductionTime         *DurationType               `json:"productionTime,omitempty"`
	TotalConsumptionTime   *DurationType               `json:"totalConsumptionTime,omitempty"`
	TotalProductionTime    *DurationType               `json:"totalProductionTime,omitempty"`
}

type ElectricalConnectionStateListDataSelectorsType

type ElectricalConnectionStateListDataSelectorsType struct {
	ElectricalConnectionId *ElectricalConnectionIdType `json:"electricalConnectionId,omitempty"`
}

type ElectricalConnectionStateListDataType

type ElectricalConnectionStateListDataType struct {
	ElectricalConnectionStateData []ElectricalConnectionStateDataType `json:"electricalConnectionStateData,omitempty"`
}

func (*ElectricalConnectionStateListDataType) UpdateList

func (r *ElectricalConnectionStateListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ElectricalConnectionVoltageTypeType

type ElectricalConnectionVoltageTypeType string
const (
	ElectricalConnectionVoltageTypeTypeAc ElectricalConnectionVoltageTypeType = "ac"
	ElectricalConnectionVoltageTypeTypeDc ElectricalConnectionVoltageTypeType = "dc"
)

type ElementTagType

type ElementTagType struct{}

type EnergyDirectionType

type EnergyDirectionType string
const (
	EnergyDirectionTypeConsume EnergyDirectionType = "consume"
	EnergyDirectionTypeProduce EnergyDirectionType = "produce"
)

type EnergyModeType

type EnergyModeType string
const (
	EnergyModeTypeConsume EnergyModeType = "consume"
	EnergyModeTypeProduce EnergyModeType = "produce"
	EnergyModeTypeIdle    EnergyModeType = "idle"
	EnergyModeTypeAuto    EnergyModeType = "auto"
)

type EntityAddressElementsType

type EntityAddressElementsType struct {
	Device *ElementTagType `json:"device,omitempty"`
	Entity *ElementTagType `json:"entity,omitempty"`
}

type EntityAddressType

type EntityAddressType struct {
	Device *AddressDeviceType  `json:"device,omitempty"`
	Entity []AddressEntityType `json:"entity,omitempty"`
}

func (*EntityAddressType) String

func (r *EntityAddressType) String() string

type EntityTypeType

type EntityTypeType string
const (
	EntityTypeTypeBattery                       EntityTypeType = "Battery"
	EntityTypeTypeCompressor                    EntityTypeType = "Compressor"
	EntityTypeTypeDeviceInformation             EntityTypeType = "DeviceInformation"
	EntityTypeTypeDHWCircuit                    EntityTypeType = "DHWCircuit"
	EntityTypeTypeDHWStorage                    EntityTypeType = "DHWStorage"
	EntityTypeTypeDishwasher                    EntityTypeType = "Dishwasher"
	EntityTypeTypeDryer                         EntityTypeType = "Dryer"
	EntityTypeTypeElectricalImmersionHeater     EntityTypeType = "ElectricalImmersionHeater"
	EntityTypeTypeFan                           EntityTypeType = "Fan"
	EntityTypeTypeGasHeatingAppliance           EntityTypeType = "GasHeatingAppliance"
	EntityTypeTypeGeneric                       EntityTypeType = "Generic"
	EntityTypeTypeHeatingBufferStorage          EntityTypeType = "HeatingBufferStorage"
	EntityTypeTypeHeatingCircuit                EntityTypeType = "HeatingCircuit"
	EntityTypeTypeHeatingObject                 EntityTypeType = "HeatingObject"
	EntityTypeTypeHeatingZone                   EntityTypeType = "HeatingZone"
	EntityTypeTypeHeatPumpAppliance             EntityTypeType = "HeatPumpAppliance"
	EntityTypeTypeHeatSinkCircuit               EntityTypeType = "HeatSinkCircuit"
	EntityTypeTypeHeatSourceCircuit             EntityTypeType = "HeatSourceCircuit"
	EntityTypeTypeHeatSourceUnit                EntityTypeType = "HeatSourceUnit"
	EntityTypeTypeHvacController                EntityTypeType = "HVACController"
	EntityTypeTypeHvacRoom                      EntityTypeType = "HVACRoom"
	EntityTypeTypeInstantDHWheater              EntityTypeType = "InstantDHWHeater"
	EntityTypeTypeInverter                      EntityTypeType = "Inverter"
	EntityTypeTypeOilHeatingAppliance           EntityTypeType = "OilHeatingAppliance"
	EntityTypeTypePump                          EntityTypeType = "Pump"
	EntityTypeTypeRefrigerantCircuit            EntityTypeType = "RefrigerantCircuit"
	EntityTypeTypeSmartEnergyAppliance          EntityTypeType = "SmartEnergyAppliance"
	EntityTypeTypeSolarDHWStorage               EntityTypeType = "SolarDHWStorage"
	EntityTypeTypeSolarThermalCircuit           EntityTypeType = "SolarThermalCircuit"
	EntityTypeTypeSubMeterElectricity           EntityTypeType = "SubMeterElectricity"
	EntityTypeTypeTemperatureSensor             EntityTypeType = "TemperatureSensor"
	EntityTypeTypeWasher                        EntityTypeType = "Washer"
	EntityTypeTypeBatterySystem                 EntityTypeType = "BatterySystem"
	EntityTypeTypeElectricityGenerationSystem   EntityTypeType = "ElectricityGenerationSystem"
	EntityTypeTypeElectricityStorageSystem      EntityTypeType = "ElectricityStorageSystem"
	EntityTypeTypeGridConnectionPointOfPremises EntityTypeType = "GridConnectionPointOfPremises"
	EntityTypeTypeHousehold                     EntityTypeType = "Household"
	EntityTypeTypePVSystem                      EntityTypeType = "PVSystem"
	EntityTypeTypeEV                            EntityTypeType = "EV"
	EntityTypeTypeEVSE                          EntityTypeType = "EVSE"
	EntityTypeTypeChargingOutlet                EntityTypeType = "ChargingOutlet"
	EntityTypeTypeCEM                           EntityTypeType = "CEM"
	EntityTypeTypePV                            EntityTypeType = "PV"
	EntityTypeTypePVESHybrid                    EntityTypeType = "PVESHybrid"
	EntityTypeTypeElectricalStorage             EntityTypeType = "ElectricalStorage"
	EntityTypeTypePVString                      EntityTypeType = "PVString"
	EntityTypeTypeGridGuard                     EntityTypeType = "GridGuard"
	EntityTypeTypeControllableSystem            EntityTypeType = "ControllableSystem"
)

type ErrorNumberType

type ErrorNumberType uint
const (
	ErrorNumberTypeNoError ErrorNumberType = iota
	ErrorNumberTypeGeneralError
	ErrorNumberTypeTimeout
	ErrorNumberTypeOverload
	ErrorNumberTypeDestinationUnknown
	ErrorNumberTypeDestinationUnreachable
	ErrorNumberTypeCommandNotSupported
	ErrorNumberTypeCommandRejected
	ErrorNumberTypeRestrictedFunctionExchangeCombinationNotSupported
	ErrorNumberTypeBindingIsNecessaryForThisCommand
)

type ErrorType

type ErrorType struct {
	ErrorNumber ErrorNumberType
	Description *DescriptionType
}

func NewErrorType

func NewErrorType(errorNumber ErrorNumberType, description string) *ErrorType

func NewErrorTypeFromNumber

func NewErrorTypeFromNumber(errorNumber ErrorNumberType) *ErrorType

func NewErrorTypeFromResult

func NewErrorTypeFromResult(result *ResultDataType) *ErrorType

func NewErrorTypeFromString

func NewErrorTypeFromString(description string) *ErrorType

func (*ErrorType) String

func (e *ErrorType) String() string

type FeatureAddressElementsType

type FeatureAddressElementsType struct {
	Device  *ElementTagType `json:"device,omitempty"`
	Entity  *ElementTagType `json:"entity,omitempty"`
	Feature *ElementTagType `json:"feature,omitempty"`
}

type FeatureAddressType

type FeatureAddressType struct {
	Device  *AddressDeviceType  `json:"device,omitempty"`
	Entity  []AddressEntityType `json:"entity,omitempty"`
	Feature *AddressFeatureType `json:"feature,omitempty"`
}

func (*FeatureAddressType) String

func (r *FeatureAddressType) String() string

type FeatureDirectControlSpecificUsageEnumType

type FeatureDirectControlSpecificUsageEnumType string
const (
	FeatureDirectControlSpecificUsageEnumTypeHistory  FeatureDirectControlSpecificUsageEnumType = "History"
	FeatureDirectControlSpecificUsageEnumTypeRealtime FeatureDirectControlSpecificUsageEnumType = "RealTime"
)

type FeatureGroupType

type FeatureGroupType string

type FeatureHvacSpecificUsageEnumType

type FeatureHvacSpecificUsageEnumType string
const (
	FeatureHvacSpecificUsageEnumTypeOperationmode FeatureHvacSpecificUsageEnumType = "OperationMode"
	FeatureHvacSpecificUsageEnumTypeOverrun       FeatureHvacSpecificUsageEnumType = "Overrun"
)

type FeatureMeasurementSpecificUsageEnumType

type FeatureMeasurementSpecificUsageEnumType string
const (
	FeatureMeasurementSpecificUsageEnumTypeContact     FeatureMeasurementSpecificUsageEnumType = "Contact"
	FeatureMeasurementSpecificUsageEnumTypeElectrical  FeatureMeasurementSpecificUsageEnumType = "Electrical"
	FeatureMeasurementSpecificUsageEnumTypeHeat        FeatureMeasurementSpecificUsageEnumType = "Heat"
	FeatureMeasurementSpecificUsageEnumTypeLevel       FeatureMeasurementSpecificUsageEnumType = "Level"
	FeatureMeasurementSpecificUsageEnumTypePressure    FeatureMeasurementSpecificUsageEnumType = "Pressure"
	FeatureMeasurementSpecificUsageEnumTypeTemperature FeatureMeasurementSpecificUsageEnumType = "Temperature"
)

type FeatureSetpointSpecificUsageEnumType

type FeatureSetpointSpecificUsageEnumType string
const (
	// FeatureMeasurementSpecificUsageEnumType
	FeatureSetpointSpecificUsageEnumTypeContact     FeatureSetpointSpecificUsageEnumType = "Contact"
	FeatureSetpointSpecificUsageEnumTypeElectrical  FeatureSetpointSpecificUsageEnumType = "Electrical"
	FeatureSetpointSpecificUsageEnumTypeHeat        FeatureSetpointSpecificUsageEnumType = "Heat"
	FeatureSetpointSpecificUsageEnumTypeLevel       FeatureSetpointSpecificUsageEnumType = "Level"
	FeatureSetpointSpecificUsageEnumTypePressure    FeatureSetpointSpecificUsageEnumType = "Pressure"
	FeatureSetpointSpecificUsageEnumTypeTemperature FeatureSetpointSpecificUsageEnumType = "Temperature"
)

type FeatureSmartEnergyManagementPsSpecificUsageEnumType

type FeatureSmartEnergyManagementPsSpecificUsageEnumType string
const (
	FeatureSmartEnergyManagementPsSpecificUsageEnumTypeFixedForecast                         FeatureSmartEnergyManagementPsSpecificUsageEnumType = "FixedForecast"
	FeatureSmartEnergyManagementPsSpecificUsageEnumTypeFlexibleChosenForecast                FeatureSmartEnergyManagementPsSpecificUsageEnumType = "FlexibleChosenForecast"
	FeatureSmartEnergyManagementPsSpecificUsageEnumTypeFlexibleOptionalForecast              FeatureSmartEnergyManagementPsSpecificUsageEnumType = "FlexibleOptionalForecast"
	FeatureSmartEnergyManagementPsSpecificUsageEnumTypeOptionalSequenceBasedImmediateControl FeatureSmartEnergyManagementPsSpecificUsageEnumType = "OptionalSequenceBasedImmediateControl"
)

type FeatureSpecificUsageType

type FeatureSpecificUsageType string
const (
	// FeatureDirectControlSpecificUsageEnumType
	FeatureSpecificUsageTypeHistory  FeatureSpecificUsageType = "History"
	FeatureSpecificUsageTypeRealtime FeatureSpecificUsageType = "RealTime"

	// FeatureHvacSpecificUsageEnumType
	FeatureSpecificUsageTypeOperationmode FeatureSpecificUsageType = "OperationMode"
	FeatureSpecificUsageTypeOverrun       FeatureSpecificUsageType = "Overrun"

	// FeatureMeasurementSpecificUsageEnumType
	FeatureSpecificUsageTypeContact     FeatureSpecificUsageType = "Contact"
	FeatureSpecificUsageTypeElectrical  FeatureSpecificUsageType = "Electrical"
	FeatureSpecificUsageTypeHeat        FeatureSpecificUsageType = "Heat"
	FeatureSpecificUsageTypeLevel       FeatureSpecificUsageType = "Level"
	FeatureSpecificUsageTypePressure    FeatureSpecificUsageType = "Pressure"
	FeatureSpecificUsageTypeTemperature FeatureSpecificUsageType = "Temperature"

	// FeatureSmartEnergyManagementPsSpecificUsageEnumType
	FeatureSpecificUsageTypeFixedForecast                         FeatureSpecificUsageType = "FixedForecast"
	FeatureSpecificUsageTypeFlexibleChosenForecast                FeatureSpecificUsageType = "FlexibleChosenForecast"
	FeatureSpecificUsageTypeFlexibleOptionalForecast              FeatureSpecificUsageType = "FlexibleOptionalForecast"
	FeatureSpecificUsageTypeOptionalSequenceBasedImmediateControl FeatureSpecificUsageType = "OptionalSequenceBasedImmediateControl"
)

type FeatureTypeType

type FeatureTypeType string
const (
	FeatureTypeTypeActuatorLevel           FeatureTypeType = "ActuatorLevel"
	FeatureTypeTypeActuatorSwitch          FeatureTypeType = "ActuatorSwitch"
	FeatureTypeTypeAlarm                   FeatureTypeType = "Alarm"
	FeatureTypeTypeDataTunneling           FeatureTypeType = "DataTunneling"
	FeatureTypeTypeDeviceClassification    FeatureTypeType = "DeviceClassification"
	FeatureTypeTypeDeviceDiagnosis         FeatureTypeType = "DeviceDiagnosis"
	FeatureTypeTypeDirectControl           FeatureTypeType = "DirectControl"
	FeatureTypeTypeElectricalConnection    FeatureTypeType = "ElectricalConnection"
	FeatureTypeTypeGeneric                 FeatureTypeType = "Generic"
	FeatureTypeTypeHvac                    FeatureTypeType = "HVAC"
	FeatureTypeTypeLoadControl             FeatureTypeType = "LoadControl"
	FeatureTypeTypeMeasurement             FeatureTypeType = "Measurement"
	FeatureTypeTypeMessaging               FeatureTypeType = "Messaging"
	FeatureTypeTypeNetworkManagement       FeatureTypeType = "NetworkManagement"
	FeatureTypeTypeNodeManagement          FeatureTypeType = "NodeManagement"
	FeatureTypeTypeOperatingConstraints    FeatureTypeType = "OperatingConstraints"
	FeatureTypeTypePowerSequences          FeatureTypeType = "PowerSequences"
	FeatureTypeTypeSensing                 FeatureTypeType = "Sensing"
	FeatureTypeTypeSetpoint                FeatureTypeType = "Setpoint"
	FeatureTypeTypeSmartEnergyManagementPs FeatureTypeType = "SmartEnergyManagementPs"
	FeatureTypeTypeTaskManagement          FeatureTypeType = "TaskManagement"
	FeatureTypeTypeThreshold               FeatureTypeType = "Threshold"
	FeatureTypeTypeTimeInformation         FeatureTypeType = "TimeInformation"
	FeatureTypeTypeTimeTable               FeatureTypeType = "TimeTable"
	FeatureTypeTypeDeviceConfiguration     FeatureTypeType = "DeviceConfiguration"
	FeatureTypeTypeSupplyCondition         FeatureTypeType = "SupplyCondition"
	FeatureTypeTypeTimeSeries              FeatureTypeType = "TimeSeries"
	FeatureTypeTypeTariffInformation       FeatureTypeType = "TariffInformation"
	FeatureTypeTypeIncentiveTable          FeatureTypeType = "IncentiveTable"
	FeatureTypeTypeBill                    FeatureTypeType = "Bill"
	FeatureTypeTypeIdentification          FeatureTypeType = "Identification"
	FeatureTypeTypeStateInformation        FeatureTypeType = "StateInformation"
)

type FilterData

type FilterData struct {
	Elements any
	Selector any
	Function *FunctionType
}

FilterData stores the function field name and selector field name for a function

func (*FilterData) SelectorMatch

func (f *FilterData) SelectorMatch(item any) bool

type FilterIdType

type FilterIdType uint

type FilterType

type FilterType struct {
	FilterId   *FilterIdType   `json:"filterId,omitempty"`
	CmdControl *CmdControlType `json:"cmdControl,omitempty"`

	// DataSelectorsChoiceGroup
	AlarmListDataSelectors                                    *AlarmListDataSelectorsType                                    `json:"alarmListDataSelectors,omitempty" eebus:"typ:selector,fct:alarmListData"`
	BillConstraintsListDataSelectors                          *BillConstraintsListDataSelectorsType                          `json:"billConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:billConstraintsListData"`
	BillDescriptionListDataSelectors                          *BillDescriptionListDataSelectorsType                          `json:"billDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:billDescriptionListData"`
	BillListDataSelectors                                     *BillListDataSelectorsType                                     `json:"billListDataSelectors,omitempty" eebus:"typ:selector,fct:billListData"`
	BindingManagementEntryListDataSelectors                   *BindingManagementEntryListDataSelectorsType                   `json:"bindingManagementEntryListDataSelectors,omitempty" eebus:"typ:selector,fct:bindingManagementEntryListData"`
	CommodityListDataSelectors                                *CommodityListDataSelectorsType                                `json:"commodityListDataSelectors,omitempty" eebus:"typ:selector,fct:commodityListData"`
	DeviceConfigurationKeyValueConstraintsListDataSelectors   *DeviceConfigurationKeyValueConstraintsListDataSelectorsType   `` /* 144-byte string literal not displayed */
	DeviceConfigurationKeyValueDescriptionListDataSelectors   *DeviceConfigurationKeyValueDescriptionListDataSelectorsType   `` /* 144-byte string literal not displayed */
	DeviceConfigurationKeyValueListDataSelectors              *DeviceConfigurationKeyValueListDataSelectorsType              `json:"deviceConfigurationKeyValueListDataSelectors,omitempty" eebus:"typ:selector,fct:deviceConfigurationKeyValueListData"`
	DirectControlActivityListDataSelectors                    *DirectControlActivityListDataSelectorsType                    `json:"directControlActivityListDataSelectors,omitempty" eebus:"typ:selector,fct:directControlActivityListData"`
	ElectricalConnectionDescriptionListDataSelectors          *ElectricalConnectionDescriptionListDataSelectorsType          `` /* 130-byte string literal not displayed */
	ElectricalConnectionParameterDescriptionListDataSelectors *ElectricalConnectionParameterDescriptionListDataSelectorsType `` /* 148-byte string literal not displayed */
	ElectricalConnectionPermittedValueSetListDataSelectors    *ElectricalConnectionPermittedValueSetListDataSelectorsType    `` /* 142-byte string literal not displayed */
	ElectricalConnectionStateListDataSelectors                *ElectricalConnectionStateListDataSelectorsType                `json:"electricalConnectionStateListDataSelectors,omitempty" eebus:"typ:selector,fct:electricalConnectionStateListData"`
	ElectricalConnectionCharacteristicListDataSelectors       *ElectricalConnectionCharacteristicListDataSelectorsType       `` /* 136-byte string literal not displayed */
	HvacOperationModeDescriptionListDataSelectors             *HvacOperationModeDescriptionListDataSelectorsType             `json:"hvacOperationModeDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOperationModeDescriptionListData"`
	HvacOverrunDescriptionListDataSelectors                   *HvacOverrunDescriptionListDataSelectorsType                   `json:"hvacOverrunDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOverrunDescriptionListData"`
	HvacOverrunListDataSelectors                              *HvacOverrunListDataSelectorsType                              `json:"hvacOverrunListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacOverrunListData"`
	HvacSystemFunctionDescriptionListDataSelectors            *HvacSystemFunctionDescriptionListDataSelectorsType            `` /* 126-byte string literal not displayed */
	HvacSystemFunctionListDataSelectors                       *HvacSystemFunctionListDataSelectorsType                       `json:"hvacSystemFunctionListDataSelectors,omitempty" eebus:"typ:selector,fct:hvacSystemFunctionListData"`
	HvacSystemFunctionOperationModeRelationListDataSelectors  *HvacSystemFunctionOperationModeRelationListDataSelectorsType  `` /* 146-byte string literal not displayed */
	HvacSystemFunctionPowerSequenceRelationListDataSelectors  *HvacSystemFunctionPowerSequenceRelationListDataSelectorsType  `` /* 146-byte string literal not displayed */
	HvacSystemFunctionSetpointRelationListDataSelectors       *HvacSystemFunctionSetpointRelationListDataSelectorsType       `` /* 136-byte string literal not displayed */
	IdentificationListDataSelectors                           *IdentificationListDataSelectorsType                           `json:"identificationListDataSelectors,omitempty" eebus:"typ:selector,fct:identificationListData"`
	IncentiveDescriptionListDataSelectors                     *IncentiveDescriptionListDataSelectorsType                     `json:"incentiveDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:incentiveDescriptionListData"`
	IncentiveListDataSelectors                                *IncentiveListDataSelectorsType                                `json:"incentiveListDataSelectors,omitempty" eebus:"typ:selector,fct:incentiveListData"`
	IncentiveTableConstraintsDataSelectors                    *IncentiveTableConstraintsDataSelectorsType                    `json:"incentiveTableConstraintsDataSelectors,omitempty" eebus:"typ:selector,fct:incentiveTableConstraintsData"`
	IncentiveTableDataSelectors                               *IncentiveTableDataSelectorsType                               `json:"incentiveTableDataSelectors,omitempty" eebus:"typ:selector,fct:incentiveTableData"`
	IncentiveTableDescriptionDataSelectors                    *IncentiveTableDescriptionDataSelectorsType                    `json:"incentiveTableDescriptionDataSelectors,omitempty" eebus:"typ:selector,fct:incentiveTableDescriptionData"`
	LoadControlEventListDataSelectors                         *LoadControlEventListDataSelectorsType                         `json:"loadControlEventListDataSelectors,omitempty" eebus:"typ:selector,fct:loadControlEventListData"`
	LoadControlLimitConstraintsListDataSelectors              *LoadControlLimitConstraintsListDataSelectorsType              `json:"loadControlLimitConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:loadControlLimitConstraintsListData"`
	LoadControlLimitDescriptionListDataSelectors              *LoadControlLimitDescriptionListDataSelectorsType              `json:"loadControlLimitDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:loadControlLimitDescriptionListData"`
	LoadControlLimitListDataSelectors                         *LoadControlLimitListDataSelectorsType                         `json:"loadControlLimitListDataSelectors,omitempty" eebus:"typ:selector,fct:loadControlLimitListData"`
	LoadControlStateListDataSelectors                         *LoadControlStateListDataSelectorsType                         `json:"loadControlStateListDataSelectors,omitempty" eebus:"typ:selector,fct:loadControlStateListData"`
	MeasurementConstraintsListDataSelectors                   *MeasurementConstraintsListDataSelectorsType                   `json:"measurementConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementConstraintsListData"`
	MeasurementDescriptionListDataSelectors                   *MeasurementDescriptionListDataSelectorsType                   `json:"measurementDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementDescriptionListData"`
	MeasurementListDataSelectors                              *MeasurementListDataSelectorsType                              `json:"measurementListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementListData"`
	MeasurementSeriesListDataSelectors                        *MeasurementSeriesListDataSelectorsType                        `json:"measurementSeriesListDataSelectors,omitempty" eebus:"measurementSeriesListData"`
	MeasurementThresholdRelationListDataSelectors             *MeasurementThresholdRelationListDataSelectorsType             `json:"measurementThresholdRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:measurementThresholdRelationListData"`
	MessagingListDataSelectors                                *MessagingListDataSelectorsType                                `json:"messagingListDataSelectors,omitempty" eebus:"typ:selector,fct:messagingListData"`
	NetworkManagementDeviceDescriptionListDataSelectors       *NetworkManagementDeviceDescriptionListDataSelectorsType       `` /* 136-byte string literal not displayed */
	NetworkManagementEntityDescriptionListDataSelectors       *NetworkManagementEntityDescriptionListDataSelectorsType       `` /* 136-byte string literal not displayed */
	NetworkManagementFeatureDescriptionListDataSelectors      *NetworkManagementFeatureDescriptionListDataSelectorsType      `` /* 134-byte string literal not displayed */
	NodeManagementBindingDataSelectors                        *NodeManagementBindingDataSelectorsType                        `json:"nodeManagementBindingDataSelectors,omitempty" eebus:"typ:selector,fct:nodeManagementBindingData"`
	NodeManagementDestinationListDataSelectors                *NodeManagementDestinationListDataSelectorsType                `json:"nodeManagementDestinationListDataSelectors,omitempty" eebus:"typ:selector,fct:nodeManagementDestinationListData"`
	NodeManagementDetailedDiscoveryDataSelectors              *NodeManagementDetailedDiscoveryDataSelectorsType              `json:"nodeManagementDetailedDiscoveryDataSelectors,omitempty" eebus:"typ:selector,fct:nodeManagementDetailedDiscoveryData"`
	NodeManagementSubscriptionDataSelectors                   *NodeManagementSubscriptionDataSelectorsType                   `json:"nodeManagementSubscriptionDataSelectors,omitempty" eebus:"typ:selector,fct:nodeManagementSubscriptionData"`
	NodeManagementUseCaseDataSelectors                        *NodeManagementUseCaseDataSelectorsType                        `json:"nodeManagementUseCaseDataSelectors,omitempty" eebus:"typ:selector,fct:nodeManagementUseCaseData"`
	OperatingConstraintsDurationListDataSelectors             *OperatingConstraintsDurationListDataSelectorsType             `json:"operatingConstraintsDurationListDataSelectors,omitempty" eebus:"typ:selector,fct:operatingConstraintsDurationListData"`
	OperatingConstraintsInterruptListDataSelectors            *OperatingConstraintsInterruptListDataSelectorsType            `` /* 126-byte string literal not displayed */
	OperatingConstraintsPowerDescriptionListDataSelectors     *OperatingConstraintsPowerDescriptionListDataSelectorsType     `` /* 140-byte string literal not displayed */
	OperatingConstraintsPowerLevelListDataSelectors           *OperatingConstraintsPowerLevelListDataSelectorsType           `` /* 128-byte string literal not displayed */
	OperatingConstraintsPowerRangeListDataSelectors           *OperatingConstraintsPowerRangeListDataSelectorsType           `` /* 128-byte string literal not displayed */
	OperatingConstraintsResumeImplicationListDataSelectors    *OperatingConstraintsResumeImplicationListDataSelectorsType    `` /* 142-byte string literal not displayed */
	PowerSequenceAlternativesRelationListDataSelectors        *PowerSequenceAlternativesRelationListDataSelectorsType        `` /* 134-byte string literal not displayed */
	PowerSequenceDescriptionListDataSelectors                 *PowerSequenceDescriptionListDataSelectorsType                 `json:"powerSequenceDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:powerSequenceDescriptionListData"`
	PowerSequencePriceListDataSelectors                       *PowerSequencePriceListDataSelectorsType                       `json:"powerSequencePriceListDataSelectors,omitempty" eebus:"typ:selector,fct:powerSequencePriceListData"`
	PowerSequenceScheduleConstraintsListDataSelectors         *PowerSequenceScheduleConstraintsListDataSelectorsType         `` /* 132-byte string literal not displayed */
	PowerSequenceScheduleListDataSelectors                    *PowerSequenceScheduleListDataSelectorsType                    `json:"powerSequenceScheduleListDataSelectors,omitempty" eebus:"typ:selector,fct:powerSequenceScheduleListData"`
	PowerSequenceSchedulePreferenceListDataSelectors          *PowerSequenceSchedulePreferenceListDataSelectorsType          `` /* 130-byte string literal not displayed */
	PowerSequenceStateListDataSelectors                       *PowerSequenceStateListDataSelectorsType                       `json:"powerSequenceStateListDataSelectors,omitempty" eebus:"typ:selector,fct:powerSequenceStateListData"`
	PowerTimeSlotScheduleConstraintsListDataSelectors         *PowerTimeSlotScheduleConstraintsListDataSelectorsType         `` /* 132-byte string literal not displayed */
	PowerTimeSlotScheduleListDataSelectors                    *PowerTimeSlotScheduleListDataSelectorsType                    `json:"powerTimeSlotScheduleListDataSelectors,omitempty" eebus:"typ:selector,fct:powerTimeSlotScheduleListData"`
	PowerTimeSlotValueListDataSelectors                       *PowerTimeSlotValueListDataSelectorsType                       `json:"powerTimeSlotValueListDataSelectors,omitempty" eebus:"typ:selector,fct:powerTimeSlotValueListData"`
	SensingListDataSelectors                                  *SensingListDataSelectorsType                                  `json:"sensingListDataSelectors,omitempty" eebus:"typ:selector,fct:sensingListData"`
	SessionIdentificationListDataSelectors                    *SessionIdentificationListDataSelectorsType                    `json:"sessionIdentificationListDataSelectors,omitempty" eebus:"typ:selector,fct:sessionIdentificationListData"`
	SessionMeasurementRelationListDataSelectors               *SessionMeasurementRelationListDataSelectorsType               `json:"sessionMeasurementRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:sessionMeasurementRelationListData"`
	SetpointConstraintsListDataSelectors                      *SetpointConstraintsListDataSelectorsType                      `json:"setpointConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointConstraintsListData"`
	SetpointDescriptionListDataSelectors                      *SetpointDescriptionListDataSelectorsType                      `json:"setpointDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointDescriptionListData"`
	SetpointListDataSelectors                                 *SetpointListDataSelectorsType                                 `json:"setpointListDataSelectors,omitempty" eebus:"typ:selector,fct:setpointListData"`
	SmartEnergyManagementPsDataSelectors                      *SmartEnergyManagementPsDataSelectorsType                      `json:"smartEnergyManagementPsDataSelectors,omitempty" eebus:"typ:selector,fct:smartEnergyManagementPsData"`
	SmartEnergyManagementPsPriceDataSelectors                 *SmartEnergyManagementPsPriceDataSelectorsType                 `json:"smartEnergyManagementPsPriceDataSelectors,omitempty" eebus:"typ:selector,fct:smartEnergyManagementPsPriceData"`
	SpecificationVersionListDataSelectors                     *SpecificationVersionListDataSelectorsType                     `json:"specificationVersionListDataSelectors,omitempty" eebus:"typ:selector,fct:specificationVersionListData"`
	StateInformationListDataSelectors                         *StateInformationListDataSelectorsType                         `json:"stateInformationListDataSelectors,omitempty" eebus:"typ:selector,fct:stateInformationListData"`
	SubscriptionManagementEntryListDataSelectors              *SubscriptionManagementEntryListDataSelectorsType              `json:"subscriptionManagementEntryListDataSelectors,omitempty" eebus:"typ:selector,fct:subscriptionManagementEntryListData"`
	SupplyConditionDescriptionListDataSelectors               *SupplyConditionDescriptionListDataSelectorsType               `json:"supplyConditionDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:supplyConditionDescriptionListData"`
	SupplyConditionListDataSelectors                          *SupplyConditionListDataSelectorsType                          `json:"supplyConditionListDataSelectors,omitempty" eebus:"typ:selector,fct:supplyConditionListData"`
	SupplyConditionThresholdRelationListDataSelectors         *SupplyConditionThresholdRelationListDataSelectorsType         `` /* 132-byte string literal not displayed */
	TariffBoundaryRelationListDataSelectors                   *TariffBoundaryRelationListDataSelectorsType                   `json:"tariffBoundaryRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:tariffBoundaryRelationListData"`
	TariffDescriptionListDataSelectors                        *TariffDescriptionListDataSelectorsType                        `json:"tariffDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:tariffDescriptionListData"`
	TariffListDataSelectors                                   *TariffListDataSelectorsType                                   `json:"tariffListDataSelectors,omitempty" eebus:"typ:selector,fct:tariffListData"`
	TariffTierRelationListDataSelectors                       *TariffTierRelationListDataSelectorsType                       `json:"tariffTierRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:tariffTierRelationListData"`
	TaskManagementJobDescriptionListDataSelectors             *TaskManagementJobDescriptionListDataSelectorsType             `json:"taskManagementJobDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:taskManagementJobDescriptionListData"`
	TaskManagementJobListDataSelectors                        *TaskManagementJobListDataSelectorsType                        `json:"taskManagementJobListDataSelectors,omitempty" eebus:"typ:selector,fct:taskManagementJobListData"`
	TaskManagementJobRelationListDataSelectors                *TaskManagementJobRelationListDataSelectorsType                `json:"taskManagementJobRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:taskManagementJobRelationListData"`
	ThresholdConstraintsListDataSelectors                     *ThresholdConstraintsListDataSelectorsType                     `json:"thresholdConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:thresholdConstraintsListData"`
	ThresholdDescriptionListDataSelectors                     *ThresholdDescriptionListDataSelectorsType                     `json:"thresholdDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:thresholdDescriptionListData"`
	ThresholdListDataSelectors                                *ThresholdListDataSelectorsType                                `json:"thresholdListDataSelectors,omitempty" eebus:"typ:selector,fct:thresholdListData"`
	TierBoundaryDescriptionListDataSelectors                  *TierBoundaryDescriptionListDataSelectorsType                  `json:"tierBoundaryDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:tierBoundaryDescriptionListData"`
	TierBoundaryListDataSelectors                             *TierBoundaryListDataSelectorsType                             `json:"tierBoundaryListDataSelectors,omitempty" eebus:"typ:selector,fct:tierBoundaryListData"`
	TierDescriptionListDataSelectors                          *TierDescriptionListDataSelectorsType                          `json:"tierDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:tierDescriptionListData"`
	TierIncentiveRelationListDataSelectors                    *TierIncentiveRelationListDataSelectorsType                    `json:"tierIncentiveRelationListDataSelectors,omitempty" eebus:"typ:selector,fct:tierIncentiveRelationListData"`
	TierListDataSelectors                                     *TierListDataSelectorsType                                     `json:"tierListDataSelectors,omitempty" eebus:"typ:selector,fct:tierListData"`
	TimeSeriesConstraintsListDataSelectors                    *TimeSeriesConstraintsListDataSelectorsType                    `json:"timeSeriesConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:timeSeriesConstraintsListData"`
	TimeSeriesDescriptionListDataSelectors                    *TimeSeriesDescriptionListDataSelectorsType                    `json:"timeSeriesDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:timeSeriesDescriptionListData"`
	TimeSeriesListDataSelectors                               *TimeSeriesListDataSelectorsType                               `json:"timeSeriesListDataSelectors,omitempty" eebus:"typ:selector,fct:timeSeriesListData"`
	TimeTableConstraintsListDataSelectors                     *TimeTableConstraintsListDataSelectorsType                     `json:"timeTableConstraintsListDataSelectors,omitempty" eebus:"typ:selector,fct:timeTableConstraintsListData"`
	TimeTableDescriptionListDataSelectors                     *TimeTableDescriptionListDataSelectorsType                     `json:"timeTableDescriptionListDataSelectors,omitempty" eebus:"typ:selector,fct:timeTableDescriptionListData"`
	TimeTableListDataSelectors                                *TimeTableListDataSelectorsType                                `json:"timeTableListDataSelectors,omitempty" eebus:"typ:selector,fct:timeTableListData"`
	UseCaseInformationListDataSelectors                       *UseCaseInformationListDataSelectorsType                       `json:"useCaseInformationListDataSelectors,omitempty" eebus:"typ:selector,fct:useCaseInformationListData"`

	// DataElementsChoiceGroup
	ActuatorLevelDataElements                                  *ActuatorLevelDataElementsType                                  `json:"actuatorLevelDataElements,omitempty" eebus:"typ:elements,fct:actuatorLevelData"`
	ActuatorLevelDescriptionDataElements                       *ActuatorLevelDescriptionDataElementsType                       `json:"actuatorLevelDescriptionDataElements,omitempty" eebus:"typ:elements,fct:actuatorLevelDescriptionData"`
	ActuatorSwitchDataElements                                 *ActuatorSwitchDataElementsType                                 `json:"actuatorSwitchDataElements,omitempty" eebus:"typ:elements,fct:actuatorSwitchData"`
	ActuatorSwitchDescriptionDataElements                      *ActuatorSwitchDescriptionDataElementsType                      `json:"actuatorSwitchDescriptionDataElements,omitempty" eebus:"typ:elements,fct:actuatorSwitchDescriptionData"`
	AlarmDataElements                                          *AlarmDataElementsType                                          `json:"alarmDataElements,omitempty" eebus:"typ:elements,fct:alarmListData"`
	BillConstraintsDataElements                                *BillConstraintsDataElementsType                                `json:"billConstraintsDataElements,omitempty" eebus:"typ:elements,fct:billConstraintsListData"`
	BillDataElements                                           *BillDataElementsType                                           `json:"billDataElements,omitempty" eebus:"typ:elements,fct:billListData"`
	BillDescriptionDataElements                                *BillDescriptionDataElementsType                                `json:"billDescriptionDataElements,omitempty" eebus:"typ:elements,fct:billDescriptionListData"`
	BindingManagementDeleteCallElements                        *BindingManagementDeleteCallElementsType                        `json:"bindingManagementDeleteCallElements,omitempty" eebus:"typ:elements,fct:bindingManagementDeleteCall"`
	BindingManagementEntryDataElements                         *BindingManagementEntryDataElementsType                         `json:"bindingManagementEntryDataElements,omitempty" eebus:"typ:elements,fct:bindingManagementEntryListData"`
	BindingManagementRequestCallElements                       *BindingManagementRequestCallElementsType                       `json:"bindingManagementRequestCallElements,omitempty" eebus:"typ:elements,fct:bindingManagementRequestCall"`
	CommodityDataElements                                      *CommodityDataElementsType                                      `json:"commodityDataElements,omitempty" eebus:"typ:elements,fct:commodityListData"`
	DataTunnelingCallElements                                  *DataTunnelingCallElementsType                                  `json:"dataTunnelingCallElements,omitempty" eebus:"typ:elements,fct:dataTunnelingCall"`
	DeviceClassificationManufacturerDataElements               *DeviceClassificationManufacturerDataElementsType               `json:"deviceClassificationManufacturerDataElements,omitempty" eebus:"typ:elements,fct:deviceClassificationManufacturerData"`
	DeviceClassificationUserDataElements                       *DeviceClassificationUserDataElementsType                       `json:"deviceClassificationUserDataElements,omitempty" eebus:"typ:elements,fct:deviceClassificationUserData"`
	DeviceConfigurationKeyValueConstraintsDataElements         *DeviceConfigurationKeyValueConstraintsDataElementsType         `` /* 139-byte string literal not displayed */
	DeviceConfigurationKeyValueDataElements                    *DeviceConfigurationKeyValueDataElementsType                    `json:"deviceConfigurationKeyValueDataElements,omitempty" eebus:"typ:elements,fct:deviceConfigurationKeyValueListData"`
	DeviceConfigurationKeyValueDescriptionDataElements         *DeviceConfigurationKeyValueDescriptionDataElementsType         `` /* 139-byte string literal not displayed */
	DeviceDiagnosisHeartbeatDataElements                       *DeviceDiagnosisHeartbeatDataElementsType                       `json:"deviceDiagnosisHeartbeatDataElements,omitempty" eebus:"typ:elements,fct:deviceDiagnosisHeartbeatData"`
	DeviceDiagnosisServiceDataElements                         *DeviceDiagnosisServiceDataElementsType                         `json:"deviceDiagnosisServiceDataElements,omitempty" eebus:"typ:elements,fct:deviceDiagnosisServiceData"`
	DeviceDiagnosisStateDataElements                           *DeviceDiagnosisStateDataElementsType                           `json:"deviceDiagnosisStateDataElements,omitempty" eebus:"typ:elements,fct:deviceDiagnosisStateData"`
	DirectControlActivityDataElements                          *DirectControlActivityDataElementsType                          `json:"directControlActivityDataElements,omitempty" eebus:"typ:elements,fct:directControlActivityListData"`
	DirectControlDescriptionDataElements                       *DirectControlDescriptionDataElementsType                       `json:"directControlDescriptionDataElements,omitempty" eebus:"typ:elements,fct:directControlDescriptionData"`
	ElectricalConnectionDescriptionDataElements                *ElectricalConnectionDescriptionDataElementsType                `json:"electricalConnectionDescriptionDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionDescriptionListData"`
	ElectricalConnectionParameterDescriptionDataElements       *ElectricalConnectionParameterDescriptionDataElementsType       `` /* 143-byte string literal not displayed */
	ElectricalConnectionPermittedValueSetDataElements          *ElectricalConnectionPermittedValueSetDataElementsType          `` /* 137-byte string literal not displayed */
	ElectricalConnectionStateDataElements                      *ElectricalConnectionStateDataElementsType                      `json:"electricalConnectionStateDataElements,omitempty" eebus:"typ:elements,fct:electricalConnectionStateListData"`
	ElectricalConnectionCharacteristicDataElements             *ElectricalConnectionCharacteristicDataElementsType             `` /* 131-byte string literal not displayed */
	HvacOperationModeDescriptionDataElements                   *HvacOperationModeDescriptionDataElementsType                   `json:"hvacOperationModeDescriptionDataElements,omitempty" eebus:"typ:elements,fct:hvacOperationModeDescriptionListData"`
	HvacOverrunDataElements                                    *HvacOverrunDataElementsType                                    `json:"hvacOverrunDataElements,omitempty" eebus:"typ:elements,fct:hvacOverrunListData"`
	HvacOverrunDescriptionDataElements                         *HvacOverrunDescriptionDataElementsType                         `json:"hvacOverrunDescriptionDataElements,omitempty" eebus:"typ:elements,fct:hvacOverrunDescriptionListData"`
	HvacSystemFunctionDataElements                             *HvacSystemFunctionDataElementsType                             `json:"hvacSystemFunctionDataElements,omitempty" eebus:"typ:elements,fct:hvacSystemFunctionListData"`
	HvacSystemFunctionDescriptionDataElements                  *HvacSystemFunctionDescriptionDataElementsType                  `json:"hvacSystemFunctionDescriptionDataElements,omitempty" eebus:"typ:elements,fct:hvacSystemFunctionDescriptionListData"`
	HvacSystemFunctionOperationModeRelationDataElements        *HvacSystemFunctionOperationModeRelationDataElementsType        `` /* 141-byte string literal not displayed */
	HvacSystemFunctionPowerSequenceRelationDataElements        *HvacSystemFunctionPowerSequenceRelationDataElementsType        `` /* 141-byte string literal not displayed */
	HvacSystemFunctionSetpointRelationDataElements             *HvacSystemFunctionSetpointRelationDataElementsType             `` /* 131-byte string literal not displayed */
	IdentificationDataElements                                 *IdentificationDataElementsType                                 `json:"identificationDataElements,omitempty" eebus:"typ:elements,fct:identificationListData"`
	IncentiveDataElements                                      *IncentiveDataElementsType                                      `json:"incentiveDataElements,omitempty" eebus:"typ:elements,fct:incentiveListData"`
	IncentiveDescriptionDataElements                           *IncentiveDescriptionDataElementsType                           `json:"incentiveDescriptionDataElements,omitempty" eebus:"typ:elements,fct:incentiveDescriptionListData"`
	IncentiveTableConstraintsDataElements                      *IncentiveTableConstraintsDataElementsType                      `json:"incentiveTableConstraintsDataElements,omitempty" eebus:"typ:elements,fct:incentiveTableConstraintsData"`
	IncentiveTableDataElements                                 *IncentiveTableDataElementsType                                 `json:"incentiveTableDataElements,omitempty" eebus:"typ:elements,fct:incentiveTableData"`
	IncentiveTableDescriptionDataElements                      *IncentiveTableDescriptionDataElementsType                      `json:"incentiveTableDescriptionDataElements,omitempty" eebus:"typ:elements,fct:incentiveTableDescriptionData"`
	LoadControlEventDataElements                               *LoadControlEventDataElementsType                               `json:"loadControlEventDataElements,omitempty" eebus:"typ:elements,fct:loadControlEventListData"`
	LoadControlLimitConstraintsDataElements                    *LoadControlLimitConstraintsDataElementsType                    `json:"loadControlLimitConstraintsDataElements,omitempty" eebus:"typ:elements,fct:loadControlLimitConstraintsListData"`
	LoadControlLimitDataElements                               *LoadControlLimitDataElementsType                               `json:"loadControlLimitDataElements,omitempty" eebus:"typ:elements,fct:loadControlLimitListData"`
	LoadControlLimitDescriptionDataElements                    *LoadControlLimitDescriptionDataElementsType                    `json:"loadControlLimitDescriptionDataElements,omitempty" eebus:"typ:elements,fct:loadControlLimitDescriptionListData"`
	LoadControlNodeDataElements                                *LoadControlNodeDataElementsType                                `json:"loadControlNodeDataElements,omitempty" eebus:"typ:elements,fct:loadControlNodeData"`
	LoadControlStateDataElements                               *LoadControlStateDataElementsType                               `json:"loadControlStateDataElements,omitempty" eebus:"typ:elements,fct:loadControlStateListData"`
	MeasurementConstraintsDataElements                         *MeasurementConstraintsDataElementsType                         `json:"measurementConstraintsDataElements,omitempty" eebus:"typ:elements,fct:measurementConstraintsListData"`
	MeasurementDataElements                                    *MeasurementDataElementsType                                    `json:"measurementDataElements,omitempty" eebus:"typ:elements,fct:measurementListData"`
	MeasurementDescriptionDataElements                         *MeasurementDescriptionDataElementsType                         `json:"measurementDescriptionDataElements,omitempty" eebus:"typ:elements,fct:measurementDescriptionListData"`
	MeasurementSeriesDataElements                              *MeasurementSeriesDataElementsType                              `json:"measurementSeriesDataElements,omitempty" eebus:"typ:elements,fct:measurementSeriesListData"`
	MeasurementThresholdRelationDataElements                   *MeasurementThresholdRelationDataElementsType                   `json:"measurementThresholdRelationDataElements,omitempty" eebus:"typ:elements,fct:measurementThresholdRelationListData"`
	MessagingDataElements                                      *MessagingDataElementsType                                      `json:"messagingDataElements,omitempty" eebus:"typ:elements,fct:messagingListData"`
	NetworkManagementAbortCallElements                         *NetworkManagementAbortCallElementsType                         `json:"networkManagementAbortCallElements,omitempty" eebus:"typ:elements,fct:networkManagementAbortCall"`
	NetworkManagementAddNodeCallElements                       *NetworkManagementAddNodeCallElementsType                       `json:"networkManagementAddNodeCallElements,omitempty" eebus:"typ:elements,fct:networkManagementAddNodeCall"`
	NetworkManagementDeviceDescriptionDataElements             *NetworkManagementDeviceDescriptionDataElementsType             `` /* 131-byte string literal not displayed */
	NetworkManagementDiscoverCallElements                      *NetworkManagementDiscoverCallElementsType                      `json:"networkManagementDiscoverCallElements,omitempty" eebus:"typ:elements,fct:networkManagementDiscoverCall"`
	NetworkManagementEntityDescriptionDataElements             *NetworkManagementEntityDescriptionDataElementsType             `` /* 131-byte string literal not displayed */
	NetworkManagementFeatureDescriptionDataElements            *NetworkManagementFeatureDescriptionDataElementsType            `` /* 133-byte string literal not displayed */
	NetworkManagementJoiningModeDataElements                   *NetworkManagementJoiningModeDataElementsType                   `json:"networkManagementJoiningModeDataElements,omitempty" eebus:"typ:elements,fct:networkManagementJoiningModeData"`
	NetworkManagementModifyNodeCallElements                    *NetworkManagementModifyNodeCallElementsType                    `json:"networkManagementModifyNodeCallElements,omitempty" eebus:"typ:elements,fct:networkManagementModifyNodeCall"`
	NetworkManagementProcessStateDataElements                  *NetworkManagementProcessStateDataElementsType                  `json:"networkManagementProcessStateDataElements,omitempty" eebus:"typ:elements,fct:networkManagementProcessStateData"`
	NetworkManagementRemoveNodeCallElements                    *NetworkManagementRemoveNodeCallElementsType                    `json:"networkManagementRemoveNodeCallElements,omitempty" eebus:"typ:elements,fct:networkManagementRemoveNodeCall"`
	NetworkManagementReportCandidateDataElements               *NetworkManagementReportCandidateDataElementsType               `json:"networkManagementReportCandidateDataElements,omitempty" eebus:"typ:elements,fct:networkManagementReportCandidateData"`
	NetworkManagementScanNetworkCallElements                   *NetworkManagementScanNetworkCallElementsType                   `json:"networkManagementScanNetworkCallElements,omitempty" eebus:"typ:elements,fct:networkManagementScanNetworkCall"`
	NodeManagementBindingDataElements                          *NodeManagementBindingDataElementsType                          `json:"nodeManagementBindingDataElements,omitempty" eebus:"typ:elements,fct:nodeManagementBindingData"`
	NodeManagementBindingDeleteCallElements                    *NodeManagementBindingDeleteCallElementsType                    `json:"nodeManagementBindingDeleteCallElements,omitempty" eebus:"typ:elements,fct:nodeManagementBindingDeleteCall"`
	NodeManagementBindingRequestCallElements                   *NodeManagementBindingRequestCallElementsType                   `json:"nodeManagementBindingRequestCallElements,omitempty" eebus:"typ:elements,fct:nodeManagementBindingRequestCall"`
	NodeManagementDestinationDataElements                      *NodeManagementDestinationDataElementsType                      `json:"nodeManagementDestinationDataElements,omitempty" eebus:"typ:elements,fct:nodeManagementDestinationListData"`
	NodeManagementDetailedDiscoveryDataElements                *NodeManagementDetailedDiscoveryDataElementsType                `json:"nodeManagementDetailedDiscoveryDataElements,omitempty" eebus:"typ:elements,fct:nodeManagementDetailedDiscoveryData"`
	NodeManagementSubscriptionDataElements                     *NodeManagementSubscriptionDataElementsType                     `json:"nodeManagementSubscriptionDataElements,omitempty" eebus:"typ:elements,fct:nodeManagementSubscriptionData"`
	NodeManagementSubscriptionDeleteCallElements               *NodeManagementSubscriptionDeleteCallElementsType               `json:"nodeManagementSubscriptionDeleteCallElements,omitempty" eebus:"typ:elements,fct:nodeManagementSubscriptionDeleteCall"`
	NodeManagementSubscriptionRequestCallElements              *NodeManagementSubscriptionRequestCallElementsType              `json:"nodeManagementSubscriptionRequestCallElements,omitempty" eebus:"typ:elements,fct:nodeManagementSubscriptionRequestCall"`
	NodeManagementUseCaseDataElements                          *NodeManagementUseCaseDataElementsType                          `json:"nodeManagementUseCaseDataElements,omitempty" eebus:"typ:elements,fct:nodeManagementUseCaseData"`
	OperatingConstraintsDurationDataElements                   *OperatingConstraintsDurationDataElementsType                   `json:"operatingConstraintsDurationDataElements,omitempty" eebus:"typ:elements,fct:operatingConstraintsDurationListData"`
	OperatingConstraintsInterruptDataElements                  *OperatingConstraintsInterruptDataElementsType                  `json:"operatingConstraintsInterruptDataElements,omitempty" eebus:"typ:elements,fct:operatingConstraintsInterruptListData"`
	OperatingConstraintsPowerDescriptionDataElements           *OperatingConstraintsPowerDescriptionDataElementsType           `` /* 135-byte string literal not displayed */
	OperatingConstraintsPowerLevelDataElements                 *OperatingConstraintsPowerLevelDataElementsType                 `json:"operatingConstraintsPowerLevelDataElements,omitempty" eebus:"typ:elements,fct:operatingConstraintsPowerLevelListData"`
	OperatingConstraintsPowerRangeDataElements                 *OperatingConstraintsPowerRangeDataElementsType                 `json:"operatingConstraintsPowerRangeDataElements,omitempty" eebus:"typ:elements,fct:operatingConstraintsPowerRangeListData"`
	OperatingConstraintsResumeImplicationDataElements          *OperatingConstraintsResumeImplicationDataElementsType          `` /* 137-byte string literal not displayed */
	PowerSequenceAlternativesRelationDataElements              *PowerSequenceAlternativesRelationDataElementsType              `` /* 129-byte string literal not displayed */
	PowerSequenceDescriptionDataElements                       *PowerSequenceDescriptionDataElementsType                       `json:"powerSequenceDescriptionDataElements,omitempty" eebus:"typ:elements,fct:powerSequenceDescriptionListData"`
	PowerSequenceNodeScheduleInformationDataElements           *PowerSequenceNodeScheduleInformationDataElementsType           `` /* 131-byte string literal not displayed */
	PowerSequencePriceCalculationRequestCallElements           *PowerSequencePriceCalculationRequestCallElementsType           `` /* 131-byte string literal not displayed */
	PowerSequencePriceDataElements                             *PowerSequencePriceDataElementsType                             `json:"powerSequencePriceDataElements,omitempty" eebus:"typ:elements,fct:powerSequencePriceListData"`
	PowerSequenceScheduleConfigurationRequestCallElements      *PowerSequenceScheduleConfigurationRequestCallElementsType      `` /* 141-byte string literal not displayed */
	PowerSequenceScheduleConstraintsDataElements               *PowerSequenceScheduleConstraintsDataElementsType               `` /* 127-byte string literal not displayed */
	PowerSequenceScheduleDataElements                          *PowerSequenceScheduleDataElementsType                          `json:"powerSequenceScheduleDataElements,omitempty" eebus:"typ:elements,fct:powerSequenceScheduleListData"`
	PowerSequenceSchedulePreferenceDataElements                *PowerSequenceSchedulePreferenceDataElementsType                `json:"powerSequenceSchedulePreferenceDataElements,omitempty" eebus:"typ:elements,fct:powerSequenceSchedulePreferenceListData"`
	PowerSequenceStateDataElements                             *PowerSequenceStateDataElementsType                             `json:"powerSequenceStateDataElements,omitempty" eebus:"typ:elements,fct:powerSequenceStateListData"`
	PowerTimeSlotScheduleConstraintsDataElements               *PowerTimeSlotScheduleConstraintsDataElementsType               `` /* 127-byte string literal not displayed */
	PowerTimeSlotScheduleDataElements                          *PowerTimeSlotScheduleDataElementsType                          `json:"powerTimeSlotScheduleDataElements,omitempty" eebus:"typ:elements,fct:powerTimeSlotScheduleListData"`
	PowerTimeSlotValueDataElements                             *PowerTimeSlotValueDataElementsType                             `json:"powerTimeSlotValueDataElements,omitempty" eebus:"typ:elements,fct:powerTimeSlotValueListData"`
	SensingDataElements                                        *SensingDataElementsType                                        `json:"sensingDataElements,omitempty" eebus:"typ:elements,fct:sensingListData"`
	SensingDescriptionDataElements                             *SensingDescriptionDataElementsType                             `json:"sensingDescriptionDataElements,omitempty" eebus:"typ:elements,fct:sensingDescriptionData"`
	SessionIdentificationDataElements                          *SessionIdentificationDataElementsType                          `json:"sessionIdentificationDataElements,omitempty" eebus:"typ:elements,fct:sessionIdentificationData"`
	SessionMeasurementRelationDataElements                     *SessionMeasurementRelationDataElementsType                     `json:"sessionMeasurementRelationDataElements,omitempty" eebus:"typ:elements,fct:sessionMeasurementRelationData"`
	SetpointConstraintsDataElements                            *SetpointConstraintsDataElementsType                            `json:"setpointConstraintsDataElements,omitempty" eebus:"typ:elements,fct:setpointConstraintsListData"`
	SetpointDataElements                                       *SetpointDataElementsType                                       `json:"setpointDataElements,omitempty" eebus:"typ:elements,fct:setpointListData"`
	SetpointDescriptionDataElements                            *SetpointDescriptionDataElementsType                            `json:"setpointDescriptionDataElements,omitempty" eebus:"typ:elements,fct:"`
	SmartEnergyManagementPsConfigurationRequestCallElements    *SmartEnergyManagementPsConfigurationRequestCallElementsType    `` /* 145-byte string literal not displayed */
	SmartEnergyManagementPsDataElements                        *SmartEnergyManagementPsDataElementsType                        `json:"smartEnergyManagementPsDataElements,omitempty" eebus:"typ:elements,fct:smartEnergyManagementPsData"`
	SmartEnergyManagementPsPriceCalculationRequestCallElements *SmartEnergyManagementPsPriceCalculationRequestCallElementsType `` /* 151-byte string literal not displayed */
	SmartEnergyManagementPsPriceDataElements                   *SmartEnergyManagementPsPriceDataElementsType                   `json:"smartEnergyManagementPsPriceDataElements,omitempty" eebus:"typ:elements,fct:smartEnergyManagementPsPriceData"`
	SpecificationVersionDataElements                           *SpecificationVersionDataElementsType                           `json:"specificationVersionDataElements,omitempty" eebus:"typ:elements,fct:specificationVersionListData"`
	StateInformationDataElements                               *StateInformationDataElementsType                               `json:"stateInformationDataElements,omitempty" eebus:"typ:elements,fct:stateInformationListData"`
	SubscriptionManagementDeleteCallElements                   *SubscriptionManagementDeleteCallElementsType                   `json:"subscriptionManagementDeleteCallElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementDeleteCall"`
	SubscriptionManagementEntryDataElements                    *SubscriptionManagementEntryDataElementsType                    `json:"subscriptionManagementEntryDataElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementEntryListData"`
	SubscriptionManagementRequestCallElements                  *SubscriptionManagementRequestCallElementsType                  `json:"subscriptionManagementRequestCallElements,omitempty" eebus:"typ:elements,fct:subscriptionManagementRequestCall"`
	SupplyConditionDataElements                                *SupplyConditionDataElementsType                                `json:"supplyConditionDataElements,omitempty" eebus:"typ:elements,fct:supplyConditionListData"`
	SupplyConditionDescriptionDataElements                     *SupplyConditionDescriptionDataElementsType                     `json:"supplyConditionDescriptionDataElements,omitempty" eebus:"typ:elements,fct:supplyConditionDescriptionListData"`
	SupplyConditionThresholdRelationDataElements               *SupplyConditionThresholdRelationDataElementsType               `` /* 127-byte string literal not displayed */
	TariffBoundaryRelationDataElements                         *TariffBoundaryRelationDataElementsType                         `json:"tariffBoundaryRelationDataElements,omitempty" eebus:"typ:elements,fct:tariffBoundaryRelationListData"`
	TariffDataElements                                         *TariffDataElementsType                                         `json:"tariffDataElements,omitempty" eebus:"typ:elements,fct:tariffListData"`
	TariffDescriptionDataElements                              *TariffDescriptionDataElementsType                              `json:"tariffDescriptionDataElements,omitempty" eebus:"typ:elements,fct:tariffDescriptionListData"`
	TariffOverallConstraintsDataElements                       *TariffOverallConstraintsDataElementsType                       `json:"tariffOverallConstraintsDataElements,omitempty" eebus:"typ:elements,fct:tariffOverallConstraintsData"`
	TariffTierRelationDataElements                             *TariffTierRelationDataElementsType                             `json:"tariffTierRelationDataElements,omitempty" eebus:"typ:elements,fct:tariffTierRelationListData"`
	TaskManagementJobDataElements                              *TaskManagementJobDataElementsType                              `json:"taskManagementJobDataElements,omitempty" eebus:"typ:elements,fct:taskManagementJobListData"`
	TaskManagementJobDescriptionDataElements                   *TaskManagementJobDescriptionDataElementsType                   `json:"taskManagementJobDescriptionDataElements,omitempty" eebus:"typ:elements,fct:taskManagementJobDescriptionListData"`
	TaskManagementJobRelationDataElements                      *TaskManagementJobRelationDataElementsType                      `json:"taskManagementJobRelationDataElements,omitempty" eebus:"typ:elements,fct:taskManagementJobRelationListData"`
	TaskManagementOverviewDataElements                         *TaskManagementOverviewDataElementsType                         `json:"taskManagementOverviewDataElements,omitempty" eebus:"typ:elements,fct:taskManagementOverviewData"`
	ThresholdConstraintsDataElements                           *ThresholdConstraintsDataElementsType                           `json:"thresholdConstraintsDataElements,omitempty" eebus:"typ:elements,fct:thresholdConstraintsListData"`
	ThresholdDataElements                                      *ThresholdDataElementsType                                      `json:"thresholdDataElements,omitempty" eebus:"typ:elements,fct:thresholdListData"`
	ThresholdDescriptionDataElements                           *ThresholdDescriptionDataElementsType                           `json:"thresholdDescriptionDataElements,omitempty" eebus:"typ:elements,fct:thresholdDescriptionListData"`
	TierBoundaryDataElements                                   *TierBoundaryDataElementsType                                   `json:"tierBoundaryDataElements,omitempty" eebus:"typ:elements,fct:tierBoundaryListData"`
	TierBoundaryDescriptionDataElements                        *TierBoundaryDescriptionDataElementsType                        `json:"tierBoundaryDescriptionDataElements,omitempty" eebus:"typ:elements,fct:tierBoundaryDescriptionListData"`
	TierDataElements                                           *TierDataElementsType                                           `json:"tierDataElements,omitempty" eebus:"typ:elements,fct:tierListData"`
	TierDescriptionDataElements                                *TierDescriptionDataElementsType                                `json:"tierDescriptionDataElements,omitempty" eebus:"typ:elements,fct:tierDescriptionListData"`
	TierIncentiveRelationDataElements                          *TierIncentiveRelationDataElementsType                          `json:"tierIncentiveRelationDataElements,omitempty" eebus:"typ:elements,fct:tierIncentiveRelationListData"`
	TimeDistributorDataElements                                *TimeDistributorDataElementsType                                `json:"timeDistributorDataElements,omitempty" eebus:"typ:elements,fct:timeDistributorData"`
	TimeDistributorEnquiryCallElements                         *TimeDistributorEnquiryCallElementsType                         `json:"timeDistributorEnquiryCallElements,omitempty" eebus:"typ:elements,fct:timeDistributorEnquiryCall"`
	TimeInformationDataElements                                *TimeInformationDataElementsType                                `json:"timeInformationDataElements,omitempty" eebus:"typ:elements,fct:timeInformationData"`
	TimePrecisionDataElements                                  *TimePrecisionDataElementsType                                  `json:"timePrecisionDataElements,omitempty" eebus:"typ:elements,fct:timePrecisionData"`
	TimeSeriesConstraintsDataElements                          *TimeSeriesConstraintsDataElementsType                          `json:"timeSeriesConstraintsDataElements,omitempty" eebus:"typ:elements,fct:timeSeriesConstraintsListData"`
	TimeSeriesDataElements                                     *TimeSeriesDataElementsType                                     `json:"timeSeriesDataElements,omitempty" eebus:"typ:elements,fct:timeSeriesListData"`
	TimeSeriesDescriptionDataElements                          *TimeSeriesDescriptionDataElementsType                          `json:"timeSeriesDescriptionDataElements,omitempty" eebus:"typ:elements,fct:timeSeriesDescriptionListData"`
	TimeTableConstraintsDataElements                           *TimeTableConstraintsDataElementsType                           `json:"timeTableConstraintsDataElements,omitempty" eebus:"typ:elements,fct:timeTableConstraintsListData"`
	TimeTableDataElements                                      *TimeTableDataElementsType                                      `json:"timeTableDataElements,omitempty" eebus:"typ:elements,fct:timeTableListData"`
	TimeTableDescriptionDataElements                           *TimeTableDescriptionDataElementsType                           `json:"timeTableDescriptionDataElements,omitempty" eebus:"typ:elements,fct:timeTableDescriptionListData"`
	UseCaseInformationDataElements                             *UseCaseInformationDataElementsType                             `json:"useCaseInformationDataElements,omitempty" eebus:"typ:elements,fct:useCaseInformationListData"`
}

func NewFilterTypePartial

func NewFilterTypePartial() *FilterType

func (*FilterType) Data

func (f *FilterType) Data() (*FilterData, error)

Get the data and some meta data for the current value

func (*FilterType) SetDataForFunction

func (f *FilterType) SetDataForFunction(tagType EEBusTagTypeType, fct FunctionType, data any)

Get the field for a given functionType

type FunctionPropertyElementsType

type FunctionPropertyElementsType struct {
	Function           *ElementTagType `json:"function,omitempty"`
	PossibleOperations *ElementTagType `json:"possibleOperations,omitempty"`
}

type FunctionPropertyType

type FunctionPropertyType struct {
	Function           *FunctionType           `json:"function,omitempty"`
	PossibleOperations *PossibleOperationsType `json:"possibleOperations,omitempty"`
}

type FunctionType

type FunctionType string
const (
	FunctionTypeActuatorLevelData                                  FunctionType = "actuatorLevelData"
	FunctionTypeActuatorLevelDescriptionData                       FunctionType = "actuatorLevelDescriptionData"
	FunctionTypeActuatorSwitchData                                 FunctionType = "actuatorSwitchData"
	FunctionTypeActuatorSwitchDescriptionData                      FunctionType = "actuatorSwitchDescriptionData"
	FunctionTypeAlarmListData                                      FunctionType = "alarmListData"
	FunctionTypeBindingManagementDeleteCall                        FunctionType = "bindingManagementDeleteCall"
	FunctionTypeBindingManagementEntryListData                     FunctionType = "bindingManagementEntryListData"
	FunctionTypeBindingManagementRequestCall                       FunctionType = "bindingManagementRequestCall"
	FunctionTypeDataTunnelingCall                                  FunctionType = "dataTunnelingCall"
	FunctionTypeDeviceClassificationManufacturerData               FunctionType = "deviceClassificationManufacturerData"
	FunctionTypeDeviceClassificationUserData                       FunctionType = "deviceClassificationUserData"
	FunctionTypeDeviceDiagnosisHeartbeatData                       FunctionType = "deviceDiagnosisHeartbeatData"
	FunctionTypeDeviceDiagnosisServiceData                         FunctionType = "deviceDiagnosisServiceData"
	FunctionTypeDeviceDiagnosisStateData                           FunctionType = "deviceDiagnosisStateData"
	FunctionTypeDirectControlActivityListData                      FunctionType = "directControlActivityListData"
	FunctionTypeDirectControlDescriptionData                       FunctionType = "directControlDescriptionData"
	FunctionTypeElectricalConnectionDescriptionListData            FunctionType = "electricalConnectionDescriptionListData"
	FunctionTypeElectricalConnectionParameterDescriptionListData   FunctionType = "electricalConnectionParameterDescriptionListData"
	FunctionTypeElectricalConnectionStateListData                  FunctionType = "electricalConnectionStateListData"
	FunctionTypeHvacOperationModeDescriptionListData               FunctionType = "hvacOperationModeDescriptionListData"
	FunctionTypeHvacOverrunDescriptionListData                     FunctionType = "hvacOverrunDescriptionListData"
	FunctionTypeHvacOverrunListData                                FunctionType = "hvacOverrunListData"
	FunctionTypeHvacSystemFunctionDescriptionListData              FunctionType = "hvacSystemFunctionDescriptionListData"
	FunctionTypeHvacSystemFunctionListData                         FunctionType = "hvacSystemFunctionListData"
	FunctionTypeHvacSystemFunctionOperationModeRelationListData    FunctionType = "hvacSystemFunctionOperationModeRelationListData"
	FunctionTypeHvacSystemFunctionPowerSequenceRelationListData    FunctionType = "hvacSystemFunctionPowerSequenceRelationListData"
	FunctionTypeHvacSystemFunctionSetPointRelationListData         FunctionType = "hvacSystemFunctionSetpointRelationListData"
	FunctionTypeLoadControlEventListData                           FunctionType = "loadControlEventListData"
	FunctionTypeLoadControlStateListData                           FunctionType = "loadControlStateListData"
	FunctionTypeMeasurementConstraintsListData                     FunctionType = "measurementConstraintsListData"
	FunctionTypeMeasurementDescriptionListData                     FunctionType = "measurementDescriptionListData"
	FunctionTypeMeasurementListData                                FunctionType = "measurementListData"
	FunctionTypeMeasurementThresholdRelationListData               FunctionType = "measurementThresholdRelationListData"
	FunctionTypeMessagingListData                                  FunctionType = "messagingListData"
	FunctionTypeNetworkManagementAbortCall                         FunctionType = "networkManagementAbortCall"
	FunctionTypeNetworkManagementAddNodeCall                       FunctionType = "networkManagementAddNodeCall"
	FunctionTypeNetworkManagementDeviceDescriptionListData         FunctionType = "networkManagementDeviceDescriptionListData"
	FunctionTypeNetworkManagementDiscoverCall                      FunctionType = "networkManagementDiscoverCall"
	FunctionTypeNetworkManagementEntityDescriptionListData         FunctionType = "networkManagementEntityDescriptionListData"
	FunctionTypeNetworkManagementFeatureDescriptionListData        FunctionType = "networkManagementFeatureDescriptionListData"
	FunctionTypeNetworkManagementJoiningModeData                   FunctionType = "networkManagementJoiningModeData"
	FunctionTypeNetworkManagementModifyNodeCall                    FunctionType = "networkManagementModifyNodeCall"
	FunctionTypeNetworkManagementProcessStateData                  FunctionType = "networkManagementProcessStateData"
	FunctionTypeNetworkManagementRemoveNodeCall                    FunctionType = "networkManagementRemoveNodeCall"
	FunctionTypeNetworkManagementReportCandidateData               FunctionType = "networkManagementReportCandidateData"
	FunctionTypeNetworkManagementScanNetworkCall                   FunctionType = "networkManagementScanNetworkCall"
	FunctionTypeNodeManagementBindingData                          FunctionType = "nodeManagementBindingData"
	FunctionTypeNodeManagementBindingDeleteCall                    FunctionType = "nodeManagementBindingDeleteCall"
	FunctionTypeNodeManagementBindingRequestCall                   FunctionType = "nodeManagementBindingRequestCall"
	FunctionTypeNodeManagementDestinationListData                  FunctionType = "nodeManagementDestinationListData"
	FunctionTypeNodeManagementDetailedDiscoveryData                FunctionType = "nodeManagementDetailedDiscoveryData"
	FunctionTypeNodeManagementSubscriptionData                     FunctionType = "nodeManagementSubscriptionData"
	FunctionTypeNodeManagementSubscriptionDeleteCall               FunctionType = "nodeManagementSubscriptionDeleteCall"
	FunctionTypeNodeManagementSubscriptionRequestCall              FunctionType = "nodeManagementSubscriptionRequestCall"
	FunctionTypeOperatingConstraintsDurationListData               FunctionType = "operatingConstraintsDurationListData"
	FunctionTypeOperatingConstraintsInterruptListData              FunctionType = "operatingConstraintsInterruptListData"
	FunctionTypeOperatingConstraintsPowerDescriptionListData       FunctionType = "operatingConstraintsPowerDescriptionListData"
	FunctionTypeOperatingConstraintsPowerLevelListData             FunctionType = "operatingConstraintsPowerLevelListData"
	FunctionTypeOperatingConstraintsPowerRangeListData             FunctionType = "operatingConstraintsPowerRangeListData"
	FunctionTypeOperatingConstraintsResumeImplicationListData      FunctionType = "operatingConstraintsResumeImplicationListData"
	FunctionTypePowerSequenceAlternativesRelationListData          FunctionType = "powerSequenceAlternativesRelationListData"
	FunctionTypePowerSequenceDescriptionListData                   FunctionType = "powerSequenceDescriptionListData"
	FunctionTypePowerSequenceNodeScheduleInformationData           FunctionType = "powerSequenceNodeScheduleInformationData"
	FunctionTypePowerSequencePriceCalculationRequestCall           FunctionType = "powerSequencePriceCalculationRequestCall"
	FunctionTypePowerSequencePriceListData                         FunctionType = "powerSequencePriceListData"
	FunctionTypePowerSequenceScheduleConfigurationRequestCall      FunctionType = "powerSequenceScheduleConfigurationRequestCall"
	FunctionTypePowerSequenceScheduleConstraintsListData           FunctionType = "powerSequenceScheduleConstraintsListData"
	FunctionTypePowerSequenceScheduleListData                      FunctionType = "powerSequenceScheduleListData"
	FunctionTypePowerSequenceSchedulePreferenceListData            FunctionType = "powerSequenceSchedulePreferenceListData"
	FunctionTypePowerSequenceStateListData                         FunctionType = "powerSequenceStateListData"
	FunctionTypePowerTimeSlotScheduleConstraintsListData           FunctionType = "powerTimeSlotScheduleConstraintsListData"
	FunctionTypePowerTimeSlotScheduleListData                      FunctionType = "powerTimeSlotScheduleListData"
	FunctionTypePowerTimeSlotValueListData                         FunctionType = "powerTimeSlotValueListData"
	FunctionTypeResultData                                         FunctionType = "resultData"
	FunctionTypeSensingDescriptionData                             FunctionType = "sensingDescriptionData"
	FunctionTypeSensingListData                                    FunctionType = "sensingListData"
	FunctionTypeSessionIdentificationListData                      FunctionType = "sessionIdentificationListData"
	FunctionTypeSessionMeasurementRelationListData                 FunctionType = "sessionMeasurementRelationListData"
	FunctionTypeSetpointConstraintsListData                        FunctionType = "setpointConstraintsListData"
	FunctionTypeSetpointDescriptionListData                        FunctionType = "setpointDescriptionListData"
	FunctionTypeSetpointListData                                   FunctionType = "setpointListData"
	FunctionTypeSmartEnergyManagementPsConfigurationRequestCall    FunctionType = "smartEnergyManagementPsConfigurationRequestCall"
	FunctionTypeSmartEnergyManagementPsData                        FunctionType = "smartEnergyManagementPsData"
	FunctionTypeSmartEnergyManagementPsPriceCalculationRequestCall FunctionType = "smartEnergyManagementPsPriceCalculationRequestCall"
	FunctionTypeSmartEnergyManagementPsPriceData                   FunctionType = "smartEnergyManagementPsPriceData"
	FunctionTypeSpecificationVersionListData                       FunctionType = "specificationVersionListData"
	FunctionTypeSubscriptionManagementDeleteCall                   FunctionType = "subscriptionManagementDeleteCall"
	FunctionTypeSubscriptionManagementEntryListData                FunctionType = "subscriptionManagementEntryListData"
	FunctionTypeSubscriptionManagementRequestCall                  FunctionType = "subscriptionManagementRequestCall"
	FunctionTypeSupplyConditionDescriptionListData                 FunctionType = "supplyConditionDescriptionListData"
	FunctionTypeSupplyConditionListData                            FunctionType = "supplyConditionListData"
	FunctionTypeSupplyConditionThresholdRelationListData           FunctionType = "supplyConditionThresholdRelationListData"
	FunctionTypeTaskManagementJobDescriptionListData               FunctionType = "taskManagementJobDescriptionListData"
	FunctionTypeTaskManagementJobListData                          FunctionType = "taskManagementJobListData"
	FunctionTypeTaskManagementJobRelationListData                  FunctionType = "taskManagementJobRelationListData"
	FunctionTypeTaskManagementOverviewData                         FunctionType = "taskManagementOverviewData"
	FunctionTypeThresholdConstraintsListData                       FunctionType = "thresholdConstraintsListData"
	FunctionTypeThresholdDescriptionListData                       FunctionType = "thresholdDescriptionListData"
	FunctionTypeThresholdListData                                  FunctionType = "thresholdListData"
	FunctionTypeTimeDistributorData                                FunctionType = "timeDistributorData"
	FunctionTypeTimeDistributorEnquiryCall                         FunctionType = "timeDistributorEnquiryCall"
	FunctionTypeTimeInformationData                                FunctionType = "timeInformationData"
	FunctionTypeTimePrecisionData                                  FunctionType = "timePrecisionData"
	FunctionTypeTimeTableConstraintsListData                       FunctionType = "timeTableConstraintsListData"
	FunctionTypeTimeTableDescriptionListData                       FunctionType = "timeTableDescriptionListData"
	FunctionTypeTimeTableListData                                  FunctionType = "timeTableListData"
	FunctionTypeDeviceConfigurationKeyValueConstraintsListData     FunctionType = "deviceConfigurationKeyValueConstraintsListData"
	FunctionTypeDeviceConfigurationKeyValueListData                FunctionType = "deviceConfigurationKeyValueListData"
	FunctionTypeDeviceConfigurationKeyValueDescriptionListData     FunctionType = "deviceConfigurationKeyValueDescriptionListData"
	FunctionTypeLoadControlLimitConstraintsListData                FunctionType = "loadControlLimitConstraintsListData"
	FunctionTypeLoadControlLimitDescriptionListData                FunctionType = "loadControlLimitDescriptionListData"
	FunctionTypeLoadControlLimitListData                           FunctionType = "loadControlLimitListData"
	FunctionTypeLoadControlNodeData                                FunctionType = "loadControlNodeData"
	FunctionTypeTimeSeriesConstraintsListData                      FunctionType = "timeSeriesConstraintsListData"
	FunctionTypeTimeSeriesDescriptionListData                      FunctionType = "timeSeriesDescriptionListData"
	FunctionTypeTimeSeriesListData                                 FunctionType = "timeSeriesListData"
	FunctionTypeTariffOverallConstraintsData                       FunctionType = "tariffOverallConstraintsData"
	FunctionTypeTariffListData                                     FunctionType = "tariffListData"
	FunctionTypeTariffBoundaryRelationListData                     FunctionType = "tariffBoundaryRelationListData"
	FunctionTypeTariffTierRelationListData                         FunctionType = "tariffTierRelationListData"
	FunctionTypeTariffDescriptionListData                          FunctionType = "tariffDescriptionListData"
	FunctionTypeTierBoundaryListData                               FunctionType = "tierBoundaryListData"
	FunctionTypeTierBoundaryDescriptionListData                    FunctionType = "tierBoundaryDescriptionListData"
	FunctionTypeCommodityListData                                  FunctionType = "commodityListData"
	FunctionTypeTierListData                                       FunctionType = "tierListData"
	FunctionTypeTierIncentiveRelationListData                      FunctionType = "tierIncentiveRelationListData"
	FunctionTypeTierDescriptionListData                            FunctionType = "tierDescriptionListData"
	FunctionTypeIncentiveListData                                  FunctionType = "incentiveListData"
	FunctionTypeIncentiveDescriptionListData                       FunctionType = "incentiveDescriptionListData"
	FunctionTypeIncentiveTableData                                 FunctionType = "incentiveTableData"
	FunctionTypeIncentiveTableDescriptionData                      FunctionType = "incentiveTableDescriptionData"
	FunctionTypeIncentiveTableConstraintsData                      FunctionType = "incentiveTableConstraintsData"
	FunctionTypeElectricalConnectionPermittedValueSetListData      FunctionType = "electricalConnectionPermittedValueSetListData"
	FunctionTypeUseCaseInformationListData                         FunctionType = "useCaseInformationListData"
	FunctionTypeNodeManagementUseCaseData                          FunctionType = "nodeManagementUseCaseData"
	FunctionTypeBillConstraintsListData                            FunctionType = "billConstraintsListData"
	FunctionTypeBillDescriptionListData                            FunctionType = "billDescriptionListData"
	FunctionTypeBillListData                                       FunctionType = "billListData"
	FunctionTypeIdentificationListData                             FunctionType = "identificationListData"
	FunctionTypeMeasurementSeriesListData                          FunctionType = "measurementSeriesListData"
	FunctionTypeElectricalConnectionCharacteristicData             FunctionType = "electricalConnectionCharacteristicData"
	FunctionTypeElectricalConnectionCharacteristicListData         FunctionType = "electricalConnectionCharacteristicListData"
	FunctionTypeStateInformationListData                           FunctionType = "stateInformationListData"
)

type GridConditionType

type GridConditionType string
const (
	GridConditionTypeConsumptionRed    GridConditionType = "consumptionRed"
	GridConditionTypeConsumptionYellow GridConditionType = "consumptionYellow"
	GridConditionTypeGood              GridConditionType = "good"
	GridConditionTypeProductionRed     GridConditionType = "productionRed"
	GridConditionTypeProductionYellow  GridConditionType = "productionYellow"
)

type HeaderType

type HeaderType struct {
	SpecificationVersion *SpecificationVersionType   `json:"specificationVersion,omitempty"`
	AddressSource        *FeatureAddressType         `json:"addressSource,omitempty"`
	AddressDestination   *FeatureAddressType         `json:"addressDestination,omitempty"`
	AddressOriginator    *FeatureAddressType         `json:"addressOriginator,omitempty"`
	MsgCounter           *MsgCounterType             `json:"msgCounter,omitempty"`
	MsgCounterReference  *MsgCounterType             `json:"msgCounterReference,omitempty"`
	CmdClassifier        *CmdClassifierType          `json:"cmdClassifier,omitempty"`
	AckRequest           *bool                       `json:"ackRequest,omitempty"`
	Timestamp            *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
}

type HvacOperationModeDescriptionDataElementsType

type HvacOperationModeDescriptionDataElementsType struct {
	OperationModeId   *ElementTagType `json:"operationModeId,omitempty"`
	OperationModeType *ElementTagType `json:"operationModeType,omitempty"`
	Label             *ElementTagType `json:"label,omitempty"`
	Description       *ElementTagType `json:"description,omitempty"`
}

type HvacOperationModeDescriptionDataType

type HvacOperationModeDescriptionDataType struct {
	OperationModeId   *HvacOperationModeIdType   `json:"operationModeId,omitempty" eebus:"key"`
	OperationModeType *HvacOperationModeTypeType `json:"operationModeType,omitempty"`
	Label             *LabelType                 `json:"label,omitempty"`
	Description       *DescriptionType           `json:"description,omitempty"`
}

type HvacOperationModeDescriptionListDataSelectorsType

type HvacOperationModeDescriptionListDataSelectorsType struct {
	OperationModeId *HvacOperationModeIdType `json:"operationModeId,omitempty"`
}

type HvacOperationModeDescriptionListDataType

type HvacOperationModeDescriptionListDataType struct {
	HvacOperationModeDescriptionData []HvacOperationModeDescriptionDataType `json:"hvacOperationModeDescriptionData,omitempty"`
}

func (*HvacOperationModeDescriptionListDataType) UpdateList

func (r *HvacOperationModeDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacOperationModeIdType

type HvacOperationModeIdType uint

type HvacOperationModeTypeType

type HvacOperationModeTypeType string
const (
	HvacOperationModeTypeTypeAuto HvacOperationModeTypeType = "auto"
	HvacOperationModeTypeTypeOn   HvacOperationModeTypeType = "on"
	HvacOperationModeTypeTypeOff  HvacOperationModeTypeType = "off"
	HvacOperationModeTypeTypeEco  HvacOperationModeTypeType = "eco"
)

type HvacOverrunDataElementsType

type HvacOverrunDataElementsType struct {
	OverrunId                 *ElementTagType `json:"overrunId,omitempty"`
	OverrunStatus             *ElementTagType `json:"overrunStatus,omitempty"`
	TimeTableId               *ElementTagType `json:"timeTableId,omitempty"`
	IsOverrunStatusChangeable *ElementTagType `json:"isOverrunStatusChangeable,omitempty"`
}

type HvacOverrunDataType

type HvacOverrunDataType struct {
	OverrunId                 *HvacOverrunIdType     `json:"overrunId,omitempty" eebus:"key"`
	OverrunStatus             *HvacOverrunStatusType `json:"overrunStatus,omitempty"`
	TimeTableId               *TimeTableIdType       `json:"timeTableId,omitempty"`
	IsOverrunStatusChangeable *bool                  `json:"isOverrunStatusChangeable,omitempty"`
}

type HvacOverrunDescriptionDataElementsType

type HvacOverrunDescriptionDataElementsType struct {
	OverrunId                *ElementTagType `json:"overrunId,omitempty"`
	OverrunType              *ElementTagType `json:"overrunType,omitempty"`
	AffectedSystemFunctionId *ElementTagType `json:"affectedSystemFunctionId,omitempty"`
	Label                    *ElementTagType `json:"label,omitempty"`
	Description              *ElementTagType `json:"description,omitempty"`
}

type HvacOverrunDescriptionDataType

type HvacOverrunDescriptionDataType struct {
	OverrunId                *HvacOverrunIdType         `json:"overrunId,omitempty" eebus:"key"`
	OverrunType              *HvacOverrunTypeType       `json:"overrunType,omitempty"`
	AffectedSystemFunctionId []HvacSystemFunctionIdType `json:"affectedSystemFunctionId,omitempty"`
	Label                    *LabelType                 `json:"label,omitempty"`
	Description              *DescriptionType           `json:"description,omitempty"`
}

type HvacOverrunDescriptionListDataSelectorsType

type HvacOverrunDescriptionListDataSelectorsType struct {
	OverrunId *HvacOverrunIdType `json:"overrunId,omitempty"`
}

type HvacOverrunDescriptionListDataType

type HvacOverrunDescriptionListDataType struct {
	HvacOverrunDescriptionData []HvacOverrunDescriptionDataType `json:"hvacOverrunDescriptionData,omitempty"`
}

func (*HvacOverrunDescriptionListDataType) UpdateList

func (r *HvacOverrunDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacOverrunIdType

type HvacOverrunIdType uint

type HvacOverrunListDataSelectorsType

type HvacOverrunListDataSelectorsType struct {
	OverrunId *HvacOverrunIdType `json:"overrunId,omitempty"`
}

type HvacOverrunListDataType

type HvacOverrunListDataType struct {
	HvacOverrunData []HvacOverrunDataType `json:"hvacOverrunData,omitempty"`
}

func (*HvacOverrunListDataType) UpdateList

func (r *HvacOverrunListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacOverrunStatusType

type HvacOverrunStatusType string
const (
	HvacOverrunStatusTypeActive   HvacOverrunStatusType = "active"
	HvacOverrunStatusTypeRunning  HvacOverrunStatusType = "running"
	HvacOverrunStatusTypeFinished HvacOverrunStatusType = "finished"
	HvacOverrunStatusTypeInactive HvacOverrunStatusType = "inactive"
)

type HvacOverrunTypeType

type HvacOverrunTypeType string
const (
	HvacOverrunTypeTypeOneTimeDhw         HvacOverrunTypeType = "oneTimeDhw"
	HvacOverrunTypeTypeParty              HvacOverrunTypeType = "party"
	HvacOverrunTypeTypeSgReadyCondition1  HvacOverrunTypeType = "sgReadyCondition1"
	HvacOverrunTypeTypeSgReadyCondition3  HvacOverrunTypeType = "sgReadyCondition3"
	HvacOverrunTypeTypeSgReadyCondition4  HvacOverrunTypeType = "sgReadyCondition4"
	HvacOverrunTypeTypeOneDayAway         HvacOverrunTypeType = "oneDayAway"
	HvacOverrunTypeTypeOneDayAtHome       HvacOverrunTypeType = "oneDayAtHome"
	HvacOverrunTypeTypeOneTimeVentilation HvacOverrunTypeType = "oneTimeVentilation"
	HvacOverrunTypeTypeHvacSystemOff      HvacOverrunTypeType = "hvacSystemOff"
	HvacOverrunTypeTypeValveKick          HvacOverrunTypeType = "valveKick"
)

type HvacSystemFunctionDataElementsType

type HvacSystemFunctionDataElementsType struct {
	SystemFunctionId            *ElementTagType `json:"systemFunctionId,omitempty"`
	CurrentOperationModeId      *ElementTagType `json:"currentOperationModeId,omitempty"`
	IsOperationModeIdChangeable *ElementTagType `json:"isOperationModeIdChangeable,omitempty"`
	CurrentSetpointId           *ElementTagType `json:"currentSetpointId,omitempty"`
	IsSetpointIdChangeable      *ElementTagType `json:"isSetpointIdChangeable,omitempty"`
	IsOverrunActive             *ElementTagType `json:"isOverrunActive,omitempty"`
}

type HvacSystemFunctionDataType

type HvacSystemFunctionDataType struct {
	SystemFunctionId            *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty" eebus:"key"`
	CurrentOperationModeId      *HvacOperationModeIdType  `json:"currentOperationModeId,omitempty"`
	IsOperationModeIdChangeable *bool                     `json:"isOperationModeIdChangeable,omitempty"`
	CurrentSetpointId           *SetpointIdType           `json:"currentSetpointId,omitempty"`
	IsSetpointIdChangeable      *bool                     `json:"isSetpointIdChangeable,omitempty"`
	IsOverrunActive             *bool                     `json:"isOverrunActive,omitempty"`
}

type HvacSystemFunctionDescriptionDataElementsType

type HvacSystemFunctionDescriptionDataElementsType struct {
	SystemFunctionId   *ElementTagType `json:"systemFunctionId,omitempty"`
	SystemFunctionType *ElementTagType `json:"systemFunctionType,omitempty"`
	Label              *ElementTagType `json:"label,omitempty"`
	Description        *ElementTagType `json:"description,omitempty"`
}

type HvacSystemFunctionDescriptionDataType

type HvacSystemFunctionDescriptionDataType struct {
	SystemFunctionId   *HvacSystemFunctionIdType   `json:"systemFunctionId,omitempty" eebus:"key"`
	SystemFunctionType *HvacSystemFunctionTypeType `json:"systemFunctionType,omitempty"`
	Label              *LabelType                  `json:"label,omitempty"`
	Description        *DescriptionType            `json:"description,omitempty"`
}

type HvacSystemFunctionDescriptionListDataSelectorsType

type HvacSystemFunctionDescriptionListDataSelectorsType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty"`
}

type HvacSystemFunctionDescriptionListDataType

type HvacSystemFunctionDescriptionListDataType struct {
	HvacSystemFunctionDescriptionData []HvacSystemFunctionDescriptionDataType `json:"hvacSystemFunctionDescriptionData,omitempty"`
}

func (*HvacSystemFunctionDescriptionListDataType) UpdateList

func (r *HvacSystemFunctionDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacSystemFunctionIdType

type HvacSystemFunctionIdType uint

type HvacSystemFunctionListDataSelectorsType

type HvacSystemFunctionListDataSelectorsType struct {
	SystemFunctionId []HvacSystemFunctionIdType `json:"systemFunctionId,omitempty"`
}

type HvacSystemFunctionListDataType

type HvacSystemFunctionListDataType struct {
	HvacSystemFunctionData []HvacSystemFunctionDataType `json:"hvacSystemFunctionData,omitempty"`
}

func (*HvacSystemFunctionListDataType) UpdateList

func (r *HvacSystemFunctionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacSystemFunctionOperationModeRelationDataElementsType

type HvacSystemFunctionOperationModeRelationDataElementsType struct {
	SystemFunctionId *ElementTagType `json:"systemFunctionId,omitempty"`
	OperationModeId  *ElementTagType `json:"operationModeId,omitempty"`
}

type HvacSystemFunctionOperationModeRelationDataType

type HvacSystemFunctionOperationModeRelationDataType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty" eebus:"key"`
	OperationModeId  *HvacOperationModeIdType  `json:"operationModeId,omitempty"`
}

type HvacSystemFunctionOperationModeRelationListDataSelectorsType

type HvacSystemFunctionOperationModeRelationListDataSelectorsType struct {
	SystemFunctionId []HvacSystemFunctionIdType `json:"systemFunctionId,omitempty"`
}

type HvacSystemFunctionOperationModeRelationListDataType

type HvacSystemFunctionOperationModeRelationListDataType struct {
	HvacSystemFunctionOperationModeRelationData []HvacSystemFunctionOperationModeRelationDataType `json:"hvacSystemFunctionOperationModeRelationData,omitempty"`
}

func (*HvacSystemFunctionOperationModeRelationListDataType) UpdateList

func (r *HvacSystemFunctionOperationModeRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacSystemFunctionPowerSequenceRelationDataElementsType

type HvacSystemFunctionPowerSequenceRelationDataElementsType struct {
	SystemFunctionId *ElementTagType `json:"systemFunctionId,omitempty"`
	SequenceId       *ElementTagType `json:"sequenceId,omitempty"`
}

type HvacSystemFunctionPowerSequenceRelationDataType

type HvacSystemFunctionPowerSequenceRelationDataType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty" eebus:"key"`
	SequenceId       []PowerSequenceIdType     `json:"sequenceId,omitempty"`
}

type HvacSystemFunctionPowerSequenceRelationListDataSelectorsType

type HvacSystemFunctionPowerSequenceRelationListDataSelectorsType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty"`
}

type HvacSystemFunctionPowerSequenceRelationListDataType

type HvacSystemFunctionPowerSequenceRelationListDataType struct {
	HvacSystemFunctionPowerSequenceRelationData []HvacSystemFunctionPowerSequenceRelationDataType `json:"hvacSystemFunctionPowerSequenceRelationData,omitempty"`
}

func (*HvacSystemFunctionPowerSequenceRelationListDataType) UpdateList

func (r *HvacSystemFunctionPowerSequenceRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacSystemFunctionSetpointRelationDataElementsType

type HvacSystemFunctionSetpointRelationDataElementsType struct {
	SystemFunctionId *ElementTagType `json:"systemFunctionId,omitempty"`
	OperationModeId  *ElementTagType `json:"operationModeId,omitempty"`
	SetpointId       *ElementTagType `json:"setpointId,omitempty"`
}

type HvacSystemFunctionSetpointRelationDataType

type HvacSystemFunctionSetpointRelationDataType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty" eebus:"key"`
	OperationModeId  *HvacOperationModeIdType  `json:"operationModeId,omitempty"`
	SetpointId       *SetpointIdType           `json:"setpointId,omitempty"`
}

type HvacSystemFunctionSetpointRelationListDataSelectorsType

type HvacSystemFunctionSetpointRelationListDataSelectorsType struct {
	SystemFunctionId *HvacSystemFunctionIdType `json:"systemFunctionId,omitempty"`
	OperationModeId  *HvacOperationModeIdType  `json:"operationModeId,omitempty"`
}

type HvacSystemFunctionSetpointRelationListDataType

type HvacSystemFunctionSetpointRelationListDataType struct {
	HvacSystemFunctionSetpointRelationData []HvacSystemFunctionSetpointRelationDataType `json:"hvacSystemFunctionSetpointRelationData,omitempty"`
}

func (*HvacSystemFunctionSetpointRelationListDataType) UpdateList

func (r *HvacSystemFunctionSetpointRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type HvacSystemFunctionTypeType

type HvacSystemFunctionTypeType string
const (
	HvacSystemFunctionTypeTypeHeating     HvacSystemFunctionTypeType = "heating"
	HvacSystemFunctionTypeTypeCooling     HvacSystemFunctionTypeType = "cooling"
	HvacSystemFunctionTypeTypeVentilation HvacSystemFunctionTypeType = "ventilation"
	HvacSystemFunctionTypeTypeDhw         HvacSystemFunctionTypeType = "dhw"
)

type IdentificationDataElementsType

type IdentificationDataElementsType struct {
	IdentificationId    *ElementTagType `json:"identificationId,omitempty"`
	IdentificationType  *ElementTagType `json:"identificationType,omitempty"`
	IdentificationValue *ElementTagType `json:"identificationValue,omitempty"`
	Authorized          *ElementTagType `json:"authorized,omitempty"`
}

type IdentificationDataType

type IdentificationDataType struct {
	IdentificationId    *IdentificationIdType    `json:"identificationId,omitempty" eebus:"key"`
	IdentificationType  *IdentificationTypeType  `json:"identificationType,omitempty"`
	IdentificationValue *IdentificationValueType `json:"identificationValue,omitempty"`
	Authorized          *bool                    `json:"authorized,omitempty"`
}

type IdentificationIdType

type IdentificationIdType uint

type IdentificationListDataSelectorsType

type IdentificationListDataSelectorsType struct {
	IdentificationId   *IdentificationIdType   `json:"identificationId,omitempty"`
	IdentificationType *IdentificationTypeType `json:"identificationType,omitempty"`
}

type IdentificationListDataType

type IdentificationListDataType struct {
	IdentificationData []IdentificationDataType `json:"identificationData,omitempty"`
}

func (*IdentificationListDataType) UpdateList

func (r *IdentificationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type IdentificationTypeType

type IdentificationTypeType string
const (
	IdentificationTypeTypeEui48       IdentificationTypeType = "eui48"
	IdentificationTypeTypeEui64       IdentificationTypeType = "eui64"
	IdentificationTypeTypeUserrfidtag IdentificationTypeType = "userRfidTag"
)

type IdentificationValueType

type IdentificationValueType string

type IncentiveCountType

type IncentiveCountType IncentiveIdType

type IncentiveDataElementsType

type IncentiveDataElementsType struct {
	IncentiveId *ElementTagType           `json:"incentiveId,omitempty"`
	ValueType   *ElementTagType           `json:"valueType,omitempty"`
	Timestamp   *ElementTagType           `json:"timestamp,omitempty"`
	TimePeriod  *TimePeriodElementsType   `json:"timePeriod,omitempty"`
	TimeTableId *ElementTagType           `json:"timeTableId,omitempty"`
	Value       *ScaledNumberElementsType `json:"value,omitempty"`
}

type IncentiveDataType

type IncentiveDataType struct {
	IncentiveId *IncentiveIdType            `json:"incentiveId,omitempty" eebus:"key"`
	ValueType   *IncentiveValueTypeType     `json:"valueType,omitempty"`
	Timestamp   *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	TimePeriod  *TimePeriodType             `json:"timePeriod,omitempty"`
	TimeTableId *TimeTableIdType            `json:"timeTableId,omitempty"`
	Value       *ScaledNumberType           `json:"value,omitempty"`
}

type IncentiveDescriptionDataElementsType

type IncentiveDescriptionDataElementsType struct {
	IncentiveId       *ElementTagType `json:"incentiveId,omitempty"`
	IncentiveType     *ElementTagType `json:"incentiveType,omitempty"`
	IncentivePriority *ElementTagType `json:"incentivePriority,omitempty"`
	Currency          *ElementTagType `json:"currency,omitempty"`
	Unit              *ElementTagType `json:"unit,omitempty"`
	Label             *ElementTagType `json:"label,omitempty"`
	Description       *ElementTagType `json:"description,omitempty"`
}

type IncentiveDescriptionDataType

type IncentiveDescriptionDataType struct {
	IncentiveId       *IncentiveIdType       `json:"incentiveId,omitempty" eebus:"key"`
	IncentiveType     *IncentiveTypeType     `json:"incentiveType,omitempty"`
	IncentivePriority *IncentivePriorityType `json:"incentivePriority,omitempty"`
	Currency          *CurrencyType          `json:"currency,omitempty"`
	Unit              *UnitOfMeasurementType `json:"unit,omitempty"`
	Label             *LabelType             `json:"label,omitempty"`
	Description       *DescriptionType       `json:"description,omitempty"`
}

type IncentiveDescriptionListDataSelectorsType

type IncentiveDescriptionListDataSelectorsType struct {
	IncentiveId   *IncentiveIdType   `json:"incentiveId,omitempty"`
	IncentiveType *IncentiveTypeType `json:"incentiveType,omitempty"`
}

type IncentiveDescriptionListDataType

type IncentiveDescriptionListDataType struct {
	IncentiveDescriptionData []IncentiveDescriptionDataType `json:"incentiveDescriptionData,omitempty"`
}

func (*IncentiveDescriptionListDataType) UpdateList

func (r *IncentiveDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type IncentiveIdType

type IncentiveIdType uint

type IncentiveListDataSelectorsType

type IncentiveListDataSelectorsType struct {
	IncentiveId       *IncentiveIdType        `json:"incentiveId,omitempty"`
	ValueType         *IncentiveValueTypeType `json:"valueType,omitempty"`
	TimestampInterval *TimestampIntervalType  `json:"timestampInterval,omitempty"`
}

type IncentiveListDataType

type IncentiveListDataType struct {
	IncentiveData []IncentiveDataType `json:"incentiveData,omitempty"`
}

func (*IncentiveListDataType) UpdateList

func (r *IncentiveListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type IncentivePriorityType

type IncentivePriorityType uint

type IncentiveTableConstraintsDataElementsType

type IncentiveTableConstraintsDataElementsType struct {
	IncentiveTableConstraints *IncentiveTableConstraintsElementsType `json:"incentiveTableConstraints,omitempty"`
}

type IncentiveTableConstraintsDataSelectorsType

type IncentiveTableConstraintsDataSelectorsType struct {
	Tariff *TariffListDataSelectorsType `json:"tariff,omitempty"`
}

type IncentiveTableConstraintsDataType

type IncentiveTableConstraintsDataType struct {
	IncentiveTableConstraints []IncentiveTableConstraintsType `json:"incentiveTableConstraints,omitempty"`
}

type IncentiveTableConstraintsElementsType

type IncentiveTableConstraintsElementsType struct {
	Tariff                   *TariffDataElementsType                   `json:"tariff,omitempty"`
	TariffConstraints        *TariffOverallConstraintsDataElementsType `json:"tariffConstraints,omitempty"`
	IncentiveSlotConstraints *TimeTableConstraintsDataElementsType     `json:"incentiveSlotConstraints,omitempty"`
}

type IncentiveTableConstraintsType

type IncentiveTableConstraintsType struct {
	Tariff                   *TariffDataType                   `json:"tariff,omitempty"`
	TariffConstraints        *TariffOverallConstraintsDataType `json:"tariffConstraints,omitempty"`
	IncentiveSlotConstraints *TimeTableConstraintsDataType     `json:"incentiveSlotConstraints,omitempty"`
}

type IncentiveTableDataElementsType

type IncentiveTableDataElementsType struct {
	IncentiveTable *IncentiveTableElementsType `json:"incentiveTable,omitempty"`
}

type IncentiveTableDataSelectorsType

type IncentiveTableDataSelectorsType struct {
	Tariff *TariffListDataSelectorsType `json:"tariff,omitempty"`
}

type IncentiveTableDataType

type IncentiveTableDataType struct {
	IncentiveTable []IncentiveTableType `json:"incentiveTable,omitempty"`
}

type IncentiveTableDescriptionDataElementsType

type IncentiveTableDescriptionDataElementsType struct {
	IncentiveTableDescription *IncentiveTableDescriptionElementsType `json:"incentiveTableDescription,omitempty"`
}

type IncentiveTableDescriptionDataSelectorsType

type IncentiveTableDescriptionDataSelectorsType struct {
	TariffDescription *TariffDescriptionListDataSelectorsType `json:"tariffDescription,omitempty"`
}

type IncentiveTableDescriptionDataType

type IncentiveTableDescriptionDataType struct {
	IncentiveTableDescription []IncentiveTableDescriptionType `json:"incentiveTableDescription,omitempty"`
}

type IncentiveTableDescriptionElementsType

type IncentiveTableDescriptionElementsType struct {
	TariffDescription *TariffDescriptionDataElementsType `json:"tariffDescription,omitempty"`
	Tier              *IncentiveTableDescriptionTierType `json:"tier,omitempty"`
}

type IncentiveTableDescriptionTierElementsType

type IncentiveTableDescriptionTierElementsType struct {
	TierDescription      *TierDescriptionDataElementsType         `json:"tierDescription,omitempty"`
	BoundaryDescription  *TierBoundaryDescriptionDataElementsType `json:"boundaryDescription,omitempty"`
	IncentiveDescription *IncentiveDescriptionDataElementsType    `json:"incentiveDescription,omitempty"`
}

type IncentiveTableDescriptionTierType

type IncentiveTableDescriptionTierType struct {
	TierDescription      *TierDescriptionDataType          `json:"tierDescription,omitempty"`
	BoundaryDescription  []TierBoundaryDescriptionDataType `json:"boundaryDescription,omitempty"`
	IncentiveDescription []IncentiveDescriptionDataType    `json:"incentiveDescription,omitempty"`
}

type IncentiveTableDescriptionType

type IncentiveTableDescriptionType struct {
	TariffDescription *TariffDescriptionDataType          `json:"tariffDescription,omitempty"`
	Tier              []IncentiveTableDescriptionTierType `json:"tier,omitempty"`
}

type IncentiveTableElementsType

type IncentiveTableElementsType struct {
	Tariff        *TariffDataElementsType                  `json:"tariff,omitempty"` // ignoring changes
	IncentiveSlot *IncentiveTableIncentiveSlotElementsType `json:"incentiveSlot,omitempty"`
}

type IncentiveTableIncentiveSlotElementsType

type IncentiveTableIncentiveSlotElementsType struct {
	TimeInterval *TimeTableDataElementsType      `json:"timeInterval,omitempty"` // ignoring changes
	Tier         *IncentiveTableTierElementsType `json:"tier,omitempty"`
}

type IncentiveTableIncentiveSlotType

type IncentiveTableIncentiveSlotType struct {
	TimeInterval *TimeTableDataType       `json:"timeInterval,omitempty"` // ignoring changes
	Tier         []IncentiveTableTierType `json:"tier,omitempty"`
}

type IncentiveTableTierElementsType

type IncentiveTableTierElementsType struct {
	Tier      *TierDataElementsType         `json:"tier,omitempty"`      // ignoring changes
	Boundary  *TierBoundaryDataElementsType `json:"boundary,omitempty"`  // ignoring changes
	Incentive *IncentiveDataElementsType    `json:"incentive,omitempty"` // ignoring changes
}

type IncentiveTableTierType

type IncentiveTableTierType struct {
	Tier      *TierDataType          `json:"tier,omitempty"`      // ignoring changes
	Boundary  []TierBoundaryDataType `json:"boundary,omitempty"`  // ignoring changes
	Incentive []IncentiveDataType    `json:"incentive,omitempty"` // ignoring changes
}

type IncentiveTableType

type IncentiveTableType struct {
	Tariff        *TariffDataType                   `json:"tariff,omitempty"` // ignoring changes
	IncentiveSlot []IncentiveTableIncentiveSlotType `json:"incentiveSlot,omitempty"`
}

type IncentiveTypeType

type IncentiveTypeType string
const (
	IncentiveTypeTypeAbsoluteCost              IncentiveTypeType = "absoluteCost"
	IncentiveTypeTypeRelativeCost              IncentiveTypeType = "relativeCost"
	IncentiveTypeTypeRenewableEnergyPercentage IncentiveTypeType = "renewableEnergyPercentage"
	IncentiveTypeTypeCo2Emission               IncentiveTypeType = "co2Emission"
)

type IncentiveValueTypeType

type IncentiveValueTypeType string
const (
	IncentiveValueTypeTypeValue        IncentiveValueTypeType = "value"
	IncentiveValueTypeTypeAverageValue IncentiveValueTypeType = "averageValue"
	IncentiveValueTypeTypeMinvalue     IncentiveValueTypeType = "minValue"
	IncentiveValueTypeTypeMaxvalue     IncentiveValueTypeType = "maxValue"
)

type LabelType

type LabelType string

type LastErrorCodeType

type LastErrorCodeType string

type LoadControlCategoryType

type LoadControlCategoryType string
const (
	LoadControlCategoryTypeObligation     LoadControlCategoryType = "obligation"
	LoadControlCategoryTypeRecommendation LoadControlCategoryType = "recommendation"
	LoadControlCategoryTypeOptimization   LoadControlCategoryType = "optimization"
)

type LoadControlEventActionType

type LoadControlEventActionType string
const (
	LoadControlEventActionTypePause     LoadControlEventActionType = "pause"
	LoadControlEventActionTypeResume    LoadControlEventActionType = "resume"
	LoadControlEventActionTypeReduce    LoadControlEventActionType = "reduce"
	LoadControlEventActionTypeIncrease  LoadControlEventActionType = "increase"
	LoadControlEventActionTypeEmergency LoadControlEventActionType = "emergency"
	LoadControlEventActionTypeNormal    LoadControlEventActionType = "normal"
)

type LoadControlEventDataElementsType

type LoadControlEventDataElementsType struct {
	Timestamp          *ElementTagType         `json:"timestamp,omitempty"`
	EventId            *ElementTagType         `json:"eventId,omitempty"`
	EventActionConsume *ElementTagType         `json:"eventActionConsume,omitempty"`
	EventActionProduce *ElementTagType         `json:"eventActionProduce,omitempty"`
	TimePeriod         *TimePeriodElementsType `json:"timePeriod,omitempty"`
}

type LoadControlEventDataType

type LoadControlEventDataType struct {
	Timestamp          *string                     `json:"timestamp,omitempty"`
	EventId            *LoadControlEventIdType     `json:"eventId,omitempty" eebus:"key"`
	EventActionConsume *LoadControlEventActionType `json:"eventActionConsume,omitempty"`
	EventActionProduce *LoadControlEventActionType `json:"eventActionProduce,omitempty"`
	TimePeriod         *TimePeriodType             `json:"timePeriod,omitempty"`
}

type LoadControlEventIdType

type LoadControlEventIdType uint

type LoadControlEventListDataSelectorsType

type LoadControlEventListDataSelectorsType struct {
	TimestampInterval *TimestampIntervalType  `json:"timestampInterval,omitempty"`
	EventId           *LoadControlEventIdType `json:"eventId,omitempty"`
}

type LoadControlEventListDataType

type LoadControlEventListDataType struct {
	LoadControlEventData []LoadControlEventDataType `json:"loadControlEventData,omitempty"`
}

func (*LoadControlEventListDataType) UpdateList

func (r *LoadControlEventListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type LoadControlEventStateType

type LoadControlEventStateType string
const (
	LoadControlEventStateTypeEventAccepted  LoadControlEventStateType = "eventAccepted"
	LoadControlEventStateTypeEventStarted   LoadControlEventStateType = "eventStarted"
	LoadControlEventStateTypeEventStopped   LoadControlEventStateType = "eventStopped"
	LoadControlEventStateTypeEventRejected  LoadControlEventStateType = "eventRejected"
	LoadControlEventStateTypeEventCancelled LoadControlEventStateType = "eventCancelled"
	LoadControlEventStateTypeEventError     LoadControlEventStateType = "eventError"
)

type LoadControlLimitConstraintsDataElementsType

type LoadControlLimitConstraintsDataElementsType struct {
	LimitId       *ElementTagType           `json:"limitId,omitempty"`
	ValueRangeMin *ScaledNumberElementsType `json:"valueRangeMin,omitempty"`
	ValueRangeMax *ScaledNumberElementsType `json:"valueRangeMax,omitempty"`
	ValueStepSize *ScaledNumberElementsType `json:"valueStepSize,omitempty"`
}

type LoadControlLimitConstraintsDataType

type LoadControlLimitConstraintsDataType struct {
	LimitId       *LoadControlLimitIdType `json:"limitId,omitempty" eebus:"key"`
	ValueRangeMin *ScaledNumberType       `json:"valueRangeMin,omitempty"`
	ValueRangeMax *ScaledNumberType       `json:"valueRangeMax,omitempty"`
	ValueStepSize *ScaledNumberType       `json:"valueStepSize,omitempty"`
}

type LoadControlLimitConstraintsListDataSelectorsType

type LoadControlLimitConstraintsListDataSelectorsType struct {
	LimitId *LoadControlLimitIdType `json:"limitId,omitempty"`
}

type LoadControlLimitConstraintsListDataType

type LoadControlLimitConstraintsListDataType struct {
	LoadControlLimitConstraintsData []LoadControlLimitConstraintsDataType `json:"loadControlLimitConstraintsData,omitempty"`
}

func (*LoadControlLimitConstraintsListDataType) UpdateList

func (r *LoadControlLimitConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type LoadControlLimitDataElementsType

type LoadControlLimitDataElementsType struct {
	LimitId           *ElementTagType           `json:"limitId,omitempty"`
	IsLimitChangeable *ElementTagType           `json:"isLimitChangeable,omitempty"`
	IsLimitActive     *ElementTagType           `json:"isLimitActive,omitempty"`
	TimePeriod        *TimePeriodElementsType   `json:"timePeriod,omitempty"`
	Value             *ScaledNumberElementsType `json:"value,omitempty"`
}

type LoadControlLimitDataType

type LoadControlLimitDataType struct {
	LimitId           *LoadControlLimitIdType `json:"limitId,omitempty" eebus:"key"`
	IsLimitChangeable *bool                   `json:"isLimitChangeable,omitempty" eebus:"writecheck"`
	IsLimitActive     *bool                   `json:"isLimitActive,omitempty"`
	TimePeriod        *TimePeriodType         `json:"timePeriod,omitempty"`
	Value             *ScaledNumberType       `json:"value,omitempty"`
}

type LoadControlLimitDescriptionDataElementsType

type LoadControlLimitDescriptionDataElementsType struct {
	LimitId        *ElementTagType `json:"limitId,omitempty"`
	LimitType      *ElementTagType `json:"limitType,omitempty"`
	LimitCategory  *ElementTagType `json:"limitCategory,omitempty"`
	LimitDirection *ElementTagType `json:"limitDirection,omitempty"`
	MeasurementId  *ElementTagType `json:"measurementId,omitempty"`
	Unit           *ElementTagType `json:"unit,omitempty"`
	ScopeType      *ElementTagType `json:"scopeType,omitempty"`
	Label          *ElementTagType `json:"label,omitempty"`
	Description    *ElementTagType `json:"description,omitempty"`
}

type LoadControlLimitDescriptionDataType

type LoadControlLimitDescriptionDataType struct {
	LimitId        *LoadControlLimitIdType   `json:"limitId,omitempty" eebus:"key"`
	LimitType      *LoadControlLimitTypeType `json:"limitType,omitempty"`
	LimitCategory  *LoadControlCategoryType  `json:"limitCategory,omitempty"`
	LimitDirection *EnergyDirectionType      `json:"limitDirection,omitempty"`
	MeasurementId  *MeasurementIdType        `json:"measurementId,omitempty"`
	Unit           *UnitOfMeasurementType    `json:"unit,omitempty"`
	ScopeType      *ScopeTypeType            `json:"scopeType,omitempty"`
	Label          *LabelType                `json:"label,omitempty"`
	Description    *DescriptionType          `json:"description,omitempty"`
}

type LoadControlLimitDescriptionListDataSelectorsType

type LoadControlLimitDescriptionListDataSelectorsType struct {
	LimitId        *LoadControlLimitIdType   `json:"limitId,omitempty"`
	LimitType      *LoadControlLimitTypeType `json:"limitType,omitempty"`
	LimitDirection *EnergyDirectionType      `json:"limitDirection,omitempty"`
	MeasurementId  *MeasurementIdType        `json:"measurementId,omitempty"`
	ScopeType      *ScopeTypeType            `json:"scopeType,omitempty"`
}

type LoadControlLimitDescriptionListDataType

type LoadControlLimitDescriptionListDataType struct {
	LoadControlLimitDescriptionData []LoadControlLimitDescriptionDataType `json:"loadControlLimitDescriptionData,omitempty"`
}

func (*LoadControlLimitDescriptionListDataType) UpdateList

func (r *LoadControlLimitDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type LoadControlLimitIdType

type LoadControlLimitIdType uint

type LoadControlLimitListDataSelectorsType

type LoadControlLimitListDataSelectorsType struct {
	LimitId *LoadControlLimitIdType `json:"limitId,omitempty"`
}

type LoadControlLimitListDataType

type LoadControlLimitListDataType struct {
	LoadControlLimitData []LoadControlLimitDataType `json:"loadControlLimitData,omitempty"`
}

func (*LoadControlLimitListDataType) UpdateList

func (r *LoadControlLimitListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type LoadControlLimitTypeType

type LoadControlLimitTypeType string
const (
	LoadControlLimitTypeTypeMinValueLimit              LoadControlLimitTypeType = "minValueLimit"
	LoadControlLimitTypeTypeMaxValueLimit              LoadControlLimitTypeType = "maxValueLimit"
	LoadControlLimitTypeTypeSignDependentAbsValueLimit LoadControlLimitTypeType = "signDependentAbsValueLimit"
)

type LoadControlNodeDataElementsType

type LoadControlNodeDataElementsType struct {
	IsNodeRemoteControllable *ElementTagType `json:"isNodeRemoteControllable,omitempty"`
}

type LoadControlNodeDataType

type LoadControlNodeDataType struct {
	IsNodeRemoteControllable *bool `json:"isNodeRemoteControllable,omitempty"`
}

type LoadControlStateDataElementsType

type LoadControlStateDataElementsType struct {
	Timestamp                 *ElementTagType `json:"timestamp"`
	EventId                   *ElementTagType `json:"eventId,omitempty"`
	EventStateConsume         *ElementTagType `json:"eventStateConsume"`
	AppliedEventActionConsume *ElementTagType `json:"appliedEventActionConsume"`
	EventStateProduce         *ElementTagType `json:"eventStateProduce"`
	AppliedEventActionProduce *ElementTagType `json:"appliedEventActionProduce"`
}

type LoadControlStateDataType

type LoadControlStateDataType struct {
	Timestamp                 *string                     `json:"timestamp"`
	EventId                   *LoadControlEventIdType     `json:"eventId,omitempty" eebus:"key"`
	EventStateConsume         *LoadControlEventStateType  `json:"eventStateConsume"`
	AppliedEventActionConsume *LoadControlEventActionType `json:"appliedEventActionConsume"`
	EventStateProduce         *LoadControlEventStateType  `json:"eventStateProduce"`
	AppliedEventActionProduce *LoadControlEventActionType `json:"appliedEventActionProduce"`
}

type LoadControlStateListDataSelectorsType

type LoadControlStateListDataSelectorsType struct {
	TimestampInterval *TimestampIntervalType  `json:"timestampInterval,omitempty"`
	EventId           *LoadControlEventIdType `json:"eventId,omitempty"`
}

type LoadControlStateListDataType

type LoadControlStateListDataType struct {
	LoadControlStateData []LoadControlStateDataType `json:"loadControlStateData,omitempty"`
}

func (*LoadControlStateListDataType) UpdateList

func (r *LoadControlStateListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MaxResponseDelayType

type MaxResponseDelayType DurationType

type MeasurementConstraintsDataElementsType

type MeasurementConstraintsDataElementsType struct {
	MeasurementId *ElementTagType           `json:"measurementId,omitempty"`
	ValueRangeMin *ScaledNumberElementsType `json:"valueRangeMin,omitempty"`
	ValueRangeMax *ScaledNumberElementsType `json:"valueRangeMax,omitempty"`
	ValueStepSize *ScaledNumberElementsType `json:"valueStepSize,omitempty"`
}

type MeasurementConstraintsDataType

type MeasurementConstraintsDataType struct {
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty" eebus:"key"`
	ValueRangeMin *ScaledNumberType  `json:"valueRangeMin,omitempty"`
	ValueRangeMax *ScaledNumberType  `json:"valueRangeMax,omitempty"`
	ValueStepSize *ScaledNumberType  `json:"valueStepSize,omitempty"`
}

type MeasurementConstraintsListDataSelectorsType

type MeasurementConstraintsListDataSelectorsType struct {
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty"`
}

type MeasurementConstraintsListDataType

type MeasurementConstraintsListDataType struct {
	MeasurementConstraintsData []MeasurementConstraintsDataType `json:"measurementConstraintsData,omitempty"`
}

func (*MeasurementConstraintsListDataType) UpdateList

func (r *MeasurementConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MeasurementDataElementsType

type MeasurementDataElementsType struct {
	MeasurementId    *ElementTagType `json:"measurementId,omitempty"`
	ValueType        *ElementTagType `json:"valueType,omitempty"`
	Timestamp        *ElementTagType `json:"timestamp,omitempty"`
	Value            *ElementTagType `json:"value,omitempty"`
	EvaluationPeriod *ElementTagType `json:"evaluationPeriod,omitempty"`
	ValueSource      *ElementTagType `json:"valueSource,omitempty"`
	ValueTendency    *ElementTagType `json:"valueTendency,omitempty"`
	ValueState       *ElementTagType `json:"valueState,omitempty"`
}

type MeasurementDataType

type MeasurementDataType struct {
	MeasurementId    *MeasurementIdType            `json:"measurementId,omitempty" eebus:"key"`
	ValueType        *MeasurementValueTypeType     `json:"valueType,omitempty" eebus:"key"`
	Timestamp        *AbsoluteOrRelativeTimeType   `json:"timestamp,omitempty"`
	Value            *ScaledNumberType             `json:"value,omitempty"`
	EvaluationPeriod *TimePeriodType               `json:"evaluationPeriod,omitempty"`
	ValueSource      *MeasurementValueSourceType   `json:"valueSource,omitempty"`
	ValueTendency    *MeasurementValueTendencyType `json:"valueTendency,omitempty"`
	ValueState       *MeasurementValueStateType    `json:"valueState,omitempty"`
}

type MeasurementDescriptionDataElementsType

type MeasurementDescriptionDataElementsType struct {
	MeasurementId    *ElementTagType           `json:"measurementId,omitempty"`
	MeasurementType  *ElementTagType           `json:"measurementType,omitempty"`
	CommodityType    *ElementTagType           `json:"commodityType,omitempty"`
	Unit             *ElementTagType           `json:"unit,omitempty"`
	CalibrationValue *ScaledNumberElementsType `json:"calibrationValue,omitempty"`
	ScopeType        *ElementTagType           `json:"scopeType,omitempty"`
	Label            *ElementTagType           `json:"label,omitempty"`
	Description      *ElementTagType           `json:"description,omitempty"`
}

type MeasurementDescriptionDataType

type MeasurementDescriptionDataType struct {
	MeasurementId    *MeasurementIdType     `json:"measurementId,omitempty" eebus:"key"`
	MeasurementType  *MeasurementTypeType   `json:"measurementType,omitempty"`
	CommodityType    *CommodityTypeType     `json:"commodityType,omitempty"`
	Unit             *UnitOfMeasurementType `json:"unit,omitempty"`
	CalibrationValue *ScaledNumberType      `json:"calibrationValue,omitempty"`
	ScopeType        *ScopeTypeType         `json:"scopeType,omitempty"`
	Label            *LabelType             `json:"label,omitempty"`
	Description      *DescriptionType       `json:"description,omitempty"`
}

type MeasurementDescriptionListDataSelectorsType

type MeasurementDescriptionListDataSelectorsType struct {
	MeasurementId   *MeasurementIdType   `json:"measurementId,omitempty"`
	MeasurementType *MeasurementTypeType `json:"measurementType,omitempty"`
	CommodityType   *CommodityTypeType   `json:"commodityType,omitempty"`
	ScopeType       *ScopeTypeType       `json:"scopeType,omitempty"`
}

type MeasurementDescriptionListDataType

type MeasurementDescriptionListDataType struct {
	MeasurementDescriptionData []MeasurementDescriptionDataType `json:"measurementDescriptionData,omitempty"`
}

func (*MeasurementDescriptionListDataType) UpdateList

func (r *MeasurementDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MeasurementIdType

type MeasurementIdType uint

type MeasurementListDataSelectorsType

type MeasurementListDataSelectorsType struct {
	MeasurementId     *MeasurementIdType        `json:"measurementId,omitempty"`
	ValueType         *MeasurementValueTypeType `json:"valueType,omitempty"`
	TimestampInterval *TimestampIntervalType    `json:"timestampInterval,omitempty"`
}

type MeasurementListDataType

type MeasurementListDataType struct {
	MeasurementData []MeasurementDataType `json:"measurementData,omitempty"`
}

func (*MeasurementListDataType) UpdateList

func (r *MeasurementListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MeasurementSeriesDataElementsType

type MeasurementSeriesDataElementsType struct {
	MeasurementId    *ElementTagType `json:"measurementId,omitempty"`
	ValueType        *ElementTagType `json:"valueType,omitempty"`
	Timestamp        *ElementTagType `json:"timestamp,omitempty"`
	Value            *ElementTagType `json:"value,omitempty"`
	EvaluationPeriod *ElementTagType `json:"evaluationPeriod,omitempty"`
	ValueSource      *ElementTagType `json:"valueSource,omitempty"`
	ValueTendency    *ElementTagType `json:"valueTendency,omitempty"`
	ValueState       *ElementTagType `json:"valueState,omitempty"`
}

type MeasurementSeriesDataType

type MeasurementSeriesDataType struct {
	MeasurementId    *MeasurementIdType            `json:"measurementId,omitempty" eebus:"key"`
	ValueType        *MeasurementValueTypeType     `json:"valueType,omitempty" eebus:"key"`
	Timestamp        *AbsoluteOrRelativeTimeType   `json:"timestamp,omitempty"`
	Value            *ScaledNumberType             `json:"value,omitempty"`
	EvaluationPeriod *TimePeriodType               `json:"evaluationPeriod,omitempty"`
	ValueSource      *MeasurementValueSourceType   `json:"valueSource,omitempty"`
	ValueTendency    *MeasurementValueTendencyType `json:"valueTendency,omitempty"`
	ValueState       *MeasurementValueStateType    `json:"valueState,omitempty"`
}

type MeasurementSeriesListDataSelectorsType

type MeasurementSeriesListDataSelectorsType struct {
	MeasurementId     *MeasurementIdType        `json:"measurementId,omitempty"`
	ValueType         *MeasurementValueTypeType `json:"valueType,omitempty"`
	TimestampInterval *TimestampIntervalType    `json:"timestampInterval,omitempty"`
}

type MeasurementSeriesListDataType

type MeasurementSeriesListDataType struct {
	MeasurementSeriesData []MeasurementSeriesDataType `json:"measurementSeriesData,omitempty"`
}

func (*MeasurementSeriesListDataType) UpdateList

func (r *MeasurementSeriesListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MeasurementThresholdRelationDataElementsType

type MeasurementThresholdRelationDataElementsType struct {
	MeasurementId *ElementTagType `json:"measurementId,omitempty"`
	ThresholdId   *ElementTagType `json:"thresholdId,omitempty"`
}

type MeasurementThresholdRelationDataType

type MeasurementThresholdRelationDataType struct {
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty" eebus:"key"`
	ThresholdId   []ThresholdIdType  `json:"thresholdId,omitempty"`
}

type MeasurementThresholdRelationListDataSelectorsType

type MeasurementThresholdRelationListDataSelectorsType struct {
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty"`
	ThresholdId   *ThresholdIdType   `json:"thresholdId,omitempty"`
}

type MeasurementThresholdRelationListDataType

type MeasurementThresholdRelationListDataType struct {
	MeasurementThresholdRelationData []MeasurementThresholdRelationDataType `json:"measurementThresholdRelationData,omitempty"`
}

func (*MeasurementThresholdRelationListDataType) UpdateList

func (r *MeasurementThresholdRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MeasurementTypeType

type MeasurementTypeType string
const (
	MeasurementTypeTypeAcceleration        MeasurementTypeType = "acceleration"
	MeasurementTypeTypeAngle               MeasurementTypeType = "angle"
	MeasurementTypeTypeAngularVelocity     MeasurementTypeType = "angularVelocity"
	MeasurementTypeTypeArea                MeasurementTypeType = "area"
	MeasurementTypeTypeAtmosphericPressure MeasurementTypeType = "atmosphericPressure"
	MeasurementTypeTypeCapacity            MeasurementTypeType = "capacity"
	MeasurementTypeTypeConcentration       MeasurementTypeType = "concentration"
	MeasurementTypeTypeCount               MeasurementTypeType = "count"
	MeasurementTypeTypeCurrent             MeasurementTypeType = "current"
	MeasurementTypeTypeDensity             MeasurementTypeType = "density"
	MeasurementTypeTypeDistance            MeasurementTypeType = "distance"
	MeasurementTypeTypeElectricField       MeasurementTypeType = "electricField"
	MeasurementTypeTypeEnergy              MeasurementTypeType = "energy"
	MeasurementTypeTypeForce               MeasurementTypeType = "force"
	MeasurementTypeTypeFrequency           MeasurementTypeType = "frequency"
	MeasurementTypeTypeHarmonicDistortion  MeasurementTypeType = "harmonicDistortion"
	MeasurementTypeTypeHeat                MeasurementTypeType = "heat"
	MeasurementTypeTypeHeatFlux            MeasurementTypeType = "heatFlux"
	MeasurementTypeTypeIlluminance         MeasurementTypeType = "illuminance"
	MeasurementTypeTypeImpulse             MeasurementTypeType = "impulse"
	MeasurementTypeTypeLevel               MeasurementTypeType = "level"
	MeasurementTypeTypeMagneticField       MeasurementTypeType = "magneticField"
	MeasurementTypeTypeMass                MeasurementTypeType = "mass"
	MeasurementTypeTypeMassFlow            MeasurementTypeType = "massFlow"
	MeasurementTypeTypeParticles           MeasurementTypeType = "particles"
	MeasurementTypeTypePercentage          MeasurementTypeType = "percentage"
	MeasurementTypeTypePower               MeasurementTypeType = "power"
	MeasurementTypeTypePowerFactor         MeasurementTypeType = "powerFactor"
	MeasurementTypeTypePressure            MeasurementTypeType = "pressure"
	MeasurementTypeTypeRadonActivity       MeasurementTypeType = "radonActivity"
	MeasurementTypeTypeRelativeHumidity    MeasurementTypeType = "relativeHumidity"
	MeasurementTypeTypeResistance          MeasurementTypeType = "resistance"
	MeasurementTypeTypeSolarRadiation      MeasurementTypeType = "solarRadiation"
	MeasurementTypeTypeSpeed               MeasurementTypeType = "speed"
	MeasurementTypeTypeTemperature         MeasurementTypeType = "temperature"
	MeasurementTypeTypeTime                MeasurementTypeType = "time"
	MeasurementTypeTypeTorque              MeasurementTypeType = "torque"
	MeasurementTypeTypeUnknown             MeasurementTypeType = "unknown"
	MeasurementTypeTypeVelocity            MeasurementTypeType = "velocity"
	MeasurementTypeTypeVoltage             MeasurementTypeType = "voltage"
	MeasurementTypeTypeVolume              MeasurementTypeType = "volume"
	MeasurementTypeTypeVolumetricFlow      MeasurementTypeType = "volumetricFlow"
)

type MeasurementValueSourceType

type MeasurementValueSourceType string
const (
	MeasurementValueSourceTypeMeasuredValue   MeasurementValueSourceType = "measuredValue"
	MeasurementValueSourceTypeCalculatedValue MeasurementValueSourceType = "calculatedValue"
	MeasurementValueSourceTypeEmpiricalValue  MeasurementValueSourceType = "empiricalValue"
)

type MeasurementValueStateType

type MeasurementValueStateType string
const (
	MeasurementValueStateTypeNormal     MeasurementValueStateType = "normal"
	MeasurementValueStateTypeOutofrange MeasurementValueStateType = "outOfRange"
	MeasurementValueStateTypeError      MeasurementValueStateType = "error"
)

type MeasurementValueTendencyType

type MeasurementValueTendencyType string
const (
	MeasurementValueTendencyTypeRising  MeasurementValueTendencyType = "rising"
	MeasurementValueTendencyTypeStable  MeasurementValueTendencyType = "stable"
	MeasurementValueTendencyTypeFalling MeasurementValueTendencyType = "falling"
)

type MeasurementValueTypeType

type MeasurementValueTypeType string
const (
	MeasurementValueTypeTypeValue             MeasurementValueTypeType = "value"
	MeasurementValueTypeTypeAverageValue      MeasurementValueTypeType = "averageValue"
	MeasurementValueTypeTypeMinValue          MeasurementValueTypeType = "minValue"
	MeasurementValueTypeTypeMaxValue          MeasurementValueTypeType = "maxValue"
	MeasurementValueTypeTypeStandardDeviation MeasurementValueTypeType = "standardDeviation"
)

type MessagingDataElementsType

type MessagingDataElementsType struct {
	Timestamp       *ElementTagType `json:"timestamp,omitempty"`
	MessagingNumber *ElementTagType `json:"messagingNumber,omitempty"`
	MessagingType   *ElementTagType `json:"type,omitempty"`
	Text            *ElementTagType `json:"text,omitempty"`
}

type MessagingDataTextType

type MessagingDataTextType string

type MessagingDataType

type MessagingDataType struct {
	Timestamp       *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	MessagingNumber *MessagingNumberType        `json:"messagingNumber,omitempty" eebus:"key"`
	MessagingType   *MessagingTypeType          `json:"type,omitempty"` // xsd defines "type", but that is a reserved keyword
	Text            *MessagingDataTextType      `json:"text,omitempty"`
}

type MessagingListDataSelectorsType

type MessagingListDataSelectorsType struct {
	TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"`
	MessagingNumber   *MessagingNumberType   `json:"messagingNumber,omitempty"`
}

type MessagingListDataType

type MessagingListDataType struct {
	MessagingData []MessagingDataType `json:"messagingData,omitempty"`
}

func (*MessagingListDataType) UpdateList

func (r *MessagingListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type MessagingNumberType

type MessagingNumberType uint

type MessagingTypeType

type MessagingTypeType string
const (
	MessagingTypeTypeLogging     MessagingTypeType = "logging"
	MessagingTypeTypeInformation MessagingTypeType = "information"
	MessagingTypeTypeWarning     MessagingTypeType = "warning"
	MessagingTypeTypeAlarm       MessagingTypeType = "alarm"
	MessagingTypeTypeEmergency   MessagingTypeType = "emergency"
	MessagingTypeTypeObsolete    MessagingTypeType = "obsolete"
)

type MonthType

type MonthType string
const (
	MonthTypeJanuary   MonthType = "january"
	MonthTypeFebruary  MonthType = "february"
	MonthTypeMarch     MonthType = "march"
	MonthTypeApril     MonthType = "april"
	MonthTypeMay       MonthType = "may"
	MonthTypeJune      MonthType = "june"
	MonthTypeJuly      MonthType = "july"
	MonthTypeAugust    MonthType = "august"
	MonthTypeSeptember MonthType = "september"
	MonthTypeOctober   MonthType = "october"
	MonthTypeNovember  MonthType = "november"
	MonthTypeDecember  MonthType = "december"
)

type MsgCounterType

type MsgCounterType uint64

func (*MsgCounterType) String

func (r *MsgCounterType) String() string

type NetworkManagementAbortCallElementsType

type NetworkManagementAbortCallElementsType struct{}

type NetworkManagementAbortCallType

type NetworkManagementAbortCallType struct{}

type NetworkManagementAddNodeCallElementsType

type NetworkManagementAddNodeCallElementsType struct {
	NodeAddress *FeatureAddressElementsType `json:"nodeAddress,omitempty"`
	NativeSetup *ElementTagType             `json:"nativeSetup,omitempty"`
	Timeout     *ElementTagType             `json:"timeout,omitempty"`
	Label       *ElementTagType             `json:"label,omitempty"`
	Description *ElementTagType             `json:"description,omitempty"`
}

type NetworkManagementAddNodeCallType

type NetworkManagementAddNodeCallType struct {
	NodeAddress *FeatureAddressType                  `json:"nodeAddress,omitempty"`
	NativeSetup *NetworkManagementNativeSetupType    `json:"nativeSetup,omitempty"`
	Timeout     *NetworkManagementProcessTimeoutType `json:"timeout,omitempty"`
	Label       *LabelType                           `json:"label,omitempty"`
	Description *DescriptionType                     `json:"description,omitempty"`
}

type NetworkManagementCandidateSetupType

type NetworkManagementCandidateSetupType string

type NetworkManagementCommunicationsTechnologyInformationType

type NetworkManagementCommunicationsTechnologyInformationType string

type NetworkManagementDeviceDescriptionDataElementsType

type NetworkManagementDeviceDescriptionDataElementsType struct {
	DeviceAddress                       *ElementTagType `json:"deviceAddress,omitempty"`
	DeviceType                          *ElementTagType `json:"deviceType,omitempty"`
	NetworkManagementResponsibleAddress *ElementTagType `json:"networkManagementResponsibleAddress,omitempty"`
	NativeSetup                         *ElementTagType `json:"nativeSetup,omitempty"`
	TechnologyAddress                   *ElementTagType `json:"technologyAddress,omitempty"`
	CommunicationsTechnologyInformation *ElementTagType `json:"communicationsTechnologyInformation,omitempty"`
	NetworkFeatureSet                   *ElementTagType `json:"networkFeatureSet,omitempty"`
	LastStateChange                     *ElementTagType `json:"lastStateChange,omitempty"`
	MinimumTrustLevel                   *ElementTagType `json:"minimumTrustLevel,omitempty"`
	Label                               *ElementTagType `json:"label,omitempty"`
	Description                         *ElementTagType `json:"description,omitempty"`
}

type NetworkManagementDeviceDescriptionDataType

type NetworkManagementDeviceDescriptionDataType struct {
	DeviceAddress                       *DeviceAddressType                                        `json:"deviceAddress,omitempty" eebus:"key"`
	DeviceType                          *DeviceTypeType                                           `json:"deviceType,omitempty"`
	NetworkManagementResponsibleAddress *FeatureAddressType                                       `json:"networkManagementResponsibleAddress,omitempty"`
	NativeSetup                         *NetworkManagementNativeSetupType                         `json:"nativeSetup,omitempty"`
	TechnologyAddress                   *NetworkManagementTechnologyAddressType                   `json:"technologyAddress,omitempty"`
	CommunicationsTechnologyInformation *NetworkManagementCommunicationsTechnologyInformationType `json:"communicationsTechnologyInformation,omitempty"`
	NetworkFeatureSet                   *NetworkManagementFeatureSetType                          `json:"networkFeatureSet,omitempty"`
	LastStateChange                     *NetworkManagementStateChangeType                         `json:"lastStateChange,omitempty"`
	MinimumTrustLevel                   *NetworkManagementMinimumTrustLevelType                   `json:"minimumTrustLevel,omitempty"`
	Label                               *LabelType                                                `json:"label,omitempty"`
	Description                         *DescriptionType                                          `json:"description,omitempty"`
}

type NetworkManagementDeviceDescriptionListDataSelectorsType

type NetworkManagementDeviceDescriptionListDataSelectorsType struct {
	DeviceAddress *DeviceAddressType `json:"deviceAddress,omitempty"`
	DeviceType    *DeviceTypeType    `json:"deviceType,omitempty"`
}

type NetworkManagementDeviceDescriptionListDataType

type NetworkManagementDeviceDescriptionListDataType struct {
	NetworkManagementDeviceDescriptionData []NetworkManagementDeviceDescriptionDataType `json:"networkManagementDeviceDescriptionData,omitempty"`
}

func (*NetworkManagementDeviceDescriptionListDataType) UpdateList

func (r *NetworkManagementDeviceDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type NetworkManagementDiscoverCallElementsType

type NetworkManagementDiscoverCallElementsType struct {
	DiscoverAddress *FeatureAddressElementsType `json:"discoverAddress,omitempty"`
}

type NetworkManagementDiscoverCallType

type NetworkManagementDiscoverCallType struct {
	DiscoverAddress *FeatureAddressType `json:"discoverAddress,omitempty"`
}

type NetworkManagementEntityDescriptionDataElementsType

type NetworkManagementEntityDescriptionDataElementsType struct {
	EntityAddress     *ElementTagType `json:"entityAddress,omitempty"`
	EntityType        *ElementTagType `json:"entityType,omitempty"`
	LastStateChange   *ElementTagType `json:"lastStateChange,omitempty"`
	MinimumTrustLevel *ElementTagType `json:"minimumTrustLevel,omitempty"`
	Label             *ElementTagType `json:"label,omitempty"`
	Description       *ElementTagType `json:"description,omitempty"`
}

type NetworkManagementEntityDescriptionDataType

type NetworkManagementEntityDescriptionDataType struct {
	EntityAddress     *EntityAddressType                      `json:"entityAddress,omitempty" eebus:"key"`
	EntityType        *EntityTypeType                         `json:"entityType,omitempty"`
	LastStateChange   *NetworkManagementStateChangeType       `json:"lastStateChange,omitempty"`
	MinimumTrustLevel *NetworkManagementMinimumTrustLevelType `json:"minimumTrustLevel,omitempty"`
	Label             *LabelType                              `json:"label,omitempty"`
	Description       *DescriptionType                        `json:"description,omitempty"`
}

type NetworkManagementEntityDescriptionListDataSelectorsType

type NetworkManagementEntityDescriptionListDataSelectorsType struct {
	EntityAddress *EntityAddressType `json:"entityAddress,omitempty"`
	EntityType    *EntityTypeType    `json:"entityType,omitempty"`
}

type NetworkManagementEntityDescriptionListDataType

type NetworkManagementEntityDescriptionListDataType struct {
	NetworkManagementEntityDescriptionData []NetworkManagementEntityDescriptionDataType `json:"networkManagementEntityDescriptionData,omitempty"`
}

func (*NetworkManagementEntityDescriptionListDataType) UpdateList

func (r *NetworkManagementEntityDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type NetworkManagementFeatureDescriptionDataElementsType

type NetworkManagementFeatureDescriptionDataElementsType struct {
	FeatureAddress    *FeatureAddressElementsType   `json:"featureAddress,omitempty"`
	FeatureType       *ElementTagType               `json:"featureType,omitempty"`
	SpecificUsage     *ElementTagType               `json:"specificUsage,omitempty"`
	FeatureGroup      *ElementTagType               `json:"featureGroup,omitempty"`
	Role              *ElementTagType               `json:"role,omitempty"`
	SupportedFunction *FunctionPropertyElementsType `json:"supportedFunction,omitempty"`
	LastStateChange   *ElementTagType               `json:"lastStateChange,omitempty"`
	MinimumTrustLevel *ElementTagType               `json:"minimumTrustLevel,omitempty"`
	Label             *ElementTagType               `json:"label,omitempty"`
	Description       *ElementTagType               `json:"description,omitempty"`
	MaxResponseDelay  *ElementTagType               `json:"maxResponseDelay,omitempty"`
}

type NetworkManagementFeatureDescriptionDataType

type NetworkManagementFeatureDescriptionDataType struct {
	FeatureAddress    *FeatureAddressType                     `json:"featureAddress,omitempty" eebus:"key"`
	FeatureType       *FeatureTypeType                        `json:"featureType,omitempty"`
	SpecificUsage     []FeatureSpecificUsageType              `json:"specificUsage,omitempty"`
	FeatureGroup      *FeatureGroupType                       `json:"featureGroup,omitempty"`
	Role              *RoleType                               `json:"role,omitempty"`
	SupportedFunction []FunctionPropertyType                  `json:"supportedFunction,omitempty"`
	LastStateChange   *NetworkManagementStateChangeType       `json:"lastStateChange,omitempty"`
	MinimumTrustLevel *NetworkManagementMinimumTrustLevelType `json:"minimumTrustLevel,omitempty"`
	Label             *LabelType                              `json:"label,omitempty"`
	Description       *DescriptionType                        `json:"description,omitempty"`
	MaxResponseDelay  *MaxResponseDelayType                   `json:"maxResponseDelay,omitempty"`
}

type NetworkManagementFeatureDescriptionListDataSelectorsType

type NetworkManagementFeatureDescriptionListDataSelectorsType struct {
	FeatureAddress *FeatureAddressType `json:"featureAddress,omitempty"`
	FeatureType    *FeatureTypeType    `json:"featureType,omitempty"`
}

type NetworkManagementFeatureDescriptionListDataType

type NetworkManagementFeatureDescriptionListDataType struct {
	NetworkManagementFeatureDescriptionData []NetworkManagementFeatureDescriptionDataType `json:"networkManagementFeatureDescriptionData,omitempty"`
}

func (*NetworkManagementFeatureDescriptionListDataType) UpdateList

func (r *NetworkManagementFeatureDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type NetworkManagementFeatureSetType

type NetworkManagementFeatureSetType string
const (
	NetworkManagementFeatureSetTypeGateway NetworkManagementFeatureSetType = "gateway"
	NetworkManagementFeatureSetTypeRouter  NetworkManagementFeatureSetType = "router"
	NetworkManagementFeatureSetTypeSmart   NetworkManagementFeatureSetType = "smart"
	NetworkManagementFeatureSetTypeSimple  NetworkManagementFeatureSetType = "simple"
)

type NetworkManagementJoiningModeDataElementsType

type NetworkManagementJoiningModeDataElementsType struct {
	Setup *ElementTagType `json:"setup,omitempty"`
}

type NetworkManagementJoiningModeDataType

type NetworkManagementJoiningModeDataType struct {
	Setup *NetworkManagementSetupType `json:"setup,omitempty"`
}

type NetworkManagementMinimumTrustLevelType

type NetworkManagementMinimumTrustLevelType string

type NetworkManagementModifyNodeCallElementsType

type NetworkManagementModifyNodeCallElementsType struct {
	NodeAddress *FeatureAddressElementsType `json:"nodeAddress,omitempty"`
	NativeSetup *ElementTagType             `json:"nativeSetup,omitempty"`
	Timeout     *ElementTagType             `json:"timeout,omitempty"`
	Label       *ElementTagType             `json:"label,omitempty"`
	Description *ElementTagType             `json:"description,omitempty"`
}

type NetworkManagementModifyNodeCallType

type NetworkManagementModifyNodeCallType struct {
	NodeAddress *FeatureAddressType                  `json:"nodeAddress,omitempty"`
	NativeSetup *NetworkManagementNativeSetupType    `json:"nativeSetup,omitempty"`
	Timeout     *NetworkManagementProcessTimeoutType `json:"timeout,omitempty"`
	Label       *LabelType                           `json:"label,omitempty"`
	Description *DescriptionType                     `json:"description,omitempty"`
}

type NetworkManagementNativeSetupType

type NetworkManagementNativeSetupType string

type NetworkManagementProcessStateDataElementsType

type NetworkManagementProcessStateDataElementsType struct {
	State       *ElementTagType `json:"state,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type NetworkManagementProcessStateDataType

type NetworkManagementProcessStateDataType struct {
	State       *NetworkManagementProcessStateStateType `json:"state,omitempty"`
	Description *DescriptionType                        `json:"description,omitempty"`
}

type NetworkManagementProcessStateStateType

type NetworkManagementProcessStateStateType string
const (
	NetworkManagementProcessStateStateTypeSucceeded NetworkManagementProcessStateStateType = "succeeded"
	NetworkManagementProcessStateStateTypeFailed    NetworkManagementProcessStateStateType = "failed"
	NetworkManagementProcessStateStateTypeAborted   NetworkManagementProcessStateStateType = "aborted"
)

type NetworkManagementProcessTimeoutType

type NetworkManagementProcessTimeoutType DurationType

type NetworkManagementRemoveNodeCallElementsType

type NetworkManagementRemoveNodeCallElementsType struct {
	NodeAddress *FeatureAddressElementsType `json:"nodeAddress,omitempty"`
	Timeout     *ElementTagType             `json:"timeout,omitempty"`
}

type NetworkManagementRemoveNodeCallType

type NetworkManagementRemoveNodeCallType struct {
	NodeAddress *FeatureAddressType                  `json:"nodeAddress,omitempty"`
	Timeout     *NetworkManagementProcessTimeoutType `json:"timeout,omitempty"`
}

type NetworkManagementReportCandidateDataElementsType

type NetworkManagementReportCandidateDataElementsType struct {
	CandidateSetup    *ElementTagType `json:"candidateSetup,omitempty"`
	SetupUsableForAdd *ElementTagType `json:"setupUsableForAdd,omitempty"`
	Label             *ElementTagType `json:"label,omitempty"`
	Description       *ElementTagType `json:"description,omitempty"`
}

type NetworkManagementReportCandidateDataType

type NetworkManagementReportCandidateDataType struct {
	CandidateSetup    *NetworkManagementCandidateSetupType `json:"candidateSetup,omitempty"`
	SetupUsableForAdd *bool                                `json:"setupUsableForAdd,omitempty"`
	Label             *LabelType                           `json:"label,omitempty"`
	Description       *DescriptionType                     `json:"description,omitempty"`
}

type NetworkManagementScanNetworkCallElementsType

type NetworkManagementScanNetworkCallElementsType struct {
	ScanSetup *ElementTagType `json:"scanSetup,omitempty"`
	Timeout   *ElementTagType `json:"timeout,omitempty"`
}

type NetworkManagementScanNetworkCallType

type NetworkManagementScanNetworkCallType struct {
	ScanSetup *NetworkManagementScanSetupType      `json:"scanSetup,omitempty"`
	Timeout   *NetworkManagementProcessTimeoutType `json:"timeout,omitempty"`
}

type NetworkManagementScanSetupType

type NetworkManagementScanSetupType string

type NetworkManagementSetupType

type NetworkManagementSetupType string

type NetworkManagementStateChangeType

type NetworkManagementStateChangeType string
const (
	NetworkManagementStateChangeTypeAdded    NetworkManagementStateChangeType = "added"
	NetworkManagementStateChangeTypeRemoved  NetworkManagementStateChangeType = "removed"
	NetworkManagementStateChangeTypeModified NetworkManagementStateChangeType = "modified"
)

type NetworkManagementTechnologyAddressType

type NetworkManagementTechnologyAddressType string

type NodeManagementBindingDataElementsType

type NodeManagementBindingDataElementsType struct {
	BindingEntry *BindingManagementEntryDataElementsType `json:"bindingEntry,omitempty"`
}

type NodeManagementBindingDataSelectorsType

type NodeManagementBindingDataSelectorsType struct {
	BindingEntry *BindingManagementEntryListDataSelectorsType `json:"bindingEntry,omitempty"`
}

type NodeManagementBindingDataType

type NodeManagementBindingDataType struct {
	BindingEntry []BindingManagementEntryDataType `json:"bindingEntry,omitempty"`
}

type NodeManagementBindingDeleteCallElementsType

type NodeManagementBindingDeleteCallElementsType struct {
	BindingDelete *BindingManagementDeleteCallElementsType `json:"bindingDelete,omitempty"`
}

type NodeManagementBindingDeleteCallType

type NodeManagementBindingDeleteCallType struct {
	BindingDelete *BindingManagementDeleteCallType `json:"bindingDelete,omitempty"`
}

type NodeManagementBindingRequestCallElementsType

type NodeManagementBindingRequestCallElementsType struct {
	BindingRequest *BindingManagementRequestCallElementsType `json:"bindingRequest,omitempty"`
}

type NodeManagementBindingRequestCallType

type NodeManagementBindingRequestCallType struct {
	BindingRequest *BindingManagementRequestCallType `json:"bindingRequest,omitempty"`
}

type NodeManagementDestinationDataElementsType

type NodeManagementDestinationDataElementsType struct {
	DeviceDescription *NetworkManagementDeviceDescriptionDataElementsType `json:"deviceDescription,omitempty"`
}

type NodeManagementDestinationDataType

type NodeManagementDestinationDataType struct {
	DeviceDescription *NetworkManagementDeviceDescriptionDataType `json:"deviceDescription,omitempty"`
}

type NodeManagementDestinationListDataSelectorsType

type NodeManagementDestinationListDataSelectorsType struct {
	DeviceDescription *NetworkManagementDeviceDescriptionListDataSelectorsType `json:"deviceDescription,omitempty"`
}

type NodeManagementDestinationListDataType

type NodeManagementDestinationListDataType struct {
	NodeManagementDestinationData []NodeManagementDestinationDataType `json:"nodeManagementDestinationData,omitempty"`
}

func (*NodeManagementDestinationListDataType) UpdateList

func (r *NodeManagementDestinationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type NodeManagementDetailedDiscoveryDataElementsType

type NodeManagementDetailedDiscoveryDataElementsType struct {
	SpecificationVersionList *NodeManagementSpecificationVersionListElementsType            `json:"specificationVersionList,omitempty"`
	DeviceInformation        *NodeManagementDetailedDiscoveryDeviceInformationElementsType  `json:"deviceInformation,omitempty"`
	EntityInformation        *NodeManagementDetailedDiscoveryEntityInformationElementsType  `json:"entityInformation,omitempty"`
	FeatureInformation       *NodeManagementDetailedDiscoveryFeatureInformationElementsType `json:"featureInformation,omitempty"`
}

type NodeManagementDetailedDiscoveryDataSelectorsType

type NodeManagementDetailedDiscoveryDataSelectorsType struct {
	DeviceInformation  *NetworkManagementDeviceDescriptionListDataSelectorsType  `json:"deviceInformation,omitempty"`
	EntityInformation  *NetworkManagementEntityDescriptionListDataSelectorsType  `json:"entityInformation,omitempty"`
	FeatureInformation *NetworkManagementFeatureDescriptionListDataSelectorsType `json:"featureInformation,omitempty"`
}

type NodeManagementDetailedDiscoveryDataType

type NodeManagementDetailedDiscoveryDataType struct {
	SpecificationVersionList *NodeManagementSpecificationVersionListType             `json:"specificationVersionList,omitempty"`
	DeviceInformation        *NodeManagementDetailedDiscoveryDeviceInformationType   `json:"deviceInformation,omitempty"`
	EntityInformation        []NodeManagementDetailedDiscoveryEntityInformationType  `json:"entityInformation,omitempty"`
	FeatureInformation       []NodeManagementDetailedDiscoveryFeatureInformationType `json:"featureInformation,omitempty"`
}

type NodeManagementDetailedDiscoveryDeviceInformationElementsType

type NodeManagementDetailedDiscoveryDeviceInformationElementsType struct {
	Description *NetworkManagementDeviceDescriptionDataElementsType `json:"description,omitempty"`
}

type NodeManagementDetailedDiscoveryDeviceInformationType

type NodeManagementDetailedDiscoveryDeviceInformationType struct {
	Description *NetworkManagementDeviceDescriptionDataType `json:"description,omitempty"`
}

type NodeManagementDetailedDiscoveryEntityInformationElementsType

type NodeManagementDetailedDiscoveryEntityInformationElementsType struct {
	Description *NetworkManagementEntityDescriptionDataElementsType `json:"description,omitempty"`
}

type NodeManagementDetailedDiscoveryEntityInformationType

type NodeManagementDetailedDiscoveryEntityInformationType struct {
	Description *NetworkManagementEntityDescriptionDataType `json:"description,omitempty"`
}

type NodeManagementDetailedDiscoveryFeatureInformationElementsType

type NodeManagementDetailedDiscoveryFeatureInformationElementsType struct {
	Description *NetworkManagementFeatureDescriptionDataElementsType `json:"description,omitempty"`
}

type NodeManagementDetailedDiscoveryFeatureInformationType

type NodeManagementDetailedDiscoveryFeatureInformationType struct {
	Description *NetworkManagementFeatureDescriptionDataType `json:"description,omitempty"`
}

type NodeManagementSpecificationVersionListElementsType

type NodeManagementSpecificationVersionListElementsType struct {
	SpecificationVersion *SpecificationVersionDataElementsType `json:"specificationVersion,omitempty"`
}

type NodeManagementSpecificationVersionListType

type NodeManagementSpecificationVersionListType struct {
	SpecificationVersion []SpecificationVersionDataType `json:"specificationVersion,omitempty"`
}

type NodeManagementSubscriptionDataElementsType

type NodeManagementSubscriptionDataElementsType struct {
	SubscriptionEntry *SubscriptionManagementEntryDataElementsType `json:"subscriptionEntry,omitempty"`
}

type NodeManagementSubscriptionDataSelectorsType

type NodeManagementSubscriptionDataSelectorsType struct {
	SubscriptionEntry *SubscriptionManagementEntryListDataSelectorsType `json:"subscriptionEntry,omitempty"`
}

type NodeManagementSubscriptionDataType

type NodeManagementSubscriptionDataType struct {
	SubscriptionEntry []SubscriptionManagementEntryDataType `json:"subscriptionEntry,omitempty"`
}

type NodeManagementSubscriptionDeleteCallElementsType

type NodeManagementSubscriptionDeleteCallElementsType struct {
	SubscriptionDelete *SubscriptionManagementDeleteCallElementsType `json:"subscriptionDelete,omitempty"`
}

type NodeManagementSubscriptionDeleteCallType

type NodeManagementSubscriptionDeleteCallType struct {
	SubscriptionDelete *SubscriptionManagementDeleteCallType `json:"subscriptionDelete,omitempty"`
}

type NodeManagementSubscriptionRequestCallElementsType

type NodeManagementSubscriptionRequestCallElementsType struct {
	SubscriptionRequest *SubscriptionManagementRequestCallElementsType `json:"subscriptionRequest,omitempty"`
}

type NodeManagementSubscriptionRequestCallType

type NodeManagementSubscriptionRequestCallType struct {
	SubscriptionRequest *SubscriptionManagementRequestCallType `json:"subscriptionRequest,omitempty"`
}

type NodeManagementUseCaseDataElementsType

type NodeManagementUseCaseDataElementsType struct {
	UseCaseInformation *UseCaseInformationDataElementsType `json:"useCaseInformation,omitempty"`
}

type NodeManagementUseCaseDataSelectorsType

type NodeManagementUseCaseDataSelectorsType struct {
	UseCaseInformation *UseCaseInformationListDataSelectorsType `json:"useCaseInformation,omitempty"`
}

type NodeManagementUseCaseDataType

type NodeManagementUseCaseDataType struct {
	UseCaseInformation []UseCaseInformationDataType `json:"useCaseInformation,omitempty"`
}

func (*NodeManagementUseCaseDataType) AddUseCaseSupport

func (n *NodeManagementUseCaseDataType) AddUseCaseSupport(
	address FeatureAddressType,
	actor UseCaseActorType,
	useCaseName UseCaseNameType,
	useCaseVersion SpecificationVersionType,
	useCaseDocumemtSubRevision string,
	useCaseAvailable bool,
	scenarios []UseCaseScenarioSupportType,
)

add a new UseCaseSupportType

func (*NodeManagementUseCaseDataType) HasUseCaseSupport

func (n *NodeManagementUseCaseDataType) HasUseCaseSupport(
	address FeatureAddressType,
	actor UseCaseActorType,
	useCaseName UseCaseNameType) bool

func (*NodeManagementUseCaseDataType) RemoveUseCaseDataForAddress

func (n *NodeManagementUseCaseDataType) RemoveUseCaseDataForAddress(address FeatureAddressType)

Remove all data for a given address type

func (*NodeManagementUseCaseDataType) RemoveUseCaseSupport

func (n *NodeManagementUseCaseDataType) RemoveUseCaseSupport(
	address FeatureAddressType,
	actor UseCaseActorType,
	useCaseName UseCaseNameType,
)

Remove a UseCaseSupportType with a provided FeatureAddressType, UseCaseActorType and UseCaseNameType

func (*NodeManagementUseCaseDataType) SetAvailability

func (n *NodeManagementUseCaseDataType) SetAvailability(
	address FeatureAddressType,
	actor UseCaseActorType,
	useCaseName UseCaseNameType,
	availability bool,
)

Set the availability of a usecase

type NumberType

type NumberType int64

type OccurrenceType

type OccurrenceType string
const (
	OccurrenceTypeFirst  OccurrenceType = "first"
	OccurrenceTypeSecond OccurrenceType = "second"
	OccurrenceTypeThird  OccurrenceType = "third"
	OccurrenceTypeFourth OccurrenceType = "fourth"
	OccurrenceTypeLast   OccurrenceType = "last"
)

type OperatingConstraintsDurationDataElementsType

type OperatingConstraintsDurationDataElementsType struct {
	SequenceId           *ElementTagType `json:"sequenceId,omitempty"`
	ActiveDurationMin    *ElementTagType `json:"activeDurationMin,omitempty"`
	ActiveDurationMax    *ElementTagType `json:"activeDurationMax,omitempty"`
	PauseDurationMin     *ElementTagType `json:"pauseDurationMin,omitempty"`
	PauseDurationMax     *ElementTagType `json:"pauseDurationMax,omitempty"`
	ActiveDurationSumMin *ElementTagType `json:"activeDurationSumMin,omitempty"`
	ActiveDurationSumMax *ElementTagType `json:"activeDurationSumMax,omitempty"`
}

type OperatingConstraintsDurationDataType

type OperatingConstraintsDurationDataType struct {
	SequenceId           *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
	ActiveDurationMin    *DurationType        `json:"activeDurationMin,omitempty"`
	ActiveDurationMax    *DurationType        `json:"activeDurationMax,omitempty"`
	PauseDurationMin     *DurationType        `json:"pauseDurationMin,omitempty"`
	PauseDurationMax     *DurationType        `json:"pauseDurationMax,omitempty"`
	ActiveDurationSumMin *DurationType        `json:"activeDurationSumMin,omitempty"`
	ActiveDurationSumMax *DurationType        `json:"activeDurationSumMax,omitempty"`
}

type OperatingConstraintsDurationListDataSelectorsType

type OperatingConstraintsDurationListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsDurationListDataType

type OperatingConstraintsDurationListDataType struct {
	OperatingConstraintsDurationData []OperatingConstraintsDurationDataType `json:"operatingConstraintsDurationData,omitempty"`
}

func (*OperatingConstraintsDurationListDataType) UpdateList

func (r *OperatingConstraintsDurationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type OperatingConstraintsInterruptDataElementsType

type OperatingConstraintsInterruptDataElementsType struct {
	SequenceId                  *ElementTagType `json:"sequenceId,omitempty"`
	IsPausable                  *ElementTagType `json:"isPausable,omitempty"`
	IsStoppable                 *ElementTagType `json:"isStoppable,omitempty"`
	NotInterruptibleAtHighPower *ElementTagType `json:"notInterruptibleAtHighPower,omitempty"`
	MaxCyclesPerDay             *ElementTagType `json:"maxCyclesPerDay,omitempty"`
}

type OperatingConstraintsInterruptDataType

type OperatingConstraintsInterruptDataType struct {
	SequenceId                  *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
	IsPausable                  *bool                `json:"isPausable,omitempty"`
	IsStoppable                 *bool                `json:"isStoppable,omitempty"`
	NotInterruptibleAtHighPower *bool                `json:"notInterruptibleAtHighPower,omitempty"`
	MaxCyclesPerDay             *uint                `json:"maxCyclesPerDay,omitempty"`
}

type OperatingConstraintsInterruptListDataSelectorsType

type OperatingConstraintsInterruptListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsInterruptListDataType

type OperatingConstraintsInterruptListDataType struct {
	OperatingConstraintsInterruptData []OperatingConstraintsInterruptDataType `json:"operatingConstraintsInterruptData,omitempty"`
}

func (*OperatingConstraintsInterruptListDataType) UpdateList

func (r *OperatingConstraintsInterruptListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type OperatingConstraintsPowerDescriptionDataElementsType

type OperatingConstraintsPowerDescriptionDataElementsType struct {
	SequenceId              *ElementTagType `json:"sequenceId,omitempty"`
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *ElementTagType `json:"powerUnit,omitempty"`
	EnergyUnit              *ElementTagType `json:"energyUnit,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type OperatingConstraintsPowerDescriptionDataType

type OperatingConstraintsPowerDescriptionDataType struct {
	SequenceId              *PowerSequenceIdType   `json:"sequenceId,omitempty" eebus:"key"`
	PositiveEnergyDirection *EnergyDirectionType   `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *UnitOfMeasurementType `json:"powerUnit,omitempty"`
	EnergyUnit              *UnitOfMeasurementType `json:"energyUnit,omitempty"`
	Description             *DescriptionType       `json:"description,omitempty"`
}

type OperatingConstraintsPowerDescriptionListDataSelectorsType

type OperatingConstraintsPowerDescriptionListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsPowerDescriptionListDataType

type OperatingConstraintsPowerDescriptionListDataType struct {
	OperatingConstraintsPowerDescriptionData []OperatingConstraintsPowerDescriptionDataType `json:"operatingConstraintsPowerDescriptionData,omitempty"`
}

func (*OperatingConstraintsPowerDescriptionListDataType) UpdateList

func (r *OperatingConstraintsPowerDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type OperatingConstraintsPowerLevelDataElementsType

type OperatingConstraintsPowerLevelDataElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
	Power      *ElementTagType `json:"power,omitempty"`
}

type OperatingConstraintsPowerLevelDataType

type OperatingConstraintsPowerLevelDataType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
	Power      *ScaledNumberType    `json:"power,omitempty"`
}

type OperatingConstraintsPowerLevelListDataSelectorsType

type OperatingConstraintsPowerLevelListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsPowerLevelListDataType

type OperatingConstraintsPowerLevelListDataType struct {
	OperatingConstraintsPowerLevelData []OperatingConstraintsPowerLevelDataType `json:"operatingConstraintsPowerLevelData,omitempty"`
}

func (*OperatingConstraintsPowerLevelListDataType) UpdateList

func (r *OperatingConstraintsPowerLevelListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type OperatingConstraintsPowerRangeDataElementsType

type OperatingConstraintsPowerRangeDataElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
	PowerMin   *ElementTagType `json:"powerMin,omitempty"`
	PowerMax   *ElementTagType `json:"powerMax,omitempty"`
	EnergyMin  *ElementTagType `json:"energyMin,omitempty"`
	EnergyMax  *ElementTagType `json:"energyMax,omitempty"`
}

type OperatingConstraintsPowerRangeDataType

type OperatingConstraintsPowerRangeDataType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
	PowerMin   *ScaledNumberType    `json:"powerMin,omitempty"`
	PowerMax   *ScaledNumberType    `json:"powerMax,omitempty"`
	EnergyMin  *ScaledNumberType    `json:"energyMin,omitempty"`
	EnergyMax  *ScaledNumberType    `json:"energyMax,omitempty"`
}

type OperatingConstraintsPowerRangeListDataSelectorsType

type OperatingConstraintsPowerRangeListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsPowerRangeListDataType

type OperatingConstraintsPowerRangeListDataType struct {
	OperatingConstraintsPowerRangeData []OperatingConstraintsPowerRangeDataType `json:"operatingConstraintsPowerRangeData,omitempty"`
}

func (*OperatingConstraintsPowerRangeListDataType) UpdateList

func (r *OperatingConstraintsPowerRangeListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type OperatingConstraintsResumeImplicationDataElementsType

type OperatingConstraintsResumeImplicationDataElementsType struct {
	SequenceId            *ElementTagType           `json:"sequenceId,omitempty"`
	ResumeEnergyEstimated *ScaledNumberElementsType `json:"resumeEnergyEstimated,omitempty"`
	EnergyUnit            *ElementTagType           `json:"energyUnit,omitempty"`
	ResumeCostEstimated   *ScaledNumberElementsType `json:"resumeCostEstimated,omitempty"`
	Currency              *ElementTagType           `json:"currency,omitempty"`
}

type OperatingConstraintsResumeImplicationDataType

type OperatingConstraintsResumeImplicationDataType struct {
	SequenceId            *PowerSequenceIdType   `json:"sequenceId,omitempty" eebus:"key"`
	ResumeEnergyEstimated *ScaledNumberType      `json:"resumeEnergyEstimated,omitempty"`
	EnergyUnit            *UnitOfMeasurementType `json:"energyUnit,omitempty"`
	ResumeCostEstimated   *ScaledNumberType      `json:"resumeCostEstimated,omitempty"`
	Currency              *CurrencyType          `json:"currency,omitempty"`
}

type OperatingConstraintsResumeImplicationListDataSelectorsType

type OperatingConstraintsResumeImplicationListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type OperatingConstraintsResumeImplicationListDataType

type OperatingConstraintsResumeImplicationListDataType struct {
	OperatingConstraintsResumeImplicationData []OperatingConstraintsResumeImplicationDataType `json:"operatingConstraintsResumeImplicationData,omitempty"`
}

func (*OperatingConstraintsResumeImplicationListDataType) UpdateList

func (r *OperatingConstraintsResumeImplicationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PayloadType

type PayloadType struct {
	Cmd []CmdType `json:"cmd"`
}

type PossibleOperationsClassifierType

type PossibleOperationsClassifierType struct {
	Partial *ElementTagType `json:"partial,omitempty"`
}

type PossibleOperationsElementsType

type PossibleOperationsElementsType struct {
	Read  *ElementTagType `json:"read,omitempty"`
	Write *ElementTagType `json:"write,omitempty"`
}

type PossibleOperationsReadType

type PossibleOperationsReadType struct {
	Partial *ElementTagType `json:"partial,omitempty"`
}

type PossibleOperationsType

type PossibleOperationsType struct {
	Read  *PossibleOperationsReadType  `json:"read,omitempty"`
	Write *PossibleOperationsWriteType `json:"write,omitempty"`
}

type PossibleOperationsWriteType

type PossibleOperationsWriteType struct {
	Partial *ElementTagType `json:"partial,omitempty"`
}

type PowerSequenceAlternativesRelationDataElementsType

type PowerSequenceAlternativesRelationDataElementsType struct {
	AlternativesId *ElementTagType `json:"alternativesId,omitempty"`
	SequenceId     *ElementTagType `json:"sequenceId,omitempty"`
}

type PowerSequenceAlternativesRelationDataType

type PowerSequenceAlternativesRelationDataType struct {
	AlternativesId *AlternativesIdType   `json:"alternativesId,omitempty" eebus:"key"`
	SequenceId     []PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceAlternativesRelationListDataSelectorsType

type PowerSequenceAlternativesRelationListDataSelectorsType struct {
	AlternativesId *AlternativesIdType   `json:"alternativesId,omitempty"`
	SequenceId     []PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceAlternativesRelationListDataType

type PowerSequenceAlternativesRelationListDataType struct {
	PowerSequenceAlternativesRelationData []PowerSequenceAlternativesRelationDataType `json:"powerSequenceAlternativesRelationData,omitempty"`
}

func (*PowerSequenceAlternativesRelationListDataType) UpdateList

func (r *PowerSequenceAlternativesRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceDescriptionDataElementsType

type PowerSequenceDescriptionDataElementsType struct {
	SequenceId              *ElementTagType `json:"sequenceId,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *ElementTagType `json:"powerUnit,omitempty"`
	EnergyUnit              *ElementTagType `json:"energyUnit,omitempty"`
	ValueSource             *ElementTagType `json:"valueSource,omitempty"`
	Scope                   *ElementTagType `json:"scope,omitempty"`
	TaskIdentifier          *ElementTagType `json:"taskIdentifier,omitempty"`
	RepetitionsTotal        *ElementTagType `json:"repetitionsTotal,omitempty"`
}

type PowerSequenceDescriptionDataType

type PowerSequenceDescriptionDataType struct {
	SequenceId              *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	Description             *DescriptionType            `json:"description,omitempty"`
	PositiveEnergyDirection *EnergyDirectionType        `json:"positiveEnergyDirection,omitempty"`
	PowerUnit               *UnitOfMeasurementType      `json:"powerUnit,omitempty"`
	EnergyUnit              *UnitOfMeasurementType      `json:"energyUnit,omitempty"`
	ValueSource             *MeasurementValueSourceType `json:"valueSource,omitempty"`
	Scope                   *PowerSequenceScopeType     `json:"scope,omitempty"`
	TaskIdentifier          *uint                       `json:"taskIdentifier,omitempty"`
	RepetitionsTotal        *uint                       `json:"repetitionsTotal,omitempty"`
}

type PowerSequenceDescriptionListDataSelectorsType

type PowerSequenceDescriptionListDataSelectorsType struct {
	SequenceId []PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceDescriptionListDataType

type PowerSequenceDescriptionListDataType struct {
	PowerSequenceDescriptionData []PowerSequenceDescriptionDataType `json:"powerSequenceDescriptionData,omitempty"`
}

func (*PowerSequenceDescriptionListDataType) UpdateList

func (r *PowerSequenceDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceIdType

type PowerSequenceIdType uint

type PowerSequenceNodeScheduleInformationDataElementsType

type PowerSequenceNodeScheduleInformationDataElementsType struct {
	NodeRemoteControllable           *ElementTagType `json:"nodeRemoteControllable,omitempty"`
	SupportsSingleSlotSchedulingOnly *ElementTagType `json:"supportsSingleSlotSchedulingOnly,omitempty"`
	AlternativesCount                *ElementTagType `json:"alternativesCount,omitempty"`
	TotalSequencesCountMax           *ElementTagType `json:"totalSequencesCountMax,omitempty"`
	SupportsReselection              *ElementTagType `json:"supportsReselection,omitempty"`
}

type PowerSequenceNodeScheduleInformationDataType

type PowerSequenceNodeScheduleInformationDataType struct {
	NodeRemoteControllable           *bool `json:"nodeRemoteControllable,omitempty"`
	SupportsSingleSlotSchedulingOnly *bool `json:"supportsSingleSlotSchedulingOnly,omitempty"`
	AlternativesCount                *uint `json:"alternativesCount,omitempty"`
	TotalSequencesCountMax           *uint `json:"totalSequencesCountMax,omitempty"`
	SupportsReselection              *bool `json:"supportsReselection,omitempty"`
}

type PowerSequencePriceCalculationRequestCallElementsType

type PowerSequencePriceCalculationRequestCallElementsType struct {
	SequenceId         *ElementTagType `json:"sequenceId,omitempty"`
	PotentialStartTime *ElementTagType `json:"potentialStartTime,omitempty"`
}

type PowerSequencePriceCalculationRequestCallType

type PowerSequencePriceCalculationRequestCallType struct {
	SequenceId         *PowerSequenceIdType        `json:"sequenceId,omitempty"`
	PotentialStartTime *AbsoluteOrRelativeTimeType `json:"potentialStartTime,omitempty"`
}

type PowerSequencePriceDataElementsType

type PowerSequencePriceDataElementsType struct {
	SequenceId         *ElementTagType `json:"sequenceId,omitempty"`
	PotentialStartTime *ElementTagType `json:"potentialStartTime,omitempty"`
	Price              *ElementTagType `json:"price,omitempty"`
	Currency           *ElementTagType `json:"currency,omitempty"`
}

type PowerSequencePriceDataType

type PowerSequencePriceDataType struct {
	SequenceId         *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	PotentialStartTime *AbsoluteOrRelativeTimeType `json:"potentialStartTime,omitempty"`
	Price              *ScaledNumberType           `json:"price,omitempty"`
	Currency           *CurrencyType               `json:"currency,omitempty"`
}

type PowerSequencePriceListDataSelectorsType

type PowerSequencePriceListDataSelectorsType struct {
	SequenceId                 *PowerSequenceIdType        `json:"sequenceId,omitempty"`
	PotentialStartTimeInterval *AbsoluteOrRelativeTimeType `json:"potentialStartTimeInterval,omitempty"`
}

type PowerSequencePriceListDataType

type PowerSequencePriceListDataType struct {
	PowerSequencePriceData []PowerSequencePriceDataType `json:"powerSequencePriceData,omitempty"`
}

func (*PowerSequencePriceListDataType) UpdateList

func (r *PowerSequencePriceListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceScheduleConfigurationRequestCallElementsType

type PowerSequenceScheduleConfigurationRequestCallElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
}

type PowerSequenceScheduleConfigurationRequestCallType

type PowerSequenceScheduleConfigurationRequestCallType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceScheduleConstraintsDataElementsType

type PowerSequenceScheduleConstraintsDataElementsType struct {
	SequenceId        *ElementTagType `json:"sequenceId,omitempty"`
	EarliestStartTime *ElementTagType `json:"earliestStartTime,omitempty"`
	LatestStartTime   *ElementTagType `json:"latestStartTime,omitempty"`
	EarliestEndTime   *ElementTagType `json:"earliestEndTime,omitempty"`
	LatestEndTime     *ElementTagType `json:"latestEndTime,omitempty"`
	OptionalSequence  *ElementTagType `json:"optionalSequence,omitempty"`
}

type PowerSequenceScheduleConstraintsDataType

type PowerSequenceScheduleConstraintsDataType struct {
	SequenceId        *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	EarliestStartTime *AbsoluteOrRelativeTimeType `json:"earliestStartTime,omitempty"`
	LatestStartTime   *AbsoluteOrRelativeTimeType `json:"latestStartTime,omitempty"`
	EarliestEndTime   *AbsoluteOrRelativeTimeType `json:"earliestEndTime,omitempty"`
	LatestEndTime     *AbsoluteOrRelativeTimeType `json:"latestEndTime,omitempty"`
	OptionalSequence  *bool                       `json:"optionalSequence,omitempty"`
}

type PowerSequenceScheduleConstraintsListDataSelectorsType

type PowerSequenceScheduleConstraintsListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceScheduleConstraintsListDataType

type PowerSequenceScheduleConstraintsListDataType struct {
	PowerSequenceScheduleConstraintsData []PowerSequenceScheduleConstraintsDataType `json:"powerSequenceScheduleConstraintsData,omitempty"`
}

func (*PowerSequenceScheduleConstraintsListDataType) UpdateList

func (r *PowerSequenceScheduleConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceScheduleDataElementsType

type PowerSequenceScheduleDataElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
	StartTime  *ElementTagType `json:"startTime,omitempty"`
	EndTime    *ElementTagType `json:"endTime,omitempty"`
}

type PowerSequenceScheduleDataType

type PowerSequenceScheduleDataType struct {
	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	StartTime  *AbsoluteOrRelativeTimeType `json:"startTime,omitempty"`
	EndTime    *AbsoluteOrRelativeTimeType `json:"endTime,omitempty"`
}

type PowerSequenceScheduleListDataSelectorsType

type PowerSequenceScheduleListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceScheduleListDataType

type PowerSequenceScheduleListDataType struct {
	PowerSequenceScheduleData []PowerSequenceScheduleDataType `json:"powerSequenceScheduleData,omitempty"`
}

func (*PowerSequenceScheduleListDataType) UpdateList

func (r *PowerSequenceScheduleListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceSchedulePreferenceDataElementsType

type PowerSequenceSchedulePreferenceDataElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
	Greenest   *ElementTagType `json:"greenest,omitempty"`
	Cheapest   *ElementTagType `json:"cheapest,omitempty"`
}

type PowerSequenceSchedulePreferenceDataType

type PowerSequenceSchedulePreferenceDataType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty" eebus:"key"`
	Greenest   *bool                `json:"greenest,omitempty"`
	Cheapest   *bool                `json:"cheapest,omitempty"`
}

type PowerSequenceSchedulePreferenceListDataSelectorsType

type PowerSequenceSchedulePreferenceListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceSchedulePreferenceListDataType

type PowerSequenceSchedulePreferenceListDataType struct {
	PowerSequenceSchedulePreferenceData []PowerSequenceSchedulePreferenceDataType `json:"powerSequenceSchedulePreferenceData,omitempty"`
}

func (*PowerSequenceSchedulePreferenceListDataType) UpdateList

func (r *PowerSequenceSchedulePreferenceListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceScopeType

type PowerSequenceScopeType string
const (
	PowerSequenceScopeTypeForecast       PowerSequenceScopeType = "forecast"
	PowerSequenceScopeTypeMeasurement    PowerSequenceScopeType = "measurement"
	PowerSequenceScopeTypeRecommendation PowerSequenceScopeType = "recommendation"
)

type PowerSequenceStateDataElementsType

type PowerSequenceStateDataElementsType struct {
	SequenceId                 *ElementTagType `json:"sequenceId,omitempty"`
	State                      *ElementTagType `json:"state,omitempty"`
	ActiveSlotNumber           *ElementTagType `json:"activeSlotNumber,omitempty"`
	ElapsedSlotTime            *ElementTagType `json:"elapsedSlotTime,omitempty"`
	RemainingSlotTime          *ElementTagType `json:"remainingSlotTime,omitempty"`
	SequenceRemoteControllable *ElementTagType `json:"sequenceRemoteControllable,omitempty"`
	ActiveRepetitionNumber     *ElementTagType `json:"activeRepetitionNumber,omitempty"`
	RemainingPauseTime         *ElementTagType `json:"remainingPauseTime,omitempty"`
}

type PowerSequenceStateDataType

type PowerSequenceStateDataType struct {
	SequenceId                 *PowerSequenceIdType     `json:"sequenceId,omitempty" eebus:"key"`
	State                      *PowerSequenceStateType  `json:"state,omitempty"`
	ActiveSlotNumber           *PowerTimeSlotNumberType `json:"activeSlotNumber,omitempty"`
	ElapsedSlotTime            *DurationType            `json:"elapsedSlotTime,omitempty"`
	RemainingSlotTime          *DurationType            `json:"remainingSlotTime,omitempty"`
	SequenceRemoteControllable *bool                    `json:"sequenceRemoteControllable,omitempty"`
	ActiveRepetitionNumber     *uint                    `json:"activeRepetitionNumber,omitempty"`
	RemainingPauseTime         *DurationType            `json:"remainingPauseTime,omitempty"`
}

type PowerSequenceStateListDataSelectorsType

type PowerSequenceStateListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type PowerSequenceStateListDataType

type PowerSequenceStateListDataType struct {
	PowerSequenceStateData []PowerSequenceStateDataType `json:"powerSequenceStateData,omitempty"`
}

func (*PowerSequenceStateListDataType) UpdateList

func (r *PowerSequenceStateListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerSequenceStateType

type PowerSequenceStateType string
const (
	PowerSequenceStateTypeRunning         PowerSequenceStateType = "running"
	PowerSequenceStateTypePaused          PowerSequenceStateType = "paused"
	PowerSequenceStateTypeScheduled       PowerSequenceStateType = "scheduled"
	PowerSequenceStateTypeScheduledPaused PowerSequenceStateType = "scheduledPaused"
	PowerSequenceStateTypePending         PowerSequenceStateType = "pending"
	PowerSequenceStateTypeInactive        PowerSequenceStateType = "inactive"
	PowerSequenceStateTypeCompleted       PowerSequenceStateType = "completed"
	PowerSequenceStateTypeInvalid         PowerSequenceStateType = "invalid"
)

type PowerSourceType

type PowerSourceType string
const (
	PowerSourceTypeUnknown          PowerSourceType = "unknown"
	PowerSourceTypeMainssinglephase PowerSourceType = "mainsSinglePhase"
	PowerSourceTypeMains3Phase      PowerSourceType = "mains3Phase"
	PowerSourceTypeBattery          PowerSourceType = "battery"
	PowerSourceTypeDc               PowerSourceType = "dc"
)

type PowerSupplyConditionType

type PowerSupplyConditionType string
const (
	PowerSupplyConditionTypeGood     PowerSupplyConditionType = "good"
	PowerSupplyConditionTypeLow      PowerSupplyConditionType = "low"
	PowerSupplyConditionTypeCritical PowerSupplyConditionType = "critical"
	PowerSupplyConditionTypeUnknown  PowerSupplyConditionType = "unknown"
	PowerSupplyConditionTypeError    PowerSupplyConditionType = "error"
)

type PowerTimeSlotNumberType

type PowerTimeSlotNumberType uint

type PowerTimeSlotScheduleConstraintsDataElementsType

type PowerTimeSlotScheduleConstraintsDataElementsType struct {
	SequenceId        *ElementTagType `json:"sequenceId,omitempty"`
	SlotNumber        *ElementTagType `json:"slotNumber,omitempty"`
	EarliestStartTime *ElementTagType `json:"earliestStartTime,omitempty"`
	LatestEndTime     *ElementTagType `json:"latestEndTime,omitempty"`
	MinDuration       *ElementTagType `json:"minDuration,omitempty"`
	MaxDuration       *ElementTagType `json:"maxDuration,omitempty"`
	OptionalSlot      *ElementTagType `json:"optionalSlot,omitempty"`
}

type PowerTimeSlotScheduleConstraintsDataType

type PowerTimeSlotScheduleConstraintsDataType struct {
	SequenceId        *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	SlotNumber        *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
	EarliestStartTime *AbsoluteOrRelativeTimeType `json:"earliestStartTime,omitempty"`
	LatestEndTime     *AbsoluteOrRelativeTimeType `json:"latestEndTime,omitempty"`
	MinDuration       *DurationType               `json:"minDuration,omitempty"`
	MaxDuration       *DurationType               `json:"maxDuration,omitempty"`
	OptionalSlot      *bool                       `json:"optionalSlot,omitempty"`
}

type PowerTimeSlotScheduleConstraintsListDataSelectorsType

type PowerTimeSlotScheduleConstraintsListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType     `json:"sequenceId,omitempty"`
	SlotNumber *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
}

type PowerTimeSlotScheduleConstraintsListDataType

type PowerTimeSlotScheduleConstraintsListDataType struct {
	PowerTimeSlotScheduleConstraintsData []PowerTimeSlotScheduleConstraintsDataType `json:"powerTimeSlotScheduleConstraintsData,omitempty"`
}

func (*PowerTimeSlotScheduleConstraintsListDataType) UpdateList

func (r *PowerTimeSlotScheduleConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerTimeSlotScheduleDataElementsType

type PowerTimeSlotScheduleDataElementsType struct {
	SequenceId          *ElementTagType `json:"sequenceId,omitempty"`
	SlotNumber          *ElementTagType `json:"slotNumber,omitempty"`
	TimePeriod          *ElementTagType `json:"timePeriod,omitempty"`
	DefaultDuration     *ElementTagType `json:"defaultDuration,omitempty"`
	DurationUncertainty *ElementTagType `json:"durationUncertainty,omitempty"`
	SlotActivated       *ElementTagType `json:"slotActivated,omitempty"`
	Description         *ElementTagType `json:"description,omitempty"`
}

type PowerTimeSlotScheduleDataType

type PowerTimeSlotScheduleDataType struct {
	SequenceId          *PowerSequenceIdType     `json:"sequenceId,omitempty" eebus:"key"`
	SlotNumber          *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
	TimePeriod          *TimePeriodType          `json:"timePeriod,omitempty"`
	DefaultDuration     *DurationType            `json:"defaultDuration,omitempty"`
	DurationUncertainty *DurationType            `json:"durationUncertainty,omitempty"`
	SlotActivated       *bool                    `json:"slotActivated,omitempty"`
	Description         *DescriptionType         `json:"description,omitempty"`
}

type PowerTimeSlotScheduleListDataSelectorsType

type PowerTimeSlotScheduleListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType     `json:"sequenceId,omitempty"`
	SlotNumber *PowerTimeSlotNumberType `json:"slotNumber,omitempty"`
}

type PowerTimeSlotScheduleListDataType

type PowerTimeSlotScheduleListDataType struct {
	PowerTimeSlotScheduleData []PowerTimeSlotScheduleDataType `json:"powerTimeSlotScheduleData,omitempty"`
}

func (*PowerTimeSlotScheduleListDataType) UpdateList

func (r *PowerTimeSlotScheduleListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerTimeSlotValueDataElementsType

type PowerTimeSlotValueDataElementsType struct {
	SequenceId *ElementTagType           `json:"sequenceId,omitempty"`
	SlotNumber *ElementTagType           `json:"slotNumber,omitempty"`
	ValueType  *ElementTagType           `json:"valueType,omitempty"`
	Value      *ScaledNumberElementsType `json:"value,omitempty"`
}

type PowerTimeSlotValueDataType

type PowerTimeSlotValueDataType struct {
	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty" eebus:"key"`
	SlotNumber *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
	ValueType  *PowerTimeSlotValueTypeType `json:"valueType,omitempty"`
	Value      *ScaledNumberType           `json:"value,omitempty"`
}

type PowerTimeSlotValueListDataSelectorsType

type PowerTimeSlotValueListDataSelectorsType struct {
	SequenceId *PowerSequenceIdType        `json:"sequenceId,omitempty"`
	SlotNumber *PowerTimeSlotNumberType    `json:"slotNumber,omitempty"`
	ValueType  *PowerTimeSlotValueTypeType `json:"valueType,omitempty"`
}

type PowerTimeSlotValueListDataType

type PowerTimeSlotValueListDataType struct {
	PowerTimeSlotValueData []PowerTimeSlotValueDataType `json:"powerTimeSlotValueListData,omitempty"`
}

func (*PowerTimeSlotValueListDataType) UpdateList

func (r *PowerTimeSlotValueListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type PowerTimeSlotValueTypeType

type PowerTimeSlotValueTypeType string
const (
	PowerTimeSlotValueTypeTypePower                   PowerTimeSlotValueTypeType = "power"
	PowerTimeSlotValueTypeTypePowerMin                PowerTimeSlotValueTypeType = "powerMin"
	PowerTimeSlotValueTypeTypePowerMax                PowerTimeSlotValueTypeType = "powerMax"
	PowerTimeSlotValueTypeTypePowerExpectedValue      PowerTimeSlotValueTypeType = "powerExpectedValue"
	PowerTimeSlotValueTypeTypePowerStandardDeviation  PowerTimeSlotValueTypeType = "powerStandardDeviation"
	PowerTimeSlotValueTypeTypePowerSkewness           PowerTimeSlotValueTypeType = "powerSkewness"
	PowerTimeSlotValueTypeTypeEnergy                  PowerTimeSlotValueTypeType = "energy"
	PowerTimeSlotValueTypeTypeEnergyMin               PowerTimeSlotValueTypeType = "energyMin"
	PowerTimeSlotValueTypeTypeEnergyMax               PowerTimeSlotValueTypeType = "energyMax"
	PowerTimeSlotValueTypeTypeEnergyExpectedValue     PowerTimeSlotValueTypeType = "energyExpectedValue"
	PowerTimeSlotValueTypeTypeEnergyStandardDeviation PowerTimeSlotValueTypeType = "energyStandardDeviation"
	PowerTimeSlotValueTypeTypeEnergySkewness          PowerTimeSlotValueTypeType = "energySkewness"
)

type PurposeIdType

type PurposeIdType string

type RecurrenceInformationElementsType

type RecurrenceInformationElementsType struct {
	RecurringInterval     *ElementTagType `json:"recurringInterval,omitempty"`
	RecurringIntervalStep *ElementTagType `json:"recurringIntervalStep,omitempty"`
	FirstExecution        *ElementTagType `json:"firstExecution,omitempty"`
	ExecutionCount        *ElementTagType `json:"executionCount,omitempty"`
	LastExecution         *ElementTagType `json:"lastExecution,omitempty"`
}

type RecurrenceInformationType

type RecurrenceInformationType struct {
	RecurringInterval     *RecurringIntervalType `json:"recurringInterval,omitempty"`
	RecurringIntervalStep *uint                  `json:"recurringIntervalStep,omitempty"`
	FirstExecution        *DateTimeType          `json:"firstExecution,omitempty"`
	ExecutionCount        *uint                  `json:"executionCount,omitempty"`
	LastExecution         *DateTimeType          `json:"lastExecution,omitempty"`
}

type RecurringIntervalType

type RecurringIntervalType string
const (
	RecurringIntervalTypeYearly      RecurringIntervalType = "yearly"
	RecurringIntervalTypeMonthly     RecurringIntervalType = "monthly"
	RecurringIntervalTypeWeekly      RecurringIntervalType = "weekly"
	RecurringIntervalTypeDaily       RecurringIntervalType = "daily"
	RecurringIntervalTypeHourly      RecurringIntervalType = "hourly"
	RecurringIntervalTypeEveryminute RecurringIntervalType = "everyMinute"
	RecurringIntervalTypeEverysecond RecurringIntervalType = "everySecond"
)

type ResultDataType

type ResultDataType struct {
	ErrorNumber *ErrorNumberType `json:"errorNumber,omitempty"`
	Description *DescriptionType `json:"description,omitempty"`
}

type RoleType

type RoleType string
const (
	RoleTypeClient  RoleType = "client"
	RoleTypeServer  RoleType = "server"
	RoleTypeSpecial RoleType = "special"
)

type ScaleType

type ScaleType int8

type ScaledNumberElementsType

type ScaledNumberElementsType struct {
	Number *ElementTagType `json:"number,omitempty"`
	Scale  *ElementTagType `json:"scale,omitempty"`
}

type ScaledNumberRangeElementsType

type ScaledNumberRangeElementsType struct {
	Min *ElementTagType `json:"min,omitempty"`
	Max *ElementTagType `json:"max,omitempty"`
}

type ScaledNumberRangeType

type ScaledNumberRangeType struct {
	Min *ScaledNumberType `json:"min,omitempty"`
	Max *ScaledNumberType `json:"max,omitempty"`
}

type ScaledNumberSetElementsType

type ScaledNumberSetElementsType struct {
	Value *ElementTagType `json:"value,omitempty"`
	Range *ElementTagType `json:"range,omitempty"`
}

type ScaledNumberSetType

type ScaledNumberSetType struct {
	Value []ScaledNumberType      `json:"value,omitempty"`
	Range []ScaledNumberRangeType `json:"range,omitempty"`
}

type ScaledNumberType

type ScaledNumberType struct {
	Number *NumberType `json:"number,omitempty"`
	Scale  *ScaleType  `json:"scale,omitempty"`
}

func NewScaledNumberType

func NewScaledNumberType(value float64) *ScaledNumberType

func (*ScaledNumberType) GetValue

func (m *ScaledNumberType) GetValue() float64

type ScopeTypeType

type ScopeTypeType string
const (
	ScopeTypeTypeAC                              ScopeTypeType = "ac"
	ScopeTypeTypeACCosPhiGrid                    ScopeTypeType = "acCosPhiGrid"
	ScopeTypeTypeACCurrentA                      ScopeTypeType = "acCurrentA"
	ScopeTypeTypeACCurrentB                      ScopeTypeType = "acCurrentB"
	ScopeTypeTypeACCurrentC                      ScopeTypeType = "acCurrentC"
	ScopeTypeTypeACFrequency                     ScopeTypeType = "acFrequency"
	ScopeTypeTypeACFrequencyGrid                 ScopeTypeType = "acFrequencyGrid"
	ScopeTypeTypeACPowerA                        ScopeTypeType = "acPowerA"
	ScopeTypeTypeACPowerB                        ScopeTypeType = "acPowerB"
	ScopeTypeTypeACPowerC                        ScopeTypeType = "acPowerC"
	ScopeTypeTypeACPowerLimitPct                 ScopeTypeType = "acPowerLimitPct"
	ScopeTypeTypeACPowerTotal                    ScopeTypeType = "acPowerTotal"
	ScopeTypeTypeACVoltageA                      ScopeTypeType = "acVoltageA"
	ScopeTypeTypeACVoltageB                      ScopeTypeType = "acVoltageB"
	ScopeTypeTypeACVoltageC                      ScopeTypeType = "acVoltageC"
	ScopeTypeTypeACYieldDay                      ScopeTypeType = "acYieldDay"
	ScopeTypeTypeACYieldTotal                    ScopeTypeType = "acYieldTotal"
	ScopeTypeTypeDCCurrent                       ScopeTypeType = "dcCurrent"
	ScopeTypeTypeDCPower                         ScopeTypeType = "dcPower"
	ScopeTypeTypeDCString1                       ScopeTypeType = "dcString1"
	ScopeTypeTypeDCString2                       ScopeTypeType = "dcString2"
	ScopeTypeTypeDCString3                       ScopeTypeType = "dcString3"
	ScopeTypeTypeDCString4                       ScopeTypeType = "dcString4"
	ScopeTypeTypeDCString5                       ScopeTypeType = "dcString5"
	ScopeTypeTypeDCString6                       ScopeTypeType = "dcString6"
	ScopeTypeTypeDCTotal                         ScopeTypeType = "dcTotal"
	ScopeTypeTypeDCVoltage                       ScopeTypeType = "dcVoltage"
	ScopeTypeTypeDhwTemperature                  ScopeTypeType = "dhwTemperature"
	ScopeTypeTypeFlowTemperature                 ScopeTypeType = "flowTemperature"
	ScopeTypeTypeOutsideAirTemperature           ScopeTypeType = "outsideAirTemperature"
	ScopeTypeTypeReturnTemperature               ScopeTypeType = "returnTemperature"
	ScopeTypeTypeRoomAirTemperature              ScopeTypeType = "roomAirTemperature"
	ScopeTypeTypeCharge                          ScopeTypeType = "charge"
	ScopeTypeTypeStateOfCharge                   ScopeTypeType = "stateOfCharge"
	ScopeTypeTypeDischarge                       ScopeTypeType = "discharge"
	ScopeTypeTypeGridConsumption                 ScopeTypeType = "gridConsumption"
	ScopeTypeTypeGridFeedIn                      ScopeTypeType = "gridFeedIn"
	ScopeTypeTypeSelfConsumption                 ScopeTypeType = "selfConsumption"
	ScopeTypeTypeOverloadProtection              ScopeTypeType = "overloadProtection"
	ScopeTypeTypeACPower                         ScopeTypeType = "acPower"
	ScopeTypeTypeACEnergy                        ScopeTypeType = "acEnergy"
	ScopeTypeTypeACCurrent                       ScopeTypeType = "acCurrent"
	ScopeTypeTypeACVoltage                       ScopeTypeType = "acVoltage"
	ScopeTypeTypeBatteryControl                  ScopeTypeType = "batteryControl"
	ScopeTypeTypeSimpleIncentiveTable            ScopeTypeType = "simpleIncentiveTable"
	ScopeTypeTypeStateOfHealth                   ScopeTypeType = "stateOfHealth"
	ScopeTypeTypeTravelRange                     ScopeTypeType = "travelRange"
	ScopeTypeTypeNominalEnergyCapacity           ScopeTypeType = "nominalEnergyCapacity"
	ScopeTypeTypeACPowerReal                     ScopeTypeType = "acPowerReal"
	ScopeTypeTypeACPowerApparent                 ScopeTypeType = "acPowerApparent"
	ScopeTypeTypeACPowerReactive                 ScopeTypeType = "acPowerReactive"
	ScopeTypeTypeACYieldMonth                    ScopeTypeType = "acYieldMonth"
	ScopeTypeTypeACYieldYear                     ScopeTypeType = "acYieldYear"
	ScopeTypeTypeACCosPhi                        ScopeTypeType = "acCosPhi"
	ScopeTypeTypeDCEnergy                        ScopeTypeType = "dcEnergy"
	ScopeTypeTypeInsulationResistance            ScopeTypeType = "insulationResistance"
	ScopeTypeTypeStateOfEnergy                   ScopeTypeType = "stateOfEnergy"
	ScopeTypeTypeUseableCapacity                 ScopeTypeType = "useableCapacity"
	ScopeTypeTypeDCChargeEnergy                  ScopeTypeType = "dcChargeEnergy"
	ScopeTypeTypeDCDischargeEnergy               ScopeTypeType = "dcDischargeEnergy"
	ScopeTypeTypeLoadCycleCount                  ScopeTypeType = "loadCycleCount"
	ScopeTypeTypeComponentTemperature            ScopeTypeType = "componentTemperature"
	ScopeTypeTypeGridLimit                       ScopeTypeType = "gridLimit"
	ScopeTypeTypeGridLimitFallback               ScopeTypeType = "gridLimitFallback"
	ScopeTypeTypeACPowerApparentTotal            ScopeTypeType = "acPowerApparentTotal"
	ScopeTypeTypeACPowerReactiveTotal            ScopeTypeType = "acPowerReactiveTotal"
	ScopeTypeTypeACCurrentTotal                  ScopeTypeType = "acCurrentTotal"
	ScopeTypeTypeACEnergyConsumed                ScopeTypeType = "acEnergyConsumed"
	ScopeTypeTypeACEnergyProduced                ScopeTypeType = "acEnergyProduced"
	ScopeTypeTypeBatteryAcPower                  ScopeTypeType = "batteryAcPower"
	ScopeTypeTypeBatteryAcPowerPhaseSpecific     ScopeTypeType = "batteryAcPowerPhaseSpecific"
	ScopeTypeTypeBatteryDcPower                  ScopeTypeType = "batteryDcPower"
	ScopeTypeTypePccPower                        ScopeTypeType = "pccPower"
	ScopeTypeTypeActivePowerLimit                ScopeTypeType = "activePowerLimit"
	ScopeTypeTypeActivePowerLimitPercentage      ScopeTypeType = "activePowerLimitPercentage"
	ScopeTypeTypeSimpleCommittedIncentiveTable   ScopeTypeType = "simpleCommittedIncentiveTable"
	ScopeTypeTypeSimplePreliminaryIncentiveTable ScopeTypeType = "simplePreliminaryIncentiveTable"
	ScopeTypeTypeCommittedPowerPlan              ScopeTypeType = "committedPowerPlan"
	ScopeTypeTypePreliminaryPowerPlan            ScopeTypeType = "preliminaryPowerPlan"
	ScopeTypeTypeIncentiveTableEnConsWithPoETF   ScopeTypeType = "incentiveTableEnConsWithPoETF"
	ScopeTypeTypeIncentiveTableEnProdWithPoETF   ScopeTypeType = "incentiveTableEnProdWithPoETF"
	ScopeTypeTypeIncentiveTableEnConsWithPoE     ScopeTypeType = "incentiveTableEnConsWithPoE"
	ScopeTypeTypeIncentiveTableEnProdWithPoE     ScopeTypeType = "incentiveTableEnProdWithPoE"
	ScopeTypeTypeIncentiveTableEnConsWithTF      ScopeTypeType = "incentiveTableEnConsWithTF"
	ScopeTypeTypeIncentiveTableEnProdWithTF      ScopeTypeType = "incentiveTableEnProdWithTF"
	ScopeTypeTypeActivePowerForecast             ScopeTypeType = "activePowerForecast"
)

type SensingDataElementsType

type SensingDataElementsType struct {
	Timestamp *ElementTagType           `json:"timestamp,omitempty"`
	State     *ElementTagType           `json:"state,omitempty"`
	Value     *ScaledNumberElementsType `json:"value,omitempty"`
}

type SensingDataType

type SensingDataType struct {
	Timestamp *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	State     *SensingStateType           `json:"state,omitempty"`
	Value     *ScaledNumberType           `json:"value,omitempty"`
}

type SensingDescriptionDataElementsType

type SensingDescriptionDataElementsType struct {
	SensingType *ElementTagType `json:"sensingType,omitempty"`
	Unit        *ElementTagType `json:"unit,omitempty"`
	ScopeType   *ElementTagType `json:"scopeType,omitempty"`
	Label       *ElementTagType `json:"label,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type SensingDescriptionDataType

type SensingDescriptionDataType struct {
	SensingType *SensingTypeType       `json:"sensingType,omitempty"`
	Unit        *UnitOfMeasurementType `json:"unit,omitempty"`
	ScopeType   *ScopeTypeType         `json:"scopeType,omitempty"`
	Label       *LabelType             `json:"label,omitempty"`
	Description *DescriptionType       `json:"description,omitempty"`
}

type SensingListDataSelectorsType

type SensingListDataSelectorsType struct {
	TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"`
}

type SensingListDataType

type SensingListDataType struct {
	SensingData []SensingDataType `json:"sensingData,omitempty"`
}

type SensingStateType

type SensingStateType string
const (
	SensingStateTypeOn                      SensingStateType = "on"
	SensingStateTypeOff                     SensingStateType = "off"
	SensingStateTypeToggle                  SensingStateType = "toggle"
	SensingStateTypeLevel                   SensingStateType = "level"
	SensingStateTypeLevelUp                 SensingStateType = "levelUp"
	SensingStateTypeLevelDown               SensingStateType = "levelDown"
	SensingStateTypeLevelStart              SensingStateType = "levelStart"
	SensingStateTypeLevelStop               SensingStateType = "levelStop"
	SensingStateTypeLevelAbsolute           SensingStateType = "levelAbsolute"
	SensingStateTypeLevelRelative           SensingStateType = "levelRelative"
	SensingStateTypeLevelPercentageAbsolute SensingStateType = "levelPercentageAbsolute"
	SensingStateTypeLevelPercentageRelative SensingStateType = "levelPercentageRelative"
	SensingStateTypePressed                 SensingStateType = "pressed"
	SensingStateTypeLongPressed             SensingStateType = "longPressed"
	SensingStateTypeReleased                SensingStateType = "released"
	SensingStateTypeChanged                 SensingStateType = "changed"
	SensingStateTypeStarted                 SensingStateType = "started"
	SensingStateTypeStopped                 SensingStateType = "stopped"
	SensingStateTypePaused                  SensingStateType = "paused"
	SensingStateTypeMiddle                  SensingStateType = "middle"
	SensingStateTypeUp                      SensingStateType = "up"
	SensingStateTypeDown                    SensingStateType = "down"
	SensingStateTypeForward                 SensingStateType = "forward"
	SensingStateTypeBackwards               SensingStateType = "backwards"
	SensingStateTypeOpen                    SensingStateType = "open"
	SensingStateTypeClosed                  SensingStateType = "closed"
	SensingStateTypeOpening                 SensingStateType = "opening"
	SensingStateTypeClosing                 SensingStateType = "closing"
	SensingStateTypeHigh                    SensingStateType = "high"
	SensingStateTypeLow                     SensingStateType = "low"
	SensingStateTypeDay                     SensingStateType = "day"
	SensingStateTypeNight                   SensingStateType = "night"
	SensingStateTypeDetected                SensingStateType = "detected"
	SensingStateTypeNotDetected             SensingStateType = "notDetected"
	SensingStateTypeAlarmed                 SensingStateType = "alarmed"
	SensingStateTypeNotAlarmed              SensingStateType = "notAlarmed"
)

type SensingTypeType

type SensingTypeType string
const (
	SensingTypeTypeSwitch            SensingTypeType = "switch"
	SensingTypeTypeButton            SensingTypeType = "button"
	SensingTypeTypeLevel             SensingTypeType = "level"
	SensingTypeTypeLevelSwitch       SensingTypeType = "levelSwitch"
	SensingTypeTypeWindowHandle      SensingTypeType = "windowHandle"
	SensingTypeTypeContactSensor     SensingTypeType = "contactSensor"
	SensingTypeTypeOccupancySensor   SensingTypeType = "occupancySensor"
	SensingTypeTypeMotionDetector    SensingTypeType = "motionDetector"
	SensingTypeTypeFireDetector      SensingTypeType = "fireDetector"
	SensingTypeTypeSmokeDetector     SensingTypeType = "smokeDetector"
	SensingTypeTypeHeatDetector      SensingTypeType = "heatDetector"
	SensingTypeTypeWaterDetector     SensingTypeType = "waterDetector"
	SensingTypeTypeGasDetector       SensingTypeType = "gasDetector"
	SensingTypeTypeAlarmSensor       SensingTypeType = "alarmSensor"
	SensingTypeTypePowerAlarmSensor  SensingTypeType = "powerAlarmSensor"
	SensingTypeTypeDayNightIndicator SensingTypeType = "dayNightIndicator"
)

type SessionIdType

type SessionIdType uint

type SessionIdentificationDataElementsType

type SessionIdentificationDataElementsType struct {
	SessionId        *ElementTagType         `json:"sessionId,omitempty"`
	IdentificationId *ElementTagType         `json:"identificationId,omitempty"`
	IsLatestSession  *ElementTagType         `json:"isLatestSession,omitempty"`
	TimePeriod       *TimePeriodElementsType `json:"timePeriod,omitempty"`
}

type SessionIdentificationDataType

type SessionIdentificationDataType struct {
	SessionId        *SessionIdType        `json:"sessionId,omitempty" eebus:"key"`
	IdentificationId *IdentificationIdType `json:"identificationId,omitempty"`
	IsLatestSession  *bool                 `json:"isLatestSession,omitempty"`
	TimePeriod       *TimePeriodType       `json:"timePeriod,omitempty"`
}

type SessionIdentificationListDataSelectorsType

type SessionIdentificationListDataSelectorsType struct {
	SessionId        *SessionIdType        `json:"sessionId,omitempty"`
	IdentificationId *IdentificationIdType `json:"identificationId,omitempty"`
	IsLatestSession  *bool                 `json:"isLatestSession,omitempty"`
	TimePeriod       *TimePeriodType       `json:"timePeriod,omitempty"`
}

type SessionIdentificationListDataType

type SessionIdentificationListDataType struct {
	SessionIdentificationData []SessionIdentificationDataType `json:"sessionIdentificationData,omitempty"`
}

func (*SessionIdentificationListDataType) UpdateList

func (r *SessionIdentificationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SessionMeasurementRelationDataElementsType

type SessionMeasurementRelationDataElementsType struct {
	SessionId     *ElementTagType `json:"sessionId,omitempty"`
	MeasurementId *ElementTagType `json:"measurementId,omitempty"`
}

type SessionMeasurementRelationDataType

type SessionMeasurementRelationDataType struct {
	SessionId     *SessionIdType      `json:"sessionId,omitempty" eebus:"key"`
	MeasurementId []MeasurementIdType `json:"measurementId,omitempty"`
}

type SessionMeasurementRelationListDataSelectorsType

type SessionMeasurementRelationListDataSelectorsType struct {
	SessionId     *SessionIdType     `json:"sessionId,omitempty"`
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty"`
}

type SessionMeasurementRelationListDataType

type SessionMeasurementRelationListDataType struct {
	SessionMeasurementRelationData []SessionMeasurementRelationDataType `json:"sessionMeasurementRelationData,omitempty"`
}

func (*SessionMeasurementRelationListDataType) UpdateList

func (r *SessionMeasurementRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SetpointConstraintsDataElementsType

type SetpointConstraintsDataElementsType struct {
	SetpointId       *ElementTagType           `json:"setpointId,omitempty"`
	SetpointRangeMin *ScaledNumberElementsType `json:"setpointRangeMin,omitempty"`
	SetpointRangeMax *ScaledNumberElementsType `json:"setpointRangeMax,omitempty"`
	SetpointStepSize *ScaledNumberElementsType `json:"setpointStepSize,omitempty"`
}

type SetpointConstraintsDataType

type SetpointConstraintsDataType struct {
	SetpointId       *SetpointIdType   `json:"setpointId,omitempty" eebus:"key"`
	SetpointRangeMin *ScaledNumberType `json:"setpointRangeMin,omitempty"`
	SetpointRangeMax *ScaledNumberType `json:"setpointRangeMax,omitempty"`
	SetpointStepSize *ScaledNumberType `json:"setpointStepSize,omitempty"`
}

type SetpointConstraintsListDataSelectorsType

type SetpointConstraintsListDataSelectorsType struct {
	SetpointId *SetpointIdType `json:"setpointId,omitempty"`
}

type SetpointConstraintsListDataType

type SetpointConstraintsListDataType struct {
	SetpointConstraintsData []SetpointConstraintsDataType `json:"setpointConstraintsData,omitempty"`
}

type SetpointDataElementsType

type SetpointDataElementsType struct {
	SetpointId               *ElementTagType           `json:"setpointId,omitempty"`
	Value                    *ScaledNumberElementsType `json:"value,omitempty"`
	ValueMin                 *ScaledNumberElementsType `json:"valueMin,omitempty"`
	ValueMax                 *ScaledNumberElementsType `json:"valueMax,omitempty"`
	ValueToleranceAbsolute   *ScaledNumberElementsType `json:"valueToleranceAbsolute,omitempty"`
	ValueTolerancePercentage *ScaledNumberElementsType `json:"valueTolerancePercentage,omitempty"`
	IsSetpointChangeable     *ElementTagType           `json:"isSetpointChangeable,omitempty"`
	IsSetpointActive         *ElementTagType           `json:"isSetpointActive,omitempty"`
	TimePeriod               *TimePeriodElementsType   `json:"timePeriod,omitempty"`
}

type SetpointDataType

type SetpointDataType struct {
	SetpointId               *SetpointIdType   `json:"setpointId,omitempty" eebus:"key"`
	Value                    *ScaledNumberType `json:"value,omitempty"`
	ValueMin                 *ScaledNumberType `json:"valueMin,omitempty"`
	ValueMax                 *ScaledNumberType `json:"valueMax,omitempty"`
	ValueToleranceAbsolute   *ScaledNumberType `json:"valueToleranceAbsolute,omitempty"`
	ValueTolerancePercentage *ScaledNumberType `json:"valueTolerancePercentage,omitempty"`
	IsSetpointChangeable     *bool             `json:"isSetpointChangeable,omitempty" eebus:"writecheck"`
	IsSetpointActive         *bool             `json:"isSetpointActive,omitempty"`
	TimePeriod               *TimePeriodType   `json:"timePeriod,omitempty"`
}

type SetpointDescriptionDataElementsType

type SetpointDescriptionDataElementsType struct {
	SetpointId    *ElementTagType `json:"setpointId,omitempty"`
	MeasurementId *ElementTagType `json:"measurementId,omitempty"`
	TimeTableId   *ElementTagType `json:"timeTableId,omitempty"`
	SetpointType  *ElementTagType `json:"setpointType,omitempty"`
	Unit          *ElementTagType `json:"unit,omitempty"`
	ScopeType     *ElementTagType `json:"scopeType,omitempty"`
	Label         *ElementTagType `json:"label,omitempty"`
	Description   *ElementTagType `json:"description,omitempty"`
}

type SetpointDescriptionDataType

type SetpointDescriptionDataType struct {
	SetpointId    *SetpointIdType   `json:"setpointId,omitempty" eebus:"key"`
	MeasurementId *SetpointIdType   `json:"measurementId,omitempty"`
	TimeTableId   *SetpointIdType   `json:"timeTableId,omitempty"`
	SetpointType  *SetpointTypeType `json:"setpointType,omitempty"`
	Unit          *ScaledNumberType `json:"unit,omitempty"`
	ScopeType     *ScaledNumberType `json:"scopeType,omitempty"`
	Label         *LabelType        `json:"label,omitempty"`
	Description   *DescriptionType  `json:"description,omitempty"`
}

type SetpointDescriptionListDataSelectorsType

type SetpointDescriptionListDataSelectorsType struct {
	SetpointId    *SetpointIdType   `json:"setpointId,omitempty"`
	MeasurementId *SetpointIdType   `json:"measurementId,omitempty"`
	TimeTableId   *SetpointIdType   `json:"timeTableId,omitempty"`
	SetpointType  *SetpointIdType   `json:"setpointType,omitempty"`
	ScopeType     *ScaledNumberType `json:"scopeType,omitempty"`
}

type SetpointDescriptionListDataType

type SetpointDescriptionListDataType struct {
	SetpointDescriptionData []SetpointDescriptionDataType `json:"setpointDescriptionData,omitempty"`
}

func (*SetpointDescriptionListDataType) UpdateList

func (r *SetpointDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SetpointIdType

type SetpointIdType uint

type SetpointListDataSelectorsType

type SetpointListDataSelectorsType struct {
	SetpointId *SetpointIdType `json:"setpointId,omitempty"`
}

type SetpointListDataType

type SetpointListDataType struct {
	SetpointData []SetpointDataType `json:"setpointData,omitempty"`
}

func (*SetpointListDataType) UpdateList

func (r *SetpointListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SetpointTypeType

type SetpointTypeType string
const (
	SetpointTypeTypeValueAbsolute SetpointTypeType = "valueAbsolute"
	SetpointTypeTypeValueRelative SetpointTypeType = "valueRelative"
)

type SmartEnergyManagementPsAlternativesElementsType

type SmartEnergyManagementPsAlternativesElementsType struct {
	Relation      *SmartEnergyManagementPsAlternativesRelationElementsType `json:"relation,omitempty"`
	PowerSequence *SmartEnergyManagementPsPowerSequenceElementsType        `json:"powerSequence,omitempty"`
}

type SmartEnergyManagementPsAlternativesRelationElementsType

type SmartEnergyManagementPsAlternativesRelationElementsType PowerSequenceAlternativesRelationDataElementsType // ignoring changes

type SmartEnergyManagementPsAlternativesRelationType

type SmartEnergyManagementPsAlternativesRelationType PowerSequenceAlternativesRelationDataType // ignoring the custom changes

type SmartEnergyManagementPsAlternativesType

type SmartEnergyManagementPsAlternativesType struct {
	Relation      *SmartEnergyManagementPsAlternativesRelationType `json:"relation,omitempty"`
	PowerSequence []SmartEnergyManagementPsPowerSequenceType       `json:"powerSequence,omitempty"`
}

type SmartEnergyManagementPsConfigurationRequestCallElementsType

type SmartEnergyManagementPsConfigurationRequestCallElementsType struct {
	ScheduleConfigurationRequest *PowerSequenceScheduleConfigurationRequestCallElementsType `json:"scheduleConfigurationRequest,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsConfigurationRequestCallType

type SmartEnergyManagementPsConfigurationRequestCallType struct {
	ScheduleConfigurationRequest *PowerSequenceScheduleConfigurationRequestCallType `json:"scheduleConfigurationRequest,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsDataElementsType

type SmartEnergyManagementPsDataElementsType struct {
	NodeScheduleInformation *PowerSequenceNodeScheduleInformationDataElementsType `json:"nodeScheduleInformation,omitempty"`
	Alternatives            *SmartEnergyManagementPsAlternativesElementsType      `json:"alternatives,omitempty"`
}

type SmartEnergyManagementPsDataSelectorsType

type SmartEnergyManagementPsDataSelectorsType struct {
	AlternativesRelation     *PowerSequenceAlternativesRelationListDataSelectorsType `json:"alternativesRelation,omitempty"`     // ignoring changes
	PowerSequenceDescription *PowerSequenceDescriptionListDataSelectorsType          `json:"powerSequenceDescription,omitempty"` // ignoring changes
	PowerTimeSlotSchedule    *PowerTimeSlotScheduleListDataSelectorsType             `json:"powerTimeSlotSchedule,omitempty"`    // ignoring changes
	PowerTimeSlotValue       *PowerTimeSlotValueListDataSelectorsType                `json:"powerTimeSlotValue,omitempty"`       // ignoring changes
}

type SmartEnergyManagementPsDataType

type SmartEnergyManagementPsDataType struct {
	NodeScheduleInformation *PowerSequenceNodeScheduleInformationDataType `json:"nodeScheduleInformation,omitempty"` // ignoring changes
	Alternatives            []SmartEnergyManagementPsAlternativesType     `json:"alternatives,omitempty"`
}

type SmartEnergyManagementPsPowerSequenceElementsType

type SmartEnergyManagementPsPowerSequenceElementsType struct {
	Description                           *PowerSequenceDescriptionDataElementsType              `json:"description,omitempty"`
	State                                 *PowerSequenceStateDataElementsType                    `json:"state,omitempty"`
	Schedule                              *PowerSequenceScheduleDataElementsType                 `json:"schedule,omitempty"`
	ScheduleConstraints                   *PowerSequenceScheduleConstraintsDataElementsType      `json:"scheduleConstraints,omitempty"`
	SchedulePreference                    *PowerSequenceSchedulePreferenceDataElementsType       `json:"schedulePreference,omitempty"`
	OperatingConstraintsInterrupt         *OperatingConstraintsInterruptDataElementsType         `json:"operatingConstraintsInterrupt,omitempty"`
	OperatingConstraintsDuration          *OperatingConstraintsDurationDataElementsType          `json:"operatingConstraintsDuration,omitempty"`
	OperatingConstraintsResumeImplication *OperatingConstraintsResumeImplicationDataElementsType `json:"operatingConstraintsResumeImplication,omitempty"`
	PowerTimeSlot                         *SmartEnergyManagementPsPowerTimeSlotElementsType      `json:"powerTimeSlot,omitempty"`
}

type SmartEnergyManagementPsPowerSequenceType

type SmartEnergyManagementPsPowerSequenceType struct {
	Description                           *PowerSequenceDescriptionDataType              `json:"description,omitempty"`                           // ignoring changes
	State                                 *PowerSequenceStateDataType                    `json:"state,omitempty"`                                 // ignoring changes
	Schedule                              *PowerSequenceScheduleDataType                 `json:"schedule,omitempty"`                              // ignoring changes
	ScheduleConstraints                   *PowerSequenceScheduleConstraintsDataType      `json:"scheduleConstraints,omitempty"`                   // ignoring changes
	SchedulePreference                    *PowerSequenceSchedulePreferenceDataType       `json:"schedulePreference,omitempty"`                    // ignoring changes
	OperatingConstraintsInterrupt         *OperatingConstraintsInterruptDataType         `json:"operatingConstraintsInterrupt,omitempty"`         // ignoring changes
	OperatingConstraintsDuration          *OperatingConstraintsDurationDataType          `json:"operatingConstraintsDuration,omitempty"`          // ignoring changes
	OperatingConstraintsResumeImplication *OperatingConstraintsResumeImplicationDataType `json:"operatingConstraintsResumeImplication,omitempty"` // ignoring changes
	PowerTimeSlot                         []SmartEnergyManagementPsPowerTimeSlotType     `json:"powerTimeSlot,omitempty"`                         // ignoring changes
}

type SmartEnergyManagementPsPowerTimeSlotElementsType

type SmartEnergyManagementPsPowerTimeSlotElementsType struct {
	Schedule            *PowerTimeSlotScheduleDataElementsType                     `json:"schedule,omitempty"` // ignoring changes
	ValueList           *SmartEnergyManagementPsPowerTimeSlotValueListElementsType `json:"valueList,omitempty"`
	ScheduleConstraints *PowerTimeSlotScheduleConstraintsDataElementsType          `json:"scheduleConstraints,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPowerTimeSlotType

type SmartEnergyManagementPsPowerTimeSlotType struct {
	Schedule            *PowerTimeSlotScheduleDataType                     `json:"schedule,omitempty"` // ignoring changes
	ValueList           *SmartEnergyManagementPsPowerTimeSlotValueListType `json:"valueList,omitempty"`
	ScheduleConstraints *PowerTimeSlotScheduleConstraintsDataType          `json:"scheduleConstraints,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPowerTimeSlotValueListElementsType

type SmartEnergyManagementPsPowerTimeSlotValueListElementsType struct {
	Value *PowerTimeSlotValueDataElementsType `json:"value,omitempty"`
}

type SmartEnergyManagementPsPowerTimeSlotValueListType

type SmartEnergyManagementPsPowerTimeSlotValueListType struct {
	Value []PowerTimeSlotValueDataType `json:"value,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPriceCalculationRequestCallElementsType

type SmartEnergyManagementPsPriceCalculationRequestCallElementsType struct {
	PriceCalculationRequest *PowerSequencePriceCalculationRequestCallElementsType `json:"priceCalculationRequest,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPriceCalculationRequestCallType

type SmartEnergyManagementPsPriceCalculationRequestCallType struct {
	PriceCalculationRequest *PowerSequencePriceCalculationRequestCallType `json:"priceCalculationRequest,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPriceDataElementsType

type SmartEnergyManagementPsPriceDataElementsType struct {
	Price *PowerSequencePriceDataElementsType `json:"price,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPriceDataSelectorsType

type SmartEnergyManagementPsPriceDataSelectorsType struct {
	Price *PowerSequencePriceListDataSelectorsType `json:"price,omitempty"` // ignoring changes
}

type SmartEnergyManagementPsPriceDataType

type SmartEnergyManagementPsPriceDataType struct {
	Price *PowerSequencePriceDataType `json:"price,omitempty"` // ignoring changes
}

type SpecificationVersionDataElementsType

type SpecificationVersionDataElementsType struct{}

type SpecificationVersionDataType

type SpecificationVersionDataType SpecificationVersionType

type SpecificationVersionListDataSelectorsType

type SpecificationVersionListDataSelectorsType struct{}

type SpecificationVersionListDataType

type SpecificationVersionListDataType struct {
	SpecificationVersionData []SpecificationVersionDataType `json:"specificationVersionData,omitempty"`
}

func (*SpecificationVersionListDataType) UpdateList

func (r *SpecificationVersionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SpecificationVersionType

type SpecificationVersionType string

type StateInformationCategoryType

type StateInformationCategoryType string
const (
	StateInformationCategoryTypeFunctionality StateInformationCategoryType = "functionality"
	StateInformationCategoryTypeFailure       StateInformationCategoryType = "failure"
)

type StateInformationDataElementsType

type StateInformationDataElementsType struct {
	StateInformationId *ElementTagType `json:"stateInformationId,omitempty"`
	StateInformation   *ElementTagType `json:"stateInformation,omitempty"`
	IsActive           *ElementTagType `json:"isActive,omitempty"`
	Category           *ElementTagType `json:"category,omitempty"`
	TimeOfLastChange   *ElementTagType `json:"timeOfLastChange,omitempty"`
}

type StateInformationDataType

type StateInformationDataType struct {
	StateInformationId *StateInformationIdType       `json:"stateInformationId,omitempty" eebus:"key"`
	StateInformation   *StateInformationType         `json:"stateInformation,omitempty"`
	IsActive           *bool                         `json:"isActive,omitempty"`
	Category           *StateInformationCategoryType `json:"category,omitempty"`
	TimeOfLastChange   *AbsoluteOrRelativeTimeType   `json:"timeOfLastChange,omitempty"`
}

type StateInformationFailureType

type StateInformationFailureType string
const (
	StateInformationFailureTypeInverterDefective             StateInformationFailureType = "inverterDefective"
	StateInformationFailureTypeBatteryOvercurrentProtection  StateInformationFailureType = "batteryOvercurrentProtection"
	StateInformationFailureTypePvStringOvercurrentProtection StateInformationFailureType = "pvStringOvercurrentProtection"
	StateInformationFailureTypeGridFault                     StateInformationFailureType = "gridFault"
	StateInformationFailureTypeGroundFault                   StateInformationFailureType = "groundFault"
	StateInformationFailureTypeAcDisconnected                StateInformationFailureType = "acDisconnected"
	StateInformationFailureTypeDcDisconnected                StateInformationFailureType = "dcDisconnected"
	StateInformationFailureTypeCabinetOpen                   StateInformationFailureType = "cabinetOpen"
	StateInformationFailureTypeOverTemperature               StateInformationFailureType = "overTemperature"
	StateInformationFailureTypeUnderTemperature              StateInformationFailureType = "underTemperature"
	StateInformationFailureTypeFrequencyAboveLimit           StateInformationFailureType = "frequencyAboveLimit"
	StateInformationFailureTypeFrequencyBelowLimit           StateInformationFailureType = "frequencyBelowLimit"
	StateInformationFailureTypeAcVoltageAboveLimit           StateInformationFailureType = "acVoltageAboveLimit"
	StateInformationFailureTypeAcVoltageBelowLimit           StateInformationFailureType = "acVoltageBelowLimit"
	StateInformationFailureTypeDcVoltageAboveLimit           StateInformationFailureType = "dcVoltageAboveLimit"
	StateInformationFailureTypeDcVoltageBelowLimit           StateInformationFailureType = "dcVoltageBelowLimit"
	StateInformationFailureTypeHardwareTestFailure           StateInformationFailureType = "hardwareTestFailure"
	StateInformationFailureTypeGenericInternalError          StateInformationFailureType = "genericInternalError"
)

type StateInformationFunctionalityType

type StateInformationFunctionalityType string
const (
	StateInformationFunctionalityTypeExternalOverrideFromGrid StateInformationFunctionalityType = "externalOverrideFromGrid"
	StateInformationFunctionalityTypeAutonomousGridSupport    StateInformationFunctionalityType = "autonomousGridSupport"
	StateInformationFunctionalityTypeIslandingMode            StateInformationFunctionalityType = "islandingMode"
	StateInformationFunctionalityTypeBalancing                StateInformationFunctionalityType = "balancing"
	StateInformationFunctionalityTypeTrickleCharging          StateInformationFunctionalityType = "trickleCharging"
	StateInformationFunctionalityTypeCalibration              StateInformationFunctionalityType = "calibration"
	StateInformationFunctionalityTypeCommissioningMissing     StateInformationFunctionalityType = "commissioningMissing"
	StateInformationFunctionalityTypeSleeping                 StateInformationFunctionalityType = "sleeping"
	StateInformationFunctionalityTypeStarting                 StateInformationFunctionalityType = "starting"
	StateInformationFunctionalityTypeMppt                     StateInformationFunctionalityType = "mppt"
	StateInformationFunctionalityTypeThrottled                StateInformationFunctionalityType = "throttled"
	StateInformationFunctionalityTypeShuttingDown             StateInformationFunctionalityType = "shuttingDown"
	StateInformationFunctionalityTypeManualShutdown           StateInformationFunctionalityType = "manualShutdown"
)

type StateInformationIdType

type StateInformationIdType uint

type StateInformationListDataSelectorsType

type StateInformationListDataSelectorsType struct {
	StateInformationId *StateInformationIdType       `json:"stateInformationId,omitempty"`
	StateInformation   *StateInformationType         `json:"stateInformation,omitempty"`
	IsActive           *bool                         `json:"isActive,omitempty"`
	Category           *StateInformationCategoryType `json:"category,omitempty"`
}

type StateInformationListDataType

type StateInformationListDataType struct {
	StateInformationData []StateInformationDataType `json:"stateInformationData,omitempty"`
}

func (*StateInformationListDataType) UpdateList

func (r *StateInformationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type StateInformationType

type StateInformationType string
const (
	StateInformationTypeExternalOverrideFromGrid      StateInformationType = "externalOverrideFromGrid"
	StateInformationTypeAutonomousGridSupport         StateInformationType = "autonomousGridSupport"
	StateInformationTypeIslandingMode                 StateInformationType = "islandingMode"
	StateInformationTypeBalancing                     StateInformationType = "balancing"
	StateInformationTypeTrickleCharging               StateInformationType = "trickleCharging"
	StateInformationTypeCalibration                   StateInformationType = "calibration"
	StateInformationTypeCommissioningMissing          StateInformationType = "commissioningMissing"
	StateInformationTypeSleeping                      StateInformationType = "sleeping"
	StateInformationTypeStarting                      StateInformationType = "starting"
	StateInformationTypeMppt                          StateInformationType = "mppt"
	StateInformationTypeThrottled                     StateInformationType = "throttled"
	StateInformationTypeShuttingDown                  StateInformationType = "shuttingDown"
	StateInformationTypeManualShutdown                StateInformationType = "manualShutdown"
	StateInformationTypeInverterDefective             StateInformationType = "inverterDefective"
	StateInformationTypeBatteryOvercurrentProtection  StateInformationType = "batteryOvercurrentProtection"
	StateInformationTypePvStringOvercurrentProtection StateInformationType = "pvStringOvercurrentProtection"
	StateInformationTypeGridFault                     StateInformationType = "gridFault"
	StateInformationTypeGroundFault                   StateInformationType = "groundFault"
	StateInformationTypeAcDisconnected                StateInformationType = "acDisconnected"
	StateInformationTypeDcDisconnected                StateInformationType = "dcDisconnected"
	StateInformationTypeCabinetOpen                   StateInformationType = "cabinetOpen"
	StateInformationTypeOverTemperature               StateInformationType = "overTemperature"
	StateInformationTypeUnderTemperature              StateInformationType = "underTemperature"
	StateInformationTypeFrequencyAboveLimit           StateInformationType = "frequencyAboveLimit"
	StateInformationTypeFrequencyBelowLimit           StateInformationType = "frequencyBelowLimit"
	StateInformationTypeAcVoltageAboveLimit           StateInformationType = "acVoltageAboveLimit"
	StateInformationTypeAcVoltageBelowLimit           StateInformationType = "acVoltageBelowLimit"
	StateInformationTypeDcVoltageAboveLimit           StateInformationType = "dcVoltageAboveLimit"
	StateInformationTypeDcVoltageBelowLimit           StateInformationType = "dcVoltageBelowLimit"
	StateInformationTypeHardwareTestFailure           StateInformationType = "hardwareTestFailure"
	StateInformationTypeGenericInternalError          StateInformationType = "genericInternalError"
)

union StateInformationFunctionalityType StateInformationFunctionalityType

type SubscriptionIdType

type SubscriptionIdType uint

type SubscriptionManagementDeleteCallElementsType

type SubscriptionManagementDeleteCallElementsType struct {
	SubscriptionId *ElementTagType             `json:"subscriptionId,omitempty"`
	ClientAddress  *FeatureAddressElementsType `json:"clientAddress,omitempty"`
	ServerAddress  *FeatureAddressElementsType `json:"serverAddress,omitempty"`
}

type SubscriptionManagementDeleteCallType

type SubscriptionManagementDeleteCallType struct {
	SubscriptionId *SubscriptionIdType `json:"subscriptionId,omitempty"`
	ClientAddress  *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress  *FeatureAddressType `json:"serverAddress,omitempty"`
}

type SubscriptionManagementEntryDataElementsType

type SubscriptionManagementEntryDataElementsType struct {
	SubscriptionId *ElementTagType             `json:"subscriptionId,omitempty"`
	ClientAddress  *FeatureAddressElementsType `json:"clientAddress,omitempty"`
	ServerAddress  *FeatureAddressElementsType `json:"serverAddress,omitempty"`
	Label          *ElementTagType             `json:"label,omitempty"`
	Description    *ElementTagType             `json:"description,omitempty"`
}

type SubscriptionManagementEntryDataType

type SubscriptionManagementEntryDataType struct {
	SubscriptionId *SubscriptionIdType `json:"subscriptionId,omitempty" eebus:"key"`
	ClientAddress  *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress  *FeatureAddressType `json:"serverAddress,omitempty"`
	Label          *LabelType          `json:"label,omitempty"`
	Description    *DescriptionType    `json:"description,omitempty"`
}

type SubscriptionManagementEntryListDataSelectorsType

type SubscriptionManagementEntryListDataSelectorsType struct {
	SubscriptionId *SubscriptionIdType `json:"subscriptionId,omitempty"`
	ClientAddress  *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress  *FeatureAddressType `json:"serverAddress,omitempty"`
}

type SubscriptionManagementEntryListDataType

type SubscriptionManagementEntryListDataType struct {
	SubscriptionManagementEntryData []SubscriptionManagementEntryDataType `json:"subscriptionManagementEntryData,omitempty"`
}

func (*SubscriptionManagementEntryListDataType) UpdateList

func (r *SubscriptionManagementEntryListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SubscriptionManagementRequestCallElementsType

type SubscriptionManagementRequestCallElementsType struct {
	ClientAddress     *FeatureAddressElementsType `json:"clientAddress,omitempty"`
	ServerAddress     *FeatureAddressElementsType `json:"serverAddress,omitempty"`
	ServerFeatureType *ElementTagType             `json:"serverFeatureType,omitempty"`
}

type SubscriptionManagementRequestCallType

type SubscriptionManagementRequestCallType struct {
	ClientAddress     *FeatureAddressType `json:"clientAddress,omitempty"`
	ServerAddress     *FeatureAddressType `json:"serverAddress,omitempty"`
	ServerFeatureType *FeatureTypeType    `json:"serverFeatureType,omitempty"`
}

type SupplyConditionDataElementsType

type SupplyConditionDataElementsType struct {
	ConditionId         *ElementTagType           `json:"conditionId,omitempty"`
	Timestamp           *ElementTagType           `json:"timestamp,omitempty"`
	EventType           *ElementTagType           `json:"eventType,omitempty"`
	Originator          *ElementTagType           `json:"originator,omitempty"`
	ThresholdId         *ElementTagType           `json:"thresholdId,omitempty"`
	ThresholdPercentage *ScaledNumberElementsType `json:"thresholdPercentage,omitempty"`
	RelevantPeriod      *TimePeriodElementsType   `json:"relevantPeriod,omitempty"`
	Description         *ElementTagType           `json:"description,omitempty"`
	GridCondition       *ElementTagType           `json:"gridCondition,omitempty"`
}

type SupplyConditionDataType

type SupplyConditionDataType struct {
	ConditionId         *ConditionIdType               `json:"conditionId,omitempty" eebus:"key"`
	Timestamp           *AbsoluteOrRelativeTimeType    `json:"timestamp,omitempty"`
	EventType           *SupplyConditionEventTypeType  `json:"eventType,omitempty"`
	Originator          *SupplyConditionOriginatorType `json:"originator,omitempty"`
	ThresholdId         *ThresholdIdType               `json:"thresholdId,omitempty"`
	ThresholdPercentage *ScaledNumberType              `json:"thresholdPercentage,omitempty"`
	RelevantPeriod      *TimePeriodType                `json:"relevantPeriod,omitempty"`
	Description         *DescriptionType               `json:"description,omitempty"`
	GridCondition       *GridConditionType             `json:"gridCondition,omitempty"`
}

type SupplyConditionDescriptionDataElementsType

type SupplyConditionDescriptionDataElementsType struct {
	ConditionId             *ElementTagType `json:"conditionId,omitempty"`
	CommodityType           *ElementTagType `json:"commodityType,omitempty"`
	PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"`
	Label                   *ElementTagType `json:"label,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type SupplyConditionDescriptionDataType

type SupplyConditionDescriptionDataType struct {
	ConditionId             *ConditionIdType     `json:"conditionId,omitempty" eebus:"key"`
	CommodityType           *CommodityTypeType   `json:"commodityType,omitempty"`
	PositiveEnergyDirection *EnergyDirectionType `json:"positiveEnergyDirection,omitempty"`
	Label                   *LabelType           `json:"label,omitempty"`
	Description             *DescriptionType     `json:"description,omitempty"`
}

type SupplyConditionDescriptionListDataSelectorsType

type SupplyConditionDescriptionListDataSelectorsType struct {
	ConditionId *ConditionIdType `json:"conditionId,omitempty"`
}

type SupplyConditionDescriptionListDataType

type SupplyConditionDescriptionListDataType struct {
	SupplyConditionDescriptionData []SupplyConditionDescriptionDataType `json:"supplyConditionDescriptionData,omitempty"`
}

func (*SupplyConditionDescriptionListDataType) UpdateList

func (r *SupplyConditionDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SupplyConditionEventTypeType

type SupplyConditionEventTypeType string
const (
	SupplyConditionEventTypeTypeThesholdExceeded     SupplyConditionEventTypeType = "thesholdExceeded"
	SupplyConditionEventTypeTypeFallenBelowThreshold SupplyConditionEventTypeType = "fallenBelowThreshold"
	SupplyConditionEventTypeTypeSupplyInterrupt      SupplyConditionEventTypeType = "supplyInterrupt"
	SupplyConditionEventTypeTypeReleaseOfLimitations SupplyConditionEventTypeType = "releaseOfLimitations"
	SupplyConditionEventTypeTypeOtherProblem         SupplyConditionEventTypeType = "otherProblem"
	SupplyConditionEventTypeTypeGridConditionUpdate  SupplyConditionEventTypeType = "gridConditionUpdate"
)

type SupplyConditionListDataSelectorsType

type SupplyConditionListDataSelectorsType struct {
	ConditionId       *ConditionIdType               `json:"conditionId,omitempty"`
	TimestampInterval *TimestampIntervalType         `json:"timestampInterval,omitempty"`
	EventType         *SupplyConditionEventTypeType  `json:"eventType,omitempty"`
	Originator        *SupplyConditionOriginatorType `json:"originator,omitempty"`
}

type SupplyConditionListDataType

type SupplyConditionListDataType struct {
	SupplyConditionData []SupplyConditionDataType `json:"supplyConditionData,omitempty"`
}

func (*SupplyConditionListDataType) UpdateList

func (r *SupplyConditionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type SupplyConditionOriginatorType

type SupplyConditionOriginatorType string
const (
	SupplyConditionOriginatorTypeExternDSO       SupplyConditionOriginatorType = "externDSO"
	SupplyConditionOriginatorTypeExternSupplier  SupplyConditionOriginatorType = "externSupplier"
	SupplyConditionOriginatorTypeInternalLimit   SupplyConditionOriginatorType = "internalLimit"
	SupplyConditionOriginatorTypeInternalService SupplyConditionOriginatorType = "internalService"
	SupplyConditionOriginatorTypeInternalUser    SupplyConditionOriginatorType = "internalUser"
)

type SupplyConditionThresholdRelationDataElementsType

type SupplyConditionThresholdRelationDataElementsType struct {
	ConditionId *ElementTagType `json:"conditionId,omitempty"`
	ThresholdId *ElementTagType `json:"thresholdId,omitempty"`
}

type SupplyConditionThresholdRelationDataType

type SupplyConditionThresholdRelationDataType struct {
	ConditionId *ConditionIdType  `json:"conditionId,omitempty" eebus:"key"`
	ThresholdId []ThresholdIdType `json:"thresholdId,omitempty"`
}

type SupplyConditionThresholdRelationListDataSelectorsType

type SupplyConditionThresholdRelationListDataSelectorsType struct {
	ConditionId *ConditionIdType `json:"conditionId,omitempty"`
	ThresholdId *ThresholdIdType `json:"thresholdId,omitempty"`
}

type SupplyConditionThresholdRelationListDataType

type SupplyConditionThresholdRelationListDataType struct {
	SupplyConditionThresholdRelationData []SupplyConditionThresholdRelationDataType `json:"SupplyConditionThresholdRelationDataType,omitempty"`
}

func (*SupplyConditionThresholdRelationListDataType) UpdateList

func (r *SupplyConditionThresholdRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TariffBoundaryRelationDataElementsType

type TariffBoundaryRelationDataElementsType struct {
	TariffId   *ElementTagType `json:"tariffId,omitempty"`
	BoundaryId *ElementTagType `json:"boundaryId,omitempty"`
}

type TariffBoundaryRelationDataType

type TariffBoundaryRelationDataType struct {
	TariffId   *TariffIdType        `json:"tariffId,omitempty" eebus:"key"`
	BoundaryId []TierBoundaryIdType `json:"boundaryId,omitempty"`
}

type TariffBoundaryRelationListDataSelectorsType

type TariffBoundaryRelationListDataSelectorsType struct {
	TariffId   *TariffIdType       `json:"tariffId,omitempty"`
	BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty"`
}

type TariffBoundaryRelationListDataType

type TariffBoundaryRelationListDataType struct {
	TariffBoundaryRelationData []TariffBoundaryRelationDataType `json:"tariffBoundaryRelationData,omitempty"`
}

func (*TariffBoundaryRelationListDataType) UpdateList

func (r *TariffBoundaryRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TariffCountType

type TariffCountType TariffIdType

type TariffDataElementsType

type TariffDataElementsType struct {
	TariffId     *ElementTagType `json:"tariffId,omitempty"`
	ActiveTierId *ElementTagType `json:"activeTierId,omitempty"`
}

type TariffDataType

type TariffDataType struct {
	TariffId     *TariffIdType `json:"tariffId,omitempty" eebus:"key"`
	ActiveTierId []TierIdType  `json:"activeTierId,omitempty"`
}

type TariffDescriptionDataElementsType

type TariffDescriptionDataElementsType struct {
	TariffId        *ElementTagType `json:"tariffId,omitempty"`
	CommodityId     *ElementTagType `json:"commodityId,omitempty"`
	MeasurementId   *ElementTagType `json:"measurementId,omitempty"`
	TariffWriteable *ElementTagType `json:"tariffWriteable,omitempty"`
	UpdateRequired  *ElementTagType `json:"updateRequired,omitempty"`
	ScopeType       *ElementTagType `json:"scopeType,omitempty"`
	Label           *ElementTagType `json:"label,omitempty"`
	Description     *ElementTagType `json:"description,omitempty"`
	SlotIdSupport   *ElementTagType `json:"slotIdSupport,omitempty"`
}

type TariffDescriptionDataType

type TariffDescriptionDataType struct {
	TariffId        *TariffIdType      `json:"tariffId,omitempty" eebus:"key"`
	CommodityId     *CommodityIdType   `json:"commodityId,omitempty"`
	MeasurementId   *MeasurementIdType `json:"measurementId,omitempty"`
	TariffWriteable *bool              `json:"tariffWriteable,omitempty"`
	UpdateRequired  *bool              `json:"updateRequired,omitempty"`
	ScopeType       *ScopeTypeType     `json:"scopeType,omitempty"`
	Label           *LabelType         `json:"label,omitempty"`
	Description     *DescriptionType   `json:"description,omitempty"`
	SlotIdSupport   *bool              `json:"slotIdSupport,omitempty"`
}

type TariffDescriptionListDataSelectorsType

type TariffDescriptionListDataSelectorsType struct {
	TariffId      *TariffIdType      `json:"tariffId,omitempty"`
	CommodityId   *CommodityIdType   `json:"commodityId,omitempty"`
	MeasurementId *MeasurementIdType `json:"measurementId,omitempty"`
	ScopeType     *ScopeTypeType     `json:"scopeType,omitempty"`
}

type TariffDescriptionListDataType

type TariffDescriptionListDataType struct {
	TariffDescriptionData []TariffDescriptionDataType `json:"tariffDescriptionData,omitempty"`
}

func (*TariffDescriptionListDataType) UpdateList

func (r *TariffDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TariffIdType

type TariffIdType uint

type TariffListDataSelectorsType

type TariffListDataSelectorsType struct {
	TariffId     *TariffIdType `json:"tariffId,omitempty"`
	ActiveTierId *TierIdType   `json:"activeTierId,omitempty"`
}

type TariffListDataType

type TariffListDataType struct {
	TariffData []TariffDataType `json:"tariffData,omitempty"`
}

func (*TariffListDataType) UpdateList

func (r *TariffListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TariffOverallConstraintsDataElementsType

type TariffOverallConstraintsDataElementsType struct {
	MaxTariffCount         *ElementTagType `json:"maxTariffCount,omitempty"`
	MaxBoundaryCount       *ElementTagType `json:"maxBoundaryCount,omitempty"`
	MaxTierCount           *ElementTagType `json:"maxTierCount,omitempty"`
	MaxIncentiveCount      *ElementTagType `json:"maxIncentiveCount,omitempty"`
	MaxBoundariesPerTariff *ElementTagType `json:"maxBoundariesPerTariff,omitempty"`
	MaxTiersPerTariff      *ElementTagType `json:"maxTiersPerTariff,omitempty"`
	MaxBoundariesPerTier   *ElementTagType `json:"maxBoundariesPerTier,omitempty"`
	MaxIncentivesPerTier   *ElementTagType `json:"maxIncentivesPerTier,omitempty"`
}

type TariffOverallConstraintsDataType

type TariffOverallConstraintsDataType struct {
	MaxTariffCount         *TariffCountType       `json:"maxTariffCount,omitempty"`
	MaxBoundaryCount       *TierBoundaryCountType `json:"maxBoundaryCount,omitempty"`
	MaxTierCount           *TierCountType         `json:"maxTierCount,omitempty"`
	MaxIncentiveCount      *IncentiveCountType    `json:"maxIncentiveCount,omitempty"`
	MaxBoundariesPerTariff *TierBoundaryCountType `json:"maxBoundariesPerTariff,omitempty"`
	MaxTiersPerTariff      *TierCountType         `json:"maxTiersPerTariff,omitempty"`
	MaxBoundariesPerTier   *TierBoundaryCountType `json:"maxBoundariesPerTier,omitempty"`
	MaxIncentivesPerTier   *IncentiveCountType    `json:"maxIncentivesPerTier,omitempty"`
}

type TariffTierRelationDataElementsType

type TariffTierRelationDataElementsType struct {
	TariffId *ElementTagType `json:"tariffId,omitempty"`
	TierId   *ElementTagType `json:"tierId,omitempty"`
}

type TariffTierRelationDataType

type TariffTierRelationDataType struct {
	TariffId *TariffIdType `json:"tariffId,omitempty" eebus:"key"`
	TierId   []TierIdType  `json:"tierId,omitempty"`
}

type TariffTierRelationListDataSelectorsType

type TariffTierRelationListDataSelectorsType struct {
	TariffId *TariffIdType `json:"tariffId,omitempty"`
	TierId   *TierIdType   `json:"tierId,omitempty"`
}

type TariffTierRelationListDataType

type TariffTierRelationListDataType struct {
	TariffTierRelationData []TariffTierRelationDataType `json:"tariffTierRelationData,omitempty"`
}

func (*TariffTierRelationListDataType) UpdateList

func (r *TariffTierRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TaskManagementDirectControlRelatedElementsType

type TaskManagementDirectControlRelatedElementsType struct{}

type TaskManagementDirectControlRelatedType

type TaskManagementDirectControlRelatedType struct{}

type TaskManagementHvacRelatedElementsType

type TaskManagementHvacRelatedElementsType struct {
	OverrunId *ElementTagType `json:"overrunId,omitempty"`
}

type TaskManagementHvacRelatedType

type TaskManagementHvacRelatedType struct {
	OverrunId *HvacOverrunIdType `json:"overrunId,omitempty"`
}

type TaskManagementJobDataElementsType

type TaskManagementJobDataElementsType struct {
	JobId         *ElementTagType `json:"jobId,omitempty"`
	Timestamp     *ElementTagType `json:"timestamp,omitempty"`
	JobState      *ElementTagType `json:"jobState,omitempty"`
	ElapsedTime   *ElementTagType `json:"elapsedTime,omitempty"`
	RemainingTime *ElementTagType `json:"remainingTime,omitempty"`
}

type TaskManagementJobDataType

type TaskManagementJobDataType struct {
	JobId         *TaskManagementJobIdType    `json:"jobId,omitempty" eebus:"key"`
	Timestamp     *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"`
	JobState      *TaskManagementJobStateType `json:"jobState,omitempty"`
	ElapsedTime   *DurationType               `json:"elapsedTime,omitempty"`
	RemainingTime *DurationType               `json:"remainingTime,omitempty"`
}

type TaskManagementJobDescriptionDataElementsType

type TaskManagementJobDescriptionDataElementsType struct {
	JobId       *ElementTagType `json:"jobId,omitempty"`
	JobSource   *ElementTagType `json:"jobSource,omitempty"`
	Label       *ElementTagType `json:"label,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type TaskManagementJobDescriptionDataType

type TaskManagementJobDescriptionDataType struct {
	JobId       *TaskManagementJobIdType     `json:"jobId,omitempty" eebus:"key"`
	JobSource   *TaskManagementJobSourceType `json:"jobSource,omitempty"`
	Label       *LabelType                   `json:"label,omitempty"`
	Description *DescriptionType             `json:"description,omitempty"`
}

type TaskManagementJobDescriptionListDataSelectorsType

type TaskManagementJobDescriptionListDataSelectorsType struct {
	JobId     *TaskManagementJobIdType     `json:"jobId,omitempty"`
	JobSource *TaskManagementJobSourceType `json:"jobSource,omitempty"`
}

type TaskManagementJobDescriptionListDataType

type TaskManagementJobDescriptionListDataType struct {
	TaskManagementJobDescriptionData []TaskManagementJobDescriptionDataType `json:"taskManagementJobDescriptionData,omitempty"`
}

func (*TaskManagementJobDescriptionListDataType) UpdateList

func (r *TaskManagementJobDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TaskManagementJobIdType

type TaskManagementJobIdType uint

type TaskManagementJobListDataSelectorsType

type TaskManagementJobListDataSelectorsType struct {
	JobId    *TaskManagementJobIdType    `json:"jobId,omitempty"`
	JobState *TaskManagementJobStateType `json:"jobState,omitempty"`
}

type TaskManagementJobListDataType

type TaskManagementJobListDataType struct {
	TaskManagementJobData []TaskManagementJobDataType `json:"taskManagementJobData,omitempty"`
}

func (*TaskManagementJobListDataType) UpdateList

func (r *TaskManagementJobListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TaskManagementJobRelationDataElementsType

type TaskManagementJobRelationDataElementsType struct {
	JobId                          *ElementTagType                                           `json:"jobId,omitempty"`
	DirectControlRelated           *TaskManagementDirectControlRelatedElementsType           `json:"directControlRelated,omitempty"`
	HvacRelated                    *TaskManagementHvacRelatedElementsType                    `json:"hvacRelated,omitempty"`
	LoadControlReleated            *TaskManagementLoadControlReleatedElementsType            `json:"loadControlReleated,omitempty"`
	PowerSequencesRelated          *TaskManagementPowerSequencesRelatedElementsType          `json:"powerSequencesRelated,omitempty"`
	SmartEnergyManagementPsRelated *TaskManagementSmartEnergyManagementPsRelatedElementsType `json:"smartEnergyManagementPsRelated,omitempty"`
}

type TaskManagementJobRelationDataType

type TaskManagementJobRelationDataType struct {
	JobId                          *TaskManagementJobIdType                          `json:"jobId,omitempty" eebus:"key"`
	DirectControlRelated           *TaskManagementDirectControlRelatedType           `json:"directControlRelated,omitempty"`
	HvacRelated                    *TaskManagementHvacRelatedType                    `json:"hvacRelated,omitempty"`
	LoadControlReleated            *TaskManagementLoadControlReleatedType            `json:"loadControlReleated,omitempty"`
	PowerSequencesRelated          *TaskManagementPowerSequencesRelatedType          `json:"powerSequencesRelated,omitempty"`
	SmartEnergyManagementPsRelated *TaskManagementSmartEnergyManagementPsRelatedType `json:"smartEnergyManagementPsRelated,omitempty"`
}

type TaskManagementJobRelationListDataSelectorsType

type TaskManagementJobRelationListDataSelectorsType struct {
	JobId *TaskManagementJobIdType `json:"jobId,omitempty"`
}

type TaskManagementJobRelationListDataType

type TaskManagementJobRelationListDataType struct {
	TaskManagementJobRelationData []TaskManagementJobRelationDataType `json:"taskManagementJobRelationData,omitempty"`
}

func (*TaskManagementJobRelationListDataType) UpdateList

func (r *TaskManagementJobRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TaskManagementJobSourceType

type TaskManagementJobSourceType string
const (
	TaskManagementJobSourceTypeInternalMechanism     TaskManagementJobSourceType = "InternalMechanism"
	TaskManagementJobSourceTypeUserInteraction       TaskManagementJobSourceType = "UserInteraction"
	TaskManagementJobSourceTypeExternalConfiguration TaskManagementJobSourceType = "ExternalConfiguration"
)

type TaskManagementJobStateType

type TaskManagementJobStateType string
const (
	// DirectControlActivityStateType
	TaskManagementJobStateTypeRunning  TaskManagementJobStateType = "Running"
	TaskManagementJobStateTypePaused   TaskManagementJobStateType = "paused"
	TaskManagementJobStateTypeInactive TaskManagementJobStateType = "inactive"

	// HvacOverrunStatusType
	TaskManagementJobStateTypeActive   TaskManagementJobStateType = "active"
	TaskManagementJobStateTypeFinished TaskManagementJobStateType = "finished"

	// LoadControlEventStateType
	TaskManagementJobStateTypeEventAccepted  TaskManagementJobStateType = "eventAccepted"
	TaskManagementJobStateTypeEventStarted   TaskManagementJobStateType = "eventStarted"
	TaskManagementJobStateTypeEventStopped   TaskManagementJobStateType = "eventStopped"
	TaskManagementJobStateTypeEventRejected  TaskManagementJobStateType = "eventRejected"
	TaskManagementJobStateTypeEventCancelled TaskManagementJobStateType = "eventCancelled"
	TaskManagementJobStateTypeEventError     TaskManagementJobStateType = "eventError"

	// PowerSequenceStateType
	TaskManagementJobStateTypeScheduled       TaskManagementJobStateType = "scheduled"
	TaskManagementJobStateTypeScheduledPaused TaskManagementJobStateType = "scheduledPaused"
	TaskManagementJobStateTypePending         TaskManagementJobStateType = "pending"
	TaskManagementJobStateTypeCompleted       TaskManagementJobStateType = "completed"
	TaskManagementJobStateTypeInvalid         TaskManagementJobStateType = "invalid"
)

type TaskManagementLoadControlReleatedElementsType

type TaskManagementLoadControlReleatedElementsType struct {
	EventId *ElementTagType `json:"eventId,omitempty"`
}

type TaskManagementLoadControlReleatedType

type TaskManagementLoadControlReleatedType struct {
	EventId *LoadControlEventIdType `json:"eventId,omitempty"`
}

type TaskManagementOverviewDataElementsType

type TaskManagementOverviewDataElementsType struct {
	RemoteControllable *ElementTagType `json:"remoteControllable,omitempty"`
	JobsActive         *ElementTagType `json:"jobsActive,omitempty"`
}

type TaskManagementOverviewDataType

type TaskManagementOverviewDataType struct {
	RemoteControllable *bool `json:"remoteControllable,omitempty"`
	JobsActive         *bool `json:"jobsActive,omitempty"`
}

type TaskManagementPowerSequencesRelatedElementsType

type TaskManagementPowerSequencesRelatedElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
}

type TaskManagementPowerSequencesRelatedType

type TaskManagementPowerSequencesRelatedType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type TaskManagementSmartEnergyManagementPsRelatedElementsType

type TaskManagementSmartEnergyManagementPsRelatedElementsType struct {
	SequenceId *ElementTagType `json:"sequenceId,omitempty"`
}

type TaskManagementSmartEnergyManagementPsRelatedType

type TaskManagementSmartEnergyManagementPsRelatedType struct {
	SequenceId *PowerSequenceIdType `json:"sequenceId,omitempty"`
}

type ThresholdConstraintsDataElementsType

type ThresholdConstraintsDataElementsType struct {
	ThresholdId       *ElementTagType           `json:"thresholdId,omitempty"`
	ThresholdRangeMin *ScaledNumberElementsType `json:"thresholdRangeMin,omitempty"`
	ThresholdRangeMax *ScaledNumberElementsType `json:"thresholdRangeMax,omitempty"`
	ThresholdStepSize *ScaledNumberElementsType `json:"thresholdStepSize,omitempty"`
}

type ThresholdConstraintsDataType

type ThresholdConstraintsDataType struct {
	ThresholdId       *ThresholdIdType  `json:"thresholdId,omitempty" eebus:"key"`
	ThresholdRangeMin *ScaledNumberType `json:"thresholdRangeMin,omitempty"`
	ThresholdRangeMax *ScaledNumberType `json:"thresholdRangeMax,omitempty"`
	ThresholdStepSize *ScaledNumberType `json:"thresholdStepSize,omitempty"`
}

type ThresholdConstraintsListDataSelectorsType

type ThresholdConstraintsListDataSelectorsType struct {
	ThresholdId *ThresholdIdType `json:"thresholdId,omitempty"`
}

type ThresholdConstraintsListDataType

type ThresholdConstraintsListDataType struct {
	ThresholdConstraintsData []ThresholdConstraintsDataType `json:"thresholdConstraintsData,omitempty"`
}

func (*ThresholdConstraintsListDataType) UpdateList

func (r *ThresholdConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ThresholdDataElementsType

type ThresholdDataElementsType struct {
	ThresholdId    *ElementTagType           `json:"thresholdId,omitempty"`
	ThresholdValue *ScaledNumberElementsType `json:"thresholdValue,omitempty"`
}

type ThresholdDataType

type ThresholdDataType struct {
	ThresholdId    *ThresholdIdType  `json:"thresholdId,omitempty" eebus:"key"`
	ThresholdValue *ScaledNumberType `json:"thresholdValue,omitempty"`
}

type ThresholdDescriptionDataElementsType

type ThresholdDescriptionDataElementsType struct {
	ThresholdId   *ElementTagType `json:"thresholdId,omitempty"`
	ThresholdType *ElementTagType `json:"thresholdType,omitempty"`
	Unit          *ElementTagType `json:"unit,omitempty"`
	ScopeType     *ElementTagType `json:"scopeType,omitempty"`
	Label         *ElementTagType `json:"label,omitempty"`
	Description   *ElementTagType `json:"description,omitempty"`
}

type ThresholdDescriptionDataType

type ThresholdDescriptionDataType struct {
	ThresholdId   *ThresholdIdType       `json:"thresholdId,omitempty" eebus:"key"`
	ThresholdType *ThresholdTypeType     `json:"thresholdType,omitempty"`
	Unit          *UnitOfMeasurementType `json:"unit,omitempty"`
	ScopeType     *ScopeTypeType         `json:"scopeType,omitempty"`
	Label         *LabelType             `json:"label,omitempty"`
	Description   *DescriptionType       `json:"description,omitempty"`
}

type ThresholdDescriptionListDataSelectorsType

type ThresholdDescriptionListDataSelectorsType struct {
	ThresholdId *ThresholdIdType `json:"thresholdId,omitempty"`
	ScopeType   *ScopeTypeType   `json:"scopeType,omitempty"`
}

type ThresholdDescriptionListDataType

type ThresholdDescriptionListDataType struct {
	ThresholdDescriptionData []ThresholdDescriptionDataType `json:"thresholdDescriptionData,omitempty"`
}

func (*ThresholdDescriptionListDataType) UpdateList

func (r *ThresholdDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ThresholdIdType

type ThresholdIdType uint

type ThresholdListDataSelectorsType

type ThresholdListDataSelectorsType struct {
	ThresholdId *ThresholdIdType `json:"thresholdId,omitempty"`
}

type ThresholdListDataType

type ThresholdListDataType struct {
	ThresholdData []ThresholdDataType `json:"thresholdData,omitempty"`
}

func (*ThresholdListDataType) UpdateList

func (r *ThresholdListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type ThresholdTypeType

type ThresholdTypeType string
const (
	ThresholdTypeTypeGoodAbove                ThresholdTypeType = "goodAbove"
	ThresholdTypeTypeBadAbove                 ThresholdTypeType = "badAbove"
	ThresholdTypeTypeGoodBelow                ThresholdTypeType = "goodBelow"
	ThresholdTypeTypeBadBelow                 ThresholdTypeType = "badBelow"
	ThresholdTypeTypeMinValueThreshold        ThresholdTypeType = "minValueThreshold"
	ThresholdTypeTypeMaxValueThreshold        ThresholdTypeType = "maxValueThreshold"
	ThresholdTypeTypeMinValueThresholdExtreme ThresholdTypeType = "minValueThresholdExtreme"
	ThresholdTypeTypeMaxValueThresholdExtreme ThresholdTypeType = "maxValueThresholdExtreme"
	ThresholdTypeTypeSagThreshold             ThresholdTypeType = "sagThreshold"
	ThresholdTypeTypeSwellThreshold           ThresholdTypeType = "swellThreshold"
)

type TierBoundaryCountType

type TierBoundaryCountType TierBoundaryIdType

type TierBoundaryDataElementsType

type TierBoundaryDataElementsType struct {
	BoundaryId         *ElementTagType           `json:"boundaryId,omitempty"`
	TimePeriod         *TimePeriodElementsType   `json:"timePeriod,omitempty"`
	TimeTableId        *ElementTagType           `json:"timeTableId,omitempty"`
	LowerBoundaryValue *ScaledNumberElementsType `json:"lowerBoundaryValue,omitempty"`
	UpperBoundaryValue *ScaledNumberElementsType `json:"upperBoundaryValue,omitempty"`
}

type TierBoundaryDataType

type TierBoundaryDataType struct {
	BoundaryId         *TierBoundaryIdType `json:"boundaryId,omitempty" eebus:"key"`
	TimePeriod         *TimePeriodType     `json:"timePeriod,omitempty"`
	TimeTableId        *TimeTableIdType    `json:"timeTableId,omitempty"`
	LowerBoundaryValue *ScaledNumberType   `json:"lowerBoundaryValue,omitempty"`
	UpperBoundaryValue *ScaledNumberType   `json:"upperBoundaryValue,omitempty"`
}

type TierBoundaryDescriptionDataElementsType

type TierBoundaryDescriptionDataElementsType struct {
	BoundaryId               *ElementTagType `json:"boundaryId,omitempty"`
	BoundaryType             *ElementTagType `json:"boundaryType,omitempty"`
	ValidForTierId           *ElementTagType `json:"validForTierId,omitempty"`
	SwitchToTierIdWhenLower  *ElementTagType `json:"switchToTierIdWhenLower,omitempty"`
	SwitchToTierIdWhenHigher *ElementTagType `json:"switchToTierIdWhenHigher,omitempty"`
	BoundaryUnit             *ElementTagType `json:"boundaryUnit,omitempty"`
	Label                    *ElementTagType `json:"label,omitempty"`
	Description              *ElementTagType `json:"description,omitempty"`
}

type TierBoundaryDescriptionDataType

type TierBoundaryDescriptionDataType struct {
	BoundaryId               *TierBoundaryIdType    `json:"boundaryId,omitempty" eebus:"key"`
	BoundaryType             *TierBoundaryTypeType  `json:"boundaryType,omitempty"`
	ValidForTierId           *TierIdType            `json:"validForTierId,omitempty"`
	SwitchToTierIdWhenLower  *TierIdType            `json:"switchToTierIdWhenLower,omitempty"`
	SwitchToTierIdWhenHigher *TierIdType            `json:"switchToTierIdWhenHigher,omitempty"`
	BoundaryUnit             *UnitOfMeasurementType `json:"boundaryUnit,omitempty"`
	Label                    *LabelType             `json:"label,omitempty"`
	Description              *DescriptionType       `json:"description,omitempty"`
}

type TierBoundaryDescriptionListDataSelectorsType

type TierBoundaryDescriptionListDataSelectorsType struct {
	BoundaryId   *TierBoundaryIdType   `json:"boundaryId,omitempty"`
	BoundaryType *TierBoundaryTypeType `json:"boundaryType,omitempty"`
}

type TierBoundaryDescriptionListDataType

type TierBoundaryDescriptionListDataType struct {
	TierBoundaryDescriptionData []TierBoundaryDescriptionDataType `json:"tierBoundaryDescriptionData,omitempty"`
}

func (*TierBoundaryDescriptionListDataType) UpdateList

func (r *TierBoundaryDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TierBoundaryIdType

type TierBoundaryIdType uint

type TierBoundaryListDataSelectorsType

type TierBoundaryListDataSelectorsType struct {
	BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty"`
}

type TierBoundaryListDataType

type TierBoundaryListDataType struct {
	TierBoundaryData []TierBoundaryDataType `json:"tierBoundaryData,omitempty"`
}

func (*TierBoundaryListDataType) UpdateList

func (r *TierBoundaryListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TierBoundaryTypeType

type TierBoundaryTypeType string
const (
	TierBoundaryTypeTypePowerBoundary  TierBoundaryTypeType = "powerBoundary"
	TierBoundaryTypeTypeEnergyBoundary TierBoundaryTypeType = "energyBoundary"
	TierBoundaryTypeTypeCountBoundary  TierBoundaryTypeType = "countBoundary"
)

type TierCountType

type TierCountType TierIdType

type TierDataElementsType

type TierDataElementsType struct {
	TierId            *ElementTagType `json:"tierId,omitempty"`
	TimePeriod        *ElementTagType `json:"timePeriod,omitempty"`
	TimeTableId       *ElementTagType `json:"timeTableId,omitempty"`
	ActiveIncentiveId *ElementTagType `json:"activeIncentiveId,omitempty"`
}

type TierDataType

type TierDataType struct {
	TierId            *TierIdType       `json:"tierId,omitempty" eebus:"key"`
	TimePeriod        *TimePeriodType   `json:"timePeriod,omitempty"`
	TimeTableId       *TimeTableIdType  `json:"timeTableId,omitempty"`
	ActiveIncentiveId []IncentiveIdType `json:"activeIncentiveId,omitempty"`
}

type TierDescriptionDataElementsType

type TierDescriptionDataElementsType struct {
	TierId      *ElementTagType `json:"tierId,omitempty"`
	TierType    *ElementTagType `json:"tierType,omitempty"`
	Label       *ElementTagType `json:"label,omitempty"`
	Description *ElementTagType `json:"description,omitempty"`
}

type TierDescriptionDataType

type TierDescriptionDataType struct {
	TierId      *TierIdType      `json:"tierId,omitempty" eebus:"key"`
	TierType    *TierTypeType    `json:"tierType,omitempty"`
	Label       *LabelType       `json:"label,omitempty"`
	Description *DescriptionType `json:"description,omitempty"`
}

type TierDescriptionListDataSelectorsType

type TierDescriptionListDataSelectorsType struct {
	TierId   *TierIdType   `json:"tierId,omitempty"`
	TierType *TierTypeType `json:"tierType,omitempty"`
}

type TierDescriptionListDataType

type TierDescriptionListDataType struct {
	TierDescriptionData []TierDescriptionDataType `json:"tierDescriptionData,omitempty"`
}

func (*TierDescriptionListDataType) UpdateList

func (r *TierDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TierIdType

type TierIdType uint

type TierIncentiveRelationDataElementsType

type TierIncentiveRelationDataElementsType struct {
	TierId      *ElementTagType `json:"tierId,omitempty"`
	IncentiveId *ElementTagType `json:"incentiveId,omitempty"`
}

type TierIncentiveRelationDataType

type TierIncentiveRelationDataType struct {
	TierId      *TierIdType       `json:"tierId,omitempty" eebus:"key"`
	IncentiveId []IncentiveIdType `json:"incentiveId,omitempty"`
}

type TierIncentiveRelationListDataSelectorsType

type TierIncentiveRelationListDataSelectorsType struct {
	TierId      *TierIdType      `json:"tierId,omitempty"`
	IncentiveId *IncentiveIdType `json:"incentiveId,omitempty"`
}

type TierIncentiveRelationListDataType

type TierIncentiveRelationListDataType struct {
	TierIncentiveRelationData []TierIncentiveRelationDataType `json:"tierIncentiveRelationData,omitempty"`
}

func (*TierIncentiveRelationListDataType) UpdateList

func (r *TierIncentiveRelationListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TierListDataSelectorsType

type TierListDataSelectorsType struct {
	TierId            *TierIdType      `json:"tierId,omitempty"`
	ActiveIncentiveId *IncentiveIdType `json:"activeIncentiveId,omitempty"`
}

type TierListDataType

type TierListDataType struct {
	TierData []TierDataType `json:"tierData,omitempty"`
}

func (*TierListDataType) UpdateList

func (r *TierListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TierTypeType

type TierTypeType string
const (
	TierTypeTypeFixedCost   TierTypeType = "fixedCost"
	TierTypeTypeDynamicCost TierTypeType = "dynamicCost"
)

type TimeDistributorDataElementsType

type TimeDistributorDataElementsType struct {
	IsTimeDistributor   *ElementTagType `json:"isTimeDistributor,omitempty"`
	DistributorPriority *ElementTagType `json:"distributorPriority,omitempty"`
}

type TimeDistributorDataType

type TimeDistributorDataType struct {
	IsTimeDistributor   *bool `json:"isTimeDistributor,omitempty"`
	DistributorPriority *uint `json:"distributorPriority,omitempty"`
}

type TimeDistributorEnquiryCallElementsType

type TimeDistributorEnquiryCallElementsType struct{}

type TimeDistributorEnquiryCallType

type TimeDistributorEnquiryCallType struct{}

type TimeInformationDataElementsType

type TimeInformationDataElementsType struct {
	Utc          *ElementTagType `json:"utc,omitempty"`
	UtcOffset    *ElementTagType `json:"utcOffset,omitempty"`
	DayOfWeek    *ElementTagType `json:"dayOfWeek,omitempty"`
	CalendarWeek *ElementTagType `json:"calendarWeek,omitempty"`
}

type TimeInformationDataType

type TimeInformationDataType struct {
	Utc          *DateTimeType     `json:"utc,omitempty"`
	UtcOffset    *DurationType     `json:"utcOffset,omitempty"`
	DayOfWeek    *DayOfWeekType    `json:"dayOfWeek,omitempty"`
	CalendarWeek *CalendarWeekType `json:"calendarWeek,omitempty"`
}

type TimePeriodElementsType

type TimePeriodElementsType struct {
	StartTime *ElementTagType `json:"startTime,omitempty"`
	EndTime   *ElementTagType `json:"endTime,omitempty"`
}

type TimePeriodType

type TimePeriodType struct {
	StartTime *AbsoluteOrRelativeTimeType `json:"startTime,omitempty"`
	EndTime   *AbsoluteOrRelativeTimeType `json:"endTime,omitempty"`
}

func NewTimePeriodTypeWithRelativeEndTime

func NewTimePeriodTypeWithRelativeEndTime(duration time.Duration) *TimePeriodType

func (*TimePeriodType) GetDuration

func (t *TimePeriodType) GetDuration() (time.Duration, error)

Return the current duration if StartTime is nil and EndTime is not otherwise returns an error

func (TimePeriodType) MarshalJSON

func (t TimePeriodType) MarshalJSON() ([]byte, error)

when startTime is empty and endTime is an absolute time, then endTime should be returned as an relative timestamp

func (*TimePeriodType) UnmarshalJSON

func (t *TimePeriodType) UnmarshalJSON(data []byte) error

when startTime is empty and endTime is a relative time, then endTime should be written as an absolute timestamp

type TimePrecisionDataElementsType

type TimePrecisionDataElementsType struct {
	IsSynchronised *ElementTagType `json:"isSynchronised,omitempty"`
	LastSyncAt     *ElementTagType `json:"lastSyncAt,omitempty"`
	ClockDrift     *ElementTagType `json:"clockDrift,omitempty"`
}

type TimePrecisionDataType

type TimePrecisionDataType struct {
	IsSynchronised *bool         `json:"isSynchronised,omitempty"`
	LastSyncAt     *DateTimeType `json:"lastSyncAt,omitempty"`
	ClockDrift     *int          `json:"clockDrift,omitempty"`
}

type TimeSeriesConstraintsDataElementsType

type TimeSeriesConstraintsDataElementsType struct {
	TimeSeriesId                *ElementTagType `json:"timeSeriesId,omitempty"`
	SlotCountMin                *ElementTagType `json:"slotCountMin,omitempty"`
	SlotCountMax                *ElementTagType `json:"slotCountMax,omitempty"`
	SlotDurationMin             *ElementTagType `json:"slotDurationMin,omitempty"`
	SlotDurationMax             *ElementTagType `json:"slotDurationMax,omitempty"`
	SlotDurationStepSize        *ElementTagType `json:"slotDurationStepSize,omitempty"`
	EarliestTimeSeriesStartTime *ElementTagType `json:"earliestTimeSeriesStartTime,omitempty"`
	LatestTimeSeriesEndTime     *ElementTagType `json:"latestTimeSeriesEndTime,omitempty"`
	SlotValueMin                *ElementTagType `json:"slotValueMin,omitempty"`
	SlotValueMax                *ElementTagType `json:"slotValueMax,omitempty"`
	SlotValueStepSize           *ElementTagType `json:"slotValueStepSize,omitempty"`
}

type TimeSeriesConstraintsDataType

type TimeSeriesConstraintsDataType struct {
	TimeSeriesId                *TimeSeriesIdType           `json:"timeSeriesId,omitempty" eebus:"key"`
	SlotCountMin                *TimeSeriesSlotCountType    `json:"slotCountMin,omitempty"`
	SlotCountMax                *TimeSeriesSlotCountType    `json:"slotCountMax,omitempty"`
	SlotDurationMin             *DurationType               `json:"slotDurationMin,omitempty"`
	SlotDurationMax             *DurationType               `json:"slotDurationMax,omitempty"`
	SlotDurationStepSize        *DurationType               `json:"slotDurationStepSize,omitempty"`
	EarliestTimeSeriesStartTime *AbsoluteOrRelativeTimeType `json:"earliestTimeSeriesStartTime,omitempty"`
	LatestTimeSeriesEndTime     *AbsoluteOrRelativeTimeType `json:"latestTimeSeriesEndTime,omitempty"`
	SlotValueMin                *ScaledNumberType           `json:"slotValueMin,omitempty"`
	SlotValueMax                *ScaledNumberType           `json:"slotValueMax,omitempty"`
	SlotValueStepSize           *ScaledNumberType           `json:"slotValueStepSize,omitempty"`
}

type TimeSeriesConstraintsListDataSelectorsType

type TimeSeriesConstraintsListDataSelectorsType struct {
	TimeSeriesId *TimeSeriesIdType `json:"timeSeriesId,omitempty"`
}

type TimeSeriesConstraintsListDataType

type TimeSeriesConstraintsListDataType struct {
	TimeSeriesConstraintsData []TimeSeriesConstraintsDataType `json:"timeSeriesConstraintsData,omitempty"`
}

func (*TimeSeriesConstraintsListDataType) UpdateList

func (r *TimeSeriesConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeSeriesDataElementsType

type TimeSeriesDataElementsType struct {
	TimeSeriesId   *ElementTagType             `json:"timeSeriesId,omitempty"`
	TimePeriod     *TimePeriodElementsType     `json:"timePeriod,omitempty"`
	TimeSeriesSlot *TimeSeriesSlotElementsType `json:"timeSeriesSlot"`
}

type TimeSeriesDataType

type TimeSeriesDataType struct {
	TimeSeriesId   *TimeSeriesIdType    `json:"timeSeriesId,omitempty" eebus:"key"`
	TimePeriod     *TimePeriodType      `json:"timePeriod,omitempty"`
	TimeSeriesSlot []TimeSeriesSlotType `json:"timeSeriesSlot"`
}

type TimeSeriesDescriptionDataElementsType

type TimeSeriesDescriptionDataElementsType struct {
	TimeSeriesId        *ElementTagType `json:"timeSeriesId,omitempty"`
	TimeSeriesType      *ElementTagType `json:"timeSeriesType,omitempty"`
	TimeSeriesWriteable *ElementTagType `json:"timeSeriesWriteable,omitempty"`
	UpdateRequired      *ElementTagType `json:"updateRequired,omitempty"`
	MeasurementId       *ElementTagType `json:"measurementId,omitempty"`
	Currency            *ElementTagType `json:"currency,omitempty"`
	Unit                *ElementTagType `json:"unit,omitempty"`
	Label               *ElementTagType `json:"label,omitempty"`
	Description         *ElementTagType `json:"description,omitempty"`
	ScopeType           *ElementTagType `json:"scopeType,omitempty"`
}

type TimeSeriesDescriptionDataType

type TimeSeriesDescriptionDataType struct {
	TimeSeriesId        *TimeSeriesIdType      `json:"timeSeriesId,omitempty" eebus:"key"`
	TimeSeriesType      *TimeSeriesTypeType    `json:"timeSeriesType,omitempty"`
	TimeSeriesWriteable *bool                  `json:"timeSeriesWriteable,omitempty"`
	UpdateRequired      *bool                  `json:"updateRequired,omitempty"`
	MeasurementId       *MeasurementIdType     `json:"measurementId,omitempty"`
	Currency            *CurrencyType          `json:"currency,omitempty"`
	Unit                *UnitOfMeasurementType `json:"unit,omitempty"`
	Label               *LabelType             `json:"label,omitempty"`
	Description         *DescriptionType       `json:"description,omitempty"`
	ScopeType           *ScopeTypeType         `json:"scopeType,omitempty"`
}

type TimeSeriesDescriptionListDataSelectorsType

type TimeSeriesDescriptionListDataSelectorsType struct {
	TimeSeriesId   *TimeSeriesIdType   `json:"timeSeriesId,omitempty"`
	TimeSeriesType *TimeSeriesTypeType `json:"timeSeriesType,omitempty"`
	MeasurementId  *MeasurementIdType  `json:"measurementId,omitempty"`
	ScopeType      *ScopeTypeType      `json:"scopeType,omitempty"`
}

type TimeSeriesDescriptionListDataType

type TimeSeriesDescriptionListDataType struct {
	TimeSeriesDescriptionData []TimeSeriesDescriptionDataType `json:"timeSeriesDescriptionData,omitempty"`
}

func (*TimeSeriesDescriptionListDataType) UpdateList

func (r *TimeSeriesDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeSeriesIdType

type TimeSeriesIdType uint

type TimeSeriesListDataSelectorsType

type TimeSeriesListDataSelectorsType struct {
	TimeSeriesId     *TimeSeriesIdType     `json:"timeSeriesId,omitempty"`
	TimeSeriesSlotId *TimeSeriesSlotIdType `json:"timeSeriesSlotId,omitempty"`
}

type TimeSeriesListDataType

type TimeSeriesListDataType struct {
	TimeSeriesData []TimeSeriesDataType `json:"timeSeriesData,omitempty"`
}

func (*TimeSeriesListDataType) UpdateList

func (r *TimeSeriesListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeSeriesSlotCountType

type TimeSeriesSlotCountType TimeSeriesSlotIdType

type TimeSeriesSlotElementsType

type TimeSeriesSlotElementsType struct {
	TimeSeriesSlotId      *ElementTagType                      `json:"timeSeriesSlotId,omitempty"`
	TimePeriod            *ElementTagType                      `json:"timePeriod,omitempty"`
	Duration              *ElementTagType                      `json:"duration,omitempty"`
	RecurrenceInformation *AbsoluteOrRecurringTimeElementsType `json:"recurrenceInformation,omitempty"`
	Value                 *ScaledNumberElementsType            `json:"value,omitempty"`
	MinValue              *ScaledNumberElementsType            `json:"minValue,omitempty"`
	MaxValue              *ScaledNumberElementsType            `json:"maxValue,omitempty"`
}

type TimeSeriesSlotIdType

type TimeSeriesSlotIdType uint

type TimeSeriesSlotType

type TimeSeriesSlotType struct {
	TimeSeriesSlotId      *TimeSeriesSlotIdType        `json:"timeSeriesSlotId,omitempty"`
	TimePeriod            *TimePeriodType              `json:"timePeriod,omitempty"`
	Duration              *DurationType                `json:"duration,omitempty"`
	RecurrenceInformation *AbsoluteOrRecurringTimeType `json:"recurrenceInformation,omitempty"`
	Value                 *ScaledNumberType            `json:"value,omitempty"`
	MinValue              *ScaledNumberType            `json:"minValue,omitempty"`
	MaxValue              *ScaledNumberType            `json:"maxValue,omitempty"`
}

type TimeSeriesTypeType

type TimeSeriesTypeType string
const (
	TimeSeriesTypeTypePlan                     TimeSeriesTypeType = "plan"
	TimeSeriesTypeTypeSingleDemand             TimeSeriesTypeType = "singleDemand"
	TimeSeriesTypeTypeConstraints              TimeSeriesTypeType = "constraints"
	TimeSeriesTypeTypeEnergyRequest            TimeSeriesTypeType = "energyRequest"
	TimeSeriesTypeTypeDischargingEnergyRequest TimeSeriesTypeType = "dischargingEnergyRequest"
	TimeSeriesTypeTypeConsumptionLimitCurve    TimeSeriesTypeType = "consumptionLimitCurve"
	TimeSeriesTypeTypeProductionLimitCurve     TimeSeriesTypeType = "productionLimitCurve"
)

type TimeSlotCountType

type TimeSlotCountType TimeSlotIdType

type TimeSlotIdType

type TimeSlotIdType uint

type TimeSlotTimeModeType

type TimeSlotTimeModeType string
const (
	TimeSlotTimeModeTypeAbsolute  TimeSlotTimeModeType = "absolute"
	TimeSlotTimeModeTypeRecurring TimeSlotTimeModeType = "recurring"
	TimeSlotTimeModeTypeBoth      TimeSlotTimeModeType = "both"
)

type TimeTableConstraintsDataElementsType

type TimeTableConstraintsDataElementsType struct {
	TimeTableId          *ElementTagType `json:"timeTableId,omitempty"`
	SlotCountMin         *ElementTagType `json:"slotCountMin,omitempty"`
	SlotCountMax         *ElementTagType `json:"slotCountMax,omitempty"`
	SlotDurationMin      *ElementTagType `json:"slotDurationMin,omitempty"`
	SlotDurationMax      *ElementTagType `json:"slotDurationMax,omitempty"`
	SlotDurationStepSize *ElementTagType `json:"slotDurationStepSize,omitempty"`
	SlotShiftStepSize    *ElementTagType `json:"slotShiftStepSize,omitempty"`
	FirstSlotBeginsAt    *ElementTagType `json:"firstSlotBeginsAt,omitempty"`
}

type TimeTableConstraintsDataType

type TimeTableConstraintsDataType struct {
	TimeTableId          *TimeTableIdType   `json:"timeTableId,omitempty" eebus:"key"`
	SlotCountMin         *TimeSlotCountType `json:"slotCountMin,omitempty"`
	SlotCountMax         *TimeSlotCountType `json:"slotCountMax,omitempty"`
	SlotDurationMin      *DurationType      `json:"slotDurationMin,omitempty"`
	SlotDurationMax      *DurationType      `json:"slotDurationMax,omitempty"`
	SlotDurationStepSize *DurationType      `json:"slotDurationStepSize,omitempty"`
	SlotShiftStepSize    *DurationType      `json:"slotShiftStepSize,omitempty"`
	FirstSlotBeginsAt    *TimeType          `json:"firstSlotBeginsAt,omitempty"`
}

type TimeTableConstraintsListDataSelectorsType

type TimeTableConstraintsListDataSelectorsType struct {
	TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"`
}

type TimeTableConstraintsListDataType

type TimeTableConstraintsListDataType struct {
	TimeTableConstraintsData []TimeTableConstraintsDataType `json:"timeTableConstraintsData,omitempty"`
}

func (*TimeTableConstraintsListDataType) UpdateList

func (r *TimeTableConstraintsListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeTableDataElementsType

type TimeTableDataElementsType struct {
	TimeTableId           *ElementTagType                      `json:"timeTableId,omitempty"`
	TimeSlotId            *ElementTagType                      `json:"timeSlotId,omitempty"`
	RecurrenceInformation *RecurrenceInformationElementsType   `json:"recurrenceInformation,omitempty"`
	StartTime             *AbsoluteOrRecurringTimeElementsType `json:"startTime,omitempty"`
	EndTime               *AbsoluteOrRecurringTimeElementsType `json:"endTime,omitempty"`
}

type TimeTableDataType

type TimeTableDataType struct {
	TimeTableId           *TimeTableIdType             `json:"timeTableId,omitempty" eebus:"key"`
	TimeSlotId            *TimeSlotIdType              `json:"timeSlotId,omitempty"`
	RecurrenceInformation *RecurrenceInformationType   `json:"recurrenceInformation,omitempty"`
	StartTime             *AbsoluteOrRecurringTimeType `json:"startTime,omitempty"`
	EndTime               *AbsoluteOrRecurringTimeType `json:"endTime,omitempty"`
}

type TimeTableDescriptionDataElementsType

type TimeTableDescriptionDataElementsType struct {
	TimeTableId             *ElementTagType `json:"timeTableId,omitempty"`
	TimeSlotCountChangeable *ElementTagType `json:"timeSlotCountChangeable,omitempty"`
	TimeSlotTimesChangeable *ElementTagType `json:"timeSlotTimesChangeable,omitempty"`
	TimeSlotTimeMode        *ElementTagType `json:"timeSlotTimeMode,omitempty"`
	Label                   *ElementTagType `json:"label,omitempty"`
	Description             *ElementTagType `json:"description,omitempty"`
}

type TimeTableDescriptionDataType

type TimeTableDescriptionDataType struct {
	TimeTableId             *TimeTableIdType      `json:"timeTableId,omitempty" eebus:"key"`
	TimeSlotCountChangeable *bool                 `json:"timeSlotCountChangeable,omitempty"`
	TimeSlotTimesChangeable *bool                 `json:"timeSlotTimesChangeable,omitempty"`
	TimeSlotTimeMode        *TimeSlotTimeModeType `json:"timeSlotTimeMode,omitempty"`
	Label                   *LabelType            `json:"label,omitempty"`
	Description             *DescriptionType      `json:"description,omitempty"`
}

type TimeTableDescriptionListDataSelectorsType

type TimeTableDescriptionListDataSelectorsType struct {
	TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"`
}

type TimeTableDescriptionListDataType

type TimeTableDescriptionListDataType struct {
	TimeTableDescriptionData []TimeTableDescriptionDataType `json:"timeTableDescriptionData,omitempty"`
}

func (*TimeTableDescriptionListDataType) UpdateList

func (r *TimeTableDescriptionListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeTableIdType

type TimeTableIdType uint

type TimeTableListDataSelectorsType

type TimeTableListDataSelectorsType struct {
	TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"`
	TimeSlotId  *TimeSlotIdType  `json:"timeSlotId,omitempty"`
}

type TimeTableListDataType

type TimeTableListDataType struct {
	TimeTableData []TimeTableDataType `json:"timeTableData,omitempty"`
}

func (*TimeTableListDataType) UpdateList

func (r *TimeTableListDataType) UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)

type TimeType

type TimeType string

func NewTimeType

func NewTimeType(t string) *TimeType

func (*TimeType) GetTime

func (s *TimeType) GetTime() (time.Time, error)

type TimestampIntervalType

type TimestampIntervalType struct {
	StartTime *AbsoluteOrRelativeTimeType `json:"startTime,omitempty"`
	EndTime   *AbsoluteOrRelativeTimeType `json:"endTime,omitempty"`
}

type UnitOfMeasurementType

type UnitOfMeasurementType string
const (
	UnitOfMeasurementTypeUnknown   UnitOfMeasurementType = "unknown"
	UnitOfMeasurementType1         UnitOfMeasurementType = "1"
	UnitOfMeasurementTypem         UnitOfMeasurementType = "m"
	UnitOfMeasurementTypekg        UnitOfMeasurementType = "kg"
	UnitOfMeasurementTypes         UnitOfMeasurementType = "s"
	UnitOfMeasurementTypeA         UnitOfMeasurementType = "A"
	UnitOfMeasurementTypeK         UnitOfMeasurementType = "K"
	UnitOfMeasurementTypemol       UnitOfMeasurementType = "mol"
	UnitOfMeasurementTypecd        UnitOfMeasurementType = "cd"
	UnitOfMeasurementTypeV         UnitOfMeasurementType = "V"
	UnitOfMeasurementTypeW         UnitOfMeasurementType = "W"
	UnitOfMeasurementTypeWh        UnitOfMeasurementType = "Wh"
	UnitOfMeasurementTypeVA        UnitOfMeasurementType = "VA"
	UnitOfMeasurementTypeVAh       UnitOfMeasurementType = "VAh"
	UnitOfMeasurementTypevar       UnitOfMeasurementType = "var"
	UnitOfMeasurementTypevarh      UnitOfMeasurementType = "varh"
	UnitOfMeasurementTypedegC      UnitOfMeasurementType = "degC"
	UnitOfMeasurementTypedegF      UnitOfMeasurementType = "degF"
	UnitOfMeasurementTypeLm        UnitOfMeasurementType = "Lm"
	UnitOfMeasurementTypelx        UnitOfMeasurementType = "lx"
	UnitOfMeasurementTypeOhm       UnitOfMeasurementType = "Ohm"
	UnitOfMeasurementTypeHz        UnitOfMeasurementType = "Hz"
	UnitOfMeasurementTypedB        UnitOfMeasurementType = "dB"
	UnitOfMeasurementTypedBm       UnitOfMeasurementType = "dBm"
	UnitOfMeasurementTypepct       UnitOfMeasurementType = "pct"
	UnitOfMeasurementTypeppm       UnitOfMeasurementType = "ppm"
	UnitOfMeasurementTypel         UnitOfMeasurementType = "l"
	UnitOfMeasurementTypels        UnitOfMeasurementType = "l/s"
	UnitOfMeasurementTypelh        UnitOfMeasurementType = "l/h"
	UnitOfMeasurementTypedeg       UnitOfMeasurementType = "deg"
	UnitOfMeasurementTyperad       UnitOfMeasurementType = "rad"
	UnitOfMeasurementTyperads      UnitOfMeasurementType = "rad/s"
	UnitOfMeasurementTypesr        UnitOfMeasurementType = "sr"
	UnitOfMeasurementTypeGy        UnitOfMeasurementType = "Gy"
	UnitOfMeasurementTypeBq        UnitOfMeasurementType = "Bq"
	UnitOfMeasurementTypeBqm3      UnitOfMeasurementType = "Bq/m^3"
	UnitOfMeasurementTypeSv        UnitOfMeasurementType = "Sv"
	UnitOfMeasurementTypeRd        UnitOfMeasurementType = "Rd"
	UnitOfMeasurementTypeC         UnitOfMeasurementType = "C"
	UnitOfMeasurementTypeF         UnitOfMeasurementType = "F"
	UnitOfMeasurementTypeH         UnitOfMeasurementType = "H"
	UnitOfMeasurementTypeJ         UnitOfMeasurementType = "J"
	UnitOfMeasurementTypeN         UnitOfMeasurementType = "N"
	UnitOfMeasurementTypeNm        UnitOfMeasurementType = "N_m"
	UnitOfMeasurementTypeNs        UnitOfMeasurementType = "N_s"
	UnitOfMeasurementTypeWb        UnitOfMeasurementType = "Wb"
	UnitOfMeasurementTypeT         UnitOfMeasurementType = "T"
	UnitOfMeasurementTypePa        UnitOfMeasurementType = "Pa"
	UnitOfMeasurementTypebar       UnitOfMeasurementType = "bar"
	UnitOfMeasurementTypeatm       UnitOfMeasurementType = "atm"
	UnitOfMeasurementTypepsi       UnitOfMeasurementType = "psi"
	UnitOfMeasurementTypemmHg      UnitOfMeasurementType = "mmHg"
	UnitOfMeasurementTypem2        UnitOfMeasurementType = "m^2"
	UnitOfMeasurementTypem3        UnitOfMeasurementType = "m^3"
	UnitOfMeasurementTypem3h       UnitOfMeasurementType = "m^3/h"
	UnitOfMeasurementTypems        UnitOfMeasurementType = "m/s"
	UnitOfMeasurementTypems2       UnitOfMeasurementType = "m/s^2"
	UnitOfMeasurementTypem3s       UnitOfMeasurementType = "m^3/s"
	UnitOfMeasurementTypemm3       UnitOfMeasurementType = "m/m^3"
	UnitOfMeasurementTypekgm3      UnitOfMeasurementType = "kg/m^3"
	UnitOfMeasurementTypekgm       UnitOfMeasurementType = "kg_m"
	UnitOfMeasurementTypem2s       UnitOfMeasurementType = "m^2/s"
	UnitOfMeasurementTypewmk       UnitOfMeasurementType = "W/m_K"
	UnitOfMeasurementTypeJK        UnitOfMeasurementType = "J/K"
	UnitOfMeasurementType1s        UnitOfMeasurementType = "1/s"
	UnitOfMeasurementTypeWm2       UnitOfMeasurementType = "W/m^2"
	UnitOfMeasurementTypeJm2       UnitOfMeasurementType = "J/m^2"
	UnitOfMeasurementTypeS         UnitOfMeasurementType = "S"
	UnitOfMeasurementTypeSm        UnitOfMeasurementType = "S/m"
	UnitOfMeasurementTypeKs        UnitOfMeasurementType = "K/s"
	UnitOfMeasurementTypePas       UnitOfMeasurementType = "Pa/s"
	UnitOfMeasurementTypeJkgK      UnitOfMeasurementType = "J/kg_K"
	UnitOfMeasurementTypeVs        UnitOfMeasurementType = "Vs"
	UnitOfMeasurementTypeVm        UnitOfMeasurementType = "V/m"
	UnitOfMeasurementTypeVHz       UnitOfMeasurementType = "V/Hz"
	UnitOfMeasurementTypeAs        UnitOfMeasurementType = "As"
	UnitOfMeasurementTypeAm        UnitOfMeasurementType = "A/m"
	UnitOfMeasurementTypeHzs       UnitOfMeasurementType = "Hz/s"
	UnitOfMeasurementTypekgs       UnitOfMeasurementType = "kg/s"
	UnitOfMeasurementTypekgm2      UnitOfMeasurementType = "kg_m^2"
	UnitOfMeasurementTypeJWh       UnitOfMeasurementType = "J/Wh"
	UnitOfMeasurementTypeWs        UnitOfMeasurementType = "W/s"
	UnitOfMeasurementTypeft3       UnitOfMeasurementType = "ft^3"
	UnitOfMeasurementTypeft3h      UnitOfMeasurementType = "ft^3/h"
	UnitOfMeasurementTypeccf       UnitOfMeasurementType = "ccf"
	UnitOfMeasurementTypeccfh      UnitOfMeasurementType = "ccf/h"
	UnitOfMeasurementTypeUSliqgal  UnitOfMeasurementType = "US.liq.gal"
	UnitOfMeasurementTypeUSliqgalh UnitOfMeasurementType = "US.liq.gal/h"
	UnitOfMeasurementTypeImpgal    UnitOfMeasurementType = "Imp.gal"
	UnitOfMeasurementTypeImpgalh   UnitOfMeasurementType = "Imp.gal/h"
	UnitOfMeasurementTypeBtu       UnitOfMeasurementType = "Btu"
	UnitOfMeasurementTypeBtuh      UnitOfMeasurementType = "Btu/h"
	UnitOfMeasurementTypeAh        UnitOfMeasurementType = "Ah"
	UnitOfMeasurementTypekgWh      UnitOfMeasurementType = "kg/Wh"
)

type UpdateHelper

type UpdateHelper interface {
	String() string
}

provides a helper method to create hash values of custom structs for usage with collection updates

type Updater

type Updater interface {
	// data model specific update function
	//
	// parameters:
	//   - remoteWrite defines if this data came on from a remote service, as that is then to
	//     ignore the "writecheck" tagges fields and should only be allowed to write if the "writecheck" tagged field
	//     boolean is set to true
	//   - persist defines if the data should be persisted, false used for creating full write datasets
	//   - newList is the new data
	//   - filterPartial is the partial filter
	//   - filterDelete is the delete filter
	//
	// returns:
	//   - the merged data
	//   - true if everything was successful, false if not
	UpdateList(remoteWrite, persist bool, newList any, filterPartial, filterDelete *FilterType) (any, bool)
}

type UseCaseActorType

type UseCaseActorType string
const (
	UseCaseActorTypeBattery                  UseCaseActorType = "Battery"
	UseCaseActorTypeBatterySystem            UseCaseActorType = "BatterySystem"
	UseCaseActorTypeCEM                      UseCaseActorType = "CEM"
	UseCaseActorTypeConfigurationAppliance   UseCaseActorType = "ConfigurationAppliance"
	UseCaseActorTypeCompressor               UseCaseActorType = "Compressor"
	UseCaseActorTypeControllableSystem       UseCaseActorType = "ControllableSystem"
	UseCaseActorTypeDHWCircuit               UseCaseActorType = "DHWCircuit"
	UseCaseActorTypeEnergyBroker             UseCaseActorType = "EnergyBroker"
	UseCaseActorTypeEnergyConsumer           UseCaseActorType = "EnergyConsumer"
	UseCaseActorTypeEnergyGuard              UseCaseActorType = "EnergyGuard"
	UseCaseActorTypeEVSE                     UseCaseActorType = "EVSE"
	UseCaseActorTypeEV                       UseCaseActorType = "EV"
	UseCaseActorTypeGridConnectionPoint      UseCaseActorType = "GridConnectionPoint"
	UseCaseActorTypeHeatPump                 UseCaseActorType = "HeatPump"
	UseCaseActorTypeHeatingCircuit           UseCaseActorType = "HeatingCircuit"
	UseCaseActorTypeHeatingZone              UseCaseActorType = "HeatingZone"
	UseCaseActorTypeHVACRoom                 UseCaseActorType = "HVACRoom"
	UseCaseActorTypeInverter                 UseCaseActorType = "Inverter"
	UseCaseActorTypeMonitoredUnit            UseCaseActorType = "MonitoredUnit"
	UseCaseActorTypeMonitoringAppliance      UseCaseActorType = "MonitoringAppliance"
	UseCaseActorTypeOutdoorTemperatureSensor UseCaseActorType = "OutdoorTemperatureSensor"
	UseCaseActorTypePVString                 UseCaseActorType = "PVString"
	UseCaseActorTypePVSystem                 UseCaseActorType = "PVSystem"
	UseCaseActorTypeSmartAppliance           UseCaseActorType = "SmartAppliance"
	UseCaseActorTypeVisualizationAppliance   UseCaseActorType = "VisualizationAppliance"
)

type UseCaseInformationDataElementsType

type UseCaseInformationDataElementsType struct {
	Address        *ElementTagType `json:"address,omitempty"`
	Actor          *ElementTagType `json:"actor,omitempty"`
	UseCaseSupport *ElementTagType `json:"useCaseSupport,omitempty"`
}

type UseCaseInformationDataType

type UseCaseInformationDataType struct {
	Address        *FeatureAddressType  `json:"address,omitempty"`
	Actor          *UseCaseActorType    `json:"actor,omitempty"`
	UseCaseSupport []UseCaseSupportType `json:"useCaseSupport,omitempty"`
}

func (*UseCaseInformationDataType) Add

add a new UseCaseSupportType

func (*UseCaseInformationDataType) Remove

func (u *UseCaseInformationDataType) Remove(useCaseName UseCaseNameType)

remove a UseCaseSupportType with a given UseCaseNameType

type UseCaseInformationListDataSelectorsType

type UseCaseInformationListDataSelectorsType struct {
	Address        *FeatureAddressType          `json:"address,omitempty"`
	Actor          *UseCaseActorType            `json:"actor,omitempty"`
	UseCaseSupport *UseCaseSupportSelectorsType `json:"useCaseSupport,omitempty"`
}

type UseCaseInformationListDataType

type UseCaseInformationListDataType struct {
	UseCaseInformationData []UseCaseInformationDataType `json:"useCaseInformationData,omitempty"`
}

type UseCaseNameType

type UseCaseNameType string
const (
	UseCaseNameTypeConfigurationOfDhwSystemFunction                             UseCaseNameType = "configurationOfDhwSystemFunction"
	UseCaseNameTypeConfigurationOfDhwTemperature                                UseCaseNameType = "configurationOfDhwTemperature"
	UseCaseNameTypeConfigurationOfRoomCoolingSystemFunction                     UseCaseNameType = "configurationOfRoomCoolingSystemFunction"
	UseCaseNameTypeConfigurationOfRoomCoolingTemperature                        UseCaseNameType = "configurationOfRoomCoolingTemperature"
	UseCaseNameTypeConfigurationOfRoomHeatingSystemFunction                     UseCaseNameType = "configurationOfRoomHeatingSystemFunction"
	UseCaseNameTypeConfigurationOfRoomHeatingTemperature                        UseCaseNameType = "configurationOfRoomHeatingTemperature"
	UseCaseNameTypeControlOfBattery                                             UseCaseNameType = "controlOfBattery"
	UseCaseNameTypeCoordinatedEVCharging                                        UseCaseNameType = "coordinatedEvCharging"
	UseCaseNameTypeEVChargingSummary                                            UseCaseNameType = "evChargingSummary"
	UseCaseNameTypeEVCommissioningAndConfiguration                              UseCaseNameType = "evCommissioningAndConfiguration"
	UseCaseNameTypeEVSECommissioningAndConfiguration                            UseCaseNameType = "evseCommissioningAndConfiguration"
	UseCaseNameTypeEVStateOfCharge                                              UseCaseNameType = "evStateOfCharge"
	UseCaseNameTypeFlexibleLoad                                                 UseCaseNameType = "flexibleLoad"
	UseCaseNameTypeFlexibleStartForWhiteGoods                                   UseCaseNameType = "flexibleStartForWhiteGoods"
	UseCaseNameTypeLimitationOfPowerConsumption                                 UseCaseNameType = "limitationOfPowerConsumption"
	UseCaseNameTypeLimitationOfPowerProduction                                  UseCaseNameType = "limitationOfPowerProduction"
	UseCaseNameTypeIncentiveTableBasedPowerConsumptionManagement                UseCaseNameType = "incentiveTableBasedPowerConsumptionManagement"
	UseCaseNameTypeMeasurementOfElectricityDuringEVCharging                     UseCaseNameType = "measurementOfElectricityDuringEvCharging"
	UseCaseNameTypeMonitoringAndControlOfSmartGridReadyConditions               UseCaseNameType = "monitoringAndControlOfSmartGridReadyConditions"
	UseCaseNameTypeMonitoringOfBattery                                          UseCaseNameType = "monitoringOfBattery"
	UseCaseNameTypeMonitoringOfDhwSystemFunction                                UseCaseNameType = "monitoringOfDhwSystemFunction"
	UseCaseNameTypeMonitoringOfDhwTemperature                                   UseCaseNameType = "monitoringOfDhwTemperature"
	UseCaseNameTypeMonitoringOfGridConnectionPoint                              UseCaseNameType = "monitoringOfGridConnectionPoint"
	UseCaseNameTypeMonitoringOfInverter                                         UseCaseNameType = "monitoringOfInverter"
	UseCaseNameTypeMonitoringOfOutdoorTemperature                               UseCaseNameType = "monitoringOfOutdoorTemperature"
	UseCaseNameTypeMonitoringOfPowerConsumption                                 UseCaseNameType = "monitoringOfPowerConsumption"
	UseCaseNameTypeMonitoringOfPvString                                         UseCaseNameType = "monitoringOfPvString"
	UseCaseNameTypeMonitoringOfRoomCoolingSystemFunction                        UseCaseNameType = "monitoringOfRoomCoolingSystemFunction"
	UseCaseNameTypeMonitoringOfRoomHeatingSystemFunction                        UseCaseNameType = "monitoringOfRoomHeatingSystemFunction"
	UseCaseNameTypeMonitoringOfRoomTemperature                                  UseCaseNameType = "monitoringOfRoomTemperature"
	UseCaseNameTypeOptimizationOfSelfConsumptionByHeatPumpCompressorFlexibility UseCaseNameType = "optimizationOfSelfConsumptionByHeatPumpCompressorFlexibility"
	UseCaseNameTypeOptimizationOfSelfConsumptionDuringEVCharging                UseCaseNameType = "optimizationOfSelfConsumptionDuringEvCharging"
	UseCaseNameTypeOverloadProtectionByEVChargingCurrentCurtailment             UseCaseNameType = "overloadProtectionByEvChargingCurrentCurtailment"
	UseCaseNameTypeVisualizationOfAggregatedBatteryData                         UseCaseNameType = "visualizationOfAggregatedBatteryData"
	UseCaseNameTypeVisualizationOfAggregatedPhotovoltaicData                    UseCaseNameType = "visualizationOfAggregatedPhotovoltaicData"
	UseCaseNameTypeVisualizationOfHeatingAreaName                               UseCaseNameType = "visualizationOfHeatingAreaName"
)

type UseCaseScenarioSupportType

type UseCaseScenarioSupportType uint

type UseCaseSupportElementsType

type UseCaseSupportElementsType struct {
	UseCaseName                *ElementTagType `json:"useCaseName,omitempty"`
	UseCaseVersion             *ElementTagType `json:"useCaseVersion,omitempty"`
	UseCaseAvailable           *ElementTagType `json:"useCaseAvailable,omitempty"`
	ScenarioSupport            *ElementTagType `json:"scenarioSupport,omitempty"`
	UseCaseDocumentSubRevision *ElementTagType `json:"useCaseDocumentSubRevision,omitempty"`
}

type UseCaseSupportSelectorsType

type UseCaseSupportSelectorsType struct {
	UseCaseName     *UseCaseNameType            `json:"useCaseName,omitempty"`
	UseCaseVersion  *SpecificationVersionType   `json:"useCaseVersion,omitempty"`
	ScenarioSupport *UseCaseScenarioSupportType `json:"scenarioSupport,omitempty"`
}

type UseCaseSupportType

type UseCaseSupportType struct {
	UseCaseName                *UseCaseNameType             `json:"useCaseName,omitempty"`
	UseCaseVersion             *SpecificationVersionType    `json:"useCaseVersion,omitempty"`
	UseCaseAvailable           *bool                        `json:"useCaseAvailable,omitempty"`
	ScenarioSupport            []UseCaseScenarioSupportType `json:"scenarioSupport,omitempty"`
	UseCaseDocumentSubRevision *string                      `json:"useCaseDocumentSubRevision,omitempty"`
}

type VendorStateCodeType

type VendorStateCodeType string

Source Files

Jump to

Keyboard shortcuts

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