0.6.1-beta • Published 8 months ago
@node-ocpp/core v0.6.1-beta
A Node.js-based library for implementing an OCPP Central System (CS) providing an intuitive syntax for sending & handling messages. Currently supports OCPP-J (JSON over WebSocket) and includes message type definitions for 1.6 Feature Profile 'Core'.
Usage example
import { WsEndpoint, ocpp16 } from '@node-ocpp/core';
const cs = new WsEndpoint({ authRequired: false });
cs.handle<ocpp16.BootNotificationRequest>('BootNotification', async data => ({
currentTime: new Date(),
status: 'Accepted',
interval: 120,
}));
cs.on('client_connected', async session => {
const response = await cs.send<ocpp16.RemoteStartTransactionRequest>(
session.client.id,
'RemoteStartTransaction',
{ idTag: '1234567890' }
);
console.dir(response);
});
cs.listen();
Configuration
Key | Type | Purpose | Default |
---|---|---|---|
port | number | TCP port on which the application should listen | 8080 (development)80 (production) |
hostname | string | Host name on which the application should listen | localhost |
route | string | Route which clients should connect to, appended by their individual CP id | /ocpp |
protocols | string[] | WebSocket subprotocol versions for which upgrade requests should be allowed | ocpp1.2 - ocpp2.0.1 |
actionsAllowed | string[] | OCPP actions which the CS should allow to be sent/received | Actions for 1.6 Feature Profile 'Core' |
maxConnections | number | Maximum number of clients which should be allowed to connect at the same time | 511 |
sessionTimeout | number | Time in milliseconds after which a client session will be terminated if no further messages are received | 30000 |
authRequired | boolean | Whether connection attempts should be denied unless explicitly accepted | true |
basicAuth | boolean | Whether HTTP BASIC authentication mechanism should be allowed(Only secure in combination with HTTPS) | true |
certificateAuth | boolean | Whether clients should be able to use SSL/TLS certificates for authentication(It is recommended to use an e.g. Nginx proxy for this purpose) | false |
validation | boolean | Whether the contents of inbound & outbound messages should be validated against official JSON schemas | true |
0.6.1-beta
8 months ago
0.6.0-beta
8 months ago