def basevoltage_to_cim( pb: PBBaseVoltage, network_service: NetworkService) -> Optional[BaseVoltage]: cim = BaseVoltage(mrid=pb.mrid()) cim.nominal_voltage = pb.nominalVoltage identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def asset_to_cim(pb: PBAsset, cim: Asset, network_service: NetworkService): network_service.resolve_or_defer_reference(resolver.at_location(cim), pb.locationMRID) for mrid in pb.organisationRoleMRIDs: network_service.resolve_or_defer_reference( resolver.organisation_roles(cim), mrid) identifiedobject_to_cim(pb.io, cim, network_service)
def measurement_to_cim(pb: PBMeasurement, cim: Measurement, service: NetworkService): cim.power_system_resource_mrid = pb.powerSystemResourceMRID cim.terminal_mrid = pb.terminalMRID cim.phases = phasecode_by_id(pb.phases) cim.unitSymbol = unit_symbol_from_id(pb.unitSymbol) service.resolve_or_defer_reference(resolver.remote_source(cim), pb.remoteSourceMRID) identifiedobject_to_cim(pb.io, cim, service)
def geographicalregion_to_cim( pb: PBGeographicalRegion, network_service: NetworkService) -> Optional[GeographicalRegion]: cim = GeographicalRegion(mrid=pb.mrid()) for mrid in pb.subGeographicalRegionMRIDs: network_service.resolve_or_defer_reference( resolver.sub_geographical_regions(cim), mrid) identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def connectivitynode_to_cim( pb: PBConnectivityNode, network_service: NetworkService) -> Optional[ConnectivityNode]: cim = ConnectivityNode(mrid=pb.mrid()) for mrid in pb.terminalMRIDs: network_service.resolve_or_defer_reference(resolver.cn_terminals(cim), mrid) identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def location_to_cim(pb: PBLocation, network_service: NetworkService) -> Optional[Location]: cim = Location(mrid=pb.mrid(), main_address=streetaddress_to_cim(pb.mainAddress) if pb.HasField('mainAddress') else None) for point in pb.positionPoints: cim.add_point(positionpoint_to_cim(point)) identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def loop_to_cim(pb: PBLoop, network_service: NetworkService) -> Optional[Loop]: cim = Loop(mrid=pb.mrid()) for mrid in pb.circuitMRIDs: network_service.resolve_or_defer_reference(resolver.loop_circuits(cim), mrid) for mrid in pb.substationMRIDs: network_service.resolve_or_defer_reference( resolver.loop_substations(cim), mrid) for mrid in pb.normalEnergizingSubstationMRIDs: network_service.resolve_or_defer_reference( resolver.loop_energizing_substations(cim), mrid) identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def transformerend_to_cim(pb: PBTransformerEnd, cim: TransformerEnd, network_service: NetworkService): network_service.resolve_or_defer_reference(resolver.te_terminal(cim), pb.terminalMRID) network_service.resolve_or_defer_reference(resolver.te_base_voltage(cim), pb.baseVoltageMRID) network_service.resolve_or_defer_reference(resolver.ratio_tap_changer(cim), pb.ratioTapChangerMRID) cim.end_number = pb.endNumber cim.grounded = pb.grounded cim.r_ground = pb.rGround cim.x_ground = pb.xGround identifiedobject_to_cim(pb.io, cim, network_service)
def usagepoint_to_cim(pb: PBUsagePoint, network_service: NetworkService) -> Optional[UsagePoint]: cim = UsagePoint(mrid=pb.mrid()) network_service.resolve_or_defer_reference( resolver.usage_point_location(cim), pb.usagePointLocationMRID) for mrid in pb.equipmentMRIDs: network_service.resolve_or_defer_reference(resolver.up_equipment(cim), mrid) for mrid in pb.endDeviceMRIDs: network_service.resolve_or_defer_reference(resolver.end_devices(cim), mrid) identifiedobject_to_cim(pb.io, cim, network_service) return cim if network_service.add(cim) else None
def perlengthlineparameter_to_cim(pb: PBPerLengthLineParameter, cim: PerLengthLineParameter, network_service: NetworkService): identifiedobject_to_cim(pb.io, cim, network_service)
def remotepoint_to_cim(pb: PBRemotePoint, cim: RemotePoint, service: NetworkService): identifiedobject_to_cim(pb.io, cim, service)
def iopoint_to_cim(pb: PBIoPoint, cim: IoPoint, service: NetworkService): identifiedobject_to_cim(pb.io, cim, service)
def powersystemresource_to_cim(pb: PBPowerSystemResource, cim: PowerSystemResource, network_service: NetworkService): network_service.resolve_or_defer_reference(resolver.psr_location(cim), pb.locationMRID) identifiedobject_to_cim(pb.io, cim, network_service)
def acdcterminal_to_cim(pb: PBAcDcTerminal, cim: AcDcTerminal, network_service: NetworkService): identifiedobject_to_cim(pb.io, cim, network_service)
def assetinfo_to_cim(pb: PBAssetInfo, cim: AssetInfo, network_service: NetworkService): identifiedobject_to_cim(pb.io, cim, network_service)