Charging Intelligence

Commercial charging networks in the real-world constantly have to react and adapt to problems in the field. These may be caused by faulty communications links, unexpected driver behavior, hardware faults and firmware bugs.

Based on our experience running and managing real world commercial networks, we have built session improvement intelligence to improve the quality of charging services delivered by your network.

eDRV's network manages and monitors chargestations and driver session in near real time and intelligently takes action when needed.

Setting Session Targets

If a session is started using the /sessions API with a specified target, eDRV's charging intelligence will ensure that the session will be automatically stopped on reaching the target limits.

The available target types are:

  • Energy (kWh): E.g A session is started via a POST /sessions API call with an E kWh limit.
    eDRV attempts to stop a session when session.metrics.energyConsumed >= E*1000
    (No default session energy target)
  • Time (Minutes): E.g A session is started via a POST /sessions API call with a T minutes limit.
    eDRV attempts to stop a session when session.metrics.energyPeriod >= T*60.
    (Default session time target is 12 hours)
  • Money (Amount): E.g A session is started via a POST /sessions API call with a $M limit.
    eDRV attempts to stop a session when session.cost.amount >= M
    (No default session money target)


Session Target Detection and Accuracy

Please note that the chargestation sends energy reports every 30sec-1min to eDRV and it may take another 30seconds for the chargestation to respond to a session stop command from eDRV.

Because of this delay, consider adding some padding to the values when setting targets for a session. Most of the real-world charging sessions last for hours at a time in which case adding a couple of minutes (time) or 0.5 kWh (energy) padding to your targets may be advisable.

When testing with session targets with very short sessions (e.g. 2 minutes) please look out for unexpected behavior.

Session Start Failure

There are many reasons why a chargestation unexpectedly does not start the flow of energy. These reasons range from driver failing to plug in his EV to poor data connectivity at the chargestation.


Zombie 🧟 Session.

If a session fails to start within 5 minutes, eDRV will attempt to stop the charging attempt and clean up the state of the (data) on the session as a protective measure.

Session Stop Failure

Similar to the case above, sometimes a chargestation may miss a stop session message completely giving the impression that a driver is still charging when they may have driven off hours ago. This may lead to unexpected charges for the driver if this is not acted upon by the network as soon as possible.


Eternal ♾️ Sessions

If a transaction fails to stop within 6 hours, eDRV will attempt to stop the charging attempt and clean up the state of the (data) on the transaction as a protective measure.

EV Full Charge Detection

eDRV detects when the EV is no longer taking energy from the chargestation. This is an indication of the fact that the battery is full.


EV Full Webhook

EV full charge detection triggers a webhook to your application server. Traditional use cases here for alerting the driver and requesting them to move the EV. For further details on webhooks see: Webhooks

Energy and Idle Period Measurement

The EV may suspend and re-start energy consumption multiple times from from the chargestation. For e.g. when an EV is plugged in and idling.

eDRV metrics keeps a track of Energy and Idle period within a session so you don't have to. See session.metrics in Sessions

If you are using an hourly rate, eDRV uses Energy vs. Idle time monitoring to calculate accurate costs for you. See session.cost in Sessions

Cost Estimation

eDRV calculates the running cost of a session based on the Rate so you don't have to.

For e.g. if you have a Complex Rate* with

  • Time Of Day Rates (e.g $0.25/kWh from 6Am-6Pm, $0.45/kWh from 6:01Pm:5:59Am) and
  • Overstay Rate (e.g. $5/hour after charging completion)

eDRV's charging intelligence takes a whole host of network inputs such as (charging vs. idle time) to update cost for a session in real time so you don't have to. See session.cost in Sessions
(*) Complex rates are coming soon