Skip to main content

RegisterSelfReportedMeteringPointNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

RegisterSelfReportedMeteringPoint node configuration (AB#5636, requirement MTR-01). Registers a metering point whose values the participant reports itself: customer, operating facility, metering point with MeteringDataSource = SelfReported, raw measurement anchor and participation period, idempotently and in one transaction.

public record RegisterSelfReportedMeteringPointNodeConfiguration : NodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, IEquatable<RegisterSelfReportedMeteringPointNodeConfiguration>

Inheritance Object → NodeConfiguration → RegisterSelfReportedMeteringPointNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, IEquatable<RegisterSelfReportedMeteringPointNodeConfiguration>

Remarks:

The request at RegisterSelfReportedMeteringPointNodeConfiguration.RequestPath carries meteringPointNumber (33 characters, starting with AT and with RegisterSelfReportedMeteringPointNodeConfiguration.ReservedNumberPrefix), direction (consumption or production), optional displayName, participationFactor (1 to 100, default 100), participationFrom (a date in RegisterSelfReportedMeteringPointNodeConfiguration.TimeZone, default today), loadProfile and annualConsumptionKwh (consumption only), productionType and capacityKwp (production only) and customer (name, legalEntityType) and zipcode (the facility's postal code, a whole number or a string of digits, default RegisterSelfReportedMeteringPointNodeConfiguration.DefaultZipcode). Everything is validated before anything is written; a validation failure is a result with status: error and a code (VALIDATION, NUMBER_RESERVED, DIRECTION_CONFLICT, NOT_SELF_REPORTED, CITY_NOT_FOUND), never an exception.

Every operating facility gets exactly one RegisterSelfReportedMeteringPointNodeConfiguration.CityCkTypeId parent (RegisterSelfReportedMeteringPointNodeConfiguration.ParentAssociationRoleId), the city whose RegisterSelfReportedMeteringPointNodeConfiguration.CityZipcodeAttribute equals the zip code: the Energy Community app reads a facility's city from that association and fails with "City data not found" without it (AB#6014). Several cities with the same zip code: the one with the lowest runtime id. No city for the zip code: CITY_NOT_FOUND and nothing written; for the default zip code that means the tenant lacks the Locations.Austria city directory. The facility address takes zip code and city name from that city. A re-registration links a city to a facility that has no parent yet (facilities created before this rule) and never changes an existing parent.

A second request for the same number and direction returns created: false with the same runtime ids and updates the name, the partition factor and the sizes that the request names; the participation start is never changed. The result written to RegisterSelfReportedMeteringPointNodeConfiguration.TargetPath is status, code (on error), message, created and meteringPoint (rtId, meteringPointNumber, direction, anchors with obisCode and rtId, participation with from and factor).

The customer number is not written by the node: the customer is inserted on its own, so the engine assigns CustomerNumber from the tenant's auto-increment counter, as the app's create flow does.

Properties​

Identity​

Identity this node runs as: Caller (default), ServiceAccount (the pipeline's service account with its full roles, even when a caller is present), or System (unfiltered, bypasses data permissions). A missing value resolves to Caller (AB#5127).

public NodeExecutionIdentity Identity { get; set; }

Property Value​

NodeExecutionIdentity

RequestPath​

JSONPath to the request object. Default $.body.

public string RequestPath { get; set; }

Property Value​

String

TargetPath​

JSONPath where the result object is written.

public string TargetPath { get; set; }

Property Value​

String

ReservedNumberPrefix​

Prefix every self-reported metering point number must carry; any other number is rejected with NUMBER_RESERVED, so the simulation and the EDA number ranges stay untouched. Default AT009998.

public string ReservedNumberPrefix { get; set; }

Property Value​

String

TimeZone​

Time zone of participationFrom and of its default "today". Default Europe/Vienna.

public string TimeZone { get; set; }

Property Value​

String

DefaultParticipationFactor​

Partition factor of a new metering point when the request names none. Default 100.

public int DefaultParticipationFactor { get; set; }

Property Value​

Int32

ParticipationTo​

End of the participation period created for a new metering point (UTC). Default 2099-12-31T23:59:59Z.

public DateTime ParticipationTo { get; set; }

Property Value​

DateTime

ConsumerCkTypeId​

CkTypeId of the consumer metering points. Default EnergyCommunity/Consumer.

public string ConsumerCkTypeId { get; set; }

Property Value​

String

ProducerCkTypeId​

CkTypeId of the producer metering points. Default EnergyCommunity/Producer.

public string ProducerCkTypeId { get; set; }

Property Value​

String

CustomerCkTypeId​

CkTypeId of the customers. Default EnergyCommunity/Customer.

public string CustomerCkTypeId { get; set; }

Property Value​

String

FacilityCkTypeId​

CkTypeId of the operating facilities. Default Basic.Energy/OperatingFacility.

public string FacilityCkTypeId { get; set; }

Property Value​

String

EnergyMeasurementCkTypeId​

CkTypeId of the measurement anchors. Default Basic.Energy/EnergyMeasurement.

public string EnergyMeasurementCkTypeId { get; set; }

Property Value​

String

ParticipationPeriodCkTypeId​

CkTypeId of the participation periods. Default EnergyCommunity/ParticipationPeriod.

public string ParticipationPeriodCkTypeId { get; set; }

Property Value​

String

CustomerFacilityAssociationRoleId​

Association role customer to facility. Default EnergyCommunity/AssociatedFacilities.

public string CustomerFacilityAssociationRoleId { get; set; }

Property Value​

String

ParentAssociationRoleId​

Association role metering point to facility and anchor to metering point. Default System/ParentChild.

public string ParentAssociationRoleId { get; set; }

Property Value​

String

ParticipationPeriodAssociationRoleId​

Association role participation period to metering point. Default EnergyCommunity/ParticipationPeriod.

public string ParticipationPeriodAssociationRoleId { get; set; }

Property Value​

String

ParticipationTimeRangeAttribute​

Record attribute on the participation period with From and To. Default TimeRange.

public string ParticipationTimeRangeAttribute { get; set; }

Property Value​

String

MeteringPointNumberAttribute​

String attribute with the metering point number. Default MeteringPointNumber.

public string MeteringPointNumberAttribute { get; set; }

Property Value​

String

PartitionFactorAttribute​

Integer attribute with the partition factor in percent. Default PartitionFactor.

public string PartitionFactorAttribute { get; set; }

Property Value​

String

DataSourceAttribute​

Enum attribute naming where the values come from. Default MeteringDataSource.

public string DataSourceAttribute { get; set; }

Property Value​

String

DefaultDataSource​

Data source assumed when the attribute is missing. Default 0 (Eda).

public int DefaultDataSource { get; set; }

Property Value​

Int32

SelfReportedDataSource​

Data source key written for and required of a self-reported metering point. Default 2.

public int SelfReportedDataSource { get; set; }

Property Value​

Int32

ObisCodeAttribute​

String attribute on the measurement anchor carrying its OBIS code. Default ObisCode.

public string ObisCodeAttribute { get; set; }

Property Value​

String

ConsumerInputObis​

Raw register anchored for a consumer. Default 1-1:1.9.0 G.01.

public string ConsumerInputObis { get; set; }

Property Value​

String

ProducerInputObis​

Raw register anchored for a producer. Default 1-1:2.9.0 G.01.

public string ProducerInputObis { get; set; }

Property Value​

String

DefaultCustomerWellKnownName​

Well-known name of the default customer used when the request names none; one per tenant, found again by this name. Default self-reported-default-customer.

public string DefaultCustomerWellKnownName { get; set; }

Property Value​

String

DefaultCustomerName​

Company name of the default customer. Default Self-reported metering points.

public string DefaultCustomerName { get; set; }

Property Value​

String

CustomerWellKnownNamePrefix​

Prefix of the well-known name of a named customer; the rest is derived from the name, so the same name always finds the same customer. Default self-reported-customer-.

public string CustomerWellKnownNamePrefix { get; set; }

Property Value​

String

DefaultLegalEntityType​

Legal entity type of a customer whose request names none (NaturalPerson, LegalPerson, Company, LocalAuthority). Default Company.

public string DefaultLegalEntityType { get; set; }

Property Value​

String

CustomerBillingCycle​

BillingCycle key of a new customer. Default 1 (Quarterly, the CK default).

public int CustomerBillingCycle { get; set; }

Property Value​

Int32

CustomerTaxProcedureCreditNote​

TaxProcedureCreditNote key of a new customer. Default 2 (NoTaxProcedure).

public int CustomerTaxProcedureCreditNote { get; set; }

Property Value​

Int32

FacilityType​

FacilityType key of a new facility. Default 0 (Unknown).

public int FacilityType { get; set; }

Property Value​

Int32

FacilityStreet​

Street of the mandatory facility address (the request carries none). Default -.

public string FacilityStreet { get; set; }

Property Value​

String

FacilityNationalCode​

National code of the mandatory facility address. Default AT.

public string FacilityNationalCode { get; set; }

Property Value​

String

DefaultZipcode​

Zip code of the facility's city when the request names none. Default 5020 (Salzburg, in the Locations.Austria city directory).

public int DefaultZipcode { get; set; }

Property Value​

Int32

CityCkTypeId​

CkTypeId of the cities a facility is parented to. Default Basic/City.

public string CityCkTypeId { get; set; }

Property Value​

String

CityZipcodeAttribute​

Integer attribute of the city carrying its zip code. Default Zipcode.

public string CityZipcodeAttribute { get; set; }

Property Value​

String

CityNameAttribute​

String attribute of the city written to the facility address as its city. Default Name.

public string CityNameAttribute { get; set; }

Property Value​

String

FacilityParentCkTypeId​

CkTypeId under which an existing parent of a facility is looked for on a re-registration; a facility with any such parent keeps it. Default Basic/TreeNode (the base of Basic/City).

public string FacilityParentCkTypeId { get; set; }

Property Value​

String

Description​

public string Description { get; set; }

Property Value​

String

Constructors​

RegisterSelfReportedMeteringPointNodeConfiguration()​

Caution​

Constructors of types with required members are not supported in this version of your compiler.


public RegisterSelfReportedMeteringPointNodeConfiguration()