Core RPCProtocol ProxySmart ChargingCLI & Simulator

The Complete
OCPP Ecosystem
for Node.js

A modular, plug-and-play suite of TypeScript tools. Type-safe WebSocket RPC, version translation proxy, smart charging math, CLI tooling, and a live browser simulator — everything in one ecosystem.

$npm install ocpp-ws-io

3

OCPP versions

6

Ecosystem packages

4

Security profiles

charger.ts
import { OCPPClient } from 'ocpp-ws-io'
const client = new OCPPClient({
endpoint: 'ws://csms.example.com',
identity: 'CP-001',
protocols: ['ocpp2.0.1'],
});
// Fully typed handler
client.handle('Reset', ({ params }) => {
// params.type → 'Hard' | 'Soft'
return { status: 'Accepted' };
});
await client.connect();
const res = await client.call(
'ocpp2.0.1', 'BootNotification',
{ reason: 'PowerUp' }
); // res.status → 'Accepted'
Connected · OCPP 2.0.1
TypeScript
0OCPP Versions1.6 · 2.0.1 · 2.1
0%TypeScriptAuto-generated types
0Security ProfilesNONE · WS · TLS · mTLS
0Browser DepsZero runtime dependencies
0+Log TransportsConsole · File · Redis · HTTP
Live OCPP simulation

See it in Action

One typed API — Node.js clients, servers, and zero-dependency browser simulators.

ocpp-server · port 9220
LIVE
01SYSServer startedport 9220 · ocpp1.6 · ocpp2.0.1
02

CP-001

OCPP Charge Point

Connecting
charger.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
import { OCPPClient } from 'ocpp-ws-io';
 
const client = new OCPPClient({
endpoint: 'ws://csms.local',
identity: 'CP-001',
protocols: ['ocpp1.6'],
});
 
client.handle('Reset', ({ params }) => ({
status: 'Accepted'
}));
 
await client.connect();
TypeScript
Full docs
What the ecosystem gives you

Everything you need, nothing you don't

Six complementary packages. One cohesive TypeScript ecosystem — type-safe, tested, and open source.

TypeScript-first

Version-Agnostic Protocol Layer

End-to-end TypeScript with auto-generated types for OCPP 1.6, 2.0.1, and 2.1. Unified client & server API — request params and responses are fully inferred across all versions.

Version translation

OCPP Protocol Proxy

Seamlessly bridge legacy OCPP 1.6 chargers to your modern 2.1 CSMS. Pluggable middleware, stateful sessions, and pre-built translation presets.

Smart Charging Engine

Distribute your grid's physical watt budget mathematically across chargers. Built-in OCPP-compliant load balancing and TOU pricing algorithms.

Security Profiles 0–3

Plain WS, Basic Auth, TLS + Basic Auth, and Mutual TLS with client certificates — all four OCPP security profiles out of the box.

Framework Agnostic

Attach to Express, Fastify, NestJS, or any Node.js HTTP server with a single method call. Works anywhere.

Redis Clustering

Optional Redis Pub/Sub adapter for multi-instance deployments. Route messages across distributed nodes behind a load balancer.

Multi-Version Support

Unified API across OCPP 1.6, 2.0.1, and 2.1 — version context always available in handlers. No per-version forks needed.

Browser Simulator & CLI

A zero-install Next.js GUI for live OCPP inspection, plus CLI tools to scaffold, mock, and debug — all from the terminal.

Everything in one ecosystem

Built to cover the full OCPP stack

From the core protocol library to a live browser simulator — every tool you need to build, test, and ship OCPP charging infrastructure.