transactionId: transactionId as UUIDv4,
}
- if (commandParams.chargingState !== undefined) {
- transactionInfo.chargingState = commandParams.chargingState
+ const chargingState =
+ commandParams.chargingState ??
+ (eventType === OCPP20TransactionEventEnumType.Ended
+ ? undefined
+ : connectorStatus.transactionStarted === true
+ ? OCPP20ChargingStateEnumType.Charging
+ : OCPP20ChargingStateEnumType.EVConnected)
+ if (chargingState !== undefined) {
+ transactionInfo.chargingState = chargingState
}
if (commandParams.stoppedReason !== undefined) {
transactionInfo.stoppedReason = commandParams.stoppedReason
stoppedReason: OCPP20ReasonEnumType.Remote,
triggerReason: OCPP20TriggerReasonEnumType.RemoteStop,
}
+ case OCPP20ReasonEnumType.TimeLimitReached:
+ return {
+ stoppedReason: OCPP20ReasonEnumType.TimeLimitReached,
+ triggerReason: OCPP20TriggerReasonEnumType.TimeLimitReached,
+ }
case OCPP16StopTransactionReason.LOCAL:
case OCPP20ReasonEnumType.Local:
case undefined:
transactionId,
{
idToken:
- idTag != null ? { idToken: idTag, type: OCPP20IdTokenEnumType.Central } : undefined,
+ idTag != null ? { idToken: idTag, type: OCPP20IdTokenEnumType.Local } : undefined,
...(startedMeterValues.length > 0 && { meterValue: startedMeterValues }),
}
)