zepben.ewb 1.0.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zepben/ewb/__init__.py +601 -0
- zepben/ewb/auth/__init__.py +10 -0
- zepben/ewb/auth/client/__init__.py +5 -0
- zepben/ewb/auth/client/zepben_token_fetcher.py +273 -0
- zepben/ewb/auth/common/__init__.py +5 -0
- zepben/ewb/auth/common/auth_exception.py +16 -0
- zepben/ewb/auth/common/auth_method.py +28 -0
- zepben/ewb/auth/common/auth_provider_config.py +96 -0
- zepben/ewb/database/__init__.py +4 -0
- zepben/ewb/database/paths/__init__.py +4 -0
- zepben/ewb/database/paths/database_type.py +34 -0
- zepben/ewb/database/paths/ewb_data_file_paths.py +237 -0
- zepben/ewb/database/sqlite/__init__.py +4 -0
- zepben/ewb/database/sqlite/common/__init__.py +4 -0
- zepben/ewb/database/sqlite/common/base_cim_reader.py +212 -0
- zepben/ewb/database/sqlite/common/base_cim_writer.py +159 -0
- zepben/ewb/database/sqlite/common/base_collection_reader.py +96 -0
- zepben/ewb/database/sqlite/common/base_collection_writer.py +73 -0
- zepben/ewb/database/sqlite/common/base_database_reader.py +127 -0
- zepben/ewb/database/sqlite/common/base_database_tables.py +137 -0
- zepben/ewb/database/sqlite/common/base_database_writer.py +195 -0
- zepben/ewb/database/sqlite/common/base_entry_writer.py +34 -0
- zepben/ewb/database/sqlite/common/base_service_reader.py +50 -0
- zepben/ewb/database/sqlite/common/base_service_writer.py +104 -0
- zepben/ewb/database/sqlite/common/metadata_collection_reader.py +39 -0
- zepben/ewb/database/sqlite/common/metadata_collection_writer.py +38 -0
- zepben/ewb/database/sqlite/common/metadata_entry_reader.py +45 -0
- zepben/ewb/database/sqlite/common/metadata_entry_writer.py +41 -0
- zepben/ewb/database/sqlite/common/reader_exceptions.py +30 -0
- zepben/ewb/database/sqlite/customer/__init__.py +4 -0
- zepben/ewb/database/sqlite/customer/customer_cim_reader.py +169 -0
- zepben/ewb/database/sqlite/customer/customer_cim_writer.py +137 -0
- zepben/ewb/database/sqlite/customer/customer_database_reader.py +44 -0
- zepben/ewb/database/sqlite/customer/customer_database_tables.py +37 -0
- zepben/ewb/database/sqlite/customer/customer_database_writer.py +45 -0
- zepben/ewb/database/sqlite/customer/customer_service_reader.py +57 -0
- zepben/ewb/database/sqlite/customer/customer_service_writer.py +47 -0
- zepben/ewb/database/sqlite/diagram/__init__.py +4 -0
- zepben/ewb/database/sqlite/diagram/diagram_cim_reader.py +105 -0
- zepben/ewb/database/sqlite/diagram/diagram_cim_writer.py +81 -0
- zepben/ewb/database/sqlite/diagram/diagram_database_reader.py +45 -0
- zepben/ewb/database/sqlite/diagram/diagram_database_tables.py +29 -0
- zepben/ewb/database/sqlite/diagram/diagram_database_writer.py +44 -0
- zepben/ewb/database/sqlite/diagram/diagram_service_reader.py +49 -0
- zepben/ewb/database/sqlite/diagram/diagram_service_writer.py +41 -0
- zepben/ewb/database/sqlite/extensions/__init__.py +4 -0
- zepben/ewb/database/sqlite/extensions/prepared_statement.py +112 -0
- zepben/ewb/database/sqlite/extensions/result_set.py +153 -0
- zepben/ewb/database/sqlite/network/__init__.py +4 -0
- zepben/ewb/database/sqlite/network/network_cim_reader.py +3167 -0
- zepben/ewb/database/sqlite/network/network_cim_writer.py +2561 -0
- zepben/ewb/database/sqlite/network/network_database_reader.py +173 -0
- zepben/ewb/database/sqlite/network/network_database_tables.py +242 -0
- zepben/ewb/database/sqlite/network/network_database_writer.py +43 -0
- zepben/ewb/database/sqlite/network/network_service_reader.py +265 -0
- zepben/ewb/database/sqlite/network/network_service_writer.py +209 -0
- zepben/ewb/database/sqlite/tables/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/associations/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/associations/loop_substation_relationship.py +17 -0
- zepben/ewb/database/sqlite/tables/associations/table_asset_organisation_roles_assets.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_assets_power_system_resources.py +41 -0
- zepben/ewb/database/sqlite/tables/associations/table_battery_units_battery_controls.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_circuits_substations.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_circuits_terminals.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_customer_agreements_pricing_structures.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_end_devices_end_device_functions.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_equipment_equipment_containers.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_equipment_operational_restrictions.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_equipment_usage_points.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_loops_substations.py +43 -0
- zepben/ewb/database/sqlite/tables/associations/table_pricing_structures_tariffs.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_protection_relay_functions_protected_switches.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_protection_relay_functions_sensors.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_protection_relay_schemes_protection_relay_functions.py +40 -0
- zepben/ewb/database/sqlite/tables/associations/table_synchronous_machines_reactive_capability_curves.py +39 -0
- zepben/ewb/database/sqlite/tables/associations/table_usage_points_end_devices.py +40 -0
- zepben/ewb/database/sqlite/tables/column.py +37 -0
- zepben/ewb/database/sqlite/tables/exceptions.py +10 -0
- zepben/ewb/database/sqlite/tables/extensions/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/assetinfo/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/assetinfo/table_reclose_delays.py +38 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/assetinfo/table_relay_info.py +21 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/metering/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61968/metering/table_pan_demand_response_functions.py +21 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/core/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/core/table_sites.py +15 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/feeder/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/feeder/table_loops.py +15 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/feeder/table_lv_feeders.py +20 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/generation/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/generation/production/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/generation/production/table_ev_charging_units.py +15 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_distance_relays.py +28 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_protection_relay_function_thresholds.py +36 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_protection_relay_function_time_limits.py +34 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_protection_relay_functions.py +24 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_protection_relay_schemes.py +20 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_protection_relay_systems.py +20 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/protection/table_voltage_relays.py +15 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/wires/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/wires/table_battery_controls.py +23 -0
- zepben/ewb/database/sqlite/tables/extensions/iec61970/base/wires/table_power_transformer_end_ratings.py +34 -0
- zepben/ewb/database/sqlite/tables/iec61968/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_cable_info.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_no_load_tests.py +24 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_open_circuit_tests.py +24 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_overhead_wire_info.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_power_transformer_info.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_short_circuit_tests.py +29 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_shunt_compensator_info.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_switch_info.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_transformer_end_info.py +46 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_transformer_tank_info.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_transformer_test.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61968/assetinfo/table_wire_info.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_asset_containers.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_asset_functions.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_asset_info.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_asset_organisation_roles.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_asset_owners.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_assets.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_streetlights.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61968/assets/table_structures.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_agreements.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_documents.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_location_street_address_field.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_location_street_addresses.py +33 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_locations.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_organisation_roles.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_organisations.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_position_points.py +30 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_street_addresses.py +26 -0
- zepben/ewb/database/sqlite/tables/iec61968/common/table_town_details.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61968/customers/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/customers/table_customer_agreements.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61968/customers/table_customers.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61968/customers/table_pricing_structures.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/customers/table_tariffs.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassetinfo/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassetinfo/table_current_transformer_info.py +33 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassetinfo/table_potential_transformer_info.py +26 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassets/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassets/table_poles.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61968/metering/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/metering/table_end_device_functions.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61968/metering/table_end_devices.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61968/metering/table_meters.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61968/metering/table_usage_points.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61968/operations/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61968/operations/table_operational_restrictions.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/table_auxiliary_equipment.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/table_current_transformers.py +21 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/table_fault_indicators.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/table_potential_transformers.py +21 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/auxiliaryequipment/table_sensors.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_ac_dc_terminals.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_base_voltages.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_conducting_equipment.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_connectivity_node_containers.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_connectivity_nodes.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_curve_data.py +46 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_curves.py +17 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_equipment.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_equipment_containers.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_feeders.py +28 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_geographical_regions.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_identified_objects.py +29 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_name_types.py +28 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_names.py +36 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_power_system_resources.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_sub_geographical_regions.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_substations.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_terminals.py +35 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/diagramlayout/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/diagramlayout/table_diagram_object_points.py +35 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/diagramlayout/table_diagram_objects.py +31 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/diagramlayout/table_diagrams.py +21 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/equivalents/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/equivalents/table_equivalent_branches.py +35 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/equivalents/table_equivalent_equipment.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/production/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/production/table_battery_units.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/production/table_photo_voltaic_units.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/production/table_power_electronics_units.py +26 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/generation/production/table_power_electronics_wind_units.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_accumulators.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_analogs.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_controls.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_discretes.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_io_points.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_measurements.py +30 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/protection/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/protection/table_current_relays.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/scada/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/scada/table_remote_controls.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/scada/table_remote_points.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/scada/table_remote_sources.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_ac_line_segments.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_breakers.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_busbar_sections.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_clamps.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_conductors.py +21 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_connectors.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_cuts.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_disconnectors.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_earth_fault_compensators.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_connections.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_consumer_phases.py +37 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_consumers.py +26 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_source_phases.py +33 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_sources.py +44 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_fuses.py +20 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_ground_disconnectors.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_grounding_impedances.py +24 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_grounds.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_jumpers.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_junctions.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_linear_shunt_compensators.py +23 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_lines.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_load_break_switches.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_per_length_impedances.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_per_length_line_parameters.py +14 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_per_length_phase_impedances.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_per_length_sequence_impedances.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_petersen_coils.py +27 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_phase_impedance_data.py +52 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_power_electronics_connection_phases.py +30 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_power_electronics_connections.py +50 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_power_transformer_ends.py +43 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_power_transformers.py +24 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_protected_switches.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_ratio_tap_changers.py +28 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_reactive_capability_curves.py +18 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_reclosers.py +15 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_regulating_cond_eq.py +19 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_regulating_controls.py +29 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_rotating_machines.py +36 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_series_compensators.py +25 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_shunt_compensators.py +22 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_static_var_compensator.py +24 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_switches.py +21 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_synchronous_machines.py +95 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_tap_changer_controls.py +28 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_tap_changers.py +25 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_transformer_ends.py +30 -0
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_transformer_star_impedances.py +32 -0
- zepben/ewb/database/sqlite/tables/iec61970/infiec61970/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/infiec61970/feeder/__init__.py +4 -0
- zepben/ewb/database/sqlite/tables/iec61970/infiec61970/feeder/table_circuits.py +27 -0
- zepben/ewb/database/sqlite/tables/sqlite_table.py +142 -0
- zepben/ewb/database/sqlite/tables/table_metadata_data_sources.py +21 -0
- zepben/ewb/database/sqlite/tables/table_version.py +38 -0
- zepben/ewb/dataclassy/__init__.py +15 -0
- zepben/ewb/dataclassy/dataclass.py +192 -0
- zepben/ewb/dataclassy/decorator.py +35 -0
- zepben/ewb/dataclassy/functions.py +80 -0
- zepben/ewb/examples/__init__.py +6 -0
- zepben/ewb/examples/simple_test_network.py +158 -0
- zepben/ewb/exceptions.py +52 -0
- zepben/ewb/model/__init__.py +4 -0
- zepben/ewb/model/busbranch/__init__.py +4 -0
- zepben/ewb/model/busbranch/bus_branch.py +1051 -0
- zepben/ewb/model/cim/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61968/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61968/assetinfo/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61968/assetinfo/relay_info.py +128 -0
- zepben/ewb/model/cim/extensions/iec61968/metering/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61968/metering/pan_demand_reponse_function.py +112 -0
- zepben/ewb/model/cim/extensions/iec61970/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/core/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/core/site.py +37 -0
- zepben/ewb/model/cim/extensions/iec61970/base/feeder/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/feeder/loop.py +207 -0
- zepben/ewb/model/cim/extensions/iec61970/base/feeder/lv_feeder.py +258 -0
- zepben/ewb/model/cim/extensions/iec61970/base/generation/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/generation/production/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/generation/production/ev_charging_unit.py +18 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/distance_relay.py +69 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/power_direction_kind.py +35 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/protection_kind.py +113 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/protection_relay_function.py +448 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/protection_relay_scheme.py +97 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/protection_relay_system.py +97 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/relay_setting.py +35 -0
- zepben/ewb/model/cim/extensions/iec61970/base/protection/voltage_relay.py +20 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/__init__.py +4 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/battery_control.py +36 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/battery_control_mode.py +82 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/transformer_cooling_type.py +56 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/transformer_end_rated_s.py +26 -0
- zepben/ewb/model/cim/extensions/iec61970/base/wires/vector_group.py +292 -0
- zepben/ewb/model/cim/extensions/zbex.py +17 -0
- zepben/ewb/model/cim/iec61968/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/assetinfo/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/assetinfo/cable_info.py +15 -0
- zepben/ewb/model/cim/iec61968/assetinfo/no_load_test.py +42 -0
- zepben/ewb/model/cim/iec61968/assetinfo/open_circuit_test.py +42 -0
- zepben/ewb/model/cim/iec61968/assetinfo/overhead_wire_info.py +15 -0
- zepben/ewb/model/cim/iec61968/assetinfo/power_transformer_info.py +103 -0
- zepben/ewb/model/cim/iec61968/assetinfo/short_circuit_test.py +67 -0
- zepben/ewb/model/cim/iec61968/assetinfo/shunt_compensator_info.py +26 -0
- zepben/ewb/model/cim/iec61968/assetinfo/switch_info.py +17 -0
- zepben/ewb/model/cim/iec61968/assetinfo/transformer_end_info.py +137 -0
- zepben/ewb/model/cim/iec61968/assetinfo/transformer_tank_info.py +108 -0
- zepben/ewb/model/cim/iec61968/assetinfo/transformer_test.py +26 -0
- zepben/ewb/model/cim/iec61968/assetinfo/wire_info.py +24 -0
- zepben/ewb/model/cim/iec61968/assetinfo/wire_material_kind.py +55 -0
- zepben/ewb/model/cim/iec61968/assets/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/assets/asset.py +154 -0
- zepben/ewb/model/cim/iec61968/assets/asset_container.py +16 -0
- zepben/ewb/model/cim/iec61968/assets/asset_function.py +15 -0
- zepben/ewb/model/cim/iec61968/assets/asset_info.py +19 -0
- zepben/ewb/model/cim/iec61968/assets/asset_organisation_role.py +13 -0
- zepben/ewb/model/cim/iec61968/assets/asset_owner.py +13 -0
- zepben/ewb/model/cim/iec61968/assets/streetlight.py +29 -0
- zepben/ewb/model/cim/iec61968/assets/structure.py +16 -0
- zepben/ewb/model/cim/iec61968/common/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/common/agreement.py +16 -0
- zepben/ewb/model/cim/iec61968/common/document.py +36 -0
- zepben/ewb/model/cim/iec61968/common/location.py +129 -0
- zepben/ewb/model/cim/iec61968/common/organisation.py +15 -0
- zepben/ewb/model/cim/iec61968/common/organisation_role.py +22 -0
- zepben/ewb/model/cim/iec61968/common/position_point.py +44 -0
- zepben/ewb/model/cim/iec61968/common/street_address.py +28 -0
- zepben/ewb/model/cim/iec61968/common/street_detail.py +45 -0
- zepben/ewb/model/cim/iec61968/common/town_detail.py +25 -0
- zepben/ewb/model/cim/iec61968/customers/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/customers/customer.py +93 -0
- zepben/ewb/model/cim/iec61968/customers/customer_agreement.py +107 -0
- zepben/ewb/model/cim/iec61968/customers/customer_kind.py +67 -0
- zepben/ewb/model/cim/iec61968/customers/pricing_structure.py +88 -0
- zepben/ewb/model/cim/iec61968/customers/tariff.py +18 -0
- zepben/ewb/model/cim/iec61968/infiec61968/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassetinfo/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassetinfo/current_transformer_info.py +51 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassetinfo/potential_transformer_info.py +33 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassetinfo/transformer_construction_kind.py +67 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassetinfo/transformer_function_kind.py +43 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassets/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassets/pole.py +87 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infassets/streetlight_lamp_kind.py +25 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infcommon/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/infiec61968/infcommon/ratio.py +34 -0
- zepben/ewb/model/cim/iec61968/metering/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/metering/controlled_appliance.py +150 -0
- zepben/ewb/model/cim/iec61968/metering/end_device.py +165 -0
- zepben/ewb/model/cim/iec61968/metering/end_device_function.py +17 -0
- zepben/ewb/model/cim/iec61968/metering/end_device_function_kind.py +46 -0
- zepben/ewb/model/cim/iec61968/metering/meter.py +26 -0
- zepben/ewb/model/cim/iec61968/metering/usage_point.py +186 -0
- zepben/ewb/model/cim/iec61968/operations/__init__.py +4 -0
- zepben/ewb/model/cim/iec61968/operations/operational_restriction.py +92 -0
- zepben/ewb/model/cim/iec61970/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/auxiliary_equipment.py +24 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/current_transformer.py +37 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/fault_indicator.py +18 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/potential_transformer.py +38 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/potential_transformer_kind.py +28 -0
- zepben/ewb/model/cim/iec61970/base/auxiliaryequipment/sensor.py +92 -0
- zepben/ewb/model/cim/iec61970/base/core/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/core/ac_dc_terminal.py +16 -0
- zepben/ewb/model/cim/iec61970/base/core/base_voltage.py +17 -0
- zepben/ewb/model/cim/iec61970/base/core/conducting_equipment.py +198 -0
- zepben/ewb/model/cim/iec61970/base/core/connectivity_node.py +105 -0
- zepben/ewb/model/cim/iec61970/base/core/connectivity_node_container.py +15 -0
- zepben/ewb/model/cim/iec61970/base/core/curve.py +124 -0
- zepben/ewb/model/cim/iec61970/base/core/curve_data.py +29 -0
- zepben/ewb/model/cim/iec61970/base/core/equipment.py +366 -0
- zepben/ewb/model/cim/iec61970/base/core/equipment_container.py +199 -0
- zepben/ewb/model/cim/iec61970/base/core/feeder.py +260 -0
- zepben/ewb/model/cim/iec61970/base/core/geographical_region.py +82 -0
- zepben/ewb/model/cim/iec61970/base/core/identified_object.py +234 -0
- zepben/ewb/model/cim/iec61970/base/core/name.py +36 -0
- zepben/ewb/model/cim/iec61970/base/core/name_type.py +203 -0
- zepben/ewb/model/cim/iec61970/base/core/phase_code.py +201 -0
- zepben/ewb/model/cim/iec61970/base/core/power_system_resource.py +106 -0
- zepben/ewb/model/cim/iec61970/base/core/sub_geographical_region.py +93 -0
- zepben/ewb/model/cim/iec61970/base/core/substation.py +277 -0
- zepben/ewb/model/cim/iec61970/base/core/terminal.py +171 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/diagram.py +109 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/diagram_object.py +160 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/diagram_object_point.py +25 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/diagram_style.py +26 -0
- zepben/ewb/model/cim/iec61970/base/diagramlayout/orientation_kind.py +27 -0
- zepben/ewb/model/cim/iec61970/base/domain/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/domain/unit_symbol.py +492 -0
- zepben/ewb/model/cim/iec61970/base/equivalents/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/equivalents/equivalent_branch.py +113 -0
- zepben/ewb/model/cim/iec61970/base/equivalents/equivalent_equipment.py +15 -0
- zepben/ewb/model/cim/iec61970/base/generation/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/battery_state_kind.py +37 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/battery_unit.py +108 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/photo_voltaic_unit.py +13 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/power_electronics_unit.py +28 -0
- zepben/ewb/model/cim/iec61970/base/generation/production/power_electronics_wind_unit.py +13 -0
- zepben/ewb/model/cim/iec61970/base/meas/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/meas/accumulator.py +13 -0
- zepben/ewb/model/cim/iec61970/base/meas/accumulator_value.py +20 -0
- zepben/ewb/model/cim/iec61970/base/meas/analog.py +16 -0
- zepben/ewb/model/cim/iec61970/base/meas/analog_value.py +20 -0
- zepben/ewb/model/cim/iec61970/base/meas/control.py +26 -0
- zepben/ewb/model/cim/iec61970/base/meas/discrete.py +13 -0
- zepben/ewb/model/cim/iec61970/base/meas/discrete_value.py +20 -0
- zepben/ewb/model/cim/iec61970/base/meas/iopoint.py +16 -0
- zepben/ewb/model/cim/iec61970/base/meas/measurement.py +60 -0
- zepben/ewb/model/cim/iec61970/base/meas/measurement_value.py +21 -0
- zepben/ewb/model/cim/iec61970/base/protection/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/protection/current_relay.py +23 -0
- zepben/ewb/model/cim/iec61970/base/scada/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/scada/remote_control.py +22 -0
- zepben/ewb/model/cim/iec61970/base/scada/remote_point.py +16 -0
- zepben/ewb/model/cim/iec61970/base/scada/remote_source.py +22 -0
- zepben/ewb/model/cim/iec61970/base/wires/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/base/wires/ac_line_segment.py +214 -0
- zepben/ewb/model/cim/iec61970/base/wires/breaker.py +32 -0
- zepben/ewb/model/cim/iec61970/base/wires/busbar_section.py +19 -0
- zepben/ewb/model/cim/iec61970/base/wires/clamp.py +32 -0
- zepben/ewb/model/cim/iec61970/base/wires/conductor.py +49 -0
- zepben/ewb/model/cim/iec61970/base/wires/connector.py +16 -0
- zepben/ewb/model/cim/iec61970/base/wires/cut.py +36 -0
- zepben/ewb/model/cim/iec61970/base/wires/disconnector.py +17 -0
- zepben/ewb/model/cim/iec61970/base/wires/earth_fault_compensator.py +21 -0
- zepben/ewb/model/cim/iec61970/base/wires/energy_connection.py +15 -0
- zepben/ewb/model/cim/iec61970/base/wires/energy_consumer.py +107 -0
- zepben/ewb/model/cim/iec61970/base/wires/energy_consumer_phase.py +56 -0
- zepben/ewb/model/cim/iec61970/base/wires/energy_source.py +172 -0
- zepben/ewb/model/cim/iec61970/base/wires/energy_source_phase.py +45 -0
- zepben/ewb/model/cim/iec61970/base/wires/fuse.py +23 -0
- zepben/ewb/model/cim/iec61970/base/wires/ground.py +15 -0
- zepben/ewb/model/cim/iec61970/base/wires/ground_disconnector.py +15 -0
- zepben/ewb/model/cim/iec61970/base/wires/grounding_impedance.py +19 -0
- zepben/ewb/model/cim/iec61970/base/wires/jumper.py +16 -0
- zepben/ewb/model/cim/iec61970/base/wires/junction.py +15 -0
- zepben/ewb/model/cim/iec61970/base/wires/line.py +13 -0
- zepben/ewb/model/cim/iec61970/base/wires/linear_shunt_compensator.py +26 -0
- zepben/ewb/model/cim/iec61970/base/wires/load_break_switch.py +14 -0
- zepben/ewb/model/cim/iec61970/base/wires/per_length_impedance.py +13 -0
- zepben/ewb/model/cim/iec61970/base/wires/per_length_line_parameter.py +13 -0
- zepben/ewb/model/cim/iec61970/base/wires/per_length_phase_impedance.py +99 -0
- zepben/ewb/model/cim/iec61970/base/wires/per_length_sequence_impedance.py +43 -0
- zepben/ewb/model/cim/iec61970/base/wires/petersen_coil.py +22 -0
- zepben/ewb/model/cim/iec61970/base/wires/phase_impedance_data.py +37 -0
- zepben/ewb/model/cim/iec61970/base/wires/phase_shunt_connection_kind.py +38 -0
- zepben/ewb/model/cim/iec61970/base/wires/power_electronics_connection.py +524 -0
- zepben/ewb/model/cim/iec61970/base/wires/power_electronics_connection_phase.py +34 -0
- zepben/ewb/model/cim/iec61970/base/wires/power_transformer.py +217 -0
- zepben/ewb/model/cim/iec61970/base/wires/power_transformer_end.py +208 -0
- zepben/ewb/model/cim/iec61970/base/wires/protected_switch.py +96 -0
- zepben/ewb/model/cim/iec61970/base/wires/ratio_tap_changer.py +30 -0
- zepben/ewb/model/cim/iec61970/base/wires/reactive_capability_curve.py +16 -0
- zepben/ewb/model/cim/iec61970/base/wires/recloser.py +15 -0
- zepben/ewb/model/cim/iec61970/base/wires/regulating_cond_eq.py +45 -0
- zepben/ewb/model/cim/iec61970/base/wires/regulating_control.py +173 -0
- zepben/ewb/model/cim/iec61970/base/wires/regulating_control_mode_kind.py +46 -0
- zepben/ewb/model/cim/iec61970/base/wires/rotating_machine.py +36 -0
- zepben/ewb/model/cim/iec61970/base/wires/series_compensator.py +42 -0
- zepben/ewb/model/cim/iec61970/base/wires/shunt_compensator.py +59 -0
- zepben/ewb/model/cim/iec61970/base/wires/single_phase_kind.py +105 -0
- zepben/ewb/model/cim/iec61970/base/wires/static_var_compensator.py +40 -0
- zepben/ewb/model/cim/iec61970/base/wires/svc_control_mode.py +28 -0
- zepben/ewb/model/cim/iec61970/base/wires/switch.py +119 -0
- zepben/ewb/model/cim/iec61970/base/wires/synchronous_machine.py +168 -0
- zepben/ewb/model/cim/iec61970/base/wires/synchronous_machine_kind.py +44 -0
- zepben/ewb/model/cim/iec61970/base/wires/tap_changer.py +150 -0
- zepben/ewb/model/cim/iec61970/base/wires/tap_changer_control.py +49 -0
- zepben/ewb/model/cim/iec61970/base/wires/transformer_end.py +73 -0
- zepben/ewb/model/cim/iec61970/base/wires/transformer_star_impedance.py +48 -0
- zepben/ewb/model/cim/iec61970/base/wires/winding_connection.py +43 -0
- zepben/ewb/model/cim/iec61970/infiec61970/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/infiec61970/feeder/__init__.py +4 -0
- zepben/ewb/model/cim/iec61970/infiec61970/feeder/circuit.py +144 -0
- zepben/ewb/model/phases.py +168 -0
- zepben/ewb/model/resistance_reactance.py +40 -0
- zepben/ewb/services/__init__.py +4 -0
- zepben/ewb/services/common/__init__.py +16 -0
- zepben/ewb/services/common/base_service.py +383 -0
- zepben/ewb/services/common/base_service_comparator.py +394 -0
- zepben/ewb/services/common/difference.py +47 -0
- zepben/ewb/services/common/enum_mapper.py +55 -0
- zepben/ewb/services/common/meta/__init__.py +4 -0
- zepben/ewb/services/common/meta/data_source.py +16 -0
- zepben/ewb/services/common/meta/metadata_collection.py +28 -0
- zepben/ewb/services/common/meta/metadata_translations.py +47 -0
- zepben/ewb/services/common/meta/service_info.py +22 -0
- zepben/ewb/services/common/reference_resolvers.py +374 -0
- zepben/ewb/services/common/resolver.py +597 -0
- zepben/ewb/services/common/translator/__init__.py +4 -0
- zepben/ewb/services/common/translator/base_cim2proto.py +92 -0
- zepben/ewb/services/common/translator/base_proto2cim.py +112 -0
- zepben/ewb/services/common/translator/service_differences.py +81 -0
- zepben/ewb/services/common/translator/util.py +78 -0
- zepben/ewb/services/customer/__init__.py +4 -0
- zepben/ewb/services/customer/customer_service_comparator.py +52 -0
- zepben/ewb/services/customer/customers.py +23 -0
- zepben/ewb/services/customer/translator/__init__.py +21 -0
- zepben/ewb/services/customer/translator/customer_cim2proto.py +71 -0
- zepben/ewb/services/customer/translator/customer_enum_mappers.py +18 -0
- zepben/ewb/services/customer/translator/customer_proto2cim.py +87 -0
- zepben/ewb/services/diagram/__init__.py +4 -0
- zepben/ewb/services/diagram/diagram_service_comparator.py +39 -0
- zepben/ewb/services/diagram/diagrams.py +107 -0
- zepben/ewb/services/diagram/translator/__init__.py +11 -0
- zepben/ewb/services/diagram/translator/diagram_cim2proto.py +51 -0
- zepben/ewb/services/diagram/translator/diagram_enum_mappers.py +21 -0
- zepben/ewb/services/diagram/translator/diagram_proto2cim.py +61 -0
- zepben/ewb/services/measurement/__init__.py +4 -0
- zepben/ewb/services/measurement/measurements.py +35 -0
- zepben/ewb/services/measurement/translator/__init__.py +6 -0
- zepben/ewb/services/measurement/translator/measurement_cim2proto.py +42 -0
- zepben/ewb/services/measurement/translator/measurement_proto2cim.py +52 -0
- zepben/ewb/services/network/__init__.py +4 -0
- zepben/ewb/services/network/network_extensions.py +119 -0
- zepben/ewb/services/network/network_service.py +302 -0
- zepben/ewb/services/network/network_service_comparator.py +1322 -0
- zepben/ewb/services/network/network_state.py +34 -0
- zepben/ewb/services/network/tracing/__init__.py +4 -0
- zepben/ewb/services/network/tracing/busbranch_trace.py +36 -0
- zepben/ewb/services/network/tracing/connectivity/__init__.py +4 -0
- zepben/ewb/services/network/tracing/connectivity/connectivity_result.py +105 -0
- zepben/ewb/services/network/tracing/connectivity/nominal_phase_path.py +23 -0
- zepben/ewb/services/network/tracing/connectivity/phase_paths.py +70 -0
- zepben/ewb/services/network/tracing/connectivity/terminal_connectivity_connected.py +226 -0
- zepben/ewb/services/network/tracing/connectivity/terminal_connectivity_internal.py +64 -0
- zepben/ewb/services/network/tracing/connectivity/transformer_phase_paths.py +202 -0
- zepben/ewb/services/network/tracing/connectivity/xy_candidate_phase_paths.py +235 -0
- zepben/ewb/services/network/tracing/connectivity/xy_phase_step.py +24 -0
- zepben/ewb/services/network/tracing/feeder/__init__.py +4 -0
- zepben/ewb/services/network/tracing/feeder/assign_to_feeders.py +202 -0
- zepben/ewb/services/network/tracing/feeder/assign_to_lv_feeders.py +202 -0
- zepben/ewb/services/network/tracing/feeder/clear_direction.py +80 -0
- zepben/ewb/services/network/tracing/feeder/direction_status.py +133 -0
- zepben/ewb/services/network/tracing/feeder/feeder_direction.py +107 -0
- zepben/ewb/services/network/tracing/feeder/set_direction.py +143 -0
- zepben/ewb/services/network/tracing/find_swer_equipment.py +175 -0
- zepben/ewb/services/network/tracing/networktrace/__init__.py +4 -0
- zepben/ewb/services/network/tracing/networktrace/actions/__init__.py +4 -0
- zepben/ewb/services/network/tracing/networktrace/actions/equipment_tree_builder.py +71 -0
- zepben/ewb/services/network/tracing/networktrace/actions/tree_node.py +37 -0
- zepben/ewb/services/network/tracing/networktrace/compute_data.py +60 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/__init__.py +4 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/conditions.py +73 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/direction_condition.py +63 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/equipment_step_limit_condition.py +26 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/equipment_type_step_limit_condition.py +44 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/network_trace_queue_condition.py +67 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/network_trace_stop_condition.py +65 -0
- zepben/ewb/services/network/tracing/networktrace/conditions/open_condition.py +39 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace.py +450 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace_action_type.py +42 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace_queue_next.py +84 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace_step.py +125 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace_step_path_provider.py +351 -0
- zepben/ewb/services/network/tracing/networktrace/network_trace_tracker.py +39 -0
- zepben/ewb/services/network/tracing/networktrace/operators/__init__.py +14 -0
- zepben/ewb/services/network/tracing/networktrace/operators/equipment_container_state_operators.py +264 -0
- zepben/ewb/services/network/tracing/networktrace/operators/feeder_direction_state_operations.py +181 -0
- zepben/ewb/services/network/tracing/networktrace/operators/in_service_state_operators.py +76 -0
- zepben/ewb/services/network/tracing/networktrace/operators/network_state_operators.py +120 -0
- zepben/ewb/services/network/tracing/networktrace/operators/open_state_operators.py +104 -0
- zepben/ewb/services/network/tracing/networktrace/operators/phase_state_operators.py +56 -0
- zepben/ewb/services/network/tracing/networktrace/tracing.py +132 -0
- zepben/ewb/services/network/tracing/phases/__init__.py +4 -0
- zepben/ewb/services/network/tracing/phases/phase_inferrer.py +205 -0
- zepben/ewb/services/network/tracing/phases/phase_status.py +101 -0
- zepben/ewb/services/network/tracing/phases/remove_phases.py +143 -0
- zepben/ewb/services/network/tracing/phases/set_phases.py +490 -0
- zepben/ewb/services/network/tracing/traversal/__init__.py +4 -0
- zepben/ewb/services/network/tracing/traversal/context_value_computer.py +63 -0
- zepben/ewb/services/network/tracing/traversal/debug_logging.py +124 -0
- zepben/ewb/services/network/tracing/traversal/queue.py +112 -0
- zepben/ewb/services/network/tracing/traversal/queue_condition.py +75 -0
- zepben/ewb/services/network/tracing/traversal/step_action.py +83 -0
- zepben/ewb/services/network/tracing/traversal/step_context.py +59 -0
- zepben/ewb/services/network/tracing/traversal/stop_condition.py +57 -0
- zepben/ewb/services/network/tracing/traversal/traversal.py +634 -0
- zepben/ewb/services/network/tracing/traversal/traversal_condition.py +22 -0
- zepben/ewb/services/network/tracing/traversal/weighted_priority_queue.py +85 -0
- zepben/ewb/services/network/tracing/util.py +93 -0
- zepben/ewb/services/network/translator/__init__.py +392 -0
- zepben/ewb/services/network/translator/network_cim2proto.py +1782 -0
- zepben/ewb/services/network/translator/network_enum_mappers.py +78 -0
- zepben/ewb/services/network/translator/network_proto2cim.py +2147 -0
- zepben/ewb/services/services.py +48 -0
- zepben/ewb/streaming/__init__.py +4 -0
- zepben/ewb/streaming/data/__init__.py +4 -0
- zepben/ewb/streaming/data/current_state_event.py +314 -0
- zepben/ewb/streaming/data/current_state_event_batch.py +25 -0
- zepben/ewb/streaming/data/set_current_states_status.py +286 -0
- zepben/ewb/streaming/exceptions.py +14 -0
- zepben/ewb/streaming/get/__init__.py +4 -0
- zepben/ewb/streaming/get/consumer.py +209 -0
- zepben/ewb/streaming/get/customer_consumer.py +111 -0
- zepben/ewb/streaming/get/diagram_consumer.py +107 -0
- zepben/ewb/streaming/get/hierarchy/__init__.py +4 -0
- zepben/ewb/streaming/get/hierarchy/data.py +27 -0
- zepben/ewb/streaming/get/included_energized_containers.py +34 -0
- zepben/ewb/streaming/get/included_energizing_containers.py +34 -0
- zepben/ewb/streaming/get/network_consumer.py +870 -0
- zepben/ewb/streaming/get/query_network_state_client.py +64 -0
- zepben/ewb/streaming/get/query_network_state_service.py +94 -0
- zepben/ewb/streaming/grpc/__init__.py +4 -0
- zepben/ewb/streaming/grpc/auth_token_plugin.py +24 -0
- zepben/ewb/streaming/grpc/connect.py +209 -0
- zepben/ewb/streaming/grpc/grpc.py +107 -0
- zepben/ewb/streaming/grpc/grpc_channel_builder.py +185 -0
- zepben/ewb/streaming/mutations/__init__.py +4 -0
- zepben/ewb/streaming/mutations/update_network_state_client.py +80 -0
- zepben/ewb/streaming/mutations/update_network_state_service.py +61 -0
- zepben/ewb/testing/__init__.py +4 -0
- zepben/ewb/testing/test_network_builder.py +816 -0
- zepben/ewb/types.py +17 -0
- zepben/ewb/util.py +189 -0
- zepben_ewb-1.0.0b1.dist-info/METADATA +102 -0
- zepben_ewb-1.0.0b1.dist-info/RECORD +639 -0
- zepben_ewb-1.0.0b1.dist-info/WHEEL +5 -0
- zepben_ewb-1.0.0b1.dist-info/licenses/LICENSE +374 -0
- zepben_ewb-1.0.0b1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Copyright 2025 Zeppelin Bend Pty Ltd
|
|
2
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
|
+
|
|
6
|
+
__all__ = ['WeightedPriorityQueue']
|
|
7
|
+
|
|
8
|
+
from collections import defaultdict
|
|
9
|
+
from typing import TypeVar, Callable, Iterable
|
|
10
|
+
|
|
11
|
+
from zepben.ewb.services.network.tracing.traversal.queue import TraversalQueue
|
|
12
|
+
from zepben.ewb.services.network.tracing.traversal.traversal import Traversal
|
|
13
|
+
|
|
14
|
+
T = TypeVar('T')
|
|
15
|
+
U = TypeVar('U')
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class SortedDefaultDict(defaultdict):
|
|
19
|
+
def keys(self):
|
|
20
|
+
return sorted(super().keys())
|
|
21
|
+
|
|
22
|
+
def items(self):
|
|
23
|
+
return sorted(super().items())
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class WeightedPriorityQueue(TraversalQueue[T]):
|
|
27
|
+
"""
|
|
28
|
+
A traversal queue which uses a weighted order. The higher the weight, the higher the priority.
|
|
29
|
+
|
|
30
|
+
:param queue_provider: A queue provider. This allows you to customise the priority of items with the same weight.
|
|
31
|
+
:param get_weight: A method to extract the weight of an item being added to the queue.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
def __init__(self, queue_provider: Callable[[], TraversalQueue[T]], get_weight: Callable[[T], int]):
|
|
35
|
+
self._queue_provider = queue_provider
|
|
36
|
+
self._get_weight = get_weight
|
|
37
|
+
|
|
38
|
+
self.queue: SortedDefaultDict[int, TraversalQueue[T]] = SortedDefaultDict(self._queue_provider)
|
|
39
|
+
|
|
40
|
+
def __len__(self) -> int:
|
|
41
|
+
"""need to aggregate the lengths of all queues"""
|
|
42
|
+
return sum(len(v) for v in self.queue.values())
|
|
43
|
+
|
|
44
|
+
def pop(self):
|
|
45
|
+
for weight in reversed(self.queue.keys()):
|
|
46
|
+
if self.queue[weight].has_next():
|
|
47
|
+
return self.queue[weight].pop()
|
|
48
|
+
|
|
49
|
+
def append(self, item: T) -> bool:
|
|
50
|
+
weight = self._get_weight(item)
|
|
51
|
+
self.queue[weight].append(item)
|
|
52
|
+
return True
|
|
53
|
+
|
|
54
|
+
def extend(self, items: Iterable[T]) -> bool:
|
|
55
|
+
raise NotImplementedError()
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def process_queue(cls, get_weight: Callable[[T], int]) -> TraversalQueue[T]:
|
|
59
|
+
"""Special priority queue that queues items with the largest weight as the highest priority."""
|
|
60
|
+
return cls(TraversalQueue.depth_first, get_weight)
|
|
61
|
+
|
|
62
|
+
@classmethod
|
|
63
|
+
def branch_queue(cls, get_weight: Callable[[T], int]) -> TraversalQueue[T]:
|
|
64
|
+
"""Special priority queue that queues branch items with the largest weight on the starting item as the highest priority"""
|
|
65
|
+
|
|
66
|
+
def condition(traversal: Traversal):
|
|
67
|
+
items = traversal.start_items
|
|
68
|
+
if len(items) == 0:
|
|
69
|
+
return -1
|
|
70
|
+
return get_weight(items[0]) or -1
|
|
71
|
+
|
|
72
|
+
return cls(TraversalQueue.breadth_first, condition)
|
|
73
|
+
|
|
74
|
+
def has_next(self) -> bool:
|
|
75
|
+
for weight in self.queue.keys():
|
|
76
|
+
_next = self.queue.get(weight)
|
|
77
|
+
if _next:
|
|
78
|
+
return True
|
|
79
|
+
return False
|
|
80
|
+
|
|
81
|
+
def peek(self) -> T:
|
|
82
|
+
raise Exception
|
|
83
|
+
|
|
84
|
+
def clear(self):
|
|
85
|
+
self.queue.clear()
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Copyright 2024 Zeppelin Bend Pty Ltd
|
|
2
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
__all__ = ["normally_open", "currently_open", "ignore_open", "phase_log"]
|
|
9
|
+
|
|
10
|
+
import logging
|
|
11
|
+
from typing import Optional
|
|
12
|
+
|
|
13
|
+
from zepben.ewb.model.cim.iec61970.base.core.conducting_equipment import ConductingEquipment
|
|
14
|
+
from zepben.ewb.model.cim.iec61970.base.wires.single_phase_kind import SinglePhaseKind
|
|
15
|
+
from zepben.ewb.model.cim.iec61970.base.wires.switch import Switch
|
|
16
|
+
from zepben.ewb.services.network.tracing.traversal.traversal import Traversal
|
|
17
|
+
phase_logger = logging.getLogger("phase_logger")
|
|
18
|
+
tracing_logger = logging.getLogger("queue_next")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def normally_open(equip: ConductingEquipment, phase: Optional[SinglePhaseKind] = None) -> bool:
|
|
22
|
+
"""
|
|
23
|
+
Test if a given phase on an equipment is normally open.
|
|
24
|
+
`equip` The equipment to test
|
|
25
|
+
`phase` The Phase to test. If None tests all phases.
|
|
26
|
+
Returns True if the equipment is open (de-energised), False otherwise
|
|
27
|
+
"""
|
|
28
|
+
if isinstance(equip, Switch):
|
|
29
|
+
# noinspection PyUnresolvedReferences
|
|
30
|
+
return not equip.normally_in_service or equip.is_normally_open(phase)
|
|
31
|
+
else:
|
|
32
|
+
return not equip.normally_in_service
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def currently_open(equip: ConductingEquipment, phase: Optional[SinglePhaseKind] = None) -> bool:
|
|
36
|
+
"""
|
|
37
|
+
Test if a given phase on an equipment is open.
|
|
38
|
+
`equip` The equipment to test
|
|
39
|
+
`phase` The phase to test. If None tests all phases.
|
|
40
|
+
Returns True if the equipment is open (de-energised), False otherwise
|
|
41
|
+
"""
|
|
42
|
+
if isinstance(equip, Switch):
|
|
43
|
+
# noinspection PyUnresolvedReferences
|
|
44
|
+
return not equip.in_service or equip.is_open(phase)
|
|
45
|
+
else:
|
|
46
|
+
return not equip.in_service
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def ignore_open(_ce: ConductingEquipment, _phase: Optional[SinglePhaseKind] = None) -> bool:
|
|
50
|
+
"""
|
|
51
|
+
Test that always returns that the phase is closed.
|
|
52
|
+
`equip` The equipment to test
|
|
53
|
+
`phase` The phase to test. If None tests all cores.
|
|
54
|
+
Returns False
|
|
55
|
+
"""
|
|
56
|
+
return False
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
async def phase_log(cond_equip):
|
|
60
|
+
msg = ""
|
|
61
|
+
try:
|
|
62
|
+
for e in cond_equip:
|
|
63
|
+
msg = await _phase_log_trace(e)
|
|
64
|
+
except:
|
|
65
|
+
msg = await _phase_log_trace(cond_equip)
|
|
66
|
+
phase_logger.debug(msg)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
async def _phase_log_trace(cond_equip):
|
|
70
|
+
log_msg = []
|
|
71
|
+
|
|
72
|
+
async def log(e, exc):
|
|
73
|
+
equip_msgs = []
|
|
74
|
+
for term in e.terminals:
|
|
75
|
+
e_msg = f"{e.mrid}-T{term.sequence_number}:"
|
|
76
|
+
for n in term.phases.single_phases:
|
|
77
|
+
ps_n = normal_phases(term, n)
|
|
78
|
+
phase_n_msg = f"n: {ps_n.phase().short_name}:{ps_n.direction().short_name}"
|
|
79
|
+
ps_c = current_phases(term, n)
|
|
80
|
+
phase_c_msg = f"c: {ps_c.phase().short_name}:{ps_c.direction().short_name}"
|
|
81
|
+
e_msg = f"{e_msg} {{core {n}: {phase_n_msg} {phase_c_msg}}}"
|
|
82
|
+
equip_msgs.append(e_msg)
|
|
83
|
+
log_msg.append(equip_msgs)
|
|
84
|
+
|
|
85
|
+
trace = Traversal(queue_next=queue_next_equipment, start_item=cond_equip, step_actions=[log])
|
|
86
|
+
await trace.run()
|
|
87
|
+
return "\n".join([", ".join(x) for x in log_msg])
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def queue_next_equipment(item, traversal):
|
|
91
|
+
connected_equips = item.get_connected_equipment()
|
|
92
|
+
tracing_logger.debug(f"Queuing connections [{', '.join(e.mrid for e in connected_equips)}] from {item.mrid}")
|
|
93
|
+
return traversal.process_queue.extend(connected_equips)
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
# Copyright 2024 Zeppelin Bend Pty Ltd
|
|
2
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
|
+
|
|
6
|
+
__all__ = []
|
|
7
|
+
|
|
8
|
+
from zepben.protobuf.cim.extensions.iec61968.assetinfo.RelayInfo_pb2 import RelayInfo
|
|
9
|
+
from zepben.protobuf.cim.extensions.iec61968.metering.PanDemandResponseFunction_pb2 import PanDemandResponseFunction
|
|
10
|
+
from zepben.protobuf.cim.extensions.iec61970.base.core.Site_pb2 import Site
|
|
11
|
+
from zepben.protobuf.cim.extensions.iec61970.base.feeder.Loop_pb2 import Loop
|
|
12
|
+
from zepben.protobuf.cim.extensions.iec61970.base.feeder.LvFeeder_pb2 import LvFeeder
|
|
13
|
+
from zepben.protobuf.cim.extensions.iec61970.base.generation.production.EvChargingUnit_pb2 import EvChargingUnit
|
|
14
|
+
from zepben.protobuf.cim.extensions.iec61970.base.protection.DistanceRelay_pb2 import DistanceRelay
|
|
15
|
+
from zepben.protobuf.cim.extensions.iec61970.base.protection.ProtectionRelayFunction_pb2 import ProtectionRelayFunction
|
|
16
|
+
from zepben.protobuf.cim.extensions.iec61970.base.protection.ProtectionRelayScheme_pb2 import ProtectionRelayScheme
|
|
17
|
+
from zepben.protobuf.cim.extensions.iec61970.base.protection.ProtectionRelaySystem_pb2 import ProtectionRelaySystem
|
|
18
|
+
from zepben.protobuf.cim.extensions.iec61970.base.protection.VoltageRelay_pb2 import VoltageRelay
|
|
19
|
+
from zepben.protobuf.cim.extensions.iec61970.base.wires.BatteryControl_pb2 import BatteryControl
|
|
20
|
+
from zepben.protobuf.cim.iec61968.assetinfo.CableInfo_pb2 import CableInfo
|
|
21
|
+
from zepben.protobuf.cim.iec61968.assetinfo.NoLoadTest_pb2 import NoLoadTest
|
|
22
|
+
from zepben.protobuf.cim.iec61968.assetinfo.OpenCircuitTest_pb2 import OpenCircuitTest
|
|
23
|
+
from zepben.protobuf.cim.iec61968.assetinfo.OverheadWireInfo_pb2 import OverheadWireInfo
|
|
24
|
+
from zepben.protobuf.cim.iec61968.assetinfo.PowerTransformerInfo_pb2 import PowerTransformerInfo
|
|
25
|
+
from zepben.protobuf.cim.iec61968.assetinfo.ShortCircuitTest_pb2 import ShortCircuitTest
|
|
26
|
+
from zepben.protobuf.cim.iec61968.assetinfo.ShuntCompensatorInfo_pb2 import ShuntCompensatorInfo
|
|
27
|
+
from zepben.protobuf.cim.iec61968.assetinfo.SwitchInfo_pb2 import SwitchInfo
|
|
28
|
+
from zepben.protobuf.cim.iec61968.assetinfo.TransformerEndInfo_pb2 import TransformerEndInfo
|
|
29
|
+
from zepben.protobuf.cim.iec61968.assetinfo.TransformerTankInfo_pb2 import TransformerTankInfo
|
|
30
|
+
from zepben.protobuf.cim.iec61968.assetinfo.TransformerTest_pb2 import TransformerTest
|
|
31
|
+
from zepben.protobuf.cim.iec61968.assetinfo.WireInfo_pb2 import WireInfo
|
|
32
|
+
from zepben.protobuf.cim.iec61968.assets.AssetContainer_pb2 import AssetContainer
|
|
33
|
+
from zepben.protobuf.cim.iec61968.assets.AssetFunction_pb2 import AssetFunction
|
|
34
|
+
from zepben.protobuf.cim.iec61968.assets.AssetInfo_pb2 import AssetInfo
|
|
35
|
+
from zepben.protobuf.cim.iec61968.assets.AssetOrganisationRole_pb2 import AssetOrganisationRole
|
|
36
|
+
from zepben.protobuf.cim.iec61968.assets.AssetOwner_pb2 import AssetOwner
|
|
37
|
+
from zepben.protobuf.cim.iec61968.assets.Asset_pb2 import Asset
|
|
38
|
+
from zepben.protobuf.cim.iec61968.assets.Streetlight_pb2 import Streetlight
|
|
39
|
+
from zepben.protobuf.cim.iec61968.assets.Structure_pb2 import Structure
|
|
40
|
+
from zepben.protobuf.cim.iec61968.common.Document_pb2 import Document
|
|
41
|
+
from zepben.protobuf.cim.iec61968.common.Location_pb2 import Location
|
|
42
|
+
from zepben.protobuf.cim.iec61968.customers.CustomerAgreement_pb2 import CustomerAgreement
|
|
43
|
+
from zepben.protobuf.cim.iec61968.customers.Customer_pb2 import Customer
|
|
44
|
+
from zepben.protobuf.cim.iec61968.customers.PricingStructure_pb2 import PricingStructure
|
|
45
|
+
from zepben.protobuf.cim.iec61968.customers.Tariff_pb2 import Tariff
|
|
46
|
+
from zepben.protobuf.cim.iec61968.infiec61968.infassetinfo.CurrentTransformerInfo_pb2 import CurrentTransformerInfo
|
|
47
|
+
from zepben.protobuf.cim.iec61968.infiec61968.infassetinfo.PotentialTransformerInfo_pb2 import PotentialTransformerInfo
|
|
48
|
+
from zepben.protobuf.cim.iec61968.infiec61968.infassets.Pole_pb2 import Pole
|
|
49
|
+
from zepben.protobuf.cim.iec61968.metering.EndDeviceFunction_pb2 import EndDeviceFunction
|
|
50
|
+
from zepben.protobuf.cim.iec61968.metering.EndDevice_pb2 import EndDevice
|
|
51
|
+
from zepben.protobuf.cim.iec61968.metering.Meter_pb2 import Meter
|
|
52
|
+
from zepben.protobuf.cim.iec61968.metering.UsagePoint_pb2 import UsagePoint
|
|
53
|
+
from zepben.protobuf.cim.iec61968.operations.OperationalRestriction_pb2 import OperationalRestriction
|
|
54
|
+
from zepben.protobuf.cim.iec61970.base.auxiliaryequipment.AuxiliaryEquipment_pb2 import AuxiliaryEquipment
|
|
55
|
+
from zepben.protobuf.cim.iec61970.base.auxiliaryequipment.CurrentTransformer_pb2 import CurrentTransformer
|
|
56
|
+
from zepben.protobuf.cim.iec61970.base.auxiliaryequipment.FaultIndicator_pb2 import FaultIndicator
|
|
57
|
+
from zepben.protobuf.cim.iec61970.base.auxiliaryequipment.PotentialTransformer_pb2 import PotentialTransformer
|
|
58
|
+
from zepben.protobuf.cim.iec61970.base.auxiliaryequipment.Sensor_pb2 import Sensor
|
|
59
|
+
from zepben.protobuf.cim.iec61970.base.core.AcDcTerminal_pb2 import AcDcTerminal
|
|
60
|
+
from zepben.protobuf.cim.iec61970.base.core.BaseVoltage_pb2 import BaseVoltage
|
|
61
|
+
from zepben.protobuf.cim.iec61970.base.core.ConductingEquipment_pb2 import ConductingEquipment
|
|
62
|
+
from zepben.protobuf.cim.iec61970.base.core.ConnectivityNodeContainer_pb2 import ConnectivityNodeContainer
|
|
63
|
+
from zepben.protobuf.cim.iec61970.base.core.ConnectivityNode_pb2 import ConnectivityNode
|
|
64
|
+
from zepben.protobuf.cim.iec61970.base.core.Curve_pb2 import Curve
|
|
65
|
+
from zepben.protobuf.cim.iec61970.base.core.EquipmentContainer_pb2 import EquipmentContainer
|
|
66
|
+
from zepben.protobuf.cim.iec61970.base.core.Equipment_pb2 import Equipment
|
|
67
|
+
from zepben.protobuf.cim.iec61970.base.core.Feeder_pb2 import Feeder
|
|
68
|
+
from zepben.protobuf.cim.iec61970.base.core.GeographicalRegion_pb2 import GeographicalRegion
|
|
69
|
+
from zepben.protobuf.cim.iec61970.base.core.IdentifiedObject_pb2 import IdentifiedObject
|
|
70
|
+
from zepben.protobuf.cim.iec61970.base.core.PowerSystemResource_pb2 import PowerSystemResource
|
|
71
|
+
from zepben.protobuf.cim.iec61970.base.core.SubGeographicalRegion_pb2 import SubGeographicalRegion
|
|
72
|
+
from zepben.protobuf.cim.iec61970.base.core.Substation_pb2 import Substation
|
|
73
|
+
from zepben.protobuf.cim.iec61970.base.core.Terminal_pb2 import Terminal
|
|
74
|
+
from zepben.protobuf.cim.iec61970.base.diagramlayout.DiagramObject_pb2 import DiagramObject
|
|
75
|
+
from zepben.protobuf.cim.iec61970.base.diagramlayout.Diagram_pb2 import Diagram
|
|
76
|
+
from zepben.protobuf.cim.iec61970.base.equivalents.EquivalentBranch_pb2 import EquivalentBranch
|
|
77
|
+
from zepben.protobuf.cim.iec61970.base.equivalents.EquivalentEquipment_pb2 import EquivalentEquipment
|
|
78
|
+
from zepben.protobuf.cim.iec61970.base.generation.production.BatteryUnit_pb2 import BatteryUnit
|
|
79
|
+
from zepben.protobuf.cim.iec61970.base.generation.production.PhotoVoltaicUnit_pb2 import PhotoVoltaicUnit
|
|
80
|
+
from zepben.protobuf.cim.iec61970.base.generation.production.PowerElectronicsUnit_pb2 import PowerElectronicsUnit
|
|
81
|
+
from zepben.protobuf.cim.iec61970.base.generation.production.PowerElectronicsWindUnit_pb2 import PowerElectronicsWindUnit
|
|
82
|
+
from zepben.protobuf.cim.iec61970.base.meas.Accumulator_pb2 import Accumulator
|
|
83
|
+
from zepben.protobuf.cim.iec61970.base.meas.Analog_pb2 import Analog
|
|
84
|
+
from zepben.protobuf.cim.iec61970.base.meas.Control_pb2 import Control
|
|
85
|
+
from zepben.protobuf.cim.iec61970.base.meas.Discrete_pb2 import Discrete
|
|
86
|
+
from zepben.protobuf.cim.iec61970.base.meas.IoPoint_pb2 import IoPoint
|
|
87
|
+
from zepben.protobuf.cim.iec61970.base.meas.Measurement_pb2 import Measurement
|
|
88
|
+
from zepben.protobuf.cim.iec61970.base.protection.CurrentRelay_pb2 import CurrentRelay
|
|
89
|
+
from zepben.protobuf.cim.iec61970.base.scada.RemoteControl_pb2 import RemoteControl
|
|
90
|
+
from zepben.protobuf.cim.iec61970.base.scada.RemotePoint_pb2 import RemotePoint
|
|
91
|
+
from zepben.protobuf.cim.iec61970.base.scada.RemoteSource_pb2 import RemoteSource
|
|
92
|
+
from zepben.protobuf.cim.iec61970.base.wires.AcLineSegment_pb2 import AcLineSegment
|
|
93
|
+
from zepben.protobuf.cim.iec61970.base.wires.Breaker_pb2 import Breaker
|
|
94
|
+
from zepben.protobuf.cim.iec61970.base.wires.BusbarSection_pb2 import BusbarSection
|
|
95
|
+
from zepben.protobuf.cim.iec61970.base.wires.Clamp_pb2 import Clamp
|
|
96
|
+
from zepben.protobuf.cim.iec61970.base.wires.Conductor_pb2 import Conductor
|
|
97
|
+
from zepben.protobuf.cim.iec61970.base.wires.Connector_pb2 import Connector
|
|
98
|
+
from zepben.protobuf.cim.iec61970.base.wires.Cut_pb2 import Cut
|
|
99
|
+
from zepben.protobuf.cim.iec61970.base.wires.Disconnector_pb2 import Disconnector
|
|
100
|
+
from zepben.protobuf.cim.iec61970.base.wires.EarthFaultCompensator_pb2 import EarthFaultCompensator
|
|
101
|
+
from zepben.protobuf.cim.iec61970.base.wires.EnergyConnection_pb2 import EnergyConnection
|
|
102
|
+
from zepben.protobuf.cim.iec61970.base.wires.EnergyConsumerPhase_pb2 import EnergyConsumerPhase
|
|
103
|
+
from zepben.protobuf.cim.iec61970.base.wires.EnergyConsumer_pb2 import EnergyConsumer
|
|
104
|
+
from zepben.protobuf.cim.iec61970.base.wires.EnergySourcePhase_pb2 import EnergySourcePhase
|
|
105
|
+
from zepben.protobuf.cim.iec61970.base.wires.EnergySource_pb2 import EnergySource
|
|
106
|
+
from zepben.protobuf.cim.iec61970.base.wires.Fuse_pb2 import Fuse
|
|
107
|
+
from zepben.protobuf.cim.iec61970.base.wires.GroundDisconnector_pb2 import GroundDisconnector
|
|
108
|
+
from zepben.protobuf.cim.iec61970.base.wires.Ground_pb2 import Ground
|
|
109
|
+
from zepben.protobuf.cim.iec61970.base.wires.GroundingImpedance_pb2 import GroundingImpedance
|
|
110
|
+
from zepben.protobuf.cim.iec61970.base.wires.Jumper_pb2 import Jumper
|
|
111
|
+
from zepben.protobuf.cim.iec61970.base.wires.Junction_pb2 import Junction
|
|
112
|
+
from zepben.protobuf.cim.iec61970.base.wires.Line_pb2 import Line
|
|
113
|
+
from zepben.protobuf.cim.iec61970.base.wires.LinearShuntCompensator_pb2 import LinearShuntCompensator
|
|
114
|
+
from zepben.protobuf.cim.iec61970.base.wires.LoadBreakSwitch_pb2 import LoadBreakSwitch
|
|
115
|
+
from zepben.protobuf.cim.iec61970.base.wires.PerLengthImpedance_pb2 import PerLengthImpedance
|
|
116
|
+
from zepben.protobuf.cim.iec61970.base.wires.PerLengthLineParameter_pb2 import PerLengthLineParameter
|
|
117
|
+
from zepben.protobuf.cim.iec61970.base.wires.PerLengthPhaseImpedance_pb2 import PerLengthPhaseImpedance
|
|
118
|
+
from zepben.protobuf.cim.iec61970.base.wires.PerLengthSequenceImpedance_pb2 import PerLengthSequenceImpedance
|
|
119
|
+
from zepben.protobuf.cim.iec61970.base.wires.PetersenCoil_pb2 import PetersenCoil
|
|
120
|
+
from zepben.protobuf.cim.iec61970.base.wires.PowerElectronicsConnectionPhase_pb2 import PowerElectronicsConnectionPhase
|
|
121
|
+
from zepben.protobuf.cim.iec61970.base.wires.PowerElectronicsConnection_pb2 import PowerElectronicsConnection
|
|
122
|
+
from zepben.protobuf.cim.iec61970.base.wires.PowerTransformerEnd_pb2 import PowerTransformerEnd
|
|
123
|
+
from zepben.protobuf.cim.iec61970.base.wires.PowerTransformer_pb2 import PowerTransformer
|
|
124
|
+
from zepben.protobuf.cim.iec61970.base.wires.ProtectedSwitch_pb2 import ProtectedSwitch
|
|
125
|
+
from zepben.protobuf.cim.iec61970.base.wires.RatioTapChanger_pb2 import RatioTapChanger
|
|
126
|
+
from zepben.protobuf.cim.iec61970.base.wires.ReactiveCapabilityCurve_pb2 import ReactiveCapabilityCurve
|
|
127
|
+
from zepben.protobuf.cim.iec61970.base.wires.Recloser_pb2 import Recloser
|
|
128
|
+
from zepben.protobuf.cim.iec61970.base.wires.RegulatingCondEq_pb2 import RegulatingCondEq
|
|
129
|
+
from zepben.protobuf.cim.iec61970.base.wires.RegulatingControl_pb2 import RegulatingControl
|
|
130
|
+
from zepben.protobuf.cim.iec61970.base.wires.RotatingMachine_pb2 import RotatingMachine
|
|
131
|
+
from zepben.protobuf.cim.iec61970.base.wires.SeriesCompensator_pb2 import SeriesCompensator
|
|
132
|
+
from zepben.protobuf.cim.iec61970.base.wires.ShuntCompensator_pb2 import ShuntCompensator
|
|
133
|
+
from zepben.protobuf.cim.iec61970.base.wires.StaticVarCompensator_pb2 import StaticVarCompensator
|
|
134
|
+
from zepben.protobuf.cim.iec61970.base.wires.Switch_pb2 import Switch
|
|
135
|
+
from zepben.protobuf.cim.iec61970.base.wires.SynchronousMachine_pb2 import SynchronousMachine
|
|
136
|
+
from zepben.protobuf.cim.iec61970.base.wires.TapChangerControl_pb2 import TapChangerControl
|
|
137
|
+
from zepben.protobuf.cim.iec61970.base.wires.TapChanger_pb2 import TapChanger
|
|
138
|
+
from zepben.protobuf.cim.iec61970.base.wires.TransformerEnd_pb2 import TransformerEnd
|
|
139
|
+
from zepben.protobuf.cim.iec61970.base.wires.TransformerStarImpedance_pb2 import TransformerStarImpedance
|
|
140
|
+
from zepben.protobuf.cim.iec61970.infiec61970.feeder.Circuit_pb2 import Circuit
|
|
141
|
+
|
|
142
|
+
PanDemandResponseFunction.mrid = lambda self: self.edf.mrid()
|
|
143
|
+
BatteryControl.mrid = lambda self: self.rc.mrid()
|
|
144
|
+
CableInfo.mrid = lambda self: self.wi.mrid()
|
|
145
|
+
NoLoadTest.mrid = lambda self: self.tt.mrid()
|
|
146
|
+
OpenCircuitTest.mrid = lambda self: self.tt.mrid()
|
|
147
|
+
OverheadWireInfo.mrid = lambda self: self.wi.mrid()
|
|
148
|
+
PowerTransformerInfo.mrid = lambda self: self.ai.mrid()
|
|
149
|
+
ShortCircuitTest.mrid = lambda self: self.tt.mrid()
|
|
150
|
+
ShuntCompensatorInfo.mrid = lambda self: self.ai.mrid()
|
|
151
|
+
SwitchInfo.mrid = lambda self: self.ai.mrid()
|
|
152
|
+
TransformerEndInfo.mrid = lambda self: self.ai.mrid()
|
|
153
|
+
TransformerTankInfo.mrid = lambda self: self.ai.mrid()
|
|
154
|
+
TransformerTest.mrid = lambda self: self.io.mrid()
|
|
155
|
+
TransformerStarImpedance.mrid = lambda self: self.io.mrid()
|
|
156
|
+
WireInfo.mrid = lambda self: self.ai.mrid()
|
|
157
|
+
Asset.mrid = lambda self: self.io.mrid()
|
|
158
|
+
AssetContainer.mrid = lambda self: self.at.mrid()
|
|
159
|
+
AssetFunction.mrid = lambda self: self.io.mrid()
|
|
160
|
+
AssetInfo.mrid = lambda self: self.io.mrid()
|
|
161
|
+
AssetOrganisationRole.mrid = lambda self: getattr(self, "or").mrid()
|
|
162
|
+
AssetOwner.mrid = lambda self: self.aor.mrid()
|
|
163
|
+
Document.mrid = lambda self: self.io.mrid()
|
|
164
|
+
Pole.mrid = lambda self: self.st.mrid()
|
|
165
|
+
Streetlight.mrid = lambda self: self.at.mrid()
|
|
166
|
+
Structure.mrid = lambda self: self.ac.mrid()
|
|
167
|
+
Location.mrid = lambda self: self.io.mrid()
|
|
168
|
+
Customer.mrid = lambda self: getattr(self, "or").mrid()
|
|
169
|
+
CustomerAgreement.mrid = lambda self: self.agr.mrid()
|
|
170
|
+
PricingStructure.mrid = lambda self: self.doc.mrid()
|
|
171
|
+
Tariff.mrid = lambda self: self.doc.mrid()
|
|
172
|
+
RelayInfo.mrid = lambda self: self.ai.mrid()
|
|
173
|
+
CurrentTransformerInfo.mrid = lambda self: self.ai.mrid()
|
|
174
|
+
PotentialTransformerInfo.mrid = lambda self: self.ai.mrid()
|
|
175
|
+
EndDevice.mrid = lambda self: self.ac.mrid()
|
|
176
|
+
EndDeviceFunction.mrid = lambda self: self.af.mrid()
|
|
177
|
+
Meter.mrid = lambda self: self.ed.mrid()
|
|
178
|
+
UsagePoint.mrid = lambda self: self.io.mrid()
|
|
179
|
+
OperationalRestriction.mrid = lambda self: self.doc.mrid()
|
|
180
|
+
AuxiliaryEquipment.mrid = lambda self: self.eq.mrid()
|
|
181
|
+
CurrentTransformer.mrid = lambda self: self.sn.mrid()
|
|
182
|
+
FaultIndicator.mrid = lambda self: self.ae.mrid()
|
|
183
|
+
PotentialTransformer.mrid = lambda self: self.sn.mrid()
|
|
184
|
+
Sensor.mrid = lambda self: self.ae.mrid()
|
|
185
|
+
AcDcTerminal.mrid = lambda self: self.io.mrid()
|
|
186
|
+
BaseVoltage.mrid = lambda self: self.io.mrid()
|
|
187
|
+
ConductingEquipment.mrid = lambda self: self.eq.mrid()
|
|
188
|
+
ConnectivityNode.mrid = lambda self: self.io.mrid()
|
|
189
|
+
ConnectivityNodeContainer.mrid = lambda self: self.psr.mrid()
|
|
190
|
+
Curve.mrid = lambda self: self.io.mrid()
|
|
191
|
+
Equipment.mrid = lambda self: self.psr.mrid()
|
|
192
|
+
EquipmentContainer.mrid = lambda self: self.cnc.mrid()
|
|
193
|
+
Feeder.mrid = lambda self: self.ec.mrid()
|
|
194
|
+
GeographicalRegion.mrid = lambda self: self.io.mrid()
|
|
195
|
+
IdentifiedObject.mrid = lambda self: self.mRID
|
|
196
|
+
PowerSystemResource.mrid = lambda self: self.io.mrid()
|
|
197
|
+
Site.mrid = lambda self: self.ec.mrid()
|
|
198
|
+
SubGeographicalRegion.mrid = lambda self: self.io.mrid()
|
|
199
|
+
Substation.mrid = lambda self: self.ec.mrid()
|
|
200
|
+
Terminal.mrid = lambda self: self.ad.mrid()
|
|
201
|
+
Diagram.mrid = lambda self: self.io.mrid()
|
|
202
|
+
DiagramObject.mrid = lambda self: self.io.mrid()
|
|
203
|
+
EquivalentBranch.mrid = lambda self: self.ee.mrid()
|
|
204
|
+
EquivalentEquipment.mrid = lambda self: self.ce.mrid()
|
|
205
|
+
Accumulator.mrid = lambda self: self.measurement.mrid()
|
|
206
|
+
Analog.mrid = lambda self: self.measurement.mrid()
|
|
207
|
+
Discrete.mrid = lambda self: self.measurement.mrid()
|
|
208
|
+
Control.mrid = lambda self: self.ip.mrid()
|
|
209
|
+
IoPoint.mrid = lambda self: self.io.mrid()
|
|
210
|
+
Measurement.mrid = lambda self: self.io.mrid()
|
|
211
|
+
CurrentRelay.mrid = lambda self: self.prf.mrid()
|
|
212
|
+
DistanceRelay.mrid = lambda self: self.prf.mrid()
|
|
213
|
+
ProtectionRelayFunction.mrid = lambda self: self.psr.mrid()
|
|
214
|
+
ProtectionRelayScheme.mrid = lambda self: self.io.mrid()
|
|
215
|
+
ProtectionRelaySystem.mrid = lambda self: self.eq.mrid()
|
|
216
|
+
VoltageRelay.mrid = lambda self: self.prf.mrid()
|
|
217
|
+
RemoteControl.mrid = lambda self: self.rp.mrid()
|
|
218
|
+
RemotePoint.mrid = lambda self: self.io.mrid()
|
|
219
|
+
RemoteSource.mrid = lambda self: self.rp.mrid()
|
|
220
|
+
BatteryUnit.mrid = lambda self: self.peu.mrid()
|
|
221
|
+
PhotoVoltaicUnit.mrid = lambda self: self.peu.mrid()
|
|
222
|
+
PowerElectronicsUnit.mrid = lambda self: self.eq.mrid()
|
|
223
|
+
PowerElectronicsWindUnit.mrid = lambda self: self.peu.mrid()
|
|
224
|
+
AcLineSegment.mrid = lambda self: self.cd.mrid()
|
|
225
|
+
Breaker.mrid = lambda self: self.sw.mrid()
|
|
226
|
+
BusbarSection.mrid = lambda self: self.cn.mrid()
|
|
227
|
+
Clamp.mrid = lambda self: self.ce.mrid()
|
|
228
|
+
Conductor.mrid = lambda self: self.ce.mrid()
|
|
229
|
+
Connector.mrid = lambda self: self.ce.mrid()
|
|
230
|
+
Cut.mrid = lambda self: self.sw.mrid()
|
|
231
|
+
Disconnector.mrid = lambda self: self.sw.mrid()
|
|
232
|
+
EarthFaultCompensator.mrid = lambda self: self.ce.mrid()
|
|
233
|
+
EnergyConnection.mrid = lambda self: self.ce.mrid()
|
|
234
|
+
EnergyConsumer.mrid = lambda self: self.ec.mrid()
|
|
235
|
+
EnergyConsumerPhase.mrid = lambda self: self.psr.mrid()
|
|
236
|
+
EnergySource.mrid = lambda self: self.ec.mrid()
|
|
237
|
+
EnergySourcePhase.mrid = lambda self: self.psr.mrid()
|
|
238
|
+
Fuse.mrid = lambda self: self.sw.mrid()
|
|
239
|
+
Ground.mrid = lambda self: self.ce.mrid()
|
|
240
|
+
GroundDisconnector.mrid = lambda self: self.sw.mrid()
|
|
241
|
+
GroundingImpedance.mrid = lambda self: self.efc.mrid()
|
|
242
|
+
Jumper.mrid = lambda self: self.sw.mrid()
|
|
243
|
+
Junction.mrid = lambda self: self.cn.mrid()
|
|
244
|
+
Line.mrid = lambda self: self.ec.mrid()
|
|
245
|
+
LinearShuntCompensator.mrid = lambda self: self.sc.mrid()
|
|
246
|
+
LoadBreakSwitch.mrid = lambda self: self.ps.mrid()
|
|
247
|
+
PerLengthImpedance.mrid = lambda self: self.lp.mrid()
|
|
248
|
+
PerLengthLineParameter.mrid = lambda self: self.io.mrid()
|
|
249
|
+
PerLengthPhaseImpedance.mrid = lambda self: self.pli.mrid()
|
|
250
|
+
PerLengthSequenceImpedance.mrid = lambda self: self.pli.mrid()
|
|
251
|
+
PetersenCoil.mrid = lambda self: self.efc.mrid()
|
|
252
|
+
PowerTransformer.mrid = lambda self: self.ce.mrid()
|
|
253
|
+
PowerElectronicsConnection.mrid = lambda self: self.rce.mrid()
|
|
254
|
+
PowerElectronicsConnectionPhase.mrid = lambda self: self.psr.mrid()
|
|
255
|
+
PowerTransformerEnd.mrid = lambda self: self.te.mrid()
|
|
256
|
+
ProtectedSwitch.mrid = lambda self: self.sw.mrid()
|
|
257
|
+
RatioTapChanger.mrid = lambda self: self.tc.mrid()
|
|
258
|
+
ReactiveCapabilityCurve.mrid = lambda self: self.c.mrid()
|
|
259
|
+
Recloser.mrid = lambda self: self.sw.mrid()
|
|
260
|
+
RegulatingCondEq.mrid = lambda self: self.ec.mrid()
|
|
261
|
+
RegulatingControl.mrid = lambda self: self.psr.mrid()
|
|
262
|
+
RotatingMachine.mrid = lambda self: self.rce.mrid()
|
|
263
|
+
SeriesCompensator.mrid = lambda self: self.ce.mrid()
|
|
264
|
+
ShuntCompensator.mrid = lambda self: self.rce.mrid()
|
|
265
|
+
StaticVarCompensator.mrid = lambda self: self.rce.mrid()
|
|
266
|
+
Switch.mrid = lambda self: self.ce.mrid()
|
|
267
|
+
SynchronousMachine.mrid = lambda self: self.rm.mrid()
|
|
268
|
+
TapChanger.mrid = lambda self: self.psr.mrid()
|
|
269
|
+
TapChangerControl.mrid = lambda self: self.rc.mrid()
|
|
270
|
+
TransformerEnd.mrid = lambda self: self.io.mrid()
|
|
271
|
+
Loop.mrid = lambda self: self.io.mrid()
|
|
272
|
+
Circuit.mrid = lambda self: self.l.mrid()
|
|
273
|
+
LvFeeder.mrid = lambda self: self.ec.mrid()
|
|
274
|
+
EvChargingUnit.mrid = lambda self: self.peu.mrid()
|
|
275
|
+
|
|
276
|
+
PowerSystemResource.name_and_mrid = lambda self: self.io.name_and_mrid()
|
|
277
|
+
ConductingEquipment.name_and_mrid = lambda self: self.eq.name_and_mrid()
|
|
278
|
+
Equipment.name_and_mrid = lambda self: self.psr.name_and_mrid()
|
|
279
|
+
ConnectivityNodeContainer.name_and_mrid = lambda self: self.psr.name_and_mrid()
|
|
280
|
+
EquipmentContainer.name_and_mrid = lambda self: self.cnc.name_and_mrid()
|
|
281
|
+
Feeder.name_and_mrid = lambda self: self.ec.name_and_mrid()
|
|
282
|
+
EnergyConsumerPhase.name_and_mrid = lambda self: self.psr.name_and_mrid()
|
|
283
|
+
EnergySourcePhase.name_and_mrid = lambda self: self.psr.name_and_mrid()
|
|
284
|
+
PowerTransformerEnd.name_and_mrid = lambda self: self.te.name_and_mrid()
|
|
285
|
+
AcDcTerminal.name_and_mrid = lambda self: self.io.name_and_mrid()
|
|
286
|
+
TransformerEnd.name_and_mrid = lambda self: self.io.name_and_mrid()
|
|
287
|
+
Terminal.name_and_mrid = lambda self: self.ad.name_and_mrid()
|
|
288
|
+
PowerTransformerInfo.name_and_mrid = lambda self: self.ce.eq.psr.io.name_and_mrid()
|
|
289
|
+
|
|
290
|
+
# location_mrid
|
|
291
|
+
PowerSystemResource.location_mrid = lambda self: getattr(self, "locationMRID", None)
|
|
292
|
+
Equipment.location_mrid = lambda self: self.psr.location_mrid()
|
|
293
|
+
AuxiliaryEquipment.location_mrid = lambda self: self.eq.location_mrid()
|
|
294
|
+
FaultIndicator.location_mrid = lambda self: self.ae.location_mrid()
|
|
295
|
+
ConductingEquipment.location_mrid = lambda self: self.eq.location_mrid()
|
|
296
|
+
Conductor.location_mrid = lambda self: self.ce.location_mrid()
|
|
297
|
+
Connector.location_mrid = lambda self: self.ce.location_mrid()
|
|
298
|
+
EnergyConnection.location_mrid = lambda self: self.ce.location_mrid()
|
|
299
|
+
PowerTransformer.location_mrid = lambda self: self.ce.location_mrid()
|
|
300
|
+
Switch.location_mrid = lambda self: self.ce.location_mrid()
|
|
301
|
+
AcLineSegment.location_mrid = lambda self: self.cd.location_mrid()
|
|
302
|
+
Junction.location_mrid = lambda self: self.cn.location_mrid()
|
|
303
|
+
EnergyConsumer.location_mrid = lambda self: self.ec.location_mrid()
|
|
304
|
+
EnergySource.location_mrid = lambda self: self.ec.location_mrid()
|
|
305
|
+
RegulatingCondEq.location_mrid = lambda self: self.ec.location_mrid()
|
|
306
|
+
Disconnector.location_mrid = lambda self: self.sw.location_mrid()
|
|
307
|
+
Fuse.location_mrid = lambda self: self.sw.location_mrid()
|
|
308
|
+
Jumper.location_mrid = lambda self: self.sw.location_mrid()
|
|
309
|
+
ProtectedSwitch.location_mrid = lambda self: self.sw.location_mrid()
|
|
310
|
+
ShuntCompensator.location_mrid = lambda self: self.rce.location_mrid()
|
|
311
|
+
Breaker.location_mrid = lambda self: self.sw.location_mrid()
|
|
312
|
+
Recloser.location_mrid = lambda self: self.sw.location_mrid()
|
|
313
|
+
LinearShuntCompensator.location_mrid = lambda self: self.sc.location_mrid()
|
|
314
|
+
|
|
315
|
+
# service_location_mrid
|
|
316
|
+
EndDevice.service_location_mrid = lambda self: getattr(self, "serviceLocationMRID", None)
|
|
317
|
+
Meter.service_location_mrid = lambda self: self.ed.service_location_mrid()
|
|
318
|
+
|
|
319
|
+
# usage_point_location_mrid
|
|
320
|
+
UsagePoint.usage_point_location_mrid = lambda self: getattr(self, "usagePointLocationMRID", None)
|
|
321
|
+
|
|
322
|
+
# terminal_mrid
|
|
323
|
+
AuxiliaryEquipment.terminal_mrid = lambda self: getattr(self, "terminalMRID", None)
|
|
324
|
+
FaultIndicator.terminal_mrid = lambda self: self.ae.terminal_mrid()
|
|
325
|
+
|
|
326
|
+
# terminal_mrids
|
|
327
|
+
ConductingEquipment.terminal_mrids = lambda self: getattr(self, "terminalMRIDs", [])
|
|
328
|
+
Conductor.terminal_mrids = lambda self: self.ce.terminal_mrids()
|
|
329
|
+
Connector.terminal_mrids = lambda self: self.ce.terminal_mrids()
|
|
330
|
+
EnergyConnection.terminal_mrids = lambda self: self.ce.terminal_mrids()
|
|
331
|
+
PowerTransformer.terminal_mrids = lambda self: self.ce.terminal_mrids()
|
|
332
|
+
Switch.terminal_mrids = lambda self: self.ce.terminal_mrids()
|
|
333
|
+
AcLineSegment.terminal_mrids = lambda self: self.cd.terminal_mrids()
|
|
334
|
+
Junction.terminal_mrids = lambda self: self.cn.terminal_mrids()
|
|
335
|
+
EnergyConsumer.terminal_mrids = lambda self: self.ec.terminal_mrids()
|
|
336
|
+
EnergySource.terminal_mrids = lambda self: self.ec.terminal_mrids()
|
|
337
|
+
RegulatingCondEq.terminal_mrids = lambda self: self.ec.terminal_mrids()
|
|
338
|
+
Disconnector.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
339
|
+
Fuse.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
340
|
+
Jumper.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
341
|
+
ProtectedSwitch.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
342
|
+
ShuntCompensator.terminal_mrids = lambda self: self.rce.terminal_mrids()
|
|
343
|
+
Breaker.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
344
|
+
Recloser.terminal_mrids = lambda self: self.sw.terminal_mrids()
|
|
345
|
+
LinearShuntCompensator.terminal_mrids = lambda self: self.sc.terminal_mrids()
|
|
346
|
+
|
|
347
|
+
# base_voltage_mrid
|
|
348
|
+
ConductingEquipment.base_voltage_mrid = lambda self: getattr(self, "baseVoltageMRID", None)
|
|
349
|
+
Conductor.base_voltage_mrid = lambda self: self.ce.base_voltage_mrid()
|
|
350
|
+
Connector.base_voltage_mrid = lambda self: self.ce.base_voltage_mrid()
|
|
351
|
+
EnergyConnection.base_voltage_mrid = lambda self: self.ce.base_voltage_mrid()
|
|
352
|
+
PowerTransformer.base_voltage_mrid = lambda self: self.ce.base_voltage_mrid()
|
|
353
|
+
Switch.base_voltage_mrid = lambda self: self.ce.base_voltage_mrid()
|
|
354
|
+
AcLineSegment.base_voltage_mrid = lambda self: self.cd.base_voltage_mrid()
|
|
355
|
+
Junction.base_voltage_mrid = lambda self: self.cn.base_voltage_mrid()
|
|
356
|
+
EnergyConsumer.base_voltage_mrid = lambda self: self.ec.base_voltage_mrid()
|
|
357
|
+
EnergySource.base_voltage_mrid = lambda self: self.ec.base_voltage_mrid()
|
|
358
|
+
RegulatingCondEq.base_voltage_mrid = lambda self: self.ec.base_voltage_mrid()
|
|
359
|
+
Disconnector.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
360
|
+
Fuse.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
361
|
+
Jumper.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
362
|
+
ProtectedSwitch.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
363
|
+
ShuntCompensator.base_voltage_mrid = lambda self: self.rce.base_voltage_mrid()
|
|
364
|
+
Breaker.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
365
|
+
Recloser.base_voltage_mrid = lambda self: self.sw.base_voltage_mrid()
|
|
366
|
+
LinearShuntCompensator.base_voltage_mrid = lambda self: self.sc.base_voltage_mrid()
|
|
367
|
+
|
|
368
|
+
# normal_energizing_substation_mrid
|
|
369
|
+
Feeder.normal_energizing_substation_mrid = lambda self: getattr(self, "normalEnergizingSubstationMRID", None)
|
|
370
|
+
|
|
371
|
+
# per_length_impedance_mrid
|
|
372
|
+
AcLineSegment.per_length_impedance_mrid = lambda self: getattr(self, "perLengthImpedanceMRID", None)
|
|
373
|
+
AcLineSegment.per_length_phase_impedance_mrid = lambda self: self.pli.per_length_impedance_mrid()
|
|
374
|
+
AcLineSegment.per_length_sequence_impedance_mrid = lambda self: self.pli.per_length_impedance_mrid()
|
|
375
|
+
|
|
376
|
+
# asset_info_mrid
|
|
377
|
+
CurrentRelay.asset_info_mrid = lambda self: self.prf.asset_info_mrid
|
|
378
|
+
ConductingEquipment.asset_info_mrid = lambda self: self.eq.asset_info_mrid()
|
|
379
|
+
Conductor.asset_info_mrid = lambda self: self.ce.asset_info_mrid()
|
|
380
|
+
CurrentTransformer.asset_info_mrid = lambda self: self.sn.ae.eq.asset_info_mrid()
|
|
381
|
+
DistanceRelay.asset_info_mrid = lambda self: self.prf.asset_info_mrid
|
|
382
|
+
Equipment.asset_info_mrid = lambda self: self.psr.assetInfoMRID
|
|
383
|
+
PotentialTransformer.asset_info_mrid = lambda self: self.sn.ae.eq.asset_info_mrid()
|
|
384
|
+
PowerTransformer.asset_info_mrid = lambda self: self.ce.asset_info_mrid()
|
|
385
|
+
ProtectionRelayFunction.asset_info_mrid = lambda self: self.psr.assetInfoMRID
|
|
386
|
+
ShuntCompensator.asset_info_mrid = lambda self: self.rce.ec.ce.asset_info_mrid()
|
|
387
|
+
Switch.asset_info_mrid = lambda self: self.ce.asset_info_mrid()
|
|
388
|
+
VoltageRelay.asset_info_mrid = lambda self: self.prf.asset_info_mrid
|
|
389
|
+
|
|
390
|
+
# ratio_tap_changer_mrid
|
|
391
|
+
TransformerEnd.ratio_tap_changer_mrid = lambda self: getattr(self, "ratioTapChangerMRID", None)
|
|
392
|
+
PowerTransformerEnd.ratio_tap_changer_mrid = lambda self: self.te.ratio_tap_changer_mrid()
|