+ private getMaximumAmperage(): number | undefined {
+ switch (this.getCurrentOutType()) {
+ case CurrentType.AC:
+ return ACElectricUtils.amperagePerPhaseFromPower(
+ this.getNumberOfPhases(),
+ (this.stationInfo['maxPower'] as number) ??
+ this.stationInfo.maximumPower / this.getNumberOfConnectors(),
+ this.getVoltageOut()
+ );
+ case CurrentType.DC:
+ return DCElectricUtils.amperage(this.stationInfo.maximumPower, this.getVoltageOut());
+ }
+ }
+
+ private getAmperageLimitationUnitDivider(): number {
+ let unitDivider = 1;
+ switch (this.stationInfo.amperageLimitationUnit) {
+ case AmpereUnits.DECI_AMPERE:
+ unitDivider = 10;
+ break;
+ case AmpereUnits.CENTI_AMPERE:
+ unitDivider = 100;
+ break;
+ case AmpereUnits.MILLI_AMPERE:
+ unitDivider = 1000;
+ break;
+ }
+ return unitDivider;
+ }
+
+ private getAmperageLimitation(): number | undefined {
+ if (
+ this.stationInfo.amperageLimitationOcppKey &&
+ this.getConfigurationKey(this.stationInfo.amperageLimitationOcppKey)
+ ) {
+ return (
+ Utils.convertToInt(
+ this.getConfigurationKey(this.stationInfo.amperageLimitationOcppKey).value
+ ) / this.getAmperageLimitationUnitDivider()
+ );
+ }
+ }
+