X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=cec08120b78d5bee9740173942f69bcc4819a532;hb=2bbddc367e37d0d163ee0e22f63c7093bb3aa0cd;hp=a62e5cc170818b61c062971878123714f7ed0609;hpb=c94a349ab851b4887b742e6798091983db7f537b;p=e-mobility-charging-stations-simulator.git diff --git a/README.md b/README.md index a62e5cc1..cec08120 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,6 @@ Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol. -## Start - -To start the program, run: `npm start`. - ## Configuration syntax All configuration files are in the JSON standard format. @@ -27,14 +23,16 @@ Key | Value(s) | Default Value | Value type | Description supervisionURLs | | [] | string[] | array of connection URIs to OCPP-J servers distributeStationsToTenantsEqually | true/false | true | boolean | distribute charging stations uniformly to the OCPP-J servers statisticsDisplayInterval | | 60 | integer | seconds between charging stations statistics output in the logs -workerProcess | workerSet/staticPool/dynamicPool | workerSet | string | worker threads process type +workerProcess | workerSet/staticPool/dynamicPool | workerSet | string | worker threads process type +workerStartDelay | | 500 | integer | milliseconds to wait at charging station worker threads startup workerPoolMinSize | | 4 | integer | worker threads pool minimum number of threads workerPoolMaxSize | | 16 | integer | worker threads pool maximum number of threads +workerPoolStrategy | ROUND_ROBIN/LESS_RECENTLY_USED/... | [poolifier](https://github.com/pioardi/poolifier) default: ROUND_ROBBIN | string | worker threads pool [poolifier](https://github.com/pioardi/poolifier) worker choice strategy chargingStationsPerWorker | | 1 | integer | number of charging stations per worker threads for the `workerSet` process type logConsole | true/false | false | boolean | output logs on the console logFormat | | simple | string | winston log format logRotate | true/false | true | boolean | enable daily log files rotation -logMaxFiles | | 7 | integer | maximum number of files to keep +logMaxFiles | | 7 | integer | maximum number of log files to keep logLevel | emerg/alert/crit/error/warning/notice/info/debug | info | string | winston logging level logFile | | combined.log | string | log file relative path logErrorFile | | error.log | string | error log file relative path @@ -62,7 +60,7 @@ currentOutType | AC/DC | AC | string | charging stations current out type numberOfPhases | 0/1/3 | AC:3/DC:0 | integer | charging stations number of phase(s) numberOfConnectors | | | integer\|integer[] | charging stations number of connector(s) useConnectorId0 | true/false | true | boolean | use connector id 0 definition from the template -randomConnectors | true/false | false | boolean | randomize the connector id +randomConnectors | true/false | false | boolean | randomize runtime connector id affectation from the connector id definition in template resetTime | | 60 | integer | seconds to wait before the charging stations come back at reset connectionTimeout | | 30 | integer | connection timeout to the OCPP-J server autoReconnectMaxRetries | | -1 (unlimited) | integer | connection retries to the OCPP-J server @@ -77,7 +75,7 @@ Connectors | | | Connectors | charging stations connectors configuration #### Configuration section ```json -"Configuration": { + "Configuration": { "configurationKey": [ ... { @@ -103,7 +101,7 @@ Connectors | | | Connectors | charging stations connectors configuration #### AutomaticTransactionGenerator section ```json - "AutomaticTransactionGenerator": { + "AutomaticTransactionGenerator": { "enable": false, "minDuration": 60, "maxDuration": 80, @@ -118,7 +116,7 @@ Connectors | | | Connectors | charging stations connectors configuration #### Connectors section ```json -"Connectors": { + "Connectors": { "0": {}, "1": { "bootStatus": "Available", @@ -138,11 +136,73 @@ Connectors | | | Connectors | charging stations connectors configuration }, ``` -## OCPP commands +## Start + +To start the program, run: `npm start`. + +## Docker + +In the [docker](./docker) folder: + +```bash +make +``` + +Or without the optional git submodules: + +```bash +make SUBMODULES_INIT=false +``` + +## OCPP-J commands supported ### Version 1.6 -TODO +### Core Profile + +- :white_check_mark: Authorize +- :white_check_mark: BootNotification +- :white_check_mark: ChangeAvailability +- :white_check_mark: ChangeConfiguration +- :white_check_mark: ClearCache +- :x: DataTransfer +- :white_check_mark: GetConfiguration +- :white_check_mark: Heartbeat +- :white_check_mark: MeterValues +- :white_check_mark: RemoteStartTransaction +- :white_check_mark: RemoteStopTransaction +- :white_check_mark: Reset +- :white_check_mark: StartTransaction +- :white_check_mark: StatusNotification +- :white_check_mark: StopTransaction +- :white_check_mark: UnlockConnector + +### Firmware Management Profile + +- :x: GetDiagnostics +- :x: DiagnosticsStatusNotification +- :x: FirmwareStatusNotification +- :x: UpdateFirmware + +### Local Auth List Management Profile + +- :x: GetLocalListVersion +- :x: SendLocalList + +### Reservation Profile + +- :x: CancelReservation +- :x: ReserveNow + +### Smart Charging Profile + +- :white_check_mark: ClearChargingProfile +- :white_check_mark: GetCompositeSchedule +- :white_check_mark: SetChargingProfile + +### Remote Trigger Profile + +- :x: TriggerMessage ## License