Skip to main content

SmartFlex Onboarding

In order to onboard a customer to SmartFlex, they must be directed to register a device with Kraken and, if relevant, switch to an appropriate tariff. Therefore, the typical steps are:

  1. Device selection
  2. Tariff switch
  3. Device authentication
  4. Check device status

Device selection

The first question for the customer is typically what device they want to register. Kraken supports registering many types of devices, including electric vehicles (EVs), charge points, heat pumps, thermostats, storage heaters and batteries (depending on enabled SmartFlex plugins). Kraken can indicate which device types a customer is eligible to register by querying for eligibleDeviceTypes:

The rest of this documentation assumes that the customer is registering an EV or charge point. Other device types have a similar process and APIs though. In the case of an EV or charge point, the next thing the customer should be asked to do is select the make (company/brand) and model of their EV and charge point. Typically, the make and model of both their EV and charge point are asked for, so that the frontend can then select the best of the two devices to register, based on Kraken's support for each device and their capabilities (e.g. EVs are usually the better of the two to register, as they tend to provide State of Charge data, whereas charge points usually don't). Kraken's support for a device can be determined by looking at the isIntegrationLive API field.

Tariff switch

A supplier may choose to require a customer to switch to a certain tariff as part of SmartFlex onboarding, and sometimes the tariff may depend on the type of device being registered, hence this not being the first step. Kraken supports complex tariff onboarding processes, which can include steps such as waiting for a device to complete onboarding checks (e.g. a test charge).

Device authentication

Once a customer has selected their device and, possibly, begun switching tariff, the next step is to authenticate their control of the device and obtain API access from the manufacturer so that Kraken can control it in the future. Different devices have different authentication processes. A provider must be chosen, which is derived from the make and model of the device, e.g. there are TESLA and MYENERGI providers for Tesla EVs and myenergi Zappi charge points respectively, and ENODE, SMARTCAR and JEDLIX providers that aggregate API access for a variety of device manufacturers. If the provider supports OAuth, then Kraken's providerAuthDetails API query will provide the necessary details to initiate the OAuth flow to authenticate the device.

If the provider does not support OAuth, then it is the responsibility of the frontend to guide the customer through the provider's authentication flow, whatever that may be. For example, in the case of Jedlix, directing customers to visit the Jedlix mobile app:

Check device status

To check that the device has completed onboarding, use the devices API query to check that its current status is LIVE.

If it is still ONBOARDING, then additional steps are required. In the case of an EV, a test charge of the vehicle is often required to ensure that it can be controlled.

Prior to initiating a test charge, the customer must have plugged their EV in at home, not have a fully charged battery, and to have confirmed they are happy for the vehicle to be charged for approximately 7 minutes. The test charge can then be started by calling the triggerTestCharge mutation.

For Tesla EVs, it is also necessary for the customer to add a "virtual key" to their vehicle so that it can be controlled. The test charge will be unsuccessful without first completing this step. To complete this step, the customer should be directed to the URL provided by the providerVirtualKey query: