From 1eb3107016b26e5eff392d872d4b17b6e8f27b57 Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Tue, 21 Jan 2025 12:07:47 +0100 Subject: [PATCH] Add Updated to `FaultEventType` (#85) ## Description Add Updated to `FaultEventType` to allow updates of faults (also in case they cannot be located). ## Changes Made Add Updated to `FaultEventType` ## Related Issues N/A ## Checklist - [x] I have used a PR title that is descriptive enough for a release note. - [x] I have tested these changes locally. - [ ] I have added appropriate tests or updated existing tests. - [ ] I have tested these changes on a cluster [name of the cluster] / customer [name of the customer] - [x] I have added appropriate documentation or updated existing documentation. --------- Co-authored-by: kdevelleZ <137077319+kdevelleZ@users.noreply.github.com> --- Makefile | 2 +- RELEASE_NOTES.md | 3 ++- docs/fault.proto.md | 6 ++++-- go/grid/v1/fault.pb.go | 11 ++++++++--- python/zaphiro/grid/v1/fault_pb2.py | 4 ++-- python/zaphiro/grid/v1/fault_pb2.pyi | 2 ++ zaphiro/grid/v1/fault.proto | 3 ++- 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 57d2a50..39a7853 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ all: proto-lint generate lint test docs .PHONY: lint lint: - golangci-lint run --fix + golangci-lint run --fix && golines . -w .PHONY: test test: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 71d54fb..e9ba111 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,9 +1,10 @@ # ProtoBuf Release Notes -## 0.0.9-dev - 2025-01-20 +## 0.0.9-dev - 2025-01-21 ### Features +- Add Updated to `FaultEventType` (PR #85 by @chicco785) - Add `FrequencyVariation` Event (PR #80 by @chicco785) ### Continuous Integration diff --git a/docs/fault.proto.md b/docs/fault.proto.md index f5fc9cb..70bd03e 100644 --- a/docs/fault.proto.md +++ b/docs/fault.proto.md @@ -97,6 +97,7 @@ The collection of Fault Event Types defined so far. | `FAULT_EVENT_TYPE_LOCATED` | 2 | Fault located | | `FAULT_EVENT_TYPE_ENDED` | 3 | Fault ended | | `FAULT_EVENT_TYPE_UNKNOWN` | 4 | Information available don't allow us to know if the Fault is active or complete | +| `FAULT_EVENT_TYPE_UPDATED` | 5 | Fault data requires to be updated | @@ -177,6 +178,7 @@ class FaultEventType{ FAULT_EVENT_TYPE_LOCATED FAULT_EVENT_TYPE_ENDED FAULT_EVENT_TYPE_UNKNOWN + FAULT_EVENT_TYPE_UPDATED } ``` ### Fault Diagram @@ -187,7 +189,7 @@ direction LR %% Abnormal condition causing current flow through conducting equipment, such as caused by equipment failure or short circuits from objects not typically modelled (for example, a tree falling on a line). %% -%% This message is modeled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. +%% This message is modelled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. %% %% Faults messages represent events linked to a given fault (identified by the id). From the point of view of storage the sequence of events may be handled in a way that does not map totally to the single event, e.g. by combining multiple events in a single database row. %% @@ -292,7 +294,7 @@ class FaultMeasurement { Abnormal condition causing current flow through conducting equipment, such as caused by equipment failure or short circuits from objects not typically modelled (for example, a tree falling on a line). -This message is modeled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. +This message is modelled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. Faults messages represent events linked to a given fault (identified by the id). From the point of view of storage the sequence of events may be handled in a way that does not map totally to the single event, e.g. by combining multiple events in a single database row. diff --git a/go/grid/v1/fault.pb.go b/go/grid/v1/fault.pb.go index 15f6e75..a0d3636 100644 --- a/go/grid/v1/fault.pb.go +++ b/go/grid/v1/fault.pb.go @@ -222,6 +222,7 @@ const ( FaultEventType_FAULT_EVENT_TYPE_LOCATED FaultEventType = 2 //Fault located FaultEventType_FAULT_EVENT_TYPE_ENDED FaultEventType = 3 //Fault ended FaultEventType_FAULT_EVENT_TYPE_UNKNOWN FaultEventType = 4 //Information available don't allow us to know if the Fault is active or complete + FaultEventType_FAULT_EVENT_TYPE_UPDATED FaultEventType = 5 //Fault data requires to be updated ) // Enum value maps for FaultEventType. @@ -232,6 +233,7 @@ var ( 2: "FAULT_EVENT_TYPE_LOCATED", 3: "FAULT_EVENT_TYPE_ENDED", 4: "FAULT_EVENT_TYPE_UNKNOWN", + 5: "FAULT_EVENT_TYPE_UPDATED", } FaultEventType_value = map[string]int32{ "FAULT_EVENT_TYPE_UNSPECIFIED": 0, @@ -239,6 +241,7 @@ var ( "FAULT_EVENT_TYPE_LOCATED": 2, "FAULT_EVENT_TYPE_ENDED": 3, "FAULT_EVENT_TYPE_UNKNOWN": 4, + "FAULT_EVENT_TYPE_UPDATED": 5, } ) @@ -703,7 +706,7 @@ var file_zaphiro_grid_v1_fault_proto_rawDesc = []byte{ 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x59, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4e, 0x10, 0x18, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x59, 0x4e, 0x10, 0x19, 0x2a, 0xa8, 0x01, 0x0a, 0x0e, 0x46, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x59, 0x4e, 0x10, 0x19, 0x2a, 0xc6, 0x01, 0x0a, 0x0e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, @@ -714,8 +717,10 @@ var file_zaphiro_grid_v1_fault_proto_rawDesc = []byte{ 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x04, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x67, 0x72, 0x69, 0x64, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4f, 0x57, 0x4e, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x44, 0x10, 0x05, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x67, 0x72, 0x69, 0x64, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/python/zaphiro/grid/v1/fault_pb2.py b/python/zaphiro/grid/v1/fault_pb2.py index 16eb831..7f99938 100644 --- a/python/zaphiro/grid/v1/fault_pb2.py +++ b/python/zaphiro/grid/v1/fault_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bzaphiro/grid/v1/fault.proto\x12\x0fzaphiro.grid.v1\"\xd2\x05\n\x05\x46\x61ult\x12\x0e\n\x02Id\x18\x01 \x01(\tR\x02Id\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x04kind\x18\x03 \x01(\x0e\x32(.zaphiro.grid.v1.PhaseConnectedFaultKindR\x04kind\x12\x32\n\x06phases\x18\x04 \x01(\x0e\x32\x1a.zaphiro.grid.v1.PhaseCodeR\x06phases\x12\x1c\n\tupdatedAt\x18\x05 \x01(\x03R\tupdatedAt\x12G\n\x0e\x66\x61ultEventType\x18\x06 \x01(\x0e\x32\x1f.zaphiro.grid.v1.FaultEventTypeR\x0e\x66\x61ultEventType\x12\x31\n\x11\x66\x61ultyEquipmentId\x18\x07 \x01(\tH\x01R\x11\x66\x61ultyEquipmentId\x88\x01\x01\x12\'\n\x0c\x66\x61ultCurrent\x18\x08 \x01(\x02H\x02R\x0c\x66\x61ultCurrent\x88\x01\x01\x12\x32\n\x14impactedEquipmentIds\x18\t \x03(\tR\x14impactedEquipmentIds\x12Q\n\x12usedMeasurementIds\x18\n \x03(\x0b\x32!.zaphiro.grid.v1.FaultMeasurementR\x12usedMeasurementIds\x12\x37\n\x14measurementTimestamp\x18\x0b \x01(\x03H\x03R\x14measurementTimestamp\x88\x01\x01\x12\x35\n\x13locationProbability\x18\x0c \x01(\x02H\x04R\x13locationProbability\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x14\n\x12_faultyEquipmentIdB\x0f\n\r_faultCurrentB\x17\n\x15_measurementTimestampB\x16\n\x14_locationProbability\"\xd1\x01\n\tLineFault\x12,\n\x05\x66\x61ult\x18\x01 \x01(\x0b\x32\x16.zaphiro.grid.v1.FaultR\x05\x66\x61ult\x12\x35\n\x13lengthFromTerminal1\x18\x02 \x01(\x02H\x00R\x13lengthFromTerminal1\x88\x01\x01\x12\x31\n\x11lengthUncertainty\x18\x03 \x01(\x02H\x01R\x11lengthUncertainty\x88\x01\x01\x42\x16\n\x14_lengthFromTerminal1B\x14\n\x12_lengthUncertainty\"r\n\x0e\x45quipmentFault\x12,\n\x05\x66\x61ult\x18\x01 \x01(\x0b\x32\x16.zaphiro.grid.v1.FaultR\x05\x66\x61ult\x12#\n\nterminalID\x18\x02 \x01(\tH\x00R\nterminalID\x88\x01\x01\x42\r\n\x0b_terminalID\"\\\n\x10\x46\x61ultMeasurement\x12\"\n\x0cpositiveSign\x18\x01 \x01(\x08R\x0cpositiveSign\x12$\n\rmeasurementID\x18\x02 \x01(\tR\rmeasurementID*\x82\x02\n\x17PhaseConnectedFaultKind\x12*\n&PHASE_CONNECTED_FAULT_KIND_UNSPECIFIED\x10\x00\x12-\n)PHASE_CONNECTED_FAULT_KIND_LINE_TO_GROUND\x10\x01\x12+\n\'PHASE_CONNECTED_FAULT_KIND_LINE_TO_LINE\x10\x02\x12\x35\n1PHASE_CONNECTED_FAULT_KIND_LINE_TO_LINE_TO_GROUND\x10\x03\x12(\n$PHASE_CONNECTED_FAULT_KIND_LINE_OPEN\x10\x04*\x89\x04\n\tPhaseCode\x12\x1a\n\x16PHASE_CODE_UNSPECIFIED\x10\x00\x12\x10\n\x0cPHASE_CODE_A\x10\x01\x12\x10\n\x0cPHASE_CODE_B\x10\x02\x12\x10\n\x0cPHASE_CODE_C\x10\x03\x12\x10\n\x0cPHASE_CODE_N\x10\x04\x12\x11\n\rPHASE_CODE_AB\x10\x05\x12\x11\n\rPHASE_CODE_AC\x10\x06\x12\x11\n\rPHASE_CODE_BC\x10\x07\x12\x11\n\rPHASE_CODE_AN\x10\x08\x12\x11\n\rPHASE_CODE_BN\x10\t\x12\x11\n\rPHASE_CODE_CN\x10\n\x12\x12\n\x0ePHASE_CODE_ABC\x10\x0b\x12\x12\n\x0ePHASE_CODE_ABN\x10\x0c\x12\x12\n\x0ePHASE_CODE_ACN\x10\r\x12\x12\n\x0ePHASE_CODE_BCN\x10\x0e\x12\x13\n\x0fPHASE_CODE_ABCN\x10\x0f\x12\x12\n\x0ePHASE_CODE_S1N\x10\x10\x12\x12\n\x0ePHASE_CODE_S2N\x10\x11\x12\x13\n\x0fPHASE_CODE_S12N\x10\x12\x12\x11\n\rPHASE_CODE_S1\x10\x13\x12\x11\n\rPHASE_CODE_S2\x10\x14\x12\x12\n\x0ePHASE_CODE_S12\x10\x15\x12\x10\n\x0cPHASE_CODE_X\x10\x16\x12\x11\n\rPHASE_CODE_XY\x10\x17\x12\x11\n\rPHASE_CODE_XN\x10\x18\x12\x12\n\x0ePHASE_CODE_XYN\x10\x19*\xa8\x01\n\x0e\x46\x61ultEventType\x12 \n\x1c\x46\x41ULT_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_STARTED\x10\x01\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_LOCATED\x10\x02\x12\x1a\n\x16\x46\x41ULT_EVENT_TYPE_ENDED\x10\x03\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_UNKNOWN\x10\x04\x42\x0bZ\t./grid/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bzaphiro/grid/v1/fault.proto\x12\x0fzaphiro.grid.v1\"\xd2\x05\n\x05\x46\x61ult\x12\x0e\n\x02Id\x18\x01 \x01(\tR\x02Id\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x04kind\x18\x03 \x01(\x0e\x32(.zaphiro.grid.v1.PhaseConnectedFaultKindR\x04kind\x12\x32\n\x06phases\x18\x04 \x01(\x0e\x32\x1a.zaphiro.grid.v1.PhaseCodeR\x06phases\x12\x1c\n\tupdatedAt\x18\x05 \x01(\x03R\tupdatedAt\x12G\n\x0e\x66\x61ultEventType\x18\x06 \x01(\x0e\x32\x1f.zaphiro.grid.v1.FaultEventTypeR\x0e\x66\x61ultEventType\x12\x31\n\x11\x66\x61ultyEquipmentId\x18\x07 \x01(\tH\x01R\x11\x66\x61ultyEquipmentId\x88\x01\x01\x12\'\n\x0c\x66\x61ultCurrent\x18\x08 \x01(\x02H\x02R\x0c\x66\x61ultCurrent\x88\x01\x01\x12\x32\n\x14impactedEquipmentIds\x18\t \x03(\tR\x14impactedEquipmentIds\x12Q\n\x12usedMeasurementIds\x18\n \x03(\x0b\x32!.zaphiro.grid.v1.FaultMeasurementR\x12usedMeasurementIds\x12\x37\n\x14measurementTimestamp\x18\x0b \x01(\x03H\x03R\x14measurementTimestamp\x88\x01\x01\x12\x35\n\x13locationProbability\x18\x0c \x01(\x02H\x04R\x13locationProbability\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x14\n\x12_faultyEquipmentIdB\x0f\n\r_faultCurrentB\x17\n\x15_measurementTimestampB\x16\n\x14_locationProbability\"\xd1\x01\n\tLineFault\x12,\n\x05\x66\x61ult\x18\x01 \x01(\x0b\x32\x16.zaphiro.grid.v1.FaultR\x05\x66\x61ult\x12\x35\n\x13lengthFromTerminal1\x18\x02 \x01(\x02H\x00R\x13lengthFromTerminal1\x88\x01\x01\x12\x31\n\x11lengthUncertainty\x18\x03 \x01(\x02H\x01R\x11lengthUncertainty\x88\x01\x01\x42\x16\n\x14_lengthFromTerminal1B\x14\n\x12_lengthUncertainty\"r\n\x0e\x45quipmentFault\x12,\n\x05\x66\x61ult\x18\x01 \x01(\x0b\x32\x16.zaphiro.grid.v1.FaultR\x05\x66\x61ult\x12#\n\nterminalID\x18\x02 \x01(\tH\x00R\nterminalID\x88\x01\x01\x42\r\n\x0b_terminalID\"\\\n\x10\x46\x61ultMeasurement\x12\"\n\x0cpositiveSign\x18\x01 \x01(\x08R\x0cpositiveSign\x12$\n\rmeasurementID\x18\x02 \x01(\tR\rmeasurementID*\x82\x02\n\x17PhaseConnectedFaultKind\x12*\n&PHASE_CONNECTED_FAULT_KIND_UNSPECIFIED\x10\x00\x12-\n)PHASE_CONNECTED_FAULT_KIND_LINE_TO_GROUND\x10\x01\x12+\n\'PHASE_CONNECTED_FAULT_KIND_LINE_TO_LINE\x10\x02\x12\x35\n1PHASE_CONNECTED_FAULT_KIND_LINE_TO_LINE_TO_GROUND\x10\x03\x12(\n$PHASE_CONNECTED_FAULT_KIND_LINE_OPEN\x10\x04*\x89\x04\n\tPhaseCode\x12\x1a\n\x16PHASE_CODE_UNSPECIFIED\x10\x00\x12\x10\n\x0cPHASE_CODE_A\x10\x01\x12\x10\n\x0cPHASE_CODE_B\x10\x02\x12\x10\n\x0cPHASE_CODE_C\x10\x03\x12\x10\n\x0cPHASE_CODE_N\x10\x04\x12\x11\n\rPHASE_CODE_AB\x10\x05\x12\x11\n\rPHASE_CODE_AC\x10\x06\x12\x11\n\rPHASE_CODE_BC\x10\x07\x12\x11\n\rPHASE_CODE_AN\x10\x08\x12\x11\n\rPHASE_CODE_BN\x10\t\x12\x11\n\rPHASE_CODE_CN\x10\n\x12\x12\n\x0ePHASE_CODE_ABC\x10\x0b\x12\x12\n\x0ePHASE_CODE_ABN\x10\x0c\x12\x12\n\x0ePHASE_CODE_ACN\x10\r\x12\x12\n\x0ePHASE_CODE_BCN\x10\x0e\x12\x13\n\x0fPHASE_CODE_ABCN\x10\x0f\x12\x12\n\x0ePHASE_CODE_S1N\x10\x10\x12\x12\n\x0ePHASE_CODE_S2N\x10\x11\x12\x13\n\x0fPHASE_CODE_S12N\x10\x12\x12\x11\n\rPHASE_CODE_S1\x10\x13\x12\x11\n\rPHASE_CODE_S2\x10\x14\x12\x12\n\x0ePHASE_CODE_S12\x10\x15\x12\x10\n\x0cPHASE_CODE_X\x10\x16\x12\x11\n\rPHASE_CODE_XY\x10\x17\x12\x11\n\rPHASE_CODE_XN\x10\x18\x12\x12\n\x0ePHASE_CODE_XYN\x10\x19*\xc6\x01\n\x0e\x46\x61ultEventType\x12 \n\x1c\x46\x41ULT_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_STARTED\x10\x01\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_LOCATED\x10\x02\x12\x1a\n\x16\x46\x41ULT_EVENT_TYPE_ENDED\x10\x03\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_UNKNOWN\x10\x04\x12\x1c\n\x18\x46\x41ULT_EVENT_TYPE_UPDATED\x10\x05\x42\x0bZ\t./grid/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,7 +27,7 @@ _globals['_PHASECODE']._serialized_start=1457 _globals['_PHASECODE']._serialized_end=1978 _globals['_FAULTEVENTTYPE']._serialized_start=1981 - _globals['_FAULTEVENTTYPE']._serialized_end=2149 + _globals['_FAULTEVENTTYPE']._serialized_end=2179 _globals['_FAULT']._serialized_start=49 _globals['_FAULT']._serialized_end=771 _globals['_LINEFAULT']._serialized_start=774 diff --git a/python/zaphiro/grid/v1/fault_pb2.pyi b/python/zaphiro/grid/v1/fault_pb2.pyi index 0615e7a..ca54d96 100644 --- a/python/zaphiro/grid/v1/fault_pb2.pyi +++ b/python/zaphiro/grid/v1/fault_pb2.pyi @@ -50,6 +50,7 @@ class FaultEventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): FAULT_EVENT_TYPE_LOCATED: _ClassVar[FaultEventType] FAULT_EVENT_TYPE_ENDED: _ClassVar[FaultEventType] FAULT_EVENT_TYPE_UNKNOWN: _ClassVar[FaultEventType] + FAULT_EVENT_TYPE_UPDATED: _ClassVar[FaultEventType] PHASE_CONNECTED_FAULT_KIND_UNSPECIFIED: PhaseConnectedFaultKind PHASE_CONNECTED_FAULT_KIND_LINE_TO_GROUND: PhaseConnectedFaultKind PHASE_CONNECTED_FAULT_KIND_LINE_TO_LINE: PhaseConnectedFaultKind @@ -86,6 +87,7 @@ FAULT_EVENT_TYPE_STARTED: FaultEventType FAULT_EVENT_TYPE_LOCATED: FaultEventType FAULT_EVENT_TYPE_ENDED: FaultEventType FAULT_EVENT_TYPE_UNKNOWN: FaultEventType +FAULT_EVENT_TYPE_UPDATED: FaultEventType class Fault(_message.Message): __slots__ = ("Id", "description", "kind", "phases", "updatedAt", "faultEventType", "faultyEquipmentId", "faultCurrent", "impactedEquipmentIds", "usedMeasurementIds", "measurementTimestamp", "locationProbability") diff --git a/zaphiro/grid/v1/fault.proto b/zaphiro/grid/v1/fault.proto index 2d1f715..8c1c58c 100644 --- a/zaphiro/grid/v1/fault.proto +++ b/zaphiro/grid/v1/fault.proto @@ -84,11 +84,12 @@ enum FaultEventType { FAULT_EVENT_TYPE_LOCATED = 2; //Fault located FAULT_EVENT_TYPE_ENDED = 3; //Fault ended FAULT_EVENT_TYPE_UNKNOWN = 4; //Information available don't allow us to know if the Fault is active or complete + FAULT_EVENT_TYPE_UPDATED = 5; //Fault data requires to be updated } /* Abnormal condition causing current flow through conducting equipment, such as caused by equipment failure or short circuits from objects not typically modelled (for example, a tree falling on a line). -This message is modeled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. +This message is modelled after [CIM Fault](https://zepben.github.io/evolve/docs/cim/cim100/TC57CIM/IEC61970/Base/Faults/Fault) according to the extensions defined in the [fault-data-storage](https://github.com/zaphiro-technologies/architecture/blob/main/features/31-fault-data-storage.md#data-structures) feature. Faults messages represent events linked to a given fault (identified by the id). From the point of view of storage the sequence of events may be handled in a way that does not map totally to the single event, e.g. by combining multiple events in a single database row.