Skip to content

[DEV-3311] Updated to v1.0.0#189

Merged
charlta merged 29 commits intomainfrom
DEV-3311-cim-consistency-with-major-breaking-changes
Jul 11, 2025
Merged

[DEV-3311] Updated to v1.0.0#189
charlta merged 29 commits intomainfrom
DEV-3311-cim-consistency-with-major-breaking-changes

Conversation

@charlta
Copy link
Copy Markdown
Member

@charlta charlta commented Jul 11, 2025

Description

Description

Updated packages to v1.0.0 with a refactor of incorrect packages and standardising of enums:

  • Base profile fixups
  • Refactored enum classes.
  • Renamed container selection enum values from EXCLUDE to NONE
  • Removed remaining C# instructions and package definitions.
  • Fix change log from missed earlier changes.
  • Updated profile manager processing to:
    • log progress.
    • handle lists of types in specs.
    • split class descriptions with <br/>.
    • use correct case for Descendants section.
    • report errors to help with detecting issues in specs.
    • support enum classes when all attributes have no types.
    • validate ancestor/descendant links in the EWB profile.
  • The zepben.auth dependency has been incorporated into the SDK.

Associated tasks

Test Steps

Can only really test it by rolling it through everywhere locally and sending messages. Total test should involve standing up a new EWB server using these definitions, and interacting with it with both the JVM and Python SDK clients.

Checklist

If any of these are not applicable, strikethrough the line ~like this~. Do not delete it!. Let the reviewer decide if you should have done it.

Code

  • I have performed a self review of my own code (including checking issues raised when creating the PR).
  • I have added/updated unit tests for these changes, and if not I have explained why they are not necessary.
  • I have commented my code in any hard-to-understand or hacky areas.
  • I have handled all new warnings generated by the compiler or IDE.
  • I have rebased onto the target branch (usually main).

Documentation

  • I have updated the changelog.
  • I have updated any documentation required for these changes.

Breaking Changes

  • I have considered if this is a breaking change and will communicate it with other team members by posting it on the Slack breaking-changes channel.
  • Renamed the package to zepben.ewb. You will need to update all your imports zepben.evolve.* -> zepben.ewb.*. This also updates the pypi artifact to zepben.ewb.
  • Relocated the following classes into the Zepben extensions area, marking them as [ZBEX]:
    • DistanceRelay: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • EvChargingUnit: cim.iec61970.infiec61970.wires.generation.production -> cim.extensions.iec61970.base.generation.production.
    • Loop: cim.iec61970.infiec61970.feeder -> cim.extensions.iec61970.base.feeder.
    • LvFeeder: cim.iec61970.infiec61970.feeder -> cim.extensions.iec61970.base.feeder.
    • PowerDirectionKind: cim.iec61970.infiec61970.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionKind: cim.iec61970.infiec61970.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelayFunction: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelayScheme: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelaySystem: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • RelayInfo: cim.iec61968.infiec61968.infassetinfo -> cim.extensions.iec61968.assetinfo.
    • RelaySetting: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • Site: cim.iec61970.base.core -> cim.extensions.iec61970.base.core.
    • TransformerCoolingType: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • TransformerEndRatedS: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • VectorGroup: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • VoltageRelay: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • WindingConnection: cim.iec61970.base.wires.winding -> cim.iec61970.base.wires.
  • Relocated the following classes that were in the wrong packages:
    • Pole: cim.iec61968.assets -> cim.iec61968.infiec61968.infassets.
    • StreetlightLampKind: cim.iec61968.assets -> cim.iec61968.infiec61968.infassets.
    • All classes in the incorrectly located cim.iec61970.base.wires.generation.production -> cim.iec61970.base.generation.production.
  • The protobuf implementation has the following changes, which will only have an impact if you are using protobuf directly:
    • Updated the values of the following enums to conform to Protobuf standard naming:
      • BatteryControlMode
      • BatteryStateKind
      • CustomerKind
      • DiagramStyle
      • EndDeviceFunctionKind
      • FeederDirection
      • IncludedEnergizedContainers
      • IncludedEnergizingContainers
      • LogLevel
      • LogSource
      • NetworkState
      • OrientationKind
      • PhaseCode
      • PhaseShuntConnectionKind
      • PotentialTransformerKind
      • PowerDirectionKind
      • ProtectionKind
      • RegulatingControlModeKind
      • SinglePhaseKind
      • StreetlightLampKind
      • SVCControlMode
      • SwitchAction
      • SynchronousMachineKind
      • TransformerConstructionKind
      • TransformerCoolingType
      • TransformerFunctionKind
      • UnitSymbol
      • VectorGroup
      • WindingConnection
      • WireMaterialKind
    • Renumbered the protobuf fields for:
      • AcLineSegment
      • Control
      • Diagram
      • TransformerEnd
  • Renamed the following enum values:
    • PowerDirectionKind.UNKNOWN_DIRECTION -> PowerDirectionKind.UNKNOWN
    • RegulatingControlModeKind.UNKNOWN_CONTROL_MODE -> RegulatingControlModeKind.UNKNOWN
    • TransformerCoolingType.UNKNOWN_COOLING_TYPE -> TransformerCoolingType.UNKNOWN
    • WindingConnection.UNKNOWN_WINDING -> WindingConnection.UNKNOWN
  • Added TransformerFunctionKind.UNKNOWN to allow distinction between an unknown function, and a function that is not covered by the enum (i.e. other). This
    addition has changed the order of the enum values, with other now being the last entry, instead of the first.
  • NetworkConsumerClient no longer uses the protobuf IncludedEnergizedContainers, IncludedEnergizingContainers and NetworkState enums directly, it now
    uses SDK versions of these enums. To use these enums you will need to update your imports, and use the simplified versions of the enum values:
    • IncludedEnergizedContainers from package com.zepben.ewb.streaming.get.
      • EXCLUDE_ENERGIZED_CONTAINERS -> NONE.
      • INCLUDE_ENERGIZED_FEEDERS -> FEEDERS.
      • INCLUDE_ENERGIZED_LV_FEEDERS -> LV_FEEDERS.
    • IncludedEnergizingContainers from package com.zepben.ewb.streaming.get.
      • EXCLUDE_ENERGIZING_CONTAINERS -> NONE.
      • INCLUDE_ENERGIZING_FEEDERS -> FEEDERS.
      • INCLUDE_ENERGIZING_SUBSTATIONS -> SUBSTATIONS.
    • NetworkState from package com.zepben.ewb.services.network.
      • ALL_NETWORK_STATE -> ALL.
      • NORMAL_NETWORK_STATE -> NORMAL.
      • CURRENT_NETWORK_STATE -> CURRENT.
  • The zepben.auth dependency has been incorporated into the SDK with the following package change:
    • zepben.auth -> zepben.ewb.auth. You can also import these directly from zepben.ewb.

@ryanjcoleman
Copy link
Copy Markdown
Member

Task linked: DEV-3311 Update Python SDK

charlta added 27 commits July 12, 2025 00:35
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
… checks.

Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
@charlta charlta force-pushed the DEV-3311-cim-consistency-with-major-breaking-changes branch from b5b6ca9 to 5ce485b Compare July 11, 2025 14:39
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
@charlta charlta marked this pull request as ready for review July 11, 2025 15:07
@charlta charlta requested a review from a team July 11, 2025 15:07
@charlta charlta merged commit 4b84652 into main Jul 11, 2025
3 checks passed
@charlta charlta deleted the DEV-3311-cim-consistency-with-major-breaking-changes branch July 11, 2025 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants