OCPP16AuthorizationStatus,
type OCPP16AuthorizeRequest,
type OCPP16AuthorizeResponse,
- type OCPP16BootNotificationRequest,
type OCPP16BootNotificationResponse,
- OCPP16ChargePointErrorCode,
OCPP16ChargePointStatus,
type OCPP16DataTransferResponse,
type OCPP16DiagnosticsStatusNotificationResponse,
type OCPP16FirmwareStatusNotificationResponse,
+ type OCPP16GetCompositeScheduleResponse,
type OCPP16HeartbeatResponse,
OCPP16IncomingRequestCommand,
type OCPP16MeterValuesRequest,
OCPP16StandardParametersKey,
type OCPP16StartTransactionRequest,
type OCPP16StartTransactionResponse,
- type OCPP16StatusNotificationRequest,
type OCPP16StatusNotificationResponse,
type OCPP16StopTransactionRequest,
type OCPP16StopTransactionResponse,
'constructor'
),
],
+ [
+ OCPP16IncomingRequestCommand.GET_COMPOSITE_SCHEDULE,
+ OCPP16ServiceUtils.parseJsonSchemaFile<OCPP16GetCompositeScheduleResponse>(
+ '../../../assets/json-schemas/ocpp/1.6/GetCompositeScheduleResponse.json',
+ moduleName,
+ 'constructor'
+ ),
+ ],
[
OCPP16IncomingRequestCommand.SET_CHARGING_PROFILE,
OCPP16ServiceUtils.parseJsonSchemaFile<SetChargingProfileResponse>(
),
],
]);
- this.validatePayload.bind(this);
+ this.validatePayload = this.validatePayload.bind(this) as (
+ chargingStation: ChargingStation,
+ commandName: OCPP16RequestCommand,
+ payload: JsonType
+ ) => boolean;
}
public async responseHandler(
{ visible: false },
{ overwrite: true, save: true }
);
- chargingStation.heartbeatSetInterval
- ? chargingStation.restartHeartbeat()
- : chargingStation.startHeartbeat();
+ OCPP16ServiceUtils.startHeartbeatInterval(chargingStation, payload.interval);
}
if (Object.values(RegistrationStatusEnumType).includes(payload.status)) {
const logMsg = `${chargingStation.logPrefix()} Charging station in '${
break;
}
}
- const authorizeConnectorIdDefined = authorizeConnectorId !== undefined;
+ const authorizeConnectorIdDefined = !Utils.isNullOrUndefined(authorizeConnectorId);
if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
authorizeConnectorIdDefined &&
(chargingStation.getConnectorStatus(authorizeConnectorId).idTagAuthorized = true);
chargingStation.getConnectorStatus(connectorId)?.transactionRemoteStarted === true &&
chargingStation.getAuthorizeRemoteTxRequests() === true &&
chargingStation.getLocalAuthListEnabled() === true &&
- chargingStation.hasAuthorizedTags() &&
+ chargingStation.hasIdTags() &&
chargingStation.getConnectorStatus(connectorId)?.idTagLocalAuthorized === false
) {
logger.error(
transactionId: payload.transactionId,
meterValue: [chargingStation.getConnectorStatus(connectorId).transactionBeginMeterValue],
}));
- await chargingStation.ocppRequestService.requestHandler<
- OCPP16StatusNotificationRequest,
- OCPP16StatusNotificationResponse
- >(chargingStation, OCPP16RequestCommand.STATUS_NOTIFICATION, {
+ await OCPP16ServiceUtils.sendAndSetConnectorStatus(
+ chargingStation,
connectorId,
- status: OCPP16ChargePointStatus.Charging,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- });
- chargingStation.getConnectorStatus(connectorId).status = OCPP16ChargePointStatus.Charging;
+ OCPP16ChargePointStatus.Charging
+ );
logger.info(
`${chargingStation.logPrefix()} Transaction ${payload.transactionId.toString()} STARTED on ${
chargingStation.stationInfo.chargingStationId
if (
chargingStation.getConnectorStatus(connectorId)?.status !== OCPP16ChargePointStatus.Available
) {
- await chargingStation.ocppRequestService.requestHandler<
- OCPP16StatusNotificationRequest,
- OCPP16StatusNotificationResponse
- >(chargingStation, OCPP16RequestCommand.STATUS_NOTIFICATION, {
+ await OCPP16ServiceUtils.sendAndSetConnectorStatus(
+ chargingStation,
connectorId,
- status: OCPP16ChargePointStatus.Available,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- });
- chargingStation.getConnectorStatus(connectorId).status = OCPP16ChargePointStatus.Available;
+ OCPP16ChargePointStatus.Available
+ );
}
}
chargingStation.isChargingStationAvailable() === false ||
chargingStation.isConnectorAvailable(transactionConnectorId) === false
) {
- await chargingStation.ocppRequestService.requestHandler<
- OCPP16StatusNotificationRequest,
- OCPP16StatusNotificationResponse
- >(chargingStation, OCPP16RequestCommand.STATUS_NOTIFICATION, {
- connectorId: transactionConnectorId,
- status: OCPP16ChargePointStatus.Unavailable,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- });
- chargingStation.getConnectorStatus(transactionConnectorId).status =
- OCPP16ChargePointStatus.Unavailable;
+ await OCPP16ServiceUtils.sendAndSetConnectorStatus(
+ chargingStation,
+ transactionConnectorId,
+ OCPP16ChargePointStatus.Unavailable
+ );
} else {
- await chargingStation.ocppRequestService.requestHandler<
- OCPP16BootNotificationRequest,
- OCPP16BootNotificationResponse
- >(chargingStation, OCPP16RequestCommand.STATUS_NOTIFICATION, {
- connectorId: transactionConnectorId,
- status: OCPP16ChargePointStatus.Available,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- });
- chargingStation.getConnectorStatus(transactionConnectorId).status =
- OCPP16ChargePointStatus.Available;
+ await OCPP16ServiceUtils.sendAndSetConnectorStatus(
+ chargingStation,
+ transactionConnectorId,
+ OCPP16ChargePointStatus.Available
+ );
}
if (chargingStation.stationInfo.powerSharedByConnectors) {
chargingStation.powerDivider--;