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, andtransportMode=networkRestrictedTruck.
The following table lists the request parameters for each consumption model:
| Consumption model | Variable auxiliary load | Constant auxiliary load |
|---|---|---|
| Physical | ev[auxiliaryPowerCurve] | ev[auxiliaryPowerConsumption] |
| Empirical | ev[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:
Where:
| Parameter | Description |
|---|---|
| $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]withev[auxiliaryConsumption]. - You can't use
ev[auxiliaryPowerCurve]withdepartureTime=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_durationThe API applies the necessary unit conversions.
Empirical model
For the empirical model, the API calculates total consumption as follows:
Total_consumption += ev[auxiliaryConsumption] * stop_durationThe 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
auxiliaryEnergyConsumptionfor passthrough waypoints (passThrough=true). - You can't use
auxiliaryEnergyConsumptionat user-added charging stations.
| Request parameter | Model parameter | Required | Description |
|---|---|---|---|
auxiliaryEnergyConsumption | $E$ | No | Energy 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:
- During the charging setup phase (controlled by
ev[chargingSetupDuration]), auxiliary consumption reduces the arrival charge at the station. - 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
Updated 3 days ago