GuidesAPI Reference
Guides

Auxiliary consumption at waypoints

Electric vehicles consume energy to power auxiliary systems, such as climate control or lighting. You can account for this auxiliary consumption at non-passthrough waypoints in both supported energy consumption models.

📘

Note

Auxiliary consumption is not supported with transportMode=pedestrian, transportMode=bicycle, and transportMode=networkRestrictedTruck.

The following table lists the request parameters for each consumption model:

Consumption modelVariable auxiliary loadConstant auxiliary load
Physicalev[auxiliaryPowerCurve]ev[auxiliaryPowerConsumption]
Empiricalev[auxiliaryPowerCurve]ev[auxiliaryConsumption]

Auxiliary consumption at stopover waypoints

Auxiliary consumption calculation changes depending on the consumption model and the request parameter used.

Power curve

Both consumption models support a variable auxiliary load using the ev[auxiliaryPowerCurve] parameter. The API calculates the total auxiliary energy consumed during a stop using this formula:

$$E_{aux} = int_{t_0}^{t_0 + Delta t} P_{aux}(t) , dt$$

Where:

ParameterDescription
$P_{aux}(t)$Auxiliary power at time t, based on the auxiliary power curve.
$t_0$Start time of the segment (elapsed time).
$Delta t$Duration of the segment: segment_travel_time while driving, or stop_duration at a stopover.
$E_{aux}$Total auxiliary energy consumed during the segment.

The API increases total consumption by $E_{aux}$.

If t exceeds the last point in the curve, the API uses the last curve value as a constant.

The following constraints apply when using ev[auxiliaryPowerCurve]:

  • You can't combine ev[auxiliaryPowerCurve] with ev[auxiliaryConsumption].
  • You can't use ev[auxiliaryPowerCurve] with departureTime=any.

Physical model

With consumptionModel=physical, you can specify a constant auxiliary consumption value using ev[auxiliaryPowerConsumption]. The API calculates total consumption as follows:

Total_consumption += ev[auxiliaryPowerConsumption] * stop_duration

The API applies the necessary unit conversions.

Empirical model

For the empirical model, the API calculates total consumption as follows:

Total_consumption += ev[auxiliaryConsumption] * stop_duration

The API applies the necessary unit conversions.

Example: Stopover duration and auxiliary consumption

This example shows how the total energy consumption is influenced by the change of the stopover duration.

Request:

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.424409,13.626717&'\
'destination=52.422221,13.637723&'\
'via=52.423201,13.632836!stopduration=3600&'\
'return=travelSummary,summary&'\
'transportMode=car&'\
'departureTime=any&'\
'ev[freeFlowSpeedTable]=0,0.1706,11,0.1135,31,0.0798,51,0.0687,71,0.0771,91,0.0920,101,0.1146,131,0.1409&'\
'ev[auxiliaryConsumption]=1.0&'\
'ev[ascent]=3.0&'\
'ev[descent]=1.0&'\
'traffic[mode]=disabled&'\
'apiKey=YOUR_API_KEY'

Response:

{
  "summary": {
    "duration": 3626,
    "length": 440,
    "consumption": 3.6607,
    "baseDuration": 3626
  },
  "travelSummary": {
    "duration": 26,
    "length": 440,
    "consumption": 3.6607,
    "baseDuration": 26
  }
}

Extra energy consumption at stopover waypoints

In addition to the energy consumed by auxiliary systems, certain actions performed at stopovers, such as loading and unloading goods using a tail lift, consume additional energy. To include this in the total energy calculation, add auxiliaryEnergyConsumption to the intermediate waypoint definition:

via=49.320006,16.088119!auxiliaryEnergyConsumption=12.0&

The following restrictions apply:

  • You can't use auxiliaryEnergyConsumption for passthrough waypoints (passThrough=true).
  • You can't use auxiliaryEnergyConsumption at user-added charging stations.
Request parameterModel parameterRequiredDescription
auxiliaryEnergyConsumption$E$NoEnergy consumed by battery-powered equipment during a stop, such as a tail-lift for loading or unloading goods. Value is in kWh.

Example

In the following example, extra energy consumption of 12 kWh is defined at the waypoint.

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=49.453107,15.604775&'\
'destination=49.038283,16.680621&'\
'via=49.320006,16.088119!auxiliaryEnergyConsumption=12.0&'\
'return=summary,travelSummary&'\
'transportMode=car&'\
'departureTime=any&'\
'ev[freeFlowSpeedTable]=0,0.1706,11,0.1135,31,0.0798,51,0.0687,71,0.0771,91,0.0920,101,0.1146,131,0.1409&'\
'ev[ascent]=3.0&'\
'ev[descent]=1.0&'\
'ev[initialCharge]=12&'\
'ev[maxCharge]=30.0&'\
'ev[chargingCurve]=0,800,200,800,30000,200&'\
'ev[maxChargeAfterChargingStation]=24.0&'\
'ev[makeReachable]=true&'\
'ev[connectorTypes]=iec62196Type1Combo,iec62196Type2Combo,Chademo,Tesla&'\
'traffic[mode]=disabled&'\
'apiKey=YOUR_API_KEY'

Auxiliary consumption at charging stops

At charging stops, auxiliary consumption affects the calculation in two ways:

  1. During the charging setup phase (controlled by ev[chargingSetupDuration]), auxiliary consumption reduces the arrival charge at the station.
  2. During charging, the API deducts auxiliary consumption from the applicable charging power, which affects the charging duration.

Example: Constant consumption and power curve

The following example compares changes in total charging duration depending on the use of a constant auxiliary consumption or an auxiliary power curve:

  • Request 1 uses a constant auxiliary consumption value of 12,000 W (ev[auxiliaryPowerConsumption]=12000).
  • Request 2 uses an auxiliary power curve (ev[auxiliaryPowerCurve]). The curve matches the constant value from Request 1 until the vehicle reaches the charging station, so the arrival charge remains the same. After arrival, the curve decreases.

Because Request 2 has lower auxiliary consumption at the charging station, it results in a shorter charging duration (2,594 s versus 2,962 s).

Request:

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.515634,13.456419&'\
'destination=52.336899,14.130527&'\
'via=52.48334,13.46025!charging=(power=800;current=800;voltage=500;supplyType=DC;minDuration=4000;maxDuration=4000)&'\
'return=polyline,summary,actions,instructions&'\
'transportMode=car&'\
'vehicle[currentWeight]=2100&'\
'departureTime=2026-04-22T18:49:33&'\
'vehicle[frontalArea]=3.1&'\
'vehicle[rollingResistanceCoefficient]=0.02&'\
'vehicle[airDragCoefficient]=0.28&'\
'ev[initialCharge]=18&'\
'ev[maxCharge]=80&'\
'ev[chargingCurve]=0,96,8,193,16,200,32,190,48,96,64,48,80,5&'\
'ev[maxChargingVoltage]=400&'\
'ev[maxChargeAfterChargingStation]=72&'\
'ev[minChargeAtChargingStation]=8&'\
'ev[minChargeAtDestination]=8&'\
'ev[chargingSetupDuration]=300&'\
'ev[makeReachable]=true&'\
'ev[connectorTypes]=iec62196Type1Combo,iec62196Type2Combo,Chademo,gbtDc,saeJ3400&'\
'consumptionModel=physical&'\
'ev[auxiliaryPowerConsumption]=12000&'\
'ev[recuperationEfficiency]=0.7&'\
'ev[driveEfficiency]=0.9&'\
'apiKey=YOUR_API_KEY'

Response (charging duration: 2,962 s):

{
  "postActions": [
    {
      "action": "chargingSetup",
      "duration": 300
    },
    {
      "action": "charging",
      "duration": 2962,
      "consumablePower": 320,
      "arrivalCharge": 14.6885,
      "targetCharge": 80
    },
    {
      "action": "wait",
      "duration": 738
    }
  ]
}

Related content