import path from 'path';
import { URL, fileURLToPath } from 'url';
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
import { Client, FTPResponse } from 'basic-ftp';
import tar from 'tar';
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 {
OCPP16SupportedFeatureProfiles,
} from '../../../types/ocpp/1.6/Configuration';
import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
-import {
+import type {
OCPP16MeterValuesRequest,
OCPP16MeterValuesResponse,
} from '../../../types/ocpp/1.6/MeterValues';
SetChargingProfileRequest,
UnlockConnectorRequest,
} from '../../../types/ocpp/1.6/Requests';
-import {
+import type {
ChangeAvailabilityResponse,
ChangeConfigurationResponse,
ClearChargingProfileResponse,
OCPP16StopTransactionRequest,
OCPP16StopTransactionResponse,
} from '../../../types/ocpp/1.6/Transaction';
-import { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
+import type { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { IncomingRequestHandler } from '../../../types/ocpp/Requests';
-import { DefaultResponse } from '../../../types/ocpp/Responses';
+import type { IncomingRequestHandler } from '../../../types/ocpp/Requests';
+import type { DefaultResponse } from '../../../types/ocpp/Responses';
import Constants from '../../../utils/Constants';
import logger from '../../../utils/Logger';
import Utils from '../../../utils/Utils';
);
} catch (error) {
// Log
- logger.error(chargingStation.logPrefix() + ' Handle request error:', error);
+ logger.error(
+ `${chargingStation.logPrefix()} ${moduleName}.incomingRequestHandler: Handle incoming request error:`,
+ error
+ );
throw error;
}
} else {
OCPP16StopTransactionResponse
>(chargingStation, OCPP16RequestCommand.STOP_TRANSACTION, {
transactionId,
- meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
+ meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(
+ transactionId,
+ true
+ ),
idTag: chargingStation.getTransactionIdTag(transactionId),
reason: OCPP16StopTransactionReason.UNLOCK_COMMAND,
});
const transactionConnectorId = commandPayload.connectorId;
const connectorStatus = chargingStation.getConnectorStatus(transactionConnectorId);
if (transactionConnectorId) {
+ const remoteStartTransactionLogMsg =
+ chargingStation.logPrefix() +
+ ' Transaction remotely STARTED on ' +
+ chargingStation.stationInfo.chargingStationId +
+ '#' +
+ transactionConnectorId.toString() +
+ " for idTag '" +
+ commandPayload.idTag +
+ "'";
await chargingStation.ocppRequestService.requestHandler<
OCPP16StatusNotificationRequest,
OCPP16StatusNotificationResponse
connectorStatus.localAuthorizeIdTag = commandPayload.idTag;
connectorStatus.idTagLocalAuthorized = true;
authorized = true;
- } else if (chargingStation.getMayAuthorizeAtRemoteStart()) {
+ } else if (chargingStation.getMustAuthorizeAtRemoteStart()) {
connectorStatus.authorizeIdTag = commandPayload.idTag;
const authorizeResponse: OCPP16AuthorizeResponse =
await chargingStation.ocppRequestService.requestHandler<
})
).idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED
) {
- logger.debug(
- chargingStation.logPrefix() +
- ' Transaction remotely STARTED on ' +
- chargingStation.stationInfo.chargingStationId +
- '#' +
- transactionConnectorId.toString() +
- ' for idTag ' +
- commandPayload.idTag
- );
+ logger.debug(remoteStartTransactionLogMsg);
return Constants.OCPP_RESPONSE_ACCEPTED;
}
return this.notifyRemoteStartTransactionRejected(
})
).idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED
) {
- logger.debug(
- chargingStation.logPrefix() +
- ' Transaction remotely STARTED on ' +
- chargingStation.stationInfo.chargingStationId +
- '#' +
- transactionConnectorId.toString() +
- ' for idTag ' +
- commandPayload.idTag
- );
+ logger.debug(remoteStartTransactionLogMsg);
return Constants.OCPP_RESPONSE_ACCEPTED;
}
return this.notifyRemoteStartTransactionRejected(
chargingStation.logPrefix() +
' Remote starting transaction REJECTED on connector Id ' +
connectorId.toString() +
- ', idTag ' +
+ ", idTag '" +
idTag +
- ', availability ' +
+ "', availability '" +
chargingStation.getConnectorStatus(connectorId).availability +
- ', status ' +
- chargingStation.getConnectorStatus(connectorId).status
+ "', status '" +
+ chargingStation.getConnectorStatus(connectorId).status +
+ "'"
);
return Constants.OCPP_RESPONSE_REJECTED;
}
OCPP16StopTransactionResponse
>(chargingStation, OCPP16RequestCommand.STOP_TRANSACTION, {
transactionId,
- meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
+ meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(
+ transactionId,
+ true
+ ),
idTag: chargingStation.getTransactionIdTag(transactionId),
});
return Constants.OCPP_RESPONSE_ACCEPTED;
chargingStation,
OCPP16RequestCommand.BOOT_NOTIFICATION,
{
- chargePointModel: chargingStation.getBootNotificationRequest().chargePointModel,
- chargePointVendor: chargingStation.getBootNotificationRequest().chargePointVendor,
+ chargePointModel: chargingStation.bootNotificationRequest.chargePointModel,
+ chargePointVendor: chargingStation.bootNotificationRequest.chargePointVendor,
chargeBoxSerialNumber:
- chargingStation.getBootNotificationRequest().chargeBoxSerialNumber,
- firmwareVersion: chargingStation.getBootNotificationRequest().firmwareVersion,
+ chargingStation.bootNotificationRequest.chargeBoxSerialNumber,
+ firmwareVersion: chargingStation.bootNotificationRequest.firmwareVersion,
chargePointSerialNumber:
- chargingStation.getBootNotificationRequest().chargePointSerialNumber,
- iccid: chargingStation.getBootNotificationRequest().iccid,
- imsi: chargingStation.getBootNotificationRequest().imsi,
- meterSerialNumber: chargingStation.getBootNotificationRequest().meterSerialNumber,
- meterType: chargingStation.getBootNotificationRequest().meterType,
+ chargingStation.bootNotificationRequest.chargePointSerialNumber,
+ iccid: chargingStation.bootNotificationRequest.iccid,
+ imsi: chargingStation.bootNotificationRequest.imsi,
+ meterSerialNumber: chargingStation.bootNotificationRequest.meterSerialNumber,
+ meterType: chargingStation.bootNotificationRequest.meterType,
},
{ skipBufferingOnError: true, triggerMessage: true }
)