Alle Blogposts

Wie man ein E-Auto lädt — die Sicht eines Entwicklers

Das öffentliche Laden von Elektrofahrzeugen spielt eine entscheidende Rolle bei der Förderung der Elektromobilität. Während das private Laden zu Hause oder am Arbeitsplatz bequem und oft kostengünstig ist, bietet das öffentliche Laden eine notwendige Ergänzung, insbesondere für längere Fahrten oder für Personen ohne Zugang zu privaten Ladestationen. Der Hauptunterschied zwischen öffentlichem und privatem Laden liegt in der Infrastruktur und den beteiligten Akteuren.

Private Ladestationen sind in der Regel einfache Geräte, die keine komplexen Authentifizierungs- oder Abrechnungsprozesse erfordern. Diese Wallboxen werden meist zu Hause oder am Arbeitsplatz installiert und bieten eine bequeme Möglichkeit, Elektrofahrzeuge aufzuladen, ohne auf externe Dienstleister angewiesen zu sein. Im Gegensatz dazu sind öffentliche Ladestationen oft "smart", d.h., sie sind mit einem Backend-System verbunden, das Authentifizierungs-, Abrechnungs- und Überwachungsfunktionen bietet. Diese smarten Ladestationen kommunizieren über verschiedene Protokolle wie OICP und OCPI mit den Systemen der Charge Point Operators (CPOs) und E-Mobility Service Providers (EMSPs), um eine nahtlose Ladeerfahrung zu gewährleisten. Es gibt allerdings auch private, smarte Ladestationen, die beispielsweise remote gesteuert werden können.

Wichtige Rollen und Begriffe im öffentlichen Charging-Kontext

  • CPO (Charge Point Operator): Ein Charge Point Operator ist ein Betreiber von Ladestationen für Elektrofahrzeuge. CPOs sind für die Installation, Wartung und den Betrieb der Ladeinfrastruktur verantwortlich.
  • EMSP (E-Mobility Service Provider): Ein E-Mobility Service Provider bietet Dienstleistungen für E-Auto-Nutzer an, wie z.B. Zugang zu Ladestationen, Abrechnung und Kundenbetreuung. EMSPs können als Vermittler zwischen den Nutzern und den CPOs gesehen werden.
  • eRoaming-Hub: Ein eRoaming-Hub ist eine Plattform, die verschiedene Ladenetzwerke und Dienstanbieter miteinander verbindet, um eine nahtlose Ladeerfahrung für E-Auto-Nutzer zu ermöglichen. Fahrer können Ladepunkte verschiedener Betreiber ohne separate Verträge oder Mitgliedschaften nutzen. Der Hub kümmert sich um die Authentifizierung, Abrechnung und den Datenaustausch zwischen den beteiligten Parteien.
  • EVSE-ID: Eine EVSE-ID (Electric Vehicle Supply Equipment Identifier) ist eine eindeutige Kennung, die einem bestimmten Ladepunkt zugewiesen wird. Sie dient dazu, individuelle Ladepunkte innerhalb eines Netzwerks zu identifizieren und die Kommunikation zwischen verschiedenen Systemen zu erleichtern.
  • EVCO-ID (Electric Vehicle Contract Identifier): Eine EVCO-ID ist eine eindeutige Kennung, die einem Nutzervertrag für Elektrofahrzeuge zugeordnet wird. Sie dient dazu, den Nutzer und dessen Vertragsdetails zu identifizieren, insbesondere bei der Authentifizierung und Abrechnung von Ladevorgängen.

Die Rolle von OICP, OCPI und OCPP

Die Ladeinfrastruktur für Elektrofahrzeuge ist komplex und erfordert eine nahtlose Kommunikation zwischen verschiedenen Systemen und Akteuren (CPO, EMSP, etc). Hier kommen die Protokolle OICP, OCPI und OCPP ins Spiel. Jedes dieser Protokolle spielt eine entscheidende Rolle bei der Sicherstellung einer effizienten und problemlosen Ladeerfahrung.

OCPP (Open Charge Point Protocol)

Das Open Charge Point Protocol (OCPP) ist das führende Protokoll für die Kommunikation zwischen Ladepunkten und den Backend-Systemen von CPOs. Es definiert erforderliche Nachrichtenformate und -abläufe, um einen Ladevorgang zu starten, zu überwachen und zu beenden. Der Einsatz von OCPP bietet eine standardisierte Methode zur Kommunikation mit Ladestationen, was die Integration und den Betrieb dieser erleichtert. Es ermöglicht die Echtzeit-Überwachung und Steuerung des Ladevorgangs (Start, Stop, und Fehlerbehandlung etc.) und bietet eine große Anzahl an Anwendungsmöglichkeiten.

OICP (Open Intercharge Protocol)

Das Open Intercharge Protocol (OICP) ist ein von Hubject entwickeltes, offenes Kommunikationsprotokoll, das die Zusammenarbeit zwischen Ladestellenbetreibern (CPOs) und E-Mobility Service Providern (EMSPs) erleichtern soll. Es definiert standardisierte Schnittstellen für den Datenaustausch. Hubject verwendet OICP für ihre marktführende eRoaming-Plattform in Europa. Das Protokoll erleichtert den Austausch von Infos wie Ladepunktverfügbarkeit, Preisen und Abrechnungsdaten zwischen verschiedenen Systemen.

OICP ermöglicht Roaming zwischen CPOs und eMSPs
OICP ermöglicht Roaming zwischen CPOs und eMSPs

OCPI (Open Charge Point Interface)

Das Open Charge Point Interface (OCPI) ist ebenfalls ein offenes Protokoll (verwaltet durch die EVRoaming Foundation), das die Kommunikation zwischen Ladestellenbetreibern und E-Mobility Service Providern vereinfachen soll. Durch eine klare Definition von Rollen und deren Use-Cases stellt es sicher, dass Daten wie Verfügbarkeit, Tarife und Authentifizierungsinformationen effizient und sicher ausgetauscht werden können. Der Einsatz von OCPI ermöglicht eine direkte Kommunikation zwischen den Backend-Systemen der CPOs und EMSPs, ohne dass Zwischeninstanzen erforderlich sind. Mit OCPI können flexible Tarifmodelle und Abrechnungsinformationen zwischen CPO und EMSP ausgetauscht werden.

OCPI stellt die quelloffene Implementierung eines
                  Roamingprotokolls dar
OCPI stellt die quelloffene Implementierung eines Roamingprotokolls dar

Wo liegt der Unterschied zwischen OCPI und OICP?

Der wesentliche Unterschied zwischen dem Open Charge Point Interface (OCPI) und dem Open Intercharge Protocol (OICP) liegt in deren Einsatzbereich und Verwaltung. OCPI, verwaltet von der EVRoaming Foundation, fördert die direkte Kommunikation zwischen Backend-Systemen von Ladestellenbetreibern (CPOs) und E-Mobility Service Providern (EMSPs) und sorgt dafür, dass Daten wie Verfügbarkeit, Tarife und Authentifizierungsinformationen effizient und sicher ausgetauscht werden. Es unterstützt flexible Tarifmodelle und ermöglicht den direkten Austausch von Abrechnungsinformationen ohne Zwischeninstanzen. Hingegen wurde OICP von Hubject entwickelt, um die Zusammenarbeit zwischen CPOs und EMSPs zu erleichtern, indem standardisierte Schnittstellen für den Datenaustausch definiert werden. OICP wird insbesondere von Hubject für ihre marktführende eRoaming-Plattform in Europa genutzt und erleichtert den Austausch von Informationen wie Ladepunktverfügbarkeit, Preisen und Abrechnungsdaten zwischen verschiedenen Systemen. Zusammengefasst: OCPI dient hauptsächlich der direkten Kommunikation zwischen CPOs und EMSPs, während OICP für die Nutzung durch Plattformen wie Hubject entwickelt wurde, um den Datenaustausch im eRoaming-Bereich zu standardisieren.

Ein Ladevorgang über Hubject

Was passiert beim Laden im Backend mit RFID (Hubject/OICP)?

Stell dir vor, Lisa, eine E-Auto-Fahrerin, kommt bei einer öffentlichen Ladestation an und möchte ihr Fahrzeug aufladen. Sie startet den Ladevorgang, indem sie ihre RFID-Karte an die Ladestation hält. Die Ladestation kommuniziert über das Open Charge Point Protocol (OCPP) mit dem Backend des Charge Point Operators (CPO), um den Ladevorgang zu initiieren.

Anschließend sendet das CPO-Backend eine Anfrage über das Open Intercharge Protocol (OICP) an die Roaming-Plattform Hubject, um den Ladevorgang zu autorisieren. Hubject überprüft die Anfrage und schickt, falls keine eindeutige Zuordnung möglich ist, einen Request zur Autorisierung an alle EMSPs, die mit dem CPO in Vertrag stehen.

Lisa ist Kundin bei einem E-Mobility Service Provider (EMSP), der die Autorisierungsanfrage verarbeitet. Der EMSP sendet die Autorisierung für den Start des Ladevorgangs zurück an Hubject. Antwortet der EMSP mit einer erfolgreichen Response an Hubject, wird der CPO darüber benachrichtigt und Lisa kann das eigentliche Laden beginnen.

Laden per App (Hubject)

Ein anderes Mal entscheidet sich Lisa, unsere mobile App zu nutzen, um ihr Fahrzeug zu laden. Das Laden über eine mobile App gestaltet sich komplexer, da für eine gute User-Experience einige Grundvoraussetzungen erfüllt sein müssen. Dazu zählen aktuelle Informationen der verfügbaren Ladepunkte, wie die verfügbaren Plugs, die Art der Stecker und die Ladeleistung. Es ist entscheidend, dass die genaue Position (Breitengrad, Längengrad) jeder Ladestelle gespeichert ist, und das in einem Format, das ein performantes Abfragen in einem bestimmten Raster ermöglicht.

Zusätzlich sollten die allgemeinen Ladestelleninformationen in einem passenden Intervall aktualisiert werden, idealerweise täglich, um sicherzustellen, dass die Nutzer stets die neuesten Informationen zur Hand haben. Die Verfügbarkeit von Ladepunkten, die für die Anzeige als "Verfügbar" oder "Besetzt" in der App entscheidend ist, sollte, wie von Hubject empfohlen, alle 5 Minuten abgefragt werden. Diese regelmäßige Abfrage stellt sicher, dass die Nutzer immer auf dem neuesten Stand sind und keine unnötigen Wartezeiten in Kauf nehmen müssen.

Über den Tag verteilt entsteht dabei eine beachtliche Datenmenge, die nicht nur gespeichert, sondern auch effizient verarbeitet werden muss. Dies erfordert eine robuste Backend-Infrastruktur, die in der Lage ist, große Mengen an Daten in Echtzeit zu verarbeiten und zu aktualisieren. Nur so kann eine reibungslose und zufriedenstellende Nutzererfahrung gewährleistet werden, die den Anforderungen der modernen E-Mobilität gerecht wird.

Um dem Nutzer beim Suchen von Ladestellen in der App vor dem Laden einen Preis anzeigen zu können, muss dieser für alle Ladepunkte der Ladestelle aus den Daten in unserem Backend ableitbar sein. Hubject bietet den CPOs mehrere, sehr unterschiedliche Preismodelle an. Das einfachste ist Standard-Pricing, wobei allen EVSEs der gleiche Preis (kWh und/oder Minutenpreis) zugewiesen wird. Es gibt auch Dynamic-Pricing, bei dem sich die Preise im 24-Stunden-Intervall in einem vereinbarten Rahmen bewegen können. Daher ist ein regelmäßiges Aktualisieren und Speichern der Preise, die wir dem Endnutzer berechnen, wichtig, um Diskrepanzen in der Abrechnung zu vermeiden und Preistransparenz zu ermöglichen.

Wenn Lisa in der mobilen App einen passenden Ladepunkt gefunden hat, kann sie den Ladevorgang durch den "Start charging" Button initiieren. Nach dem Prüfen notwendiger Berechtigungen wird eine Anfrage an Hubject zum Starten einer Ladesession geschickt, die Daten wie die EVSE-ID, die CPO-ID und die EVCO-ID des Users enthält. Im Falle eines validen Requests leitet Hubject die Anfrage über OICP an das CPO-Backend weiter, welches entweder bestätigen oder ablehnen kann. Falls das CPO-Backend die Anfrage autorisiert, wird das eigentliche Laden gestartet.

Nachdem das Auto fertig geladen ist, beendet Lisa den Ladevorgang manuell in der App. Dadurch wird eine Anfrage zum Stoppen der Session an Hubject geschickt, welche an das CPO-Backend weitergeleitet wird. Kann der CPO diese Anfrage erfolgreich bearbeiten, sollte ein sogenannter CDR (Charge Detail Record) ausgestellt werden, der Informationen wie die verbrauchten kWh enthält. Mit diesem CDR können wir als EMP nun den Preis berechnen, den wir Lisa über ihre verbundene Kreditkarte verrechnen.

Weitere Schritte

Um den Bereich des Public Charging noch besser zu unterstützen und CPOs einzubinden, die nicht auf der Hubject-Roaming-Plattform sind, planen wir die vollständige Implementierung der notwendigen OCPI-Funktionalität. Diese Implementierung ermöglicht es uns, ein breiteres Spektrum an Anbietern zu integrieren und somit die Flexibilität und Reichweite unseres Dienstes erheblich zu erweitern.

Wir sehen uns im nächsten Blogpost!