OCPP Protocol Proxy
/projects/ocpp-protocol-proxy

OCPP Protocol Proxybuild dossier

TypeScriptNode.jsOCPPMiddlewareEvent-Driven Architecture
build.metadata
RoleCreator & Maintainer
DurationMar 2026
StatusPublished on npm
TelemetryActive
overview

A transport-agnostic OCPP version translation proxy. Enables legacy OCPP 1.6 charge points to communicate with modern OCPP 2.1 central systems without rewriting firmware. Features pluggable middleware, stateful session management, and spec-compliant presets.

implementation.notes
1Translate any OCPP version to any other (1.6 ↔ 2.0.1 ↔ 2.1) seamlessly.
2Transport-agnostic core logic entirely independent of WebSockets.
3Support middleware pipelines for logging, validation, and telemetry hooks.
4Maintain stateful sessions mapping UUIDs to integers for transaction tracking across messages.
readonlyconnected
design.principles

Version Translation

Any-to-any translation bridging legacy 1.6 hardware with 2.1 modern backends.

Modular Presets

Selective imports for Core, Smart Charging, Firmware Management, and Reservation profiles.

Pipeline Architecture

Intercept messages with pre/post hooks for custom business logic or telemetry.

system.architecture
// Translation Engine

Pure, transport-independent engine mapping properties across OCPP specification versions.

// Stateful Session Store

Pluggable memory or clustered storage to persist identity state and transaction IDs.

// Middleware Hooks

Intercept translation pipelines at 4 lifecycle points (pre/post upstream & downstream).

previousRolleasenextOCPP Smart Charge Engine

Want to discuss a similar build?

Use this project as a reference point and send the workflow, timeline, and constraints you care about most.

open contact.env
RT