1
- // TODO: Share with 104 editor plugin?
1
+ import { get } from "lit-translate" ;
2
+
2
3
export const PROTOCOL_104_PRIVATE = 'IEC_60870_5_104' ;
3
4
4
5
export interface Signal104 {
@@ -46,21 +47,21 @@ function extractSignal104Data(addressElement: Element, doc: XMLDocument): Extrac
46
47
47
48
// By convention the last four digits of the ioa are the signalnumber, see https://github.com/com-pas/compas-open-scd/issues/334
48
49
if ( ti === null || ioa === null || ioa . length < 4 ) {
49
- return { signal : null , error : `ti or ioa are missing or ioa is less than 4 digits, ti: ${ ti } , ioa: ${ ioa } ` } ;
50
+ return { signal : null , error : get ( 'protocol104.export.errors.tiOrIoaInvalid' , { ti : ti ?? '' , ioa : ioa ?? '' } ) } ;
50
51
}
51
52
const { signalNumber, bayName } = splitIoa ( ioa ) ;
52
53
53
54
const signalType = getSignalType ( ti ) ;
54
55
if ( signalType === SignalType . Unknown ) {
55
- return { signal : null , error : `Unknown signal type for ti: ${ ti } , ioa: ${ ioa } ` } ;
56
+ return { signal : null , error : get ( 'protocol104.export.errors.unknownSignalType' , { ti : ti ?? '' , ioa : ioa ?? '' } ) } ;
56
57
}
57
58
const isMonitorSignal = signalType === SignalType . Monitor ;
58
59
59
60
addressElement . parentElement ;
60
61
const parentDOI = addressElement . closest ( 'DOI' ) ;
61
62
62
63
if ( ! parentDOI ) {
63
- return { signal : null , error : `No parent DOI found for address with ioa: ${ ioa } ` } ;
64
+ return { signal : null , error : get ( 'protocol104.export.errors.noDoi' , { ioa : ioa ?? '' } ) } ;
64
65
}
65
66
66
67
const doiDesc = parentDOI . getAttribute ( 'desc' ) ;
@@ -69,20 +70,20 @@ function extractSignal104Data(addressElement: Element, doc: XMLDocument): Extrac
69
70
const parentBay = doc . querySelector ( parentBayQuery ) ;
70
71
71
72
if ( ! parentBay ) {
72
- return { signal : null , error : `No bay found with bayname: ${ bayName } for ioa ${ ioa } ` } ;
73
+ return { signal : null , error : get ( 'protocol104.export.errors.noBay' , { bayName , ioa : ioa ?? '' } ) } ;
73
74
}
74
75
75
76
const parentVoltageLevel = parentBay . closest ( 'VoltageLevel' ) ;
76
77
77
78
if ( ! parentVoltageLevel ) {
78
- return { signal : null , error : `No parent voltage level found for bay ${ bayName } for ioa ${ ioa } ` } ;
79
+ return { signal : null , error : get ( 'protocol104.export.errors.noVoltageLevel' , { bayName , ioa : ioa ?? '' } ) } ;
79
80
}
80
81
81
82
const voltageLevelName = parentVoltageLevel . getAttribute ( 'name' ) ;
82
83
const parentSubstation = parentVoltageLevel . closest ( 'Substation' ) ;
83
84
84
85
if ( ! parentSubstation ) {
85
- return { signal : null , error : `No parent substation found for voltage level ${ voltageLevelName } for ioa ${ ioa } ` } ;
86
+ return { signal : null , error : get ( 'protocol104.export.errors.noSubstation' , { voltageLevelName : voltageLevelName ?? '' , ioa : ioa ?? '' } ) } ;
86
87
}
87
88
88
89
const substationName = parentSubstation . getAttribute ( 'name' ) ;
0 commit comments