OCPP Proxy / Splitter
Routeer het OCPP-verkeer van je laadpaal naar meerdere backends tegelijk. Behoud je originele CSMS en verbind daarnaast met Joulo — of elk ander platform.
// Architectuur
Eén proxy, meerdere backends
De proxy zit tussen je laadpaal en de backend(s). Je primaire CSMS behoudt volledige controle — inclusief commando's terugsturen. Secondaire backends ontvangen een read-only kopie van alle berichten.
Charger → CSMS
Berichten worden doorgestuurd naar de primaire CSMS en gespiegeld naar alle secondaire backends.
CSMS → Charger
Alleen de primaire CSMS kan commando's terugsturen naar de laadpaal. Antwoorden van secondaire backends worden genegeerd.
// Kenmerken
Alles wat je nodig hebt
Split & Mirror
Eén inkomende verbinding, meerdere backends. Primaire CSMS heeft volledige controle, secondaire ontvangt read-only kopieën.
Auth forwarding
HTTP Basic Auth credentials worden automatisch doorgestuurd naar alle upstream backends.
Sub-protocol negotiation
Automatische onderhandeling van OCPP 1.6, 2.0 en 2.0.1 sub-protocollen.
Docker-ready
Pre-built images op GitHub Container Registry. Eén commando om te starten.
Lichtgewicht
TypeScript/Node.js, minimale footprint. Draait als non-root user in Docker.
Structured logging
JSON-logs naar stdout/stderr. Stel LOG_LEVEL=debug in om individuele OCPP-berichten te zien.
// Quick Start
In 3 stappen draaien
Docker (aanbevolen)
docker run -d \ -p 9000:9000 \ -e PRIMARY_CSMS_URL=wss://your-primary-csms.example.com/ocpp \ -e SECONDARY_CSMS_URLS=wss://analytics.example.com/ocpp \ ghcr.io/joulo-nl/joulo-ocpp-proxy:main
Docker Compose
git clone https://github.com/joulo-nl/joulo-ocpp-proxy.git cd joulo-ocpp-proxy cp .env.example .env # Edit .env with your CSMS URLs docker compose up -d
Vanaf broncode
git clone https://github.com/joulo-nl/joulo-ocpp-proxy.git cd joulo-ocpp-proxy npm install npm run build PRIMARY_CSMS_URL=wss://your-csms.example.com/ocpp npm start
// Configuratie
Omgevingsvariabelen
| Variable | Verplicht | Default | Beschrijving |
|---|---|---|---|
| PORT | Nee | 9000 | Poort waarop de proxy luistert |
| PRIMARY_CSMS_URL | Ja | — | WebSocket URL van je primaire CSMS |
| SECONDARY_CSMS_URLS | Nee | — | Komma-gescheiden lijst van secondaire CSMS URLs |
| LOG_LEVEL | Nee | info | debug, info, warn of error |
// Laadpaal instellen
Wijs je laadpaal naar de proxy
Verander de OCPP backend URL in de instellingen van je laadpaal:
wss://your-csms.example.com/ocpp/CHARGER-001ws://proxy-host:9000/CHARGER-001De proxy voegt het charge point ID automatisch toe aan elke upstream CSMS URL.
// Toepassingen
Wanneer gebruik je dit?
Multi-backend monitoring
Stuur laaddata naar je primaire platform én naar je eigen analytics of energiemanagementsysteem.
Platform migratie
Mirror verkeer naar een nieuw platform en verifieer dat alles correct werkt voordat je overschakelt.
Development & debugging
Mirror productie-laadverkeer naar een lokale development-omgeving zonder het live systeem te beïnvloeden.
Compliance & auditing
Stuur een kopie van alle OCPP-berichten naar een audit-systeem voor regelgevende compliance.
Gerelateerde pagina's
Joulo voor developers
Overzicht van alle tools, API's en integraties.
OCPP-koppeling
Verbind elke OCPP 1.6J-laadpaal met Joulo.
REST API
API-documentatie, endpoints en Home Assistant.
Platform status
Realtime status van alle Joulo-diensten.
developer.joulo.nl
Developer portaal met uitgebreide documentatie.
status.joulo.nl
Realtime status van alle Joulo-diensten.
Klaar om te starten?
Maak een gratis account aan en verbind je laadpaal. Je API-token vind je direct in het dashboard.

