OCPP16RequestCommand,
StatusNotificationRequest,
} from '../../../types/ocpp/1.6/Requests';
+import { MeterValuesRequest, OCPP16MeterValuesResponse } from '../../../types/ocpp/1.6/MeterValues';
import {
- HeartbeatResponse,
OCPP16BootNotificationResponse,
+ OCPP16HeartbeatResponse,
OCPP16RegistrationStatus,
- StatusNotificationResponse,
+ OCPP16StatusNotificationResponse,
} from '../../../types/ocpp/1.6/Responses';
-import { MeterValuesRequest, MeterValuesResponse } from '../../../types/ocpp/1.6/MeterValues';
import type ChargingStation from '../../ChargingStation';
import { ErrorType } from '../../../types/ocpp/ErrorType';
if (payload.status === OCPP16RegistrationStatus.ACCEPTED) {
this.chargingStation.addConfigurationKey(
OCPP16StandardParametersKey.HeartBeatInterval,
- payload.interval.toString()
+ payload.interval.toString(),
+ {},
+ { overwrite: true, save: true }
);
this.chargingStation.addConfigurationKey(
OCPP16StandardParametersKey.HeartbeatInterval,
payload.interval.toString(),
- { visible: false }
+ { visible: false },
+ { overwrite: true, save: true }
);
this.chargingStation.heartbeatSetInterval
? this.chargingStation.restartHeartbeat()
}
private handleResponseHeartbeat(
- payload: HeartbeatResponse,
+ payload: OCPP16HeartbeatResponse,
requestPayload: HeartbeatRequest
): void {
logger.debug(
this.chargingStation.getConnectorStatus(authorizeConnectorId).idTagAuthorized = false;
delete this.chargingStation.getConnectorStatus(authorizeConnectorId).authorizeIdTag;
logger.debug(
- `${this.chargingStation.logPrefix()} IdTag ${requestPayload.idTag} refused with status ${
+ `${this.chargingStation.logPrefix()} IdTag ${requestPayload.idTag} refused with status '${
payload.idTagInfo.status
- } on connector ${authorizeConnectorId}`
+ }' on connector ${authorizeConnectorId}`
);
}
}
requestPayload.meterStart
);
this.chargingStation.getBeginEndMeterValues() &&
- (await this.chargingStation.ocppRequestService.sendMessageHandler(
+ (await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16MeterValuesResponse>(
OCPP16RequestCommand.METER_VALUES,
{
connectorId,
this.chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue,
}
));
- await this.chargingStation.ocppRequestService.sendMessageHandler(
+ await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16StatusNotificationResponse>(
OCPP16RequestCommand.STATUS_NOTIFICATION,
{
connectorId,
this.chargingStation.logPrefix() +
' Starting transaction id ' +
payload.transactionId.toString() +
- ' REJECTED with status ' +
+ " REJECTED with status '" +
payload?.idTagInfo?.status +
- ', idTag ' +
+ "', idTag " +
requestPayload.idTag
);
await this.resetConnectorOnStartTransactionError(connectorId);
this.chargingStation.getConnectorStatus(connectorId).status !==
OCPP16ChargePointStatus.AVAILABLE
) {
- await this.chargingStation.ocppRequestService.sendMessageHandler(
+ await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16StatusNotificationResponse>(
OCPP16RequestCommand.STATUS_NOTIFICATION,
{
connectorId,
payload: OCPP16StopTransactionResponse,
requestPayload: StopTransactionRequest
): Promise<void> {
- let transactionConnectorId: number;
- for (const connectorId of this.chargingStation.connectors.keys()) {
- if (
- connectorId > 0 &&
- this.chargingStation.getConnectorStatus(connectorId)?.transactionId ===
- requestPayload.transactionId
- ) {
- transactionConnectorId = connectorId;
- break;
- }
- }
+ const transactionConnectorId = this.chargingStation.getConnectorIdByTransactionId(
+ requestPayload.transactionId
+ );
if (!transactionConnectorId) {
logger.error(
this.chargingStation.logPrefix() +
this.chargingStation.getBeginEndMeterValues() &&
!this.chargingStation.getOcppStrictCompliance() &&
this.chargingStation.getOutOfOrderEndMeterValues() &&
- (await this.chargingStation.ocppRequestService.sendMessageHandler(
+ (await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16MeterValuesResponse>(
OCPP16RequestCommand.METER_VALUES,
{
connectorId: transactionConnectorId,
!this.chargingStation.isChargingStationAvailable() ||
!this.chargingStation.isConnectorAvailable(transactionConnectorId)
) {
- await this.chargingStation.ocppRequestService.sendMessageHandler(
+ await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16StatusNotificationResponse>(
OCPP16RequestCommand.STATUS_NOTIFICATION,
{
connectorId: transactionConnectorId,
this.chargingStation.getConnectorStatus(transactionConnectorId).status =
OCPP16ChargePointStatus.UNAVAILABLE;
} else {
- await this.chargingStation.ocppRequestService.sendMessageHandler(
+ await this.chargingStation.ocppRequestService.sendMessageHandler<OCPP16BootNotificationResponse>(
OCPP16RequestCommand.STATUS_NOTIFICATION,
{
connectorId: transactionConnectorId,
this.chargingStation.logPrefix() +
' Stopping transaction id ' +
requestPayload.transactionId.toString() +
- ' REJECTED with status ' +
- payload.idTagInfo?.status
+ " REJECTED with status '" +
+ payload.idTagInfo?.status +
+ "'"
);
}
}
private handleResponseStatusNotification(
payload: StatusNotificationRequest,
- requestPayload: StatusNotificationResponse
+ requestPayload: OCPP16StatusNotificationResponse
): void {
logger.debug(
this.chargingStation.logPrefix() +
private handleResponseMeterValues(
payload: MeterValuesRequest,
- requestPayload: MeterValuesResponse
+ requestPayload: OCPP16MeterValuesResponse
): void {
logger.debug(
this.chargingStation.logPrefix() +