type OCPP16CancelReservationRequest,
type OCPP16ChangeAvailabilityRequest,
type OCPP16ChangeAvailabilityResponse,
- OCPP16ChargePointErrorCode,
OCPP16ChargePointStatus,
type OCPP16ChargingProfile,
OCPP16ChargingProfilePurposeType,
} from '../../../utils/index.js'
import { OCPPConstants } from '../OCPPConstants.js'
import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService.js'
-import { buildMeterValue, OCPPServiceUtils } from '../OCPPServiceUtils.js'
+import {
+ buildMeterValue,
+ buildStatusNotificationRequest,
+ OCPPServiceUtils,
+} from '../OCPPServiceUtils.js'
import { OCPP16Constants } from './OCPP16Constants.js'
import { OCPP16ServiceUtils } from './OCPP16ServiceUtils.js'
.requestHandler<OCPP16StatusNotificationRequest, OCPP16StatusNotificationResponse>(
chargingStation,
OCPP16RequestCommand.STATUS_NOTIFICATION,
- {
+ buildStatusNotificationRequest(
+ chargingStation,
connectorId,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- status: chargingStation.getConnectorStatus(connectorId)
- ?.status as OCPP16ChargePointStatus,
- },
+ chargingStation.getConnectorStatus(connectorId)
+ ?.status as OCPP16ChargePointStatus
+ ) as OCPP16StatusNotificationRequest,
{
triggerMessage: true,
}
>(
chargingStation,
OCPP16RequestCommand.STATUS_NOTIFICATION,
- {
- connectorId: id,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- status: connectorStatus.status as OCPP16ChargePointStatus,
- },
+ buildStatusNotificationRequest(
+ chargingStation,
+ id,
+ connectorStatus.status as OCPP16ChargePointStatus
+ ) as OCPP16StatusNotificationRequest,
{
triggerMessage: true,
}
>(
chargingStation,
OCPP16RequestCommand.STATUS_NOTIFICATION,
- {
- connectorId: id,
- errorCode: OCPP16ChargePointErrorCode.NO_ERROR,
- status: connectorStatus.status as OCPP16ChargePointStatus,
- },
+ buildStatusNotificationRequest(
+ chargingStation,
+ id,
+ connectorStatus.status as OCPP16ChargePointStatus
+ ) as OCPP16StatusNotificationRequest,
{
triggerMessage: true,
}
import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService.js'
import {
buildMeterValue,
+ buildStatusNotificationRequest,
restoreConnectorStatus,
sendAndSetConnectorStatus,
} from '../OCPPServiceUtils.js'
for (const [evseId, evseStatus] of chargingStation.evses) {
if (evseId > 0) {
for (const [connectorId, connectorStatus] of evseStatus.connectors) {
- const resolvedConnectorStatus =
- connectorStatus.status != null
- ? (connectorStatus.status as unknown as OCPP20ConnectorStatusEnumType)
- : OCPP20ConnectorStatusEnumType.Available
+ const resolvedStatus = connectorStatus.status ?? ConnectorStatusEnum.Available
chargingStation.ocppRequestService
- .requestHandler<OCPP20StatusNotificationRequest, OCPP20StatusNotificationResponse>(
- chargingStation,
- OCPP20RequestCommand.STATUS_NOTIFICATION,
- {
- connectorId,
- connectorStatus: resolvedConnectorStatus,
- evseId,
- timestamp: new Date(),
- },
- { skipBufferingOnError: true, triggerMessage: true }
- )
+ .requestHandler<
+ OCPP20StatusNotificationRequest,
+ OCPP20StatusNotificationResponse
+ >(chargingStation, OCPP20RequestCommand.STATUS_NOTIFICATION, buildStatusNotificationRequest(chargingStation, connectorId, resolvedStatus, evseId) as OCPP20StatusNotificationRequest, { skipBufferingOnError: true, triggerMessage: true })
.catch(errorHandler)
}
}
if (evse?.id !== undefined && evse.id > 0 && evse.connectorId !== undefined) {
const evseStatus = chargingStation.evses.get(evse.id)
const connectorStatus = evseStatus?.connectors.get(evse.connectorId)
- const resolvedStatus =
- connectorStatus?.status != null
- ? (connectorStatus.status as unknown as OCPP20ConnectorStatusEnumType)
- : OCPP20ConnectorStatusEnumType.Available
+ const resolvedStatus = connectorStatus?.status ?? ConnectorStatusEnum.Available
chargingStation.ocppRequestService
- .requestHandler<OCPP20StatusNotificationRequest, OCPP20StatusNotificationResponse>(
- chargingStation,
- OCPP20RequestCommand.STATUS_NOTIFICATION,
- {
- connectorId: evse.connectorId,
- connectorStatus: resolvedStatus,
- evseId: evse.id,
- timestamp: new Date(),
- },
- { skipBufferingOnError: true, triggerMessage: true }
- )
+ .requestHandler<
+ OCPP20StatusNotificationRequest,
+ OCPP20StatusNotificationResponse
+ >(chargingStation, OCPP20RequestCommand.STATUS_NOTIFICATION, buildStatusNotificationRequest(chargingStation, evse.connectorId, resolvedStatus, evse.id) as OCPP20StatusNotificationRequest, { skipBufferingOnError: true, triggerMessage: true })
.catch(errorHandler)
} else if (chargingStation.hasEvses) {
this.triggerAllEvseStatusNotifications(chargingStation, errorHandler)