pub struct AssetMeta {
pub id: AssetId,
pub label: String,
pub circuit: CircuitId,
pub phases: PhaseConnection,
pub connection_power: Power,
pub commissioned_at: Option<Date>,
pub steuve_exemption: Option<SteuVeExemption>,
pub legacy_status: LegacyStatus,
pub switched_voluntarily: bool,
pub capabilities: Capabilities,
}Expand description
Facts every asset carries.
Fields§
§id: AssetIdThe name used in configuration, topics and the UI.
label: StringA human label for the UI. Falls back to the id when empty.
circuit: CircuitIdThe circuit this asset hangs off.
phases: PhaseConnectionHow it is connected to the outer conductors.
connection_power: PowerNetzanschlussleistung — the nameplate power the network operator sees.
This is the number the 4,2 kW threshold and the 0,4 scaling factor of
[BK6-22-300 A1 2.4.1 / 4.5.1] are applied to, so it is a declared
value, not a measured one.
commissioned_at: Option<Date>The date of technical commissioning.
[A1 3.1.b] makes participation in the netzorientierte Steuerung
mandatory for devices commissioned after 31.12.2023; [A1 10] puts
everything older into one of the transitional regimes. An unknown date
leaves the device in the § 14a group: dropping a device out of the
group is how a site exceeds a network operator’s limit, and it also
lowers the minimum power the customer is owed. See
hems_grid::para14a::participation.
steuve_exemption: Option<SteuVeExemption>Why this asset does not participate, if it does not.
legacy_status: LegacyStatusWhat the device brings with it from before 2024, [A1 10].
switched_voluntarily: boolWhether the operator moved this device into the netzorientierte Steuerung
voluntarily, [A1 10.4].
The network operator may not refuse and there is no way back, so this is a contractual fact that is stored rather than derived.
capabilities: CapabilitiesWhat the driver can do with it.
Implementations§
Source§impl AssetMeta
impl AssetMeta
Sourcepub fn new(
id: AssetId,
circuit: CircuitId,
phases: PhaseConnection,
connection_power: Power,
) -> Self
pub fn new( id: AssetId, circuit: CircuitId, phases: PhaseConnection, connection_power: Power, ) -> Self
A minimal description: identity, circuit, phases and rating.
Sourcepub fn with_capabilities(self, capabilities: Capabilities) -> Self
pub fn with_capabilities(self, capabilities: Capabilities) -> Self
Replace the capability set.
Sourcepub fn commissioned(self, date: Date) -> Self
pub fn commissioned(self, date: Date) -> Self
Set the commissioning date.
Sourcepub fn exempt(self, reason: SteuVeExemption) -> Self
pub fn exempt(self, reason: SteuVeExemption) -> Self
Declare an exemption from § 14a participation.
Sourcepub fn with_legacy_status(self, legacy_status: LegacyStatus) -> Self
pub fn with_legacy_status(self, legacy_status: LegacyStatus) -> Self
Record what the device brings with it from before 2024, [A1 10].
Sourcepub fn switched_voluntarily(self) -> Self
pub fn switched_voluntarily(self) -> Self
Record the irreversible move into the netzorientierte Steuerung,
[A1 10.4].