Testing your integration
Copy linkSandbox
Sandbox lets you simulate and test EV Charger Pairing before releasing to production. You can create virtual vehicles and chargers, pair them, and verify that your integration behaves as expected.
With Sandbox, you can:
- Create virtual vehicles and chargers that represent real OEM devices.
- Link both assets to the same user via LinkUI to simulate the pairing process.
- Test how capabilities unlock when a vehicle and charger are paired.
- Send charging commands through the Vehicle API and verify they reach both assets.
- Watch how state changes on one device affect the pair.
Copy linkStep 1: Create virtual devices
Follow the Sandbox guide to create virtual accounts for both a vehicle and a charger.
Copy linkStep 2: Link the vehicle and disable its capabilities
- Link the vehicle's virtual account to a user either by using Sandbox's automatic linking or by linking through LinkUI.
- Open the vehicle from the Asset list.
- Disable charging control and location capabilities.
This sets up a vehicle that can't be controlled directly. After pairing, you'll see these capabilities unlock.
Copy linkStep 3: Link the charger to the same user
Now link the charger's virtual account to the same user as the vehicle.
Copy linkStep 4: Verify pairing state
Open the vehicle from the Asset list and confirm:
- A Pairing established label appears at the top of the vehicle view
startCharging,stopCharging, andlocationcapabilities are nowisCapable: true
Copy linkStep 5: Activate the pair
- Click on the Pairing established label to open the connection dialog.
- Select the charger and a shared location.
- Click Pair.
- Sandbox simulates the physical plug-in, moving the pair from established to activated.
Copy linkStep 6: Test charging behavior
- In the vehicle view, use the edit state option to simulate plugging in or unplugging the charger.
- Send
startChargingorstopChargingthrough your integration. - Observe the state updates on both devices (for example,
powerDeliveryStatetransitions toPLUGGED_IN:CHARGING).
Copy linkEdge cases
| Theme | Scenario | Behavior |
|---|---|---|
| State changes | Vehicle and charger are plugged in before linking to Enode. | The pair will not be activated and pluggedInChargerId stays null. We need to observe the plug-in event to detect the connection. Workaround: Have the user unplug and re-plug. |
| State changes | A charging action is sent and the charger starts within 10 seconds, but the vehicle is unreachable. | The action transitions to a CONFIRMED state. |
| Schedules | A user has both a charger schedule and a vehicle schedule for the same location. | We disable the charger schedule and use the vehicle schedule. Multiple schedules for different locations are allowed. |
| Optional charger interventions | A capable vehicle (no interventions) is linked to a charger with an active intervention. | The vehicle capability stays isCapable: true, but the charger's intervention appears in interventionIds. This lets the user know about the charger's issue. |
| Location configuration | A charger is linked without a location set. | The vehicle location capability stays locked. A charger only unlocks it if the charger has a location set via the API. |
| Location configuration | A charger has an incorrect location configured via the API. | We use the charger's configured location for the vehicle. If that location is wrong (e.g., a work charger marked as home), the vehicle inherits the wrong location. |
| Multiple vehicles, one charger | Two vehicles at the same location plug into one charger within seconds, and both start charging. | pluggedInChargerId may initially appear on the wrong vehicle. We auto-correct: if we see an inconsistent state (e.g., vehicle A stops charging but the charger continues), we clear pluggedInChargerId to null. |
| Missing control capabilities | A user links a charger that later becomes unreachable (relink intervention). They then link a vehicle without charging control. | Vehicle charging control stays locked because the charger can't provide it. Control unlocks when the charger is relinked. |
| Charge state requirements | Either device lacks charge state (e.g., needs relink, terms & conditions acceptance, or a data subscription). | Pairing requires charge state on both devices. Without it, pairing features won't work. |
Read next: FAQs
Frequently asked questions about EV charger pairing