enableStatistics: false,
remoteAuthorization: true,
currentOutType: CurrentType.AC,
enableStatistics: false,
remoteAuthorization: true,
currentOutType: CurrentType.AC,
+ mainVoltageMeterValues: true,
+ phaseLineToLineVoltageMeterValues: false,
+ customValueLimitationMeterValues: true,
ocppStrictCompliance: true,
outOfOrderEndMeterValues: false,
beginEndMeterValues: false,
meteringPerTransaction: true,
transactionDataMeterValues: false,
ocppStrictCompliance: true,
outOfOrderEndMeterValues: false,
beginEndMeterValues: false,
meteringPerTransaction: true,
transactionDataMeterValues: false,
- mainVoltageMeterValues: true,
- phaseLineToLineVoltageMeterValues: false,
- customValueLimitationMeterValues: true,
supervisionUrlOcppConfiguration: false,
supervisionUrlOcppKey: VendorParametersKey.ConnectionUrl,
ocppVersion: OCPPVersion.VERSION_16,
supervisionUrlOcppConfiguration: false,
supervisionUrlOcppKey: VendorParametersKey.ConnectionUrl,
ocppVersion: OCPPVersion.VERSION_16,
isNotEmptyString(this.stationInfo?.supervisionUrlOcppKey)
) {
setConfigurationKeyValue(this, this.stationInfo.supervisionUrlOcppKey!, url);
isNotEmptyString(this.stationInfo?.supervisionUrlOcppKey)
) {
setConfigurationKeyValue(this, this.stationInfo.supervisionUrlOcppKey!, url);
stationInfo.chargingStationId = getChargingStationId(this.index, stationTemplate);
stationInfo.ocppVersion = stationTemplate?.ocppVersion ?? OCPPVersion.VERSION_16;
createSerialNumber(stationTemplate, stationInfo);
stationInfo.chargingStationId = getChargingStationId(this.index, stationTemplate);
stationInfo.ocppVersion = stationTemplate?.ocppVersion ?? OCPPVersion.VERSION_16;
createSerialNumber(stationTemplate, stationInfo);
if (isNotEmptyArray(stationTemplate?.power)) {
stationTemplate.power = stationTemplate.power as number[];
const powerArrayRandomIndex = Math.floor(secureRandom() * stationTemplate.power.length);
if (isNotEmptyArray(stationTemplate?.power)) {
stationTemplate.power = stationTemplate.power as number[];
const powerArrayRandomIndex = Math.floor(secureRandom() * stationTemplate.power.length);
const errorMsg = `Unsupported protocol version '${version}' configured in template file ${this.templateFile}`;
logger.error(`${this.logPrefix()} ${errorMsg}`);
throw new BaseError(errorMsg);
const errorMsg = `Unsupported protocol version '${version}' configured in template file ${this.templateFile}`;
logger.error(`${this.logPrefix()} ${errorMsg}`);
throw new BaseError(errorMsg);
this.ocppConfiguration = this.getOcppConfiguration();
this.initializeOcppConfiguration();
this.initializeOcppServices();
this.ocppConfiguration = this.getOcppConfiguration();
this.initializeOcppConfiguration();
this.initializeOcppServices();
this.emit(ChargingStationEvents.registered);
if (this.inAcceptedState() === true) {
this.emit(ChargingStationEvents.accepted);
this.emit(ChargingStationEvents.registered);
if (this.inAcceptedState() === true) {
this.emit(ChargingStationEvents.accepted);
private getPowerDivider(): number {
let powerDivider = this.hasEvses ? this.getNumberOfEvses() : this.getNumberOfConnectors();
private getPowerDivider(): number {
let powerDivider = this.hasEvses ? this.getNumberOfEvses() : this.getNumberOfConnectors();
// Stop the ATG
if (this.automaticTransactionGenerator?.started === true) {
this.stopAutomaticTransactionGenerator();
}
// Stop the ATG
if (this.automaticTransactionGenerator?.started === true) {
this.stopAutomaticTransactionGenerator();
}