Refine the documentation
[e-mobility-charging-stations-simulator.git] / README.md
index 7b6ded25bd95e260f8b4c81338b57627302bfbac..1ca3701e51143f2d2de67110577d9e9f50553567 100644 (file)
--- 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 
@@ -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
+- :negative_squared_cross_mark: 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
+
+- :negative_squared_cross_mark: GetDiagnostics
+- :negative_squared_cross_mark: DiagnosticsStatusNotification
+- :negative_squared_cross_mark: FirmwareStatusNotification
+- :negative_squared_cross_mark: UpdateFirmware
+
+### Local Auth List Management Profile
+
+- :negative_squared_cross_mark: GetLocalListVersion
+- :negative_squared_cross_mark: SendLocalList
+
+### Reservation Profile
+
+- :negative_squared_cross_mark: CancelReservation
+- :negative_squared_cross_mark: ReserveNow
+
+### Smart Charging Profile
+
+- :white_check_mark: ClearChargingProfile
+- :white_check_mark: GetCompositeSchedule
+- :white_check_mark: SetChargingProfile
+
+### Remote Trigger Profile
+
+- :negative_squared_cross_mark: TriggerMessage
 
 ## License