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
TargetPath
JSONPath where the result object is written.
public string TargetPath { get; set; }
Property Value
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
TimeZone
Time zone of participationFrom and of its default "today". Default Europe/Vienna.
public string TimeZone { get; set; }
Property Value
DefaultParticipationFactor
Partition factor of a new metering point when the request names none. Default 100.
public int DefaultParticipationFactor { get; set; }
Property Value
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
ConsumerCkTypeId
CkTypeId of the consumer metering points. Default EnergyCommunity/Consumer.
public string ConsumerCkTypeId { get; set; }
Property Value
ProducerCkTypeId
CkTypeId of the producer metering points. Default EnergyCommunity/Producer.
public string ProducerCkTypeId { get; set; }
Property Value
CustomerCkTypeId
CkTypeId of the customers. Default EnergyCommunity/Customer.
public string CustomerCkTypeId { get; set; }
Property Value
FacilityCkTypeId
CkTypeId of the operating facilities. Default Basic.Energy/OperatingFacility.
public string FacilityCkTypeId { get; set; }
Property Value
EnergyMeasurementCkTypeId
CkTypeId of the measurement anchors. Default Basic.Energy/EnergyMeasurement.
public string EnergyMeasurementCkTypeId { get; set; }
Property Value
ParticipationPeriodCkTypeId
CkTypeId of the participation periods. Default EnergyCommunity/ParticipationPeriod.
public string ParticipationPeriodCkTypeId { get; set; }
Property Value
CustomerFacilityAssociationRoleId
Association role customer to facility. Default EnergyCommunity/AssociatedFacilities.
public string CustomerFacilityAssociationRoleId { get; set; }
Property Value
ParentAssociationRoleId
Association role metering point to facility and anchor to metering point. Default
System/ParentChild.
public string ParentAssociationRoleId { get; set; }
Property Value
ParticipationPeriodAssociationRoleId
Association role participation period to metering point. Default EnergyCommunity/ParticipationPeriod.
public string ParticipationPeriodAssociationRoleId { get; set; }
Property Value
ParticipationTimeRangeAttribute
Record attribute on the participation period with From and To. Default TimeRange.
public string ParticipationTimeRangeAttribute { get; set; }
Property Value
MeteringPointNumberAttribute
String attribute with the metering point number. Default MeteringPointNumber.
public string MeteringPointNumberAttribute { get; set; }
Property Value
PartitionFactorAttribute
Integer attribute with the partition factor in percent. Default PartitionFactor.
public string PartitionFactorAttribute { get; set; }
Property Value
DataSourceAttribute
Enum attribute naming where the values come from. Default MeteringDataSource.
public string DataSourceAttribute { get; set; }
Property Value
DefaultDataSource
Data source assumed when the attribute is missing. Default 0 (Eda).
public int DefaultDataSource { get; set; }
Property Value
SelfReportedDataSource
Data source key written for and required of a self-reported metering point. Default 2.
public int SelfReportedDataSource { get; set; }
Property Value
ObisCodeAttribute
String attribute on the measurement anchor carrying its OBIS code. Default ObisCode.
public string ObisCodeAttribute { get; set; }
Property Value
ConsumerInputObis
Raw register anchored for a consumer. Default 1-1:1.9.0 G.01.
public string ConsumerInputObis { get; set; }
Property Value
ProducerInputObis
Raw register anchored for a producer. Default 1-1:2.9.0 G.01.
public string ProducerInputObis { get; set; }
Property Value
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
DefaultCustomerName
Company name of the default customer. Default Self-reported metering points.
public string DefaultCustomerName { get; set; }
Property Value
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
DefaultLegalEntityType
Legal entity type of a customer whose request names none (NaturalPerson, LegalPerson, Company,
LocalAuthority). Default Company.
public string DefaultLegalEntityType { get; set; }
Property Value
CustomerBillingCycle
BillingCycle key of a new customer. Default 1 (Quarterly, the CK default).
public int CustomerBillingCycle { get; set; }
Property Value
CustomerTaxProcedureCreditNote
TaxProcedureCreditNote key of a new customer. Default 2 (NoTaxProcedure).
public int CustomerTaxProcedureCreditNote { get; set; }
Property Value
FacilityType
FacilityType key of a new facility. Default 0 (Unknown).
public int FacilityType { get; set; }
Property Value
FacilityStreet
Street of the mandatory facility address (the request carries none). Default -.
public string FacilityStreet { get; set; }
Property Value
FacilityNationalCode
National code of the mandatory facility address. Default AT.
public string FacilityNationalCode { get; set; }
Property Value
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
CityCkTypeId
CkTypeId of the cities a facility is parented to. Default Basic/City.
public string CityCkTypeId { get; set; }
Property Value
CityZipcodeAttribute
Integer attribute of the city carrying its zip code. Default Zipcode.
public string CityZipcodeAttribute { get; set; }
Property Value
CityNameAttribute
String attribute of the city written to the facility address as its city. Default Name.
public string CityNameAttribute { get; set; }
Property Value
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
Description
public string Description { get; set; }
Property Value
Constructors
RegisterSelfReportedMeteringPointNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public RegisterSelfReportedMeteringPointNodeConfiguration()