The protocol is the easy part.

Everyone implements OCPP. What you don’t learn from reading the spec is what to do when the spec doesn’t cover the business case in front of you — and that happens more often than the industry admits.

The two sides

Two different trades, sometimes inside the same company.

Whoever runs the network (CPO)

Needs infrastructure every station connects to, to report its state — free, occupied, how far the charge has got — and from which it receives the commands to start and stop. It’s the part that talks to hardware scattered across the territory, and has to work even when the hardware doesn’t cooperate.

Whoever serves the driver (MSP)

Cards, apps, sessions that start and close, payments that need to add up. It’s the part the end user sees, and it depends entirely on information arriving from someone else — often a different company, often in real time.

In between sit the protocols that pass commands and information from one side to the other, and the hubs that save everyone from talking to everyone. Every hop is a point where something can fail to arrive.

Serving the driver · MSPRunning the network · CPODriver appcards, appMSP systemsessions, paymentsRoaming hubbetween operatorsCPO systemnetwork managementCharge pointout in the fieldAPIOCPIOCPIOCPP
  • Commands (→) and status (←)
  • The driver starts charging and gets no confirmation
  • The card authorisation never reaches the other operator
  • The charge point’s status (free, busy) goes stale
  • The charge point loses its connection mid-session
Five systems, often run by different companies. Every hop is a point where something can fail to arrive.

Where it breaks

Four problems the spec doesn’t solve for you.

The territory

Charge points are not always reachable

Unstable networks, communications that drop, devices that vanish and reappear. The system has to know what to do when information doesn’t arrive, and tell a broken charge point apart from one that just hasn’t checked in.

The protocols

Standards don’t cover every business case

They’re still immature relative to what the market asks for. Every time the commercial model needs something the standard doesn’t provide for, complex workarounds have to be built on top — and there’s no documentation explaining how.

The chain

Too many components between command and effect

Information leaving the user’s app crosses several systems, often belonging to different companies, before reaching the charge point. Every hop is a point of failure, and you need tracing, retries and monitoring to work out where it stopped.

The price

Calculated in real time on incomplete data

Pricing models are complicated, they have to be built while the session is under way, with information that arrives partial and then changes — so the bill has to be recalculated. It’s the part where a mistake shows up on the invoice immediately.

Where we’ve done it

Plenitude on the road — charging network infrastructure.

Before

A rapidly growing operator, with a network to connect and an energy- trading system alongside it.

After

The communication infrastructure between servers and charging stations, interoperability with other operators, and the trading side. Inside the domain for 6 years.

Why it matters

Four weeks before being useful.

That’s the time it takes a new vendor, however good, just to understand how the pieces of this industry talk to each other. Four weeks paid for by you, before a single line gets written that’s good for anything.

We’ve already put in those four weeks — five years ago.

How it starts

Dry Run

Two weeks, on something you already have queued up.

In this industry references matter less than usual, because the hard work doesn’t show from outside. We take one thing off your list — an integration, a piece of roaming, a pricing logic — and do it. At the end you have it, and you know how we work.

See how it works

If instead what you have is a system that’s already causing problems, the door is a different one: Rescue

Astrorei · When software matters

When software becomes
a business matter.