EV drivers and charge point businesses share one common frustration: disconnected chargers. It’s inconvenient, rather frequent, and slows the entire EV charging industry down. Is there nothing that can be done about it?
The days of frustrating, disconnected charge points are officially a thing of the past, thanks to ‘The Gateway Project’ spearheaded by the brilliant minds at Monta. Brian Estrada, Engineering Director & Head of Backend at Monta, and his team have come to the rescue with an ingenious solution to tackle this industry-wide problem.
In this interview, Brian explains how ‘The Gateway Project’ came to be and how they solved the issue of disconnected chargers.
What kicked off ‘The Gateway Project’?
Our charge points are the lifeblood of our charging infrastructure, so when they become disconnected it can be a real issue. In order to keep your charger running safely and securely, it’s important that there is always an established connection between them and their backend system – otherwise, you could find yourself facing some serious charging problems! Chargers may still power your EV, but you are unable to use any features such as SmartCharge, track the charging session, and lose visibility in your charge point logs. It makes running businesses built around these services tricky as there is lost visibility on vital data points—no one wants an unhappy customer after all!
A weak or unstable internet connection, firmware updates, or maintenance updates to a backend service can cause an EV charger to lose its connection. Typically, a charger can automatically reconnect once the connection is lost. However, in certain cases, manual intervention may be necessary to reconnect it to the Charge Point Management System (CPMS).
Why was it important to address this?
At Monta, we take our commitment to EV drivers and hardware manufacturers seriously. We understand the importance of a stable connection on the platform – without it, thousands of EV drivers could be stranded with an empty car or stuck at a charge point that suddenly stopped working due to technical issues. Our mission is to provide everyone involved in charging electric vehicles with reliable technology backed by robust logic-controlled apps that keep everything running smoothly.
All businesses in the EV charging industry are fully dependent on their chargers to seamlessly work together with a Charge Point Management System (CPMS), or else they may lose customers. We owe them the best solution for trusting us for being their CPMS. Once the connection is lost, in some cases chargers can take up to 24 hours to reestablish a connection. These are hours that those businesses can’t make money with their charger. This is quite big.
We needed to make this project a priority so that our product and its features could stay up-to-date. Frequent code deployments were at risk of making the connection with chargers unstable, limiting us to deploying once or twice each month. So we decided it was time for a change; investing in finding an effective solution allowed us to scale faster than ever before!
How does the charge point communicate with the backend?
Imagine it like that: you have a request on one side and a response on the other side. With most applications on the Internet, you’d make a web request to a server and then you get a response – this is called a short-lived connection and works kind of like writing a text message and getting a message back. But in the world of EV charging, this connection works via a protocol called OCPP. This protocol makes it possible for a charge point and a backend software to communicate and works more like a phone call rather than text messages going back and forth. So if we continue the metaphor, a connection between a server and a charge point is more akin to a phone call and the communication is more like a conversation.
The problem is, every time we deploy code or something causes an unstable connection like a lack of internet connection, for example, then we lose that connection. So the phone gets hung up and we’re not able to talk to that charge point again for hours. This is very hardware dependent, however: some charge point brands reconnect very fast once the connection is lost whereas some take hours and hours.
The call analogy refers to something you’d call a WebSocket connection. With WebSocket, you can have a long and real-time connection whereas an alternative would be HTTP, which is the text message equivalent where you would have to constantly send a message to the charge point and ask ‘Hey, are you there? Hey, are you there? Hey, are you there?’’. You get the idea…The big benefit of using WebSockets is that the connection is always there. Luckily, the OCPP protocol uses WebSockets, which makes this long and real-time connection possible in the first place.
How did you solve charge points getting disconnected?
If we go back to the phone call example, you should know that the big issue here is that we are asking a lot from the server: it should hold the connection to a high number of calls and at the same time it has to process all the messages that come in during these calls.
A server can only hold a certain amount of phone calls and that in turn is tied directly to its ability to process the messages. This is a limitation on the server architecture the entire EV charging industry is struggling with and why we have the charge point stability issues we have today.
So what did we do? In a nutshell, all we did was separate the part where you hold the connection from the part that does the processing of the information. The result is that we can handle more information in a short amount of time without losing connections.
To explain this in more detail:
In our new setup, the servers that hold the connection are very small servers because they don’t do any processing, this is what we call ‘The Gateway’. On the other hand, there are bigger servers that we call ‘The Processor’, which do the cool but heavy work, meaning a lot of the processing and logical actions.
The Gateway is now the new connection holder, meaning it’s responsible for holding the connection to the charge point as long as possible. This is a server that almost never gets updates or redeployed and that’s because it was built to be as simple as possible. The Gateway’s job is to basically take the messages from the charge point and relay it to our messaging bus so that they can be forwarded to our Processors.
The messaging bus relays messages from our Gateway to our Processor making sure that a charge point message gets processed and then sent back to the gateway for acknowledgement and vice versa.
The Processor is at the heart of it all, containing all the logic for handling the messages sent from our charge points and can do a bunch of other cool things. The Processors are updated once or twice a week and now that they no longer hold the connection, they can be redeployed without any downtime to our servers. pretty cool, right?
It is a fairly unique solution and we’re the first Charge Point Management System to do this.
How long did it take to build this?
It started as an idea in my and Morten’s [Staff Engineer] head and we talked about it every now and then. One day, we had a lot of issues with a few charge point brands constantly disconnecting and consequently, a lot of customers were complaining to us.
When I took a trip to the US last summer, I set up the first version on a weekend. The upcoming next two or three weeks, Morten and I were iterating on it. In the end, I’d say, it took us about two months to get it rolled out after I did that first-weekend version. We rolled it out in November 2022 so it was relatively quick.
What has changed ever since you implemented this at Monta? How was it before November 2022 and how is it now, 3 months since the launch of ‘The Gateway Project’?
A lot has changed. All in all, this project improved the response time of the system and increased stability to the point that we don’t have any disconnected chargers anymore whenever we deploy code.
We went from having asynchronous data and charge points to being synchronous because of this. This basically means that we get an immediate response after a command is made. A command is, for example, a driver wanting to start a charge with the App. Before, whenever a command would come in like ‘Hey, I want to charge’, we would send that command all the way to the charger, and then we would wait five minutes until the charge point eventually said ‘Yes, you can charge’ and then we’ll send the command back up. So, we would wait for five minutes or so to see the charge point eventually having started the charge. Since we launched ‘The Gateway Project’, we can get back the response immediately, which ultimately means a better experience for EV drivers.
More importantly, the charge points connected to our CPMS are significantly more stable. Before, every time we deployed code, we would get a lot of messages about chargers being disconnected. Now, those messages, together with the disconnected charge points, have disappeared almost completely.
What does this new technology mean for Monta and the EV industry?
Well, so there are two sides to this coin, right?
One side of the coin is the issue of unstable connections. By solving the root cause, charge points connected to our backend have a much more stable connection and therefore, don’t disconnect so easily anymore. Our customers and end-users can enjoy our numerous updates, product improvements, and new features in real-time without any downtime on their chargers. On top of that, EV drivers have a fast charging experience due to our improved response time.
The other side of the coin is the scaling problem. I haven’t explained this in too much detail before, but what you need to know is that servers are expensive. Every time our charge point network grows our server infrastructure must grow, too. This costs a lot of money.
Before, we had one server that did everything, meaning holding the connection and processing information at the same time. These types of servers are big and expensive servers. Any CPMS is locked in this circle of having to buy big expensive servers as they grow.
However, since we at Monta split our servers between small and big servers, we only need to invest in the smaller, and cheaper servers as we grow. We basically built ourselves an infrastructure to scale cost-efficiently. As you can imagine, our customers will ultimately benefit from that: not only will they have the most stable solution but also one that is the most cost-saving.
Thanks to the success of the Gateway Project, EV drivers no longer have to worry about disconnected chargers. Now they can plug in and enjoy a reliable experience while charge point businesses and hardware manufacturers reap the benefits of increased customer satisfaction – plus greater profits! The team’s pioneering efforts have revolutionised this industry, laying down tracks for even more revolutionary advances that will keep our customers on the road without disrupting business operations across all spectrums. We’re energising into one exciting future together: here’s to tomorrow’s greener paths ahead!