Smart Charging API
1. Introduction - what is smart charging
1.1 Definition of smart charging
Smart charging essentially means that the maximum charge rate of an electric vehicle is in- or decreased.
1.2 Use cases for smart charging
There are two high level goals for smart charging:
- Make sure the power used by electric vehicle charging doesn't surpass certain grid limitations
- This can be any part of the grid, inside a building, the buildings grid connection, any part of the distribution grid, etc.
- Other local consumption or production (e.g. solar panels) may be taken into account
- Adjust the power of EV charging to help balance the demand and supply of electrical power on a national level.
- This means taking into account different energy markets and certain wholesale positions.
- This can also include ancillary services to TSOs
1.3 How the GreenFlux platform does smart charging

Figure 1. All smart charging is handled via the cloud using the OCPP protocol
GreenFlux performs all smart charging via the cloud. Benefits of this are:
- Works with any combination of charge stations
- Smart charging groups can contain a virtually unlimited number of charge stations
- All smart charging use cases can be supported simultaneously
- Charge stations may be located anywhere and still be in one smart charging group
- No additional training for installers necessary
- 24/7 monitoring, remote support and continuously ongoing updates without ever requiring a site-visit
Through the GreenFlux platform, multiple charge stations can be combined into one so-called smart charging group. For this group, capacity limits or power setpoints may be set (either fixed or updated dynamically), after which the GreenFlux smart charging algorithms determine the optimal power profile per individual charging socket.
2. The GreenFlux Smart Charging API
2.1 Purpose
The Smart Charging API is designed for two things:
- First of all, the API allows third parties to provide a power setpoint or capacity limit for a smart charging group. Examples of such third parties could be
- Energy traders that combine thousands of charge stations into one virtual powerplant (VPP) and use the flexibility of this VPP to create value on energy markets
- DSOs that set capacity limits for a smart charging group in order not to overload a certain part of the distribution grid
- A local energy management system that calculates the optimal charge profile of a smart charging group based on local building consumption, solar generation. stationary batteries, etc.
- The second goal the API is designed for, is to automate most of the functionalities in the smart charging portal. Adding charge stations to smart charging groups, configuring groups or algorithms, retreiving data, etc., is suitable to do via the portal on small scale. On large scale the Smart Charging API facilitates automating all of these actions.
A graphical, high-level representation of the communication flow is given below:

Figure 2. Control of a Virtual Power Plant via the Smart Charging API
2.2 API capabilities
Creating smart charging groups
A smart charging group:
- Belongs to a specific CPO
- Has a name
- Consists of a number of associated EVSEs (at least 1)
- Uses a certain algorithm
- Has algorithm-specific configuration parameters
The Smart Charging API facilitates to create smart charging groups under specific CPOs, add or remove EVSEs to/from it and configure the group with an algorithm and specific settings.
Monitoring the behaviour of smart charging groups
When a smart charging group is actively managed, a lot of data is generated. The smart charging API does not provide data that is already retrievable via other APIs (like e.g. the Sessions and Metervalue APIs), but does provide allocation data. This data can be used for data analytics or to create visualisations like in Figure 3.

Figure 3. Visualisation of allocation data. Screenshot from the GreenFlux smart charging portal
Insights in priority request
EV drivers may indicate they are in a hurry through the white lable Charge Assist app or via another medium leading to a priority request on the GreenFlux Charge Assist API. Such a request will have as a consequence that the smart charging algorithm will prioritise the session of that EV driver over other sessions, The API provides insights in the history of such request, as input for data analytics and/or visualisation.
Set profiles for smart charging groups
As mentioned in Section 2.1, the smart charging API may be used to provide a capacity limit or setpoint for a smart charging group. See the API Set dynamic capacity scenarios . The limit or profile can consist of a list of values with a certain duration and a certain power value. An example could be like in the table below
start_date_time | end_date_time | capacity | Explanation |
---|---|---|---|
2021-07-27T20:00:00.000Z | 2021-07-27T20:15:00.000Z | 100 | Charge at 100A for 15 minutes |
2021-07-27T20:15:00.000Z | 2021-07-27T21:15:00.000Z | 80 | Continue to charge at 80A for the next hour |
2021-07-27T21:15:00.000Z | 2021-07-27T21:16:00.000Z | 0 | Steer power to zero for one minute |
2021-07-27T21:16:00.000Z | 2021-07-27T21:30:00.000Z | 80 | Continue charging on 80A for the remainder of the quarter |
etc. | etc. | etc. |
The list of values can be as long or as short as desired. It could just as easily span the next five minutes as the next 10 years. Two things are important:
- The smallest time interval in a profile should be 1 minute. Though the GreenFlux platform could handle shorter time intervals, most charge stations and electric vehicles do not cope well with this. Also keep into account that if charge stations are connected via a mobile datacom solution, applying a very frequently changing power profile could significantly increase the data communication costs.
- Sending a new capacity profile will overwrite any pre-existing profiles. Also when the new profile has a shorter timespan than the previous one, the old profile will be 'forgotten'.
Updated almost 2 years ago