Three years ago, the company that was then known as Bee Charging Solutions recognized a demand for software that would make roaming possible in the Swedish EV industry. The Swedish EV market is geographically dispersed, with many operators who put out their charging stations in the public market. Most of the networks don’t offer universal coverage. This means that an EV owner who wants to travel has to sign up to many different providers and, for each of them, create accounts, download their apps and hold credit / get payment cards / rfid tags. Needless to say, finding and paying for public charging can be a nightmare for the EV owner.
Bee knew there had to be a unified way to make roaming between charging operators possible. Not only would it open up new revenue streams, but from a regulatory point of view, they knew that roaming would most certainly be legislated in the near future. This would be similar to the way telecom operators are forced to roam.
The Metergram team started working on the roaming router project in the fall of 2020, but in January 2021 the stakes were raised significantly with the announcement that the Swedish Bee Charging Solutions was about to merge with the Norwegian MER. It was vital for the Swedish and Norwegian companies to be able to roam if they were going to become one.
Metergram worked around the clock in order to deploy by June 2021. It has been a great success - technically, from June 3rd you could drive an electric vehicle from Sweden across the border to Norway and charge it. Metergram has been improving and streamlining the technology ever since.
We had to come up with a viable strategy for the roaming technology and architecture. There had to be separation of concerns between the internal data and the parts we communicate with to unify the approach of the core business logic and the roaming. This roaming router had to be able to speak multiple different languages independently of the core business logic.
Here are some of the steps that we took in the evaluation phase:
1. Create an inventory of the different protocols in the industry.
2. Look at the different protocols and standards: OCPI, OICP, eMI3, and what their requirements are.
3. Develop an approach to adapt our existing data to these new standards.
4. Look at the architecture and decide how to build the standalone system.
Our first step was to build a standalone system, starting with OCPI (Open Charge Point Interface), which could be extended to integrate with other protocols in the future. In the next phase, internal data had to be general enough. As an early player in the relatively young EV-industry, Bee had been making up many of their own data formats over the years. To convert these into a more standardized format was a real challenge.
We had to remodel the entire system, and yet create a product that was completely backward compatible with the existing app and existing systems both Bee and MER had been using up until then. There are massive differences between OCPP, the protocol that chargers speak, and OCPI, which is the system operator language. In order to get different protocols to communicate, we had to change the entire database.
Microsoft.NET was used to build the product, so the Metergram team had to be proficient in this framework. We worked with several Microsoft Azure Cloud services, such as Service Bus, Service Fabric and DevOps 2.0. Application Insights was used heavily to debug bidirectional communication with a partner. Charging transactions were tracked through three systems, into the world and back.
In the end, we managed to build a system that follows all the standards, and it is paying off. New implementation is quick, and we now have a straightforward process to bring new partners on board. After only a few technical alignment interviews we are able to start connecting our systems and sharing credentials. Thanks to this new design, we can now integrate with major clients in a matter of weeks.
At the end of May 2021, we started testing the roaming router and a week later we launched the first working version. The tests were successful, and after straightening out a few hiccups, we were happy to deploy.