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:
- Device selection
- Tariff switch
- Device authentication
- 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: