X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2FOCPPServiceUtils.ts;h=bd228564d9649ce2eddd153dab9aba1903704125;hb=cc6845fc431ddf5cd37d70b750abae3c313a3589;hp=b0225063976efdf3c1927d402282c7f7e60e42f1;hpb=66a7748ddeda8c94d7562a1ce58d440319654a4c;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/OCPPServiceUtils.ts b/src/charging-station/ocpp/OCPPServiceUtils.ts index b0225063..bd228564 100644 --- a/src/charging-station/ocpp/OCPPServiceUtils.ts +++ b/src/charging-station/ocpp/OCPPServiceUtils.ts @@ -37,7 +37,9 @@ import { MeterValueMeasurand, MeterValuePhase, MeterValueUnit, + type OCPP16ChargePointStatus, type OCPP16StatusNotificationRequest, + type OCPP20ConnectorStatusEnumType, type OCPP20StatusNotificationRequest, OCPPVersion, RequestCommand, @@ -59,8 +61,6 @@ import { handleFileException, isNotEmptyArray, isNotEmptyString, - isNullOrUndefined, - isUndefined, logPrefix, logger, max, @@ -91,16 +91,17 @@ export const buildStatusNotificationRequest = ( case OCPPVersion.VERSION_16: return { connectorId, - status, + status: status as OCPP16ChargePointStatus, errorCode: ChargePointErrorCode.NO_ERROR } satisfies OCPP16StatusNotificationRequest case OCPPVersion.VERSION_20: case OCPPVersion.VERSION_201: return { timestamp: new Date(), - connectorStatus: status, + connectorStatus: status as OCPP20ConnectorStatusEnumType, connectorId, - evseId + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + evseId: evseId! } satisfies OCPP20StatusNotificationRequest default: throw new BaseError('Cannot build status notification payload: OCPP version not supported') @@ -961,17 +962,13 @@ export const buildMeterValue = ( // Persist previous value on connector if (connector != null) { if ( - !isNullOrUndefined(connector.energyActiveImportRegisterValue) && - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connector.energyActiveImportRegisterValue! >= 0 && - !isNullOrUndefined(connector.transactionEnergyActiveImportRegisterValue) && - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connector.transactionEnergyActiveImportRegisterValue! >= 0 + connector.energyActiveImportRegisterValue != null && + connector.energyActiveImportRegisterValue >= 0 && + connector.transactionEnergyActiveImportRegisterValue != null && + connector.transactionEnergyActiveImportRegisterValue >= 0 ) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connector.energyActiveImportRegisterValue! += energyValueRounded - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - connector.transactionEnergyActiveImportRegisterValue! += energyValueRounded + connector.energyActiveImportRegisterValue += energyValueRounded + connector.transactionEnergyActiveImportRegisterValue += energyValueRounded } else { connector.energyActiveImportRegisterValue = 0 connector.transactionEnergyActiveImportRegisterValue = 0 @@ -1050,7 +1047,7 @@ const checkMeasurandPowerDivider = ( chargingStation: ChargingStation, measurandType: MeterValueMeasurand ): void => { - if (isUndefined(chargingStation.powerDivider)) { + if (chargingStation.powerDivider == null) { const errMsg = `MeterValues measurand ${ measurandType ?? MeterValueMeasurand.ENERGY_ACTIVE_IMPORT_REGISTER }: powerDivider is undefined` @@ -1185,16 +1182,16 @@ const buildSampledValue = ( const sampledValuePhase = phase ?? sampledValueTemplate?.phase // eslint-disable-next-line @typescript-eslint/consistent-type-assertions return { - ...(!isNullOrUndefined(sampledValueTemplate.unit) && { + ...(sampledValueTemplate.unit != null && { unit: sampledValueTemplate.unit }), - ...(!isNullOrUndefined(sampledValueContext) && { context: sampledValueContext }), - ...(!isNullOrUndefined(sampledValueTemplate.measurand) && { + ...(sampledValueContext != null && { context: sampledValueContext }), + ...(sampledValueTemplate.measurand != null && { measurand: sampledValueTemplate.measurand }), - ...(!isNullOrUndefined(sampledValueLocation) && { location: sampledValueLocation }), - ...(!isNullOrUndefined(value) && { value: value.toString() }), - ...(!isNullOrUndefined(sampledValuePhase) && { phase: sampledValuePhase }) + ...(sampledValueLocation != null && { location: sampledValueLocation }), + ...(value != null && { value: value.toString() }), + ...(sampledValuePhase != null && { phase: sampledValuePhase }) } as SampledValue } @@ -1349,7 +1346,7 @@ export class OCPPServiceUtils { } public static startHeartbeatInterval (chargingStation: ChargingStation, interval: number): void { - if (chargingStation.heartbeatSetInterval === undefined) { + if (chargingStation.heartbeatSetInterval == null) { chargingStation.startHeartbeat() } else if (chargingStation.getHeartbeatInterval() !== interval) { chargingStation.restartHeartbeat()