Release History
Version | Date |
---|---|
2.12.0 | 21 October 2024 |
2.11.0 | 21 May 2024 |
2.10.0 | 27 November 2023 |
2.9.0 | 31 May 2023 |
2.8.0 | 08 February 2023 |
2.7.0 | 24 October 2022 |
2.6.0 | 26 August 2022 |
2.5.0 | 04 March 2022 |
2.4.0 | 23 September 2021 |
2.3.0 | 06 April 2021 |
2.2.0 | 01 February 2021 |
2.1.0 | 13 January 2021 |
2.0.0 | 10 November 2020 |
1.2.0 | 8 November 2019 |
1.1.0 | 21 June 2019 |
1.0.0 | 7 March 2019 |
[2.12.0]
Breaking Changes
- The default pattern for extracting switch names to be used on map tiles has been removed (from
"^([0-9]{4,})[ ].*$"
). A new configuration optionswitchNamePattern
has been added toGeoViewConfig
to allow the user to specify their own pattern for extracting switch names. This must be specified to be"^([0-9]{4,})[ ].*$"
if you were relying on the existing behaviour for switch names on the map. - Renamed
TablePowerElectronicsUnit
toTablePowerElectronicsUnits
. Equipment
toEquipmentContainer
links for LV feeders are no longer written to the database, they should never have been.Switch.ratedCurrent
has been converted to adouble
(used to be aninteger
). Type safe languages will need to be updated to support floating point arithmatic/syntax.- Removed obsolete gRPC
SwitchStateService
which only logged the functionality was not implemented. This will be replaced in a future release.
New Features
- Data Model changes:
- Added
specialNeed
toCustomer
to capture any special needs of the customer, e.g. life support. - Added
phaseCode
field to theUsagePoint
. This field contains the phases supported by thisUsagePoint
. - Added new classes:
Curve
CurveData
EarthFaultCompensator
GroundingImpedance
PetersenCoil
ReactiveCapabilityCurve
RotatingMachine
SynchronousMachine
- Added
- Added
/graphql/customers
GraphQL endpoint for querying data held by theCustomerService
. This is a separate endpoint which requires specific authorisation for accessing customer data.- This endpoint implements queries
getIdentifiedObject
,getIdentifiedObjects
,findIdentifiedObjects
,findIdentifiedObjectsByName
, andgetMetadata
.
- This endpoint implements queries
- Added bounding boxes to GraphQL responses. A
BoundingBox
will now be returned as part of a GQL query which plots a bounding polygon encapsulating the IdentifiedObjects contained within the result of the query. - Added
polygon
field to theGqlResponse
. This field contains a convex polygon encompassing the locations(if available) of theIdentifiedObject
's returned in the response.
Enhancements
- None.
Fixes
- Any
DiagramObject
returned via the GraphQL interface now correctly references theIdentifiedObject
it represents, rather than having a self-reference.
Notes
- Upgraded to support ewb-sdk-jvm 0.23.0
[2.11.0]
Breaking Changes
- Updated to JVM SDK version 0.18.0, which introduces the following breaking changes:
IdentifiedObject.addName
has been refactored to take in aNameType
and aString
. This is doing the same thing under the hood as previousaddName()
function, but simplifies the input by lowering the amount of objects that needed to be created prior to adding names. Example usage change:obj.addName(nameType, "name", obj))
orobj.addName(nameType.getOrAddName("name", obj))
becomesobj.addName(nameType, "name")
addName()
/removeName()
related function for bothIdentifiedObject
andNameType
will now also perform the same function on the other object type. i.e. Removing a name from the identified object will remove it from the name type and vice versa. Same interaction is also applied to adding a name.- Removed
ProtectionEquipment
. - Change of inheritance:
CurrentRelay
→ProtectionEquipment
. becomesCurrentRelay
→ProtectionRelayFunction
. - Removed symmetric relation
ProtectionEquipment
↔ProtectedSwitch
. - Renamed
CurrentRelayInfo
toRelayInfo
.- The override
assetInfo: RelayInfo?
has been moved fromCurrentRelay
to its new parent class,ProtectionRelayFunction
. - Renamed
RelayInfo.removeDelay
toRelayInfo.removeDelayAt
. The original method name has been repurposed to remove a delay by its value rather than its index.
- The override
- Reworked values for enumerable type
ProtectionKind
.
- The database has been split into three databases:
- The existing database containing the network model (
*-network-model.sqlite
) with classes in thenetwork
package. - A new database containing the customer information (
*-customers.sqlite
) with classes in thecustomer
package. - A new database containing the diagrams (
*-diagrams.sqlite
) with classes in thediagram
package.
- The existing database containing the network model (
- Renamed the following tables (and their associated indexes):
battery_unit
tobattery_units
photo_voltaic_unit
tophoto_voltaic_units
power_electronics_connection
topower_electronics_connections
power_electronics_connection_phase
topower_electronics_connection_phases
power_electronics_wind_unit
topower_electronics_wind_units
transformer_star_impedance
totransformer_star_impedances
- All GraphQL tracing queries have new signatures and response types.
- The command line argument
--days-to-search
has been deprecated in favour of the renamed option--days-to-search-network
, which provides clarity from the new search options.
New Features
- Metadata can now be retrieved via the GraphQL end point using the
getMetadata
function. - Added
getMetadata()
gRPCs to*ConsumerService
for providing service information to clients. - Metadata can now be retrieved via the GraphQL end point using the
getMetadata
function. - Added gRPCs:
getCustomersForContainer
- gets all the Customers associated with Meters on a given EquipmentContainer.getDiagramObjects
- gets all DiagramObjects associated with a given mRID.
- Loading of the
customers
database can be disabled with the new--disable-customers
CLI option. - Added new classes and fields to support advanced modelling of protection relays:
SeriesCompensator
: A series capacitor or reactor or an AC transmission line without charging susceptance.Ground
: A point where the system is grounded used for connecting conducting equipment to ground.GroundDisconnector
: A manually operated or motor operated mechanical switching device used for isolating a circuit or equipment from ground.ProtectionRelayScheme
: A scheme that a group of relay functions implement. For example, typically schemes are primary and secondary, or main and failsafe.ProtectionRelayFunction
: A function that a relay implements to protect equipment.ProtectionRelaySystem
: A relay system for controllingProtectedSwitch
es.RelaySetting
: The threshold settings for a given relay.VoltageRelay
: A device that detects when the voltage in an AC circuit reaches a preset voltage.DistanceRelay
: A protective device used in power systems that measures the impedance of a transmission line to determine the distance to a fault, and initiates circuit breaker tripping to isolate the faulty section and safeguard the power system.RelayInfo.recloseFast
: True if recloseDelays are associated with a fast Curve, False otherwise.RegulatingControl.ratedCurrent
: The rated current of associated CT in amps for a RegulatingControl.
- You can now load from a specific date, rather than using the latest available model. See
--network-date
for details. - You can control how far from the network model the customer and diagram database can be. See
--days-to-search-customer
and--days-to-search-diagram
. - Added
designTemperature
anddesignRating
toConductor
to support span level ratings based on how each conductor has been constructed for Essential Energy.
Enhancements
- None.
Fixes
findIdentifiedObjects
and/network/api/v1/find
APIs now support symbol characters that could either cause no matching results to be found or errors to be returned.
Notes
- None.
[2.10.0]
Breaking Changes
- Updated to support ewb-network-routes 2.16.0.
New Features
- None.
Enhancements
- None.
Fixes
- None.
Notes
- None.
[2.9.0]
Breaking Changes
- Updated to ewb-network-routes 2.15.0 and latest SDK version. This removed RecloseSequences and corresponding CIM + Gql types.
New Features
- Added GraphQl query
getDownstreamEquipment()
which given an mRID and a network state will perform a downstream trace from the mRID and provide all objects
Enhancements
- None.
Fixes
getUpstreamEquipment()
GraphQL query will no longer stop on LvFeeder heads, and will instead exhaustively trace if no stop type/mRID is given.
Notes
- None.
[2.8.0]
Breaking Changes
- None.
New Features
- The evolve-sdk now includes an EquivalentNetworkUtils class to add equivalent networks at the edge of equipment containers.
- Added support for version 0.14.0 of the Evolve SDK. This includes support for the following CIM types:
CurrentTransformer
CurrentTransformerInfo
PotentialTransformer
PotentialTransformerInfo
ProtectionEquipment
CurrentRelay
CurrentRelayInfo
SwitchInfo
RecloseSequence
- Added support for version 2.14.0 of ewb-network-routes.
- The evolve-sdk now includes an EquivalentNetworkUtils class to add equivalent networks at the edge of equipment containers.
Enhancements
- Added the following properties to the Mapbox vector tiles:
- a partially off supply flag for equipment that is only partially energised.
- a flag to indicate if something is a switch, allowing detection of switches with invalid/missing symbols.
- Add container mRIDs to equipment in vector tiles features.
normalPhases
andcurrentPhases
(traced phases) are now exposed through GqlTerminal
Fixes
- From SDK 0.14.0: Fixed limited connected traces with
maximumSteps = 1
were including equipment 2 steps away. - Fixes issue in the evolve-sdk where the AuxiliaryEquipment and ProtectionEquipment was not getting properly assigned by the AssignToFeeder class.
Notes
- None.
[2.7.0]
Breaking Changes
- Database versions prior to v43 are no longer supported.
Feeder
instances are now only assigned to HV/MV equipment.LvFeeder
instances are assigned to LV equipment.- The GraphQL
Equipment.currentFeeders
field has been replaced withEquipment.currentContainers
, which takes an optional list of CIM type names to filter the collection. If you wish to keep your GraphQL requests backwards compatible, you can use the following to return only the current feeders in the previous field:
// old:
currentFeeders {
<field selectors>
}
// equivalent:
currentFeeders: currentContainers(types: ["Feeder"]) {
... on Feeder {
<field selectors>
}
}
New Features
- Added support for YYN single phase transformers when setting phases.
- Added support for
LvFeeder
, which contains a section of network below a distribution transformer. - Added the following GraphQL queries:
getUpstreamEquipment()
: Performs an upstream trace, configurably stopping on either a particular type or a certain mRID, or the feeder head if neither were found.getNetworkHierarchy()
: Retrieve the network hierarchy classes.getIsolatedEquipment()
: Request the equipment that belongs to an isolation area.
- Added the following optional arguments to the
getEquipmentForContainers
gRPC call:includeEnergizingContainers
: Specifies whether to include equipment from containers energizing the ones listed inmRIDs
. This is of the enum typeIncludedEnergizingContainers
, which has three possible values:EXCLUDE_ENERGIZING_CONTAINERS
: No additional effect (default).INCLUDE_ENERGIZING_FEEDERS
: Include HV/MV feeders that power LV feeders listed inmRIDs
.INCLUDE_ENERGIZING_SUBSTATIONS
: In addition toINCLUDE_ENERGIZING_FEEDERS
, include substations that energize a HV/MV feeder listed inmRIDs
or included viaINCLUDE_ENERGIZING_FEEDERS
.
includeEnergizedContainers
: Specifies whether to include equipment from containers energized by the ones listed inmRIDs
. This is of the enum typeIncludedEnergizedContainers
, which has three possible values:EXCLUDE_ENERGIZED_CONTAINERS
: No additional effect (default).INCLUDE_ENERGIZED_FEEDERS
: Include HV/MV feeders powered by substations listed inmRIDs
.INCLUDE_ENERGIZED_LV_FEEDERS
: In addition toINCLUDE_ENERGIZED_FEEDERS
, include LV feeders that are energizes by a HV/MV feeder listed inmRIDs
or included viaINCLUDE_ENERGIZED_FEEDERS
.
- Added an
isSwer
flag to the Mapbox vector tiles, indicating if a feature is part of the SWER network.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v2.6.0
Breaking Changes
- None.
New Features
- Added GraphQL route
/ewb/graphql/api
. This includes the following queries:getIdentifiedObject
: Request anIdentifiedObject
by mRID.getIdentifiedObjects
: Request manyIdentifiedObject
instances by their mRIDsfindIdentifiedObjects
: Find allIdentifiedObject
instances that match the provided criteria.findIdentifiedObjectsByName
: Find multiple objects by theirname
and NMInametype
.getAssetInfo
: Returns allAssetInfo
andPerLengthLineParameter
objects that match the requested types.getDownstreamEquipmentTree
: Performs a downstream trace and return the paths found.findUpstreamEquipment
: Performs an upstream trace looking for objects of a particular type.getConnectedEquipment
: Performs a trace outwards from a selected object for a set number of steps, and optionally, only in a specified direction.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v2.5.0
Breaking Changes
- NMI and load aggregation processing has been updated for semantic relocation in the CIM model.
PowerTransformer
instances are now distinguished using theirfunction
rather than an associatedDiagramObject
.- Updated
isPrimary
flag in old JSON API's to referenceisExternalGrid
rather than anEnergySource
having any associatedEnergySourcePhase
. - Feeder API's that return
infeeds
will now return the head of the feeder rather than the external grid source. - Renamed
PhaseDirection
toFeederDirection
:IN
renamed toUPSTREAM
OUT
renamed toDOWNSTREAM
- Separated feeder direction from phase.
- Direction has been removed from
TracedPhases
and is now accessed directly off theTerminal
. - Direction has been removed from
PhaseStatus
and is now accessed viaDirectionStatus
.
- Direction has been removed from
- The following
Terminal
fields are now Kotlin properties rather than accessor functions:connectivityNodeId
isConnected
normalPhases
currentPhases
PhaseCode.singlePhases
is now a Kotlin read-only property rather than an accessor function.
New Features
- The connection point identifier is now configurable via the config file option
connectionPointIdentifier
. Defaults toNMI
if not specified. PowerTransformer
now has afunction
andconstructionKind
.
Enhancements
- Updated GQL filtering mechanism to allow more precise matching of objects.
- Expanded the number of fields available for a
StreetAddress
- Added fields to
EnergySource
to allow representation of a higher-level power grid connection modelled as a slack bus. - Reworked phase connectivity to better handle unknown primary phases (X/Y).
Fixes
- JASNI startup exception has been resolved.
- nmis-transformers-feeders API now correctly populates feeders for NMIs / usage points that have no upstream transformer on the feeder.
- Relaxed the constraint on
power_electronics_connection_mrid
(no longer unique) in the following tables:battery_unit
photo_voltaic_unit
power_electronics_wind_unit
power_electronics_connection_phase
Notes
- None.
v2.4.0
Breaking Changes
- All classes will now send their class name via the REST API rather than
BasicNode
if they did not exist in the old network model. - ID correlations are no longer used. Equivalent functionality has been introduced into the CIM.
New Features
- The gRPC API now supports the following CIM classes:
EquivalentBranch
NoLoadTest
OpenCircuitTest
ShortCircuitTest
ShuntCompensatorInfo
- Added
isVirtual
andconnectionCategory
toUsagePoint
Enhancements
- None.
Fixes
- Conductor colouring has been corrected in the graphics routes.
- Switch states have been corrected in the graphics routes.
Notes
- None.
v2.3.0
Breaking Changes
None.
New Features
Added support for:
BusBarSection
LoadBreakSwitch
TransformerEndInfo
TransformerTankInfo
TransformerStarImpedance
gRPC service to listen for switch state changes. Note functionality is not implemented yet, the request is just logged.
Added endpoint to request associated transformers and feeders for nmis -
/ewb/network/api/v1/nmi-transformers-feeders
. See the API documentation for details.
Enhancements
- Asset response for equipment now includes location.
Fixes
- None.
Notes
- Updated to Vert.x 3.9.6.
v2.2.0
Breaking Changes
None.
New Features
- None.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v2.1.0
Breaking Changes
- Updated ewb-network-routes version to latest snapshot.
New Features
- Added a new route for retrieving metadata about the network -
/ewb/network/api/v1/metadata
. See the API documentation for details.
Enhancements
- None.
Fixes
- Transformer voltage is extracted from the first of the transformer's ends.
Notes
- None.
v2.0.0
Breaking Changes
- Fault indicators are no longer included in network traces (including feeder assets).
- Updated database version.
- Updated to use new patch API JSON format and layers.
New Features
- Added a new trace to find conducting equipment with attached usage points downstream from the specified conducting equipment, with an optional conducting equipment stop condition to support "between" tracing. If there is no path between from -> to, a trace in the opposite direction will also be performed (i.e. to -> from)
- Support for load profile manipulation has been added to the patch processor. The final manipulation value is
quantity / df
. - A REST API has been added to retrieve load manipulations at
/ewb/patch/api/v1/load-manipulations
. See the online documentation for details.
Enhancements
- The mapbox vector tiles now include conductor paths if available.
Fixes
- None.
Notes
- None.
v1.2.0
Breaking Changes
- Updated to use v11.0 network database.
New Features
- Underground/Overhead conductors are now supported. A flag isUnderground has been added to all JSON payloads that return conductor details.
- Conductor styling has been added in the Mapbox Vector Tile feature properties. You can use the lineColor, lineWidth and isUnderground properties of conductor features to control the rendering of map layers.
- Added an isolation trace API that can find all assets within a proposed isolation area.
Enhancements
- HV supply point assets now include connected meter information like other supply points.
- A new field rating has been added to all JSON payloads that return transformer details.
Fixes
- Phases are now being inferred when the core configuration drops phases.
Notes
- None.
v1.1.0
Breaking Changes
- Updated to use v10.0 network database.
New Features
- Patch actions are now processed in order based on type (add, modify then remove).
- Support for system tags (e.g. GIS) has been added to all routes that use asset ID's.
- Filtering has been added to all routes.
- Routes that return terminals now include the terminals lat/lon.
- Added support for cut conductor processing.
Enhancements
- Feeder start points can now be the feeder circuit breaker, but it will trace the zone if there is one.
- No longer warning about primary sources on feeders if the primary source is the feeder start point.
- Unknown layers now result in an error rather than aborting.
Fixes
- None.
Notes
- None.