import path from 'path';
import { fileURLToPath } from 'url';
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
import OCPPError from '../../../exception/OCPPError';
-import { JsonObject, JsonType } from '../../../types/JsonType';
+import type { JsonObject, JsonType } from '../../../types/JsonType';
import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
import { OCPP16StandardParametersKey } from '../../../types/ocpp/1.6/Configuration';
-import {
+import type {
OCPP16MeterValuesRequest,
OCPP16MeterValuesResponse,
} from '../../../types/ocpp/1.6/MeterValues';
OCPP16StopTransactionResponse,
} from '../../../types/ocpp/1.6/Transaction';
import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { ResponseHandler } from '../../../types/ocpp/Responses';
+import type { ResponseHandler } from '../../../types/ocpp/Responses';
import logger from '../../../utils/Logger';
import Utils from '../../../utils/Utils';
import type ChargingStation from '../../ChargingStation';
this.validatePayload(chargingStation, commandName, payload);
await this.responseHandlers.get(commandName)(chargingStation, payload, requestPayload);
} catch (error) {
- logger.error(chargingStation.logPrefix() + ' Handle request response error:', error);
+ logger.error(
+ `${chargingStation.logPrefix()} ${moduleName}.responseHandler: Handle response error:`,
+ error
+ );
throw error;
}
} else {
// Throw exception
throw new OCPPError(
ErrorType.NOT_IMPLEMENTED,
- `${commandName} is not implemented to handle request response PDU ${JSON.stringify(
+ `${commandName} is not implemented to handle response PDU ${JSON.stringify(
payload,
null,
2
} else {
throw new OCPPError(
ErrorType.SECURITY_ERROR,
- `${commandName} cannot be issued to handle request response PDU ${JSON.stringify(
+ `${commandName} cannot be issued to handle response PDU ${JSON.stringify(
payload,
null,
2
if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
chargingStation.getConnectorStatus(authorizeConnectorId).idTagAuthorized = true;
logger.debug(
- `${chargingStation.logPrefix()} IdTag ${
+ `${chargingStation.logPrefix()} IdTag '${
requestPayload.idTag
- } authorized on connector ${authorizeConnectorId}`
+ }' authorized on connector ${authorizeConnectorId}`
);
} else {
chargingStation.getConnectorStatus(authorizeConnectorId).idTagAuthorized = false;
delete chargingStation.getConnectorStatus(authorizeConnectorId).authorizeIdTag;
logger.debug(
- `${chargingStation.logPrefix()} IdTag ${requestPayload.idTag} refused with status '${
+ `${chargingStation.logPrefix()} IdTag '${requestPayload.idTag}' refused with status '${
payload.idTagInfo.status
}' on connector ${authorizeConnectorId}`
);
if (
chargingStation.getConnectorStatus(connectorId).transactionRemoteStarted &&
chargingStation.getAuthorizeRemoteTxRequests() &&
- chargingStation.getMayAuthorizeAtRemoteStart() &&
+ chargingStation.getMustAuthorizeAtRemoteStart() &&
!chargingStation.getConnectorStatus(connectorId).idTagLocalAuthorized &&
!chargingStation.getConnectorStatus(connectorId).idTagAuthorized
) {
);
return;
}
- if (!Number.isInteger(payload.transactionId)) {
- logger.warn(
- `${chargingStation.logPrefix()} Trying to start a transaction on connector ${connectorId.toString()} with a non integer transaction Id ${
- payload.transactionId
- }, converting to integer`
- );
- payload.transactionId = Utils.convertToInt(payload.transactionId);
- }
+ // if (!Number.isInteger(payload.transactionId)) {
+ // logger.warn(
+ // `${chargingStation.logPrefix()} Trying to start a transaction on connector ${connectorId.toString()} with a non integer transaction Id ${
+ // payload.transactionId
+ // }, converting to integer`
+ // );
+ // payload.transactionId = Utils.convertToInt(payload.transactionId);
+ // }
if (payload.idTagInfo?.status === OCPP16AuthorizationStatus.ACCEPTED) {
chargingStation.getConnectorStatus(connectorId).transactionStarted = true;
chargingStation.stationInfo.chargingStationId +
'#' +
connectorId.toString() +
- ' for idTag ' +
- requestPayload.idTag
+ " for idTag '" +
+ requestPayload.idTag +
+ "'"
);
if (chargingStation.stationInfo.powerSharedByConnectors) {
chargingStation.powerDivider++;
payload.transactionId.toString() +
" REJECTED with status '" +
payload?.idTagInfo?.status +
- "', idTag " +
- requestPayload.idTag
+ "', idTag '" +
+ requestPayload.idTag +
+ "'"
);
await this.resetConnectorOnStartTransactionError(chargingStation, connectorId);
}