Skip to content

[FEATURE] Add OCPP 2.X.X support #39

@jerome-benoit

Description

@jerome-benoit

Duplicate issue

  • I've searched for any related issues and avoided creating a duplicate issue.

Design

Shared Design

  • call request indexed and mapped to a node.js promise deferred to the response received with result type mapped to its resolution and error type mapped to its rejection
  • request handler reentrancy: independent from the WebSocket, etc.
  • request handler implements singleton design pattern

Implementation

  • Per concern modules: request, incoming request, response
  • Document the level of compliance in the README.md, as for OCPP 1.6

Requests

  • BootNotification
  • Heartbeat
  • StatusNotification

Incoming requests

  • ClearCache
  • GetBaseReport
  • GetVariables

Terminology

  • Client-server model: a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.
  • OCPP: the Open Charge Point Protocol is an open standard which describes a method enabling vehicles to communicate with a central system.
  • PDU: Protocol Data Unit. A PDU is either a request or a response.
  • Central System: the central system that manages charge points, and has the information for authorizing users to use its charge points.
  • Charge Point: the charge point is the physical system where an electric vehicle can be charged. A charge point will have one or more connectors.
  • WebSocket: web technology providing full-duplex communications channels over a TCP connection. WebSocket is defined by RFC 6455.
  • WebSocket Server: manages incoming connections from WebSocket clients.
  • WebSocket Client: initiates a connection to a WebSocket server.
  • RPC: Remote Procedure Call. In this document, a RPC can always be specified by a procedure name, input parameters ('request'), and output parameters ('response').
  • Caller: the entity that triggers a RPC, providing a request and expecting a response.
  • Callee: the entity that handles a RPC, computing a response for an incoming request.
  • SRPC: Symmetric Remote Procedure Call. The protocol defined in this document, allowing bidirectional RPC between two WebSocket endpoints.
  • JSON: JavaScript Object Notation. A data interchange format, defined by RFC 4627.

Attachments

OCPP stack classes diagram_2023-01-14_17-38-31.pdf
OCPP-2.0_part1_errata.pdf
OCPP-2.0_part2_errata.pdf
OCPP-2.0_part4_errata.pdf
OCPP-2.0.1_part0_introduction.pdf
OCPP-2.0.1_part1_architecture_topology.pdf
OCPP-2.0.1_part2_appendices.pdf
OCPP-2.0.1_part2_specification.pdf
OCPP-2.0.1_part4_ocpp-j-specification.pdf

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions