Testing your integration
Copy linkSandbox
Sandbox provides a complete environment to simulate and test EV Charger Pairing before releasing your integration to production. It allows you to safely create, pair, and control virtual vehicles and chargers, verifying that your application logic, LinkUI flow, and Vehicle API integration behave 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 automatically when a vehicle and charger are paired.
- Send control commands (e.g. start/stop charging) through the Vehicle API and verify orchestration across both assets.
- Observe how pairs behave in real time as assets change state.
Copy linkStep-by-step testing guide
Step 1: Create virtual devices
Follow the instructions from our Sandbox guide to create virtual accounts for both the vehicle and the charger.
Step 2: Link the vehicle to a user and edit its state
To simulate a vehicle with missing or disabled capabilities:
- Link the virtual account of the vehicle to a user either by using Sandbox’s automatic linking or by linking through LinkUI
- Choose the vehicle from the Asset list to open the vehicle view
- Edit its capabilities state by disabling charging control or location capabilities
Step 3: Link the charger to a user
Now link the charger’s virtual account to the same user as described for the vehicle.
Step 4: Verify pairing state
In Sandbox, choose the vehicle from the Asset list to open the Vehicle view and confirm that:
- You see a label at the top of the vehicle view saying Pairing established
Start charging,Stop charging, andLocationcapabilities are now set toisCapable: true
Step 5: Activate the pair
- By clicking the Pairing established label you open a dialog allowing you to activate the pair
- You can choose the charger you want to activate
- Select a shared location
- Sandbox will automatically apply the necessary changes to activate a pair
Step 6: Test charging behavior
- In the vehicle view, use the edit state option to simulate plugging in or unplugging the charger
- Trigger a startCharging or stopCharging action through your integration
- Observe the synchronized state updates on both assets (e.g.
powerDeliveryStatetransitions toPLUGGED_IN:COMPLETE)
Copy linkEdge cases
| Theme | Scenario | Behaviour |
|---|---|---|
| State Changes | Charger A and vehicle B are plugged in together before they are linked to Enode | The pairing will not be activated and pluggedInChargerId will remain null. Enode must observe the physical plug-in event to establish the pair. Solution: The end user must unplug and replug their vehicle |
| State Changes | We send a start charging command and the charger starts charging within 10 seconds while the vehicle remains unreachable | The charging action will remain PENDING. The charger will still be charging, but the unified API state will not be CONFIRMED until the vehicle becomes reachable and Enode can verify the power delivery state. |
| Schedules | A user has both a charger schedule and a vehicle schedule for assets that are linked to the same user and the same location | If we find a schedule on both a vehicle and a charger for the same location, we disable the charger schedule and only obey the vehicle schedule. Multiple schedules for different locations are allowed. |
| Interventions and capabilities | A vehicle has an active intervention that, if resolved, would enable a start/stop charging or location capability | The intervention will not be returned in the API. The pair (once established) automatically suppresses vehicle-specific interventions for capabilities that the charger now provides. |
| Location configuration | A charger is linked without a location set | The vehicle location capability remains locked. A charger only unlocks the vehicle location capability if it has a location set via the API. |
| Location configuration | A charger has a API configured location that is incorrect | Location inference based on the charger uses the configured API location. Wrong charger locations lead to wrong inferences, for example setting a home location for a charger that is not actually at home. |
| Multiple vehicles, one charger | One charger and two vehicles are at the same location, plugged in within seconds of each other, and all start charging at the same time | Initial pairing accuracy will be affected in this scenario. The pluggedInChargerId may initially appear on one vehicle at random. Our system will auto-correct: If an inconsistent state is observed (e.g. Vehicle A stops charging but the charger continues), the active pair will be broken and pluggedInChargerId will be set to null to ensure data integrity. |
| Missing control capabilities | A user links a charger. The charger later becomes unreachable and gets a relink intervention. The user links a vehicle without start and stop capabilities | Vehicle start and stop capabilities remain locked because the charger is not capable. We do not expose control until the charger is capable again. |
| Charge state requirements | Any asset in the pair, charger or vehicle, lacks charge state capability, for example needs relink, terms accepted, or a data subscription | Charger pairing requires charge state on all assets. If any asset lacks it, none of the charger pairing features become active. |
Frequently asked questions about EV charger pairing