Hallo zusammen,
wie im Teaser zum NRG-Stack (Vorankündigung) angekündigt, stelle ich die Module einzeln vor - hier OCPPHub: das OCPP-1.6J-Gegenstück zu ChargerHub (Modbus TCP). Beide binden Wallboxen an, aber über unterschiedliche Protokolle - je nachdem, was die eigene Wallbox kann.
Worum geht es?
OCPPHub ist das OCPP-„Central System" für IP-Symcon: Die Wallbox verbindet sich per WebSocket zu Symcon (nicht umgekehrt) - Symcon übernimmt Handshake und Nachrichtenverkehr komplett selbst über seinen eingebauten Hook-Mechanismus, es läuft kein separater Prozess, kein externer Port. Eine Splitter-Instanz nimmt beliebig viele Wallbox-Verbindungen gleichzeitig entgegen; je Wallbox/Connector gibt es eine eigene Ladepunkt-Instanz mit den sichtbaren Messwerten und Steuervariablen.
Wozu braucht man das, wenn die Wallbox schon eine App hat?
Weil die Wallbox-App nicht weiß, was gerade an PV-Überschuss da ist, was ein Energiemanagement-System vorgibt, oder wer laut eigener Kundenverwaltung laden darf:
- Ladefreigabe/Stromlimit aus Symcon heraus setzen - für eigene Automationen oder ein Energiemanagement-System (EMS).
- Eigenständiges PV-Überschussladen als Fallback, auch ganz ohne EMS installiert.
- Zentrale RFID-Autorisierung mit Kundenverwaltung und Verbrauchslimits (Kunde → Zugang (Karte) → optional Fahrzeug/Gruppe) - für den Fall „mehrere Nutzer, eine Wallbox", mit eigener Konfigurationskachel fürs WebFront.
- Reservierung einzelner Zeitfenster für einen bestimmten Zugang.
Funktionsumfang heute
Kernprotokoll: BootNotification/Heartbeat/StatusNotification/Authorize/ StartTransaction/StopTransaction/MeterValues - vollständig, live verifiziert.
Betriebsarten (am Splitter wählbar):
- ① Einzelnutzer - kein RFID-Zwang, jede Karte wird angenommen.
- ② Mehrere Nutzer - zentrale Autorisierung über die neue „OCPPHub Abrechnung"-Instanz (wird automatisch angelegt): Kunde → Zugang (RFID-Karte) → optional Fahrzeug/Gruppe, mit Verbrauchslimits (Woche/Monat/Jahr) und optionalen Zeitfenstern je Zugang.
Für Skripte/andere Module: OHUB_GetFunctions($id) - feldgleich zu ChargerHubs CHUB_GetFunctions, damit ein Konsument (EMS, Dashboard) nicht unterscheiden muss, ob eine Wallbox per Modbus oder OCPP angebunden ist.
Ausblick: das Abrechnungssystem (in Arbeit)
Kundenverwaltung und Verbrauchslimits gibt es also schon - was noch fehlt, ist die eigentliche Kostenberechnung. Daran arbeite ich als Nächstes, deshalb schon mal der Ausblick, wohin die Reise geht:
- Mehrere benannte Grundtarife statt einem festen ct/kWh-Preis. Jeder Grundtarif setzt sich aus zwei unabhängigen Teilen zusammen: einer Preisstruktur (fix, dynamisch über Tibber Grid Rewards, gestaffelt nach Verbrauchsmenge, optional plus Grundgebühr) und einer Gültigkeitsbedingung (Zeitfenster, Saison, Preisschwelle, oder eine beliebige externe Symcon-Variable als Freischalter - z. B. eine künftige §14a-Steuerung). Kunde, Gruppe und ein Standardtarif bilden eine Kaskade, und die Preisermittlung läuft je 15-Minuten-Scheibe, nicht nur einmal pro Ladevorgang - ändert sich während einer Ladung die Bedingung, wechselt der Tarif mitten in der Rechnung sauber mit.
- Ein Formel-Fluchtweg für alles, was die vordefinierten Bausteine nicht abdecken - sowohl Preisstruktur als auch Gültigkeitsbedingung lassen sich wahlweise durch einen freien, sicher ausgewerteten Ausdruck ersetzen. Kein Sonderfall soll je einen Architektur-Umbau nötig machen.
- Berichte je Kunde (Monat/Jahr) mit CSV-Export - für den Dienstwagen-Nachweis, die WG-Abrechnung oder einfach den eigenen Überblick.
- Bewusst weiterhin kein Eichrecht, kein OCPI/Roaming, kein Bezahlterminal - OCPPHub bleibt eine privatrechtliche Abrechnung fürs eigene Haus/die eigene Familie/den eigenen Fuhrpark, kein öffentlicher Stromverkauf.
Wer schon jetzt eine konkrete Tarifidee hat, die oben nicht reinpasst - gerne melden, bevor ich mit dem Bau anfange.
Getestete Hardware
Referenz-/Testhardware ist go-e Gemini/HOME+ (OCPP 1.6J ab Firmware 56.1, besser ≥56.8) - dort live über mehrere echte Ladevorgänge inkl. Stopp/Neustart verifiziert. Gegen andere OCPP-1.6J-Wallboxen (KEBA P30 x-series, Alfen Eve) ist das Modul bisher ungetestet - Rückmeldungen sind ausdrücklich willkommen, falls etwas nicht passt (Measurand-Namen/Einheiten in MeterValues, ChargingRateUnit bei SetChargingProfile). Kann eine Wallbox kein OCPP (z. B. Heidelberg Energy Control, KEBA c-series), ist ChargerHub das passende Geschwistermodul.
Abgrenzung zu Symcons eigenem OCPP-Modul
Symcons offizielles symcon/OCPP ist ein guter, protokollnaher Einstieg. OCPPHub setzt den Schwerpunkt auf den kompletten Betrieb rund um eine Wallbox: eigenständiges PV-Überschussladen, Kundenverwaltung mit Verbrauchslimits, Reservierung, einen feldgleichen Vertrag zum Modbus-Geschwistermodul ChargerHub, und - siehe oben - eine richtige Kostenabrechnung.
Voraussetzungen
- IP-Symcon 9.0 oder neuer
- Eine OCPP-1.6J-fähige Wallbox im eigenen Netz
- Optional: ChargerHub, EMS, Dashboard, Tessie, Tibber Grid Rewards für Zusatzfunktionen - OCPPHub funktioniert auch komplett eigenständig
Einrichtung in Kürze
- Modul hinzufügen: Modulverwaltung → Symcon Module Store → nach „NRG-Stack OCPPHub" suchen, Kanal Beta wählen.
- Instanz „OCPPHub Splitter" anlegen, Wallbox in deren eigener OCPP-Konfiguration auf den angezeigten WebSocket-Endpunkt einstellen.
- Sobald sich die Wallbox gemeldet hat: „OCPPHub Konfigurator" anlegen - zeigt sie zum Ein-Klick-Erstellen der Ladepunkt-Instanz an.
Lizenz
Lizenz: PolyForm Noncommercial 1.0.0 - private/nicht-kommerzielle Nutzung ist frei, gewerbliche Nutzung erfordert eine gesonderte Lizenz vom Rechteinhaber (DG65). Der vollständige Lizenztext liegt im Repo (LICENSE). Spenden sind willkommen: paypal.me/DietmarGureth.
Feedback
Das Modul ist früher Beta-Stand - über Rückmeldungen, Fehler oder Wünsche (weitere Hersteller, Funktionen, Tarifideen fürs Abrechnungssystem) freue ich mich hier im Thread.
Viele Grüße Dietmar




