repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a shared cache per worker for authorized tags
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
ocpp
/
1.6
/
OCPP16IncomingRequestService.ts
diff --git
a/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
b/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
index 45f3723c5a3b7db22aa6fbc4cff2f1db4853d417..7aad17a15e9a95d2ee3cfb173a89296d86cb1d06 100644
(file)
--- 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';
OCPP16StandardParametersKey,
OCPP16SupportedFeatureProfiles,
} from '../../../types/ocpp/1.6/Configuration';
+import { URL, fileURLToPath } from 'url';
import type ChargingStation from '../../ChargingStation';
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';
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 { 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';
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) {
}
} 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;
if (keyFound) {
if (Utils.isUndefined(keyFound.visible)) {
keyFound.visible = true;
@@
-346,7
+351,11
@@
export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
commandPayload
);
}
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) {
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) {
} 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) {
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) {
OCPP16StandardParametersKey.HeartbeatInterval,
commandPayload.value
);
triggerHeartbeatRestart = true;
}
if (keyToChange.key === OCPP16StandardParametersKey.HeartbeatInterval && valueChanged) {
- chargingStation.setConfigurationKeyValue(
+ ChargingStationConfigurationUtils.setConfigurationKeyValue(
+ chargingStation,
OCPP16StandardParametersKey.HeartBeatInterval,
commandPayload.value
);
OCPP16StandardParametersKey.HeartBeatInterval,
commandPayload.value
);
@@
-496,7
+512,7
@@
export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
clearCurrentCP = true;
}
if (clearCurrentCP) {
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
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() &&
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;
) {
connectorStatus.localAuthorizeIdTag = commandPayload.idTag;
connectorStatus.idTagLocalAuthorized = true;
@@
-866,7
+886,7
@@
export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
let ftpClient: Client;
try {
const logFiles = fs
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';
.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(
});
});
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) {
uri.pathname + diagnosticsArchive
);
if (uploadResponse.code === 226) {