- public static async sendAndSetConnectorStatus(
- chargingStation: ChargingStation,
- connectorId: number,
- status: OCPP16ChargePointStatus,
- errorCode: OCPP16ChargePointErrorCode = OCPP16ChargePointErrorCode.NO_ERROR
- ) {
- OCPP16ServiceUtils.checkConnectorStatusTransition(chargingStation, connectorId, status);
- await chargingStation.ocppRequestService.requestHandler<
- OCPP16StatusNotificationRequest,
- OCPP16StatusNotificationResponse
- >(chargingStation, OCPP16RequestCommand.STATUS_NOTIFICATION, {
- connectorId,
- status,
- errorCode,
- });
- chargingStation.getConnectorStatus(connectorId).status = status;
- }
-
- private static checkConnectorStatusTransition(
- chargingStation: ChargingStation,
- connectorId: number,
- status: OCPP16ChargePointStatus
- ): boolean {
- if (
- connectorId === 0 &&
- !OCPP16Constants.OCPP16ChargePointStatusChargingStationTransition.has([
- chargingStation.getConnectorStatus(connectorId).status as OCPP16ChargePointStatus,
- status,
- ])
- ) {
- logger.warn(
- `${chargingStation.logPrefix()} Connector ${connectorId} status transition from ${
- chargingStation.getConnectorStatus(connectorId).status
- } to ${status} is not allowed`
- );
- return false;
- } else if (
- !OCPP16Constants.OCPP16ChargePointStatusConnectorTransition.has([
- chargingStation.getConnectorStatus(connectorId).status as OCPP16ChargePointStatus,
- status,
- ])
- ) {
- logger.warn(
- `${chargingStation.logPrefix()} Connector ${connectorId} status transition from ${
- chargingStation.getConnectorStatus(connectorId).status
- } to ${status} is not allowed`
- );
- return false;
- }
- return true;
- }
-