Kernstück unserer Anwendung ist der SmaCi-Hub, welcher die Kommunikation zu allen anderen Teilnehmern beinhaltet und die dynamische Lastverteilung realisiert. Der Hub übernimmt neben der Kommunikation und Preisberechnung auch die Datenerfassung in einer Relationen Datenbank und ermöglicht die nachträgliche Analyse von Ladeprozessen und den Ladekurven.
![](https://smaci.de/wp-content/uploads/2022/08/SmaCi_Hub-1024x546.png)
Der Verteilnetzbetreiber ist für die Berechnung des Netzentgeltes zuständig. Mit Hilfe des OCPI-Protokolls kann ein Ladevorgang mit dynamischen Netzentgelten pro Netzanschlusspunkt (NAP) berechnet werden. Der Netzbetreiber bekommt die Möglichkeit über Preissignale steuernd einzugreifen. Dabei werden Lastzeitreihen und Preiszeitreihen ausgetauscht.
Ein Energielieferant beschafft die benötigte Energie an der Strombörse und verkauft diesen an den Ladesäulen. Dabei kann pro Ladesäule ein Stromlieferant ausgewählt werden, was eine grundlegende Neuerung gegenüber dem bestehenden System ist.
Der Stromlieferant erhält Anfragen für eine Ladesitzung und antwortet mit dem Preis der Ladesitzung. Dieser ist nach einer Bestätigung gültig.
Der Parkraumbewirtschafter kann die Ankunft oder Abfahrt eines Elektrofahrzeuges kommunizieren und ermöglicht somit die gemeinsame Abrechnung der Parkgebühren und Ladegebühren. Die Autorisierung und Authentifizierung des Kunden kann automatisch durch eine Kennzeichenerfassung erfolgen.
Die Ladesäulen können als digitaler Zwilling einer real existierenden Ladesäule angelegt werden und kommunizieren standardmäßig über OCPP 2.0.1 mit dem SmaCi-Hub. Mit Hilfe des digitalen Zwillings kann die Infrastruktur durch eine einfache Emulation getestet werden. Bei wird ein Ladeprozess simuliert, der aus Reservierung, Start, Ladevorgang mit Ladekurve und Abschluss besteht. Die Meterdaten der Ladesitzung werden pro Zeitintervall an den SmaCi übermittelt.
Jede Komponente ist ein separater Docker-Container, der mit Docker-Swarm orchestriert wird und eine Galera-Cluster als verteilte Datenbank verwendet.