}
const stationInfo = stationTemplateToStationInfo(stationTemplate)
stationInfo.hashId = getHashId(this.index, stationTemplate)
- stationInfo.autoStart = stationTemplate.autoStart ?? true
stationInfo.templateName = parse(this.templateFile).name
stationInfo.chargingStationId = getChargingStationId(this.index, stationTemplate)
- stationInfo.ocppVersion = stationTemplate.ocppVersion ?? OCPPVersion.VERSION_16
createSerialNumber(stationTemplate, stationInfo)
stationInfo.voltageOut = this.getVoltageOut(stationInfo)
if (isNotEmptyArray(stationTemplate.power)) {
: stationTemplate.power
}
stationInfo.maximumAmperage = this.getMaximumAmperage(stationInfo)
- stationInfo.firmwareVersionPattern =
- stationTemplate.firmwareVersionPattern ?? Constants.SEMVER_PATTERN
if (
+ isNotEmptyString(stationInfo.firmwareVersionPattern) &&
isNotEmptyString(stationInfo.firmwareVersion) &&
!new RegExp(stationInfo.firmwareVersionPattern).test(stationInfo.firmwareVersion)
) {
},
stationTemplate.firmwareUpgrade ?? {}
)
- stationInfo.resetTime =
- stationTemplate.resetTime != null
- ? secondsToMilliseconds(stationTemplate.resetTime)
- : Constants.DEFAULT_CHARGING_STATION_RESET_TIME
+ if (stationTemplate.resetTime != null) {
+ stationInfo.resetTime = secondsToMilliseconds(stationTemplate.resetTime)
+ }
return stationInfo
}
if (stationInfo.templateName == null) {
stationInfo.templateName = parse(this.templateFile).name
}
- if (stationInfo.autoStart == null) {
- stationInfo.autoStart = true
- }
}
}
return stationInfo
this.stationInfo = this.getStationInfo(options?.persistentConfiguration)
if (options?.persistentConfiguration != null) {
this.stationInfo.ocppPersistentConfiguration = options.persistentConfiguration
- }
- if (options?.persistentConfiguration != null) {
this.stationInfo.automaticTransactionGeneratorPersistentConfiguration =
options.persistentConfiguration
}
if (options?.ocppStrictCompliance != null) {
this.stationInfo.ocppStrictCompliance = options.ocppStrictCompliance
}
+ if (options?.stopTransactionsOnStopped != null) {
+ this.stationInfo.stopTransactionsOnStopped = options.stopTransactionsOnStopped
+ }
if (
this.stationInfo.firmwareStatus === FirmwareStatus.Installing &&
- isNotEmptyString(this.stationInfo.firmwareVersion) &&
- isNotEmptyString(this.stationInfo.firmwareVersionPattern)
+ isNotEmptyString(this.stationInfo.firmwareVersionPattern) &&
+ isNotEmptyString(this.stationInfo.firmwareVersion)
) {
const patternGroup =
this.stationInfo.firmwareUpgrade?.versionUpgrade?.patternGroup ??
}
private getOcppConfiguration (
- ocppPersistentConfiguration: boolean | undefined = Constants.DEFAULT_STATION_INFO
- .ocppPersistentConfiguration
+ ocppPersistentConfiguration: boolean | undefined = this.stationInfo?.ocppPersistentConfiguration
): ChargingStationOcppConfiguration | undefined {
let ocppConfiguration: ChargingStationOcppConfiguration | undefined =
this.getOcppConfigurationFromFile(ocppPersistentConfiguration)
if (!(error instanceof OCPPError)) {
logger.warn(
`${this.logPrefix()} Error thrown at incoming OCPP command '${
- commandName ?? requestCommandName ?? Constants.UNKNOWN_COMMAND
+ commandName ?? requestCommandName ?? Constants.UNKNOWN_OCPP_COMMAND
// eslint-disable-next-line @typescript-eslint/no-base-to-string
}' message '${data.toString()}' handling is not an OCPPError:`,
error
}
logger.error(
`${this.logPrefix()} Incoming OCPP command '${
- commandName ?? requestCommandName ?? Constants.UNKNOWN_COMMAND
+ commandName ?? requestCommandName ?? Constants.UNKNOWN_OCPP_COMMAND
// eslint-disable-next-line @typescript-eslint/no-base-to-string
}' message '${data.toString()}'${
this.requests.has(messageId)
}
private getUseConnectorId0 (stationTemplate?: ChargingStationTemplate): boolean {
- return stationTemplate?.useConnectorId0 ?? true
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ return stationTemplate?.useConnectorId0 ?? Constants.DEFAULT_STATION_INFO.useConnectorId0!
}
private async stopRunningTransactions (reason?: StopTransactionReason): Promise<void> {
}
private getCurrentOutType (stationInfo?: ChargingStationInfo): CurrentType {
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- return (stationInfo ?? this.stationInfo!).currentOutType ?? CurrentType.AC
+ return (
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ (stationInfo ?? this.stationInfo!).currentOutType ??
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ Constants.DEFAULT_STATION_INFO.currentOutType!
+ )
}
private getVoltageOut (stationInfo?: ChargingStationInfo): Voltage {