X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16IncomingRequestService.ts;h=7aad17a15e9a95d2ee3cfb173a89296d86cb1d06;hb=9d7484a4667898757b7c23be3dec7458c337cb84;hp=45f3723c5a3b7db22aa6fbc4cff2f1db4853d417;hpb=08f130a055123f5e47c59e1a64875f8cff44d020;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts b/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts index 45f3723c..7aad17a1 100644 --- a/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts @@ -58,8 +58,11 @@ import { OCPP16StandardParametersKey, OCPP16SupportedFeatureProfiles, } from '../../../types/ocpp/1.6/Configuration'; +import { URL, fileURLToPath } from 'url'; import type ChargingStation from '../../ChargingStation'; +import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils'; +import { ChargingStationUtils } from '../../ChargingStationUtils'; import Constants from '../../../utils/Constants'; import { DefaultResponse } from '../../../types/ocpp/Responses'; import { ErrorType } from '../../../types/ocpp/ErrorType'; @@ -72,7 +75,6 @@ import { OCPP16ServiceUtils } from './OCPP16ServiceUtils'; import { OCPPConfigurationKey } from '../../../types/ocpp/Configuration'; import OCPPError from '../../../exception/OCPPError'; import OCPPIncomingRequestService from '../OCPPIncomingRequestService'; -import { URL } from 'url'; import Utils from '../../../utils/Utils'; import fs from 'fs'; import logger from '../../../utils/Logger'; @@ -301,7 +303,10 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer } } else { for (const key of commandPayload.key) { - const keyFound = chargingStation.getConfigurationKey(key); + const keyFound = ChargingStationConfigurationUtils.getConfigurationKey( + chargingStation, + key + ); if (keyFound) { if (Utils.isUndefined(keyFound.visible)) { keyFound.visible = true; @@ -346,7 +351,11 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer commandPayload ); } - const keyToChange = chargingStation.getConfigurationKey(commandPayload.key, true); + const keyToChange = ChargingStationConfigurationUtils.getConfigurationKey( + chargingStation, + commandPayload.key, + true + ); if (!keyToChange) { return Constants.OCPP_CONFIGURATION_RESPONSE_NOT_SUPPORTED; } else if (keyToChange && keyToChange.readonly) { @@ -354,19 +363,26 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer } else if (keyToChange && !keyToChange.readonly) { let valueChanged = false; if (keyToChange.value !== commandPayload.value) { - chargingStation.setConfigurationKeyValue(commandPayload.key, commandPayload.value, true); + ChargingStationConfigurationUtils.setConfigurationKeyValue( + chargingStation, + commandPayload.key, + commandPayload.value, + true + ); valueChanged = true; } let triggerHeartbeatRestart = false; if (keyToChange.key === OCPP16StandardParametersKey.HeartBeatInterval && valueChanged) { - chargingStation.setConfigurationKeyValue( + ChargingStationConfigurationUtils.setConfigurationKeyValue( + chargingStation, OCPP16StandardParametersKey.HeartbeatInterval, commandPayload.value ); triggerHeartbeatRestart = true; } if (keyToChange.key === OCPP16StandardParametersKey.HeartbeatInterval && valueChanged) { - chargingStation.setConfigurationKeyValue( + ChargingStationConfigurationUtils.setConfigurationKeyValue( + chargingStation, OCPP16StandardParametersKey.HeartBeatInterval, commandPayload.value ); @@ -496,7 +512,7 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer clearCurrentCP = true; } if (clearCurrentCP) { - connectorStatus.chargingProfiles[index] = {} as OCPP16ChargingProfile; + connectorStatus.chargingProfiles.splice(index, 1); logger.debug( `${chargingStation.logPrefix()} Matching charging profile(s) cleared on connector id ${ commandPayload.connectorId @@ -599,7 +615,11 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer if ( chargingStation.getLocalAuthListEnabled() && chargingStation.hasAuthorizedTags() && - chargingStation.authorizedTags.find((value) => value === commandPayload.idTag) + chargingStation.authorizedTagsCache + .getAuthorizedTags( + ChargingStationUtils.getAuthorizationFile(chargingStation.stationInfo) + ) + .find((value) => value === commandPayload.idTag) ) { connectorStatus.localAuthorizeIdTag = commandPayload.idTag; connectorStatus.idTagLocalAuthorized = true; @@ -866,7 +886,7 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer let ftpClient: Client; try { const logFiles = fs - .readdirSync(path.resolve(__dirname, '../../../../')) + .readdirSync(path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../')) .filter((file) => file.endsWith('.log')) .map((file) => path.join('./', file)); const diagnosticsArchive = chargingStation.stationInfo.chargingStationId + '_logs.tar.gz'; @@ -895,7 +915,10 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer }); }); uploadResponse = await ftpClient.uploadFrom( - path.join(path.resolve(__dirname, '../../../../'), diagnosticsArchive), + path.join( + path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../'), + diagnosticsArchive + ), uri.pathname + diagnosticsArchive ); if (uploadResponse.code === 226) {