1- // TODO: Share with 104 editor plugin?
1+ import { get } from "lit-translate" ;
2+
23export const PROTOCOL_104_PRIVATE = 'IEC_60870_5_104' ;
34
45export interface Signal104 {
@@ -46,21 +47,21 @@ function extractSignal104Data(addressElement: Element, doc: XMLDocument): Extrac
4647
4748 // By convention the last four digits of the ioa are the signalnumber, see https://github.com/com-pas/compas-open-scd/issues/334
4849 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 ?? '' } ) } ;
5051 }
5152 const { signalNumber, bayName } = splitIoa ( ioa ) ;
5253
5354 const signalType = getSignalType ( ti ) ;
5455 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 ?? '' } ) } ;
5657 }
5758 const isMonitorSignal = signalType === SignalType . Monitor ;
5859
5960 addressElement . parentElement ;
6061 const parentDOI = addressElement . closest ( 'DOI' ) ;
6162
6263 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 ?? '' } ) } ;
6465 }
6566
6667 const doiDesc = parentDOI . getAttribute ( 'desc' ) ;
@@ -69,20 +70,20 @@ function extractSignal104Data(addressElement: Element, doc: XMLDocument): Extrac
6970 const parentBay = doc . querySelector ( parentBayQuery ) ;
7071
7172 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 ?? '' } ) } ;
7374 }
7475
7576 const parentVoltageLevel = parentBay . closest ( 'VoltageLevel' ) ;
7677
7778 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 ?? '' } ) } ;
7980 }
8081
8182 const voltageLevelName = parentVoltageLevel . getAttribute ( 'name' ) ;
8283 const parentSubstation = parentVoltageLevel . closest ( 'Substation' ) ;
8384
8485 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 ?? '' } ) } ;
8687 }
8788
8889 const substationName = parentSubstation . getAttribute ( 'name' ) ;
0 commit comments