Skip to content
This repository has been archived by the owner on Jun 12, 2024. It is now read-only.

Commit

Permalink
Use right station info attributes for serial number
Browse files Browse the repository at this point in the history
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
  • Loading branch information
Jérôme Benoit committed Mar 13, 2022
1 parent 43bb4cd commit efb85e2
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions src/charging-station/ChargingStation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,19 @@ export default class ChargingStation {
idSuffix;
}

private getRandomSerialNumberSuffix(params?: {
randomBytesLength?: number;
upperCase?: boolean;
}): string {
const randomSerialNumberSuffix = crypto
.randomBytes(params?.randomBytesLength ?? 16)
.toString('hex');
if (params?.upperCase) {
return randomSerialNumberSuffix.toUpperCase();
}
return randomSerialNumberSuffix;
}

private buildStationInfo(): ChargingStationInfo {
let stationTemplateFromFile: ChargingStationTemplate;
try {
Expand All @@ -784,6 +797,10 @@ export default class ChargingStation {
);
this.convertDeprecatedTemplateKey(stationTemplateFromFile, 'supervisionUrl', 'supervisionUrls');
const stationInfo: ChargingStationInfo = stationTemplateFromFile ?? ({} as ChargingStationInfo);
stationInfo.chargePointSerialNumber = stationTemplateFromFile?.chargePointSerialNumberPrefix;
delete stationInfo.chargePointSerialNumberPrefix;
stationInfo.chargeBoxSerialNumber = stationTemplateFromFile?.chargeBoxSerialNumberPrefix;
delete stationInfo.chargeBoxSerialNumberPrefix;
stationInfo.wsOptions = stationTemplateFromFile?.wsOptions ?? {};
if (!Utils.isEmptyArray(stationTemplateFromFile.power)) {
stationTemplateFromFile.power = stationTemplateFromFile.power as number[];
Expand Down Expand Up @@ -831,11 +848,11 @@ export default class ChargingStation {
this.bootNotificationRequest = {
chargePointModel: this.stationInfo.chargePointModel,
chargePointVendor: this.stationInfo.chargePointVendor,
...(!Utils.isUndefined(this.stationInfo.chargeBoxSerialNumberPrefix) && {
chargeBoxSerialNumber: this.stationInfo.chargeBoxSerialNumberPrefix,
...(!Utils.isUndefined(this.stationInfo.chargeBoxSerialNumber) && {
chargeBoxSerialNumber: this.stationInfo.chargeBoxSerialNumber,
}),
...(!Utils.isUndefined(this.stationInfo.chargePointSerialNumberPrefix) && {
chargePointSerialNumber: this.stationInfo.chargePointSerialNumberPrefix,
...(!Utils.isUndefined(this.stationInfo.chargePointSerialNumber) && {
chargePointSerialNumber: this.stationInfo.chargePointSerialNumber,
}),
...(!Utils.isUndefined(this.stationInfo.firmwareVersion) && {
firmwareVersion: this.stationInfo.firmwareVersion,
Expand Down

0 comments on commit efb85e2

Please sign in to comment.