Introduction
Pair your users' vehicles and chargers to unlock charging control on more vehicles, improve command reliability, and simplify your integration.
Copy linkPrerequisites
- An Enode API client configured for API version
2024-10-01or later - A working Vehicle API integration
- Familiarity with LinkUI for device linking
- A webhook endpoint configured to receive events (see Webhooks)
Copy linkWhy pair EVs with chargers?
- Many vehicles lack charging control capabilities
- Even controllable vehicles have unreliable commands. Conflicts with charger schedules, incorrect charger modes, or an offline vehicle can cause failures.
- Integrating both APIs separately means building your own logic to unify data and route commands
Copy linkWhy not just integrate with the charger?
A charger-only integration gives you control but no visibility into the vehicle. Without State of Charge (SoC) and battery capacity:
- You can't optimize charging. You don't know how much energy the vehicle needs or when it's full. The vehicle may not reach the target charge by departure time.
- You can't deliver a good UX. Users expect to set a departure time and target SoC, then let your app handle the rest. Without vehicle data, you can't show battery level or confirm charging will finish on time.
Copy linkHow EV Charger Pairing works
EV Charger Pairing has two stages: established and activated.
Copy linkEstablished
A vehicle and charger become paired when they're linked to the same user. This happens automatically, you don't need to call a separate endpoint or wait for the user to plug in.
Once paired:
- The vehicle unlocks startCharging, stopCharging, and location capabilities, making it eligible for managed charging.
- Vehicle interventions blocking these capabilities are suppressed (given the charger can now provide control).
Copy linkActivated
A paired vehicle and charger become activated when plugged into each other. We detect this automatically based on data from both devices.
Once connected:
pluggedInChargerIdappears on the vehicle (GetAPI, ListAPI, webhooksAPI)pluggedInVehicleIdappears on the charger (GetAPI, ListAPI, webhooksAPI)- Send charging commands to the vehicle. We route them to the right device.
- Vehicle responses may include data from the charger (like
chargeRate), so values may differ from the vehicle's first-party app - The vehicle gains control capabilities (like
startCharging) through the charger
When unplugged, pluggedInChargerId returns to null. Capabilities gained through the charger remain available.
Copy linkPairing in practice
Reliability and performance vary across vehicle and charger OEMs. Here are examples of how charger pairing addresses common technical challenges.
| Scenario | Standalone Linked Vehicle (Vehicle API) | Standalone Linked Charger (Charger API) | Vehicle API (augmented by EV Pair) |
|---|---|---|---|
| Start/Stop Charging | Not supported | Supported | Supported |
| Location Detection | Not supported | Supported (set location at home) | Supported (reliable charging location) |
| Set Max Current (or Power) | Not supported | Supported | Planned for GA |
| Control Reliability | Low or variable charging action success rate | Alternative path to send commands and dynamically troubleshoot issues | Highest action success rate (orchestration across assets) |
| Plug-in detection | Slower detection | Faster detection | Fastest detection (proactively poll the vehicle to confirm state) |
Device linking & UX recommendations; rollout considerations and an overview of supported features