Table of Contents

Class ChargeEvent

Namespace
Geotab.Checkmate.ObjectModel.Charging
Assembly
Geotab.Checkmate.ObjectModel.dll

A ChargeEvent summarizes important details about EV charging: where vehicles have been charging, when vehicles have been charging, and how much energy they have consumed.

[ReportClass]
public class ChargeEvent : EntityWithVersion, IEntity, IComparable, IIdentifiable, IVersion, IDeviceProvider, IDeletedDateTimeProvider
Inheritance
ChargeEvent
Implements
Inherited Members

Constructors

ChargeEvent()

Initializes a new instance of the ChargeEvent class.

public ChargeEvent()

ChargeEvent(Id?, long?, DateTime?, TimeSpan?, ISimpleCoordinate?, ChargeType?, Device?, bool?, DateTime?, double?, double?, double?, double?, double?, double?, double?, double?, double?, double?, double?)

Initializes a new instance of the ChargeEvent class.

public ChargeEvent(Id? id, long? version, DateTime? startTime, TimeSpan? duration, ISimpleCoordinate? location, ChargeType? chargeType, Device? device, bool? chargeIsEstimated, DateTime? tripStop, double? maxACVoltage, double? startStateOfCharge, double? endStateOfCharge, double? energyConsumedKwh, double? peakPowerKw, double? energyUsedSinceLastChargeKwh, double? chargingStartedOdometerKm, double? measuredOnBoardChargerEnergyInKwh, double? measuredOnBoardChargerEnergyOutKwh, double? measuredBatteryEnergyInKwh, double? measuredBatteryEnergyOutKwh)

Parameters

id Id

The id.

version long?

The version.

startTime DateTime?

The time the charge event started (UTC).

duration TimeSpan?

How long the vehicle was charging (seconds).

location ISimpleCoordinate

The ISimpleCoordinate of where the charge event occurred.

chargeType ChargeType?

The charging type provided by the external power source.

device Device

The device that created the ChargeEvent.

chargeIsEstimated bool?

Value indicating whether the charge event used estimated charge values.

tripStop DateTime?

The time of the Stop from the trip this charge event occurred in.

maxACVoltage double?

The maximum AC Voltage over the charge event.

startStateOfCharge double?

The starting state of charge for this charge event.

endStateOfCharge double?

The ending state of charge for this charge event.

energyConsumedKwh double?

The energy consumed during the charge event (KwH).

peakPowerKw double?

The peak power used during the charge event.

energyUsedSinceLastChargeKwh double?

The amount of energy drawn from the battery since the last charge event

chargingStartedOdometerKm double?

The odometer in km at charge start event.

measuredOnBoardChargerEnergyInKwh double?

The total amount of energy in measured on board during charging.

measuredOnBoardChargerEnergyOutKwh double?

The total amount of energy out measured on board during charging.

measuredBatteryEnergyInKwh double?

The amount of energy in measured during charging.

measuredBatteryEnergyOutKwh double?

The amount of energy out measured during charging.

Properties

ChargeIsEstimated

Gets or sets a value indicating whether EnergyConsumedKwh and PeakPowerKw have been measured directly, or estimated based on other available data.

Geotab aims to provide high accuracy data on all EV makes and models. However, when a primary (preferred) raw data signal is not available, we may have to estimate EnergyConsumedKwh based on secondary (non-preferred) raw data signals. For these vehicles, chargeIsEstimated will be true.

public bool? ChargeIsEstimated { get; set; }

Property Value

bool?

bool

ChargeType

Gets or sets the ChargeType provided by the external power source. Possible types are AC (Alternating Current), DC (Direct Current), or Unknown if the signal received from the charger does not match AC or DC.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventElectricCurrentType })]
public ChargeType? ChargeType { get; set; }

Property Value

ChargeType?

ChargeType

ChargingStartedOdometerKm

Gets or sets the odometer reading at ChargeEvent start, measured in kilometers.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventStartOdometer }, IsSpeedOrDistance = true)]
public double? ChargingStartedOdometerKm { get; set; }

Property Value

double?

double

DeletedDateTime

An interface for an entity that can be marked as deleted.

public DateTime? DeletedDateTime { get; set; }

Property Value

DateTime?

Device

Gets or sets the Device associated with the ChargeEvent.

public Device? Device { get; set; }

Property Value

Device

Device

Duration

Gets or sets the length of time the vehicle was charging, formatted as follows: “d.hh:mm:ss.fffffff”, where "d" represents days and “fffffff” represents fractional seconds.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventDuration })]
public TimeSpan? Duration { get; set; }

Property Value

TimeSpan?

TimeSpan

ElectricDistanceSinceLastChargeKm

Gets or sets the distance traveled since the previous ChargeEvent in Kilometers.

[Obsolete("Discontinued due to accuracy problems with PHEVs")]
public double? ElectricDistanceSinceLastChargeKm { get; set; }

Property Value

double?

double

EndStateOfCharge

Gets or sets the battery charge % (state of charge) at the end of the associated ChargeEvent. [0-100]

public double? EndStateOfCharge { get; set; }

Property Value

double?

double

EnergyConsumedKwh

Gets or sets the total energy going into the vehicle (at the charge station interface) during the ChargeEvent, in kWh. This may be different from the energy added to the vehicle battery due to losses incurred by other internal vehicle components, such as on-board chargers.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventEnergyAdded }, IsElectricEnergyTotal = true)]
public double? EnergyConsumedKwh { get; set; }

Property Value

double?

double

EnergyUsedSinceLastChargeKwh

Gets or sets the amount of energy drawn from the battery since the last ChargeEvent in Kilowatt-hours.

public double? EnergyUsedSinceLastChargeKwh { get; set; }

Property Value

double?

double

Location

Gets or sets the Coordinate where the ChargeEvent occurred.

public ISimpleCoordinate? Location { get; set; }

Property Value

ISimpleCoordinate

ISimpleCoordinate

MaxACVoltage

Gets or sets the maximum AC Voltage reported during the ChargeEvent, measured in Volts.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventACVoltage })]
public double? MaxACVoltage { get; set; }

Property Value

double?

double

MeasuredBatteryEnergyInKwh

Gets or sets the amount of energy added to the vehicle battery during charging in Kilowatt-hours.

public double? MeasuredBatteryEnergyInKwh { get; set; }

Property Value

double?

double

MeasuredBatteryEnergyOutKwh

Gets or sets the amount of energy that left the vehicle battery during charging in Kilowatt-hours.

public double? MeasuredBatteryEnergyOutKwh { get; set; }

Property Value

double?

double

MeasuredOnBoardChargerEnergyInKwh

Gets or sets the amount of energy that passed into the on-board charger in Kilowatt-hours.

public double? MeasuredOnBoardChargerEnergyInKwh { get; set; }

Property Value

double?

double

MeasuredOnBoardChargerEnergyOutKwh

Gets or sets the amount of energy that passed out of the on-board charger in Kilowatt-hours.

public double? MeasuredOnBoardChargerEnergyOutKwh { get; set; }

Property Value

double?

double

PeakPowerKw

Gets or sets the peak power used during the ChargeEvent, measured in Kilowatts.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventMaxPower }, IsElectricPower = true)]
public double? PeakPowerKw { get; set; }

Property Value

double?

double

StartStateOfCharge

Gets or sets the battery charge % (state of charge) at the start of the associated ChargeEvent. [0-100]

public double? StartStateOfCharge { get; set; }

Property Value

double?

double

StartTime

Gets or sets the UTC date and time when the ChargeEvent started, following the ISO 8601 standard.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeEventStartDate })]
public DateTime? StartTime { get; set; }

Property Value

DateTime?

DateTime

TripStop

Gets or sets the UTC date and time of the EV’s trip stop where the ChargeEvent took place, following the ISO 8601 standard. Charging happens during a trip stop.

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.ChargeSessionTripStopTime })]
public DateTime? TripStop { get; set; }

Property Value

DateTime?

DateTime

Methods

Clone()

Clones an existing ChargeEvent

public override IEntity Clone()

Returns

IEntity

A new ChargeEvent with the same properties as the original.