Solidstudio is happy to introduce you to the Open Standards course led by our e-mobility expert - Bartlomiej. Throughout the following lessons, we will uncover the technicalities and functionalities of the OICP - a protocol developed by Hubject - as well as business aspects for e-Mobility Service Providers and Charge Point Operators.
Such a knowledge-pack should serve everyone operating in the e-mobility industry as it unfolds the most crucial aspects of navigating through Open Standards utilization and many more!
Subscribe to our YouTube channel to make sure you don't miss out on the upcoming training entries.
See the previous lessons:
Open InterCharge Protocol Training - Lesson 5
OICP Training Transcript
eRoaming EVSE data service
From a CPO perspective this service is probably the most important one in the whole OICP protocol besides authorization service it allows CPO to push static data regarding his charging infrastructure to the Hubject platform in order to allow other EMPs to use it. This service contains only one operation: eRoaming push EVSE data. Of course implementation is mandatory by every CPO partner. Hubject will first check if there is a valid contract between him and CPO. This time Hubject platform is a subscriber to CPO not the specific EMP. Operations like ‘update’ or ‘delete’ are also handled by the same operation; it can be specified in the action type field in the request which we'll see just in a moment.
Hubject has a policy to keep history and version receive the data sets for most of the data that is pushed to their platform. Every push and every update creates a new version of data. Only the latest version of data will be used, but due to keeping history, it is possible to revert some changes on demand. History of all EVSE data records pushed by CPO is stored and versioned by Hubject. Because of that, Hubject can reconstruct static EVSE data for any point in the past. As I've told you before in eRoamingPushEVSEData request you can specify which kind of operation you would like to perform. Action type field defines whether you would like to perform a full load, insert ,update or delete operation. Also, in this request you must provide a list of EVSE data records assigned to a specific operator. EVSE data record is huge and complicated. Nonetheless, it's crucial to at least briefly know what is the structure, what are the fields and what do they represent.
Starting with accessibility, it specifies how the charging station can be accessed. Accessibility location tells us where it could be accessed. Additional info, as the name suggests, is an optional field that specifies additional information regarding charging station. Address is an object that represents a full charging station address - it contains information like country, city, postal code, street name, house number or even parking spot or floor. Authentication modes specify which kind of authentication methods are supported in a given charging station. Calibration law data availability tells us how a charging station provides metering law data. Charging facilities is a list of supported facilities it can specify whether it's AC/DC, what kind of voltage, amperage and power is supported. Charging pool ID and charging station ID are IDs related to the European charging infrastructure model. We will come back to this topic later.
Charging station names, charging station image and charging station location reference are other additional information regarding charging station. It's often presented to the end-user by EMPs. Dynamic info available specifies whether CPO is able to provide dynamic EVSE status. EVSE ID is quite obvious - it's an idea of EVSE. Energy source is a list of sources that are used to provide electric energy. Environmental impact specifies the impact that is being produced by those sources. Geocharge point entrants are geo coordinates of charge point facility entrance, it can be expressed in google, decimal degree or minute/seconds degree format. Hotline phone number and hub operator ID are self-explanatory. IsHubjectCompatible specifies whether eRoaming via intercharge network is possible. Max capacity field is in case EVSE has limited capacity, i.e. has built-in battery, values are expressed in kilowatt hours. Opening times field should be visible only when the charging station is not 24h available. Payment options, as the name suggests, is a list of payment options that are supported: it can be no payment in case of free charging, direct in case of paying by card or cash, or contract in case of for example subscription. Blocks is a list of supported plug types, i.e. type 2. Renewable energy tells us whether a charging station uses this kind of energy. Sub operator name is self-explanatory. Value added services is a list of additional services offered by a charging station: it can be for example reservation, dynamic pricing, parking sensor, maximum power charging, charging plans, roof provided and few others. DeltaType field is mostly valid for pull operations. It is strictly connected with the last call parameter, which can be provided in pull operations query. In general, it says what kind of operation was performed in the middle time compared to the last call. It can be ‘insert’, ‘update’ or ‘delete’. If you provide the last full parameter inquiry and no operation was performed in the middle time, then the given record should not be returned in response. Finally, we have the last update field which tells us when the last time record was updated.
Another EVSE related service important from CPO perspective is eRoaming EVSE status. In contrast to eRoaming EVSE data, it focuses only on dynamic EVSE data, especially status information. It's also very simple - it has only one operation. This operation is eRoaming push EVSE status. Of course, it allows us to push dynamic EVSE data to the Hubject platform. Implementation is mandatory by every CPO partner. When it comes to validation, it behaves the same as for eRoaming push EVSE data. Also, it's possible to specify the action type for a given operation. Similar as for EVSE data records, the history of all EVSE status records is stored and versioned by Hubject.
When it comes to the request of this operation, it's very simple. You need to provide a combination of EVSE ID with evs status in EVSE status records list.