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

Download

To simulate a vehicle with missing or disabled capabilities:

  1. Link the virtual account of the vehicle to a user either by using Sandbox’s automatic linking or by linking through LinkUI
  2. Choose the vehicle from the Asset list to open the vehicle view
  3. 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

Download

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, and Location capabilities are now set to isCapable: true

Step 5: Activate the pair

Download
  • 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. powerDeliveryState transitions to PLUGGED_IN:COMPLETE)

Copy linkEdge cases

Theme Scenario Behaviour
State ChangesCharger A and vehicle B are plugged in together before they are linked to EnodeThe 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 ChangesWe send a start charging command and the charger starts charging within 10 seconds while the vehicle remains unreachableThe 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.
SchedulesA user has both a charger schedule and a vehicle schedule for assets that are linked to the same user and the same locationIf 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 capabilitiesA vehicle has an active intervention that, if resolved, would enable a start/stop charging or location capabilityThe 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 configurationA charger is linked without a location setThe vehicle location capability remains locked. A charger only unlocks the vehicle location capability if it has a location set via the API.
Location configurationA charger has a API configured location that is incorrectLocation 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 chargerOne charger and two vehicles are at the same location, plugged in within seconds of each other, and all start charging at the same timeInitial 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 capabilitiesA user links a charger. The charger later becomes unreachable and gets a relink intervention. The user links a vehicle without start and stop capabilitiesVehicle 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 requirementsAny asset in the pair, charger or vehicle, lacks charge state capability, for example needs relink, terms accepted, or a data subscriptionCharger pairing requires charge state on all assets. If any asset lacks it, none of the charger pairing features become active.
Read next: FAQs

Frequently asked questions about EV charger pairing

Was this article helpful?