Biblioteca OCPP Nodefastify-ocppnpm1.6 · 2.0.1 · 2.1GPL-3.0

Biblioteca OCPP Node

O pacote npm que transforma um servidor Node num endpoint CSMS OCPP-J — negociação, framing, validação de schema e uma API limpa de handlers.

Instale `fastify-ocpp`, registre uma vez e trate BootNotification, Authorize, transações e Reset / start remoto no seu código — não num fork do protocolo.

Do npm

fastify-ocpp

install

npm i fastify-ocpp

register

register(fastifyOcpp, { versions, path })

api

ocpp.onAction · ocpp.call · registry

Pacote

fastify-ocpp @1.0.0

Runtime

Node.js 18+

Types

TypeScript incluso

O que o pacote oferece

O que vem na instalação

1

versions + rota compartilhada

Configure `versions: ['2.1','2.0.1','1.6']` e `path: '/ocpp'`. As estações usam uma rota só; o Sec-WebSocket-Protocol escolhe a versão compatível.

2

onAction / onAny

Registre handlers por ação (opcionalmente por versão). Retorne um objeto simples — o pacote monta o CALLRESULT e valida.

3

call + getConnection

CALLs de saída CSMS→estação com timeout. Consulte `conn.version` antes de escolher RemoteStart ou RequestStartTransaction.

4

Schemas OCA (Ajv)

`validateIncoming` / `validateOutgoing` ativos por padrão. Os schemas JSON oficiais da Open Charge Alliance já vêm no pacote.

5

registry.list()

Mapa em tempo real de chargePointId → conexão. Filtre pela versão negociada e só envie comandos de operação quando a estação estiver online.

6

Ajustes de operação embutidos

`callTimeoutMs`, `rejectDuplicateConnections`, `onConnect` / `onDisconnect` — padrões de produção sem reinventar a camada de sessão.

Como funciona

Instale, registre e conecte os handlers

1

Instale o pacote

`npm i fastify-ocpp` (Node 18+). O pacote traz `dist/`, tipos TypeScript e a árvore `schemas/` da OCA.

2

Registre uma vez

Passe `versions` (allow-list + preferência) e `path`. Você recebe `app.ocpp` — handlers, call de saída e o registry.

3

Implemente o domínio

Implemente BootNotification, Heartbeat, Authorize e transações. Use `ocpp.call` na sua API de operação pra Reset e start remoto.

Experimente

Do registry ao primeiro BootNotification

  1. 1Rode `npm i fastify-ocpp` num projeto Node 18+.
  2. 2Registre com `versions: ['2.1','2.0.1','1.6']` e `path: '/ocpp'`.
  3. 3Adicione `onAction('BootNotification')` e `onAction('Heartbeat')` e aponte um simulador pra `/ocpp/CP_001`.
  4. 4Leia o tutorial de protocolo quando for a hora de Authorize e sessões completas.

Dados do pacote

O que o pacote inclui

Nome

fastify-ocpp

Protocolos

OCPP-J 1.6, 2.0.1, 2.1

API

onAction, call, registry, schemas

Licença

GPL-3.0-only

FAQ

Perguntas frequentes

O que é o fastify-ocpp, exatamente?+
Uma biblioteca npm que adiciona um endpoint WebSocket CSMS OCPP-J a um app Node: negociação de subprotocolo, framing de CALL, validação OCA, handlers e call() de saída.
Vem com faturamento ou roaming?+
Não. Isso fica nos seus handlers e serviços. O pacote cobre só a conversa OCPP correta e validada.
Quais versões OCPP são suportadas?+
OCPP-J 1.6, 2.0.1 e 2.1 numa rota compartilhada. SOAP (OCPP-S) não é suportado.
Onde fica a lógica de negócio?+
Nos handlers onAction e nos serviços que chamam ocpp.call. Não faça fork da biblioteca pra mudar tarifa ou regra de auth.

npm i fastify-ocpp — e registre o primeiro handler.

Instale o pacote no npm, clone o repo ou leia o tutorial de CSMS quando quiser o guia completo do protocolo.