EvChargingService

@IviExperimental(reasons = [])
interface EvChargingService

An EvChargingService manages the charging of the electric vehicle at the charging station and allows the user to start the charging process and stop this process when required.

More than one EvChargingService can exist in the system at any one time, each implemented as a discoverable IVI service. Typically a EvChargingService implementation will support vehicle charging from a single specific e-Mobility Service Provider (eMSP).

See also

for more information

Types

Link copied to clipboard
object Companion
Link copied to clipboard
sealed class LogInResult : Parcelable

Contains the result of a call to logIn.

Properties

Link copied to clipboard
abstract val activeSessionId: String?

TODO(IVI-9171): Evaluate and review this API when start charging is implemented. The session ID should be type-safe.

Link copied to clipboard

Charging state will indicate the current status of charging.

Link copied to clipboard

The current status of the authentication process for this eMSP.

Link copied to clipboard

eMSP service information: name of the service provider and the icon associated with it.

Link copied to clipboard
abstract val sessionReceipt: Receipt?

TODO(IVI-9174): Evaluate if this is needed based on the final UX design. The receipt may be removed entirely. Receipt received after the session has been completed, includes price and consumed energy.

Functions

Link copied to clipboard
abstract suspend fun logIn(): EvChargingService.LogInResult

Request to authenticate with this eMSP service. The result of the authentication request can be monitored by observing the emspAuthenticationStatus.

Link copied to clipboard
abstract suspend fun logOut()

Logs the user out of the EvCharging service if they were previously logged in. The result of this process can be monitored by observing the emspAuthenticationStatus.

Link copied to clipboard
abstract suspend fun provideOpenIdLoginResult(result: OpenIdLoginResult)

Receives the result of an OpenId login process. The login process would have been initiated by a call to logIn.

Link copied to clipboard
abstract suspend fun startCharging(chargingStation: ChargingStation, evseId: ChargingPointId)

Initiates a charging session with the specified EVSE. The session is either terminated by the driver using the stopCharging or by the EVSE when the desired charging level is reached or the battery is full.

Link copied to clipboard
abstract suspend fun stopCharging()

Terminates an active charging session, initiated using startCharging.