refactor: factor out charging station events waiter
[e-mobility-charging-stations-simulator.git] / README.md
index 27b24d3c18244beeb9629f42b687af14df6d4ab7..04771de2ff6647df14b63ec162a88ec675766dba 100644 (file)
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
 
 ## Summary
 
-Simple [node.js](https://nodejs.org/) software to simulate and scale a set of charging stations based on the OCPP-J 1.6 protocol as part of SAP e-Mobility solution.
+Simple [node.js](https://nodejs.org/) software to simulate and scale a set of charging stations based on the OCPP-J protocol as part of [SAP e-Mobility](https://www.sap.com/products/scm/e-mobility.html) solution.
 
 ## Prerequisites
 
@@ -78,7 +78,7 @@ The charging stations simulator's configuration parameters must be within the `s
 
 All charging station configuration templates are in the directory [src/assets/station-templates](src/assets/station-templates).
 
-A list of RFID tags must be defined for the automatic transaction generator in a file with a default location and name: `src/assets/idtags.json`. A template file is available at [src/assets/idtags-template.json](src/assets/idtags-template.json).
+A list of RFID tags must be defined for the automatic transaction generator in a file with the default location and name: `src/assets/idtags.json`. A template file is available at [src/assets/idtags-template.json](src/assets/idtags-template.json).
 
 **Configuration files hierarchy and priority**:
 
@@ -86,13 +86,13 @@ A list of RFID tags must be defined for the automatic transaction generator in a
 2. charging station configuration template: [src/assets/station-templates](src/assets/station-templates);
 3. charging stations simulator configuration: [src/assets/config.json](src/assets/config.json).
 
-The charging stations simulator have an automatic configuration files reload feature at change for:
+The charging stations simulator has an automatic configuration files reload feature at change for:
 
 - charging stations simulator configuration;
 - charging station configuration templates;
 - charging station authorization RFID tags lists.
 
-But the modifications to test have to be done to the files in the build target directory [dist/assets](dist/assets). Once the modifications are finished, they have to be reported or copied to the matching files in the build source directory [src/assets](src/assets) to ensure they will be taken into account at next build.
+But the modifications to test have to be done to the files in the build target directory [dist/assets](dist/assets). Once the modifications are done, they have to be reported to the matching files in the build source directory [src/assets](src/assets) to ensure they will be taken into account at next build.
 
 ### Charging stations simulator configuration
 
@@ -103,6 +103,7 @@ But the modifications to test have to be done to the files in the build target d
 | supervisionUrls            |                                                  | []                                                                                                                                                                                                            | string \| string[]                                                                                                                                                                                                                  | string or array of global connection URIs to OCPP-J servers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
 | supervisionUrlDistribution | round-robin/random/charging-station-affinity     | charging-station-affinity                                                                                                                                                                                     | boolean                                                                                                                                                                                                                             | supervision urls distribution policy to simulated charging stations                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
 | logStatisticsInterval      |                                                  | 60                                                                                                                                                                                                            | integer                                                                                                                                                                                                                             | seconds between charging stations statistics output in the logs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+| logEnabled                 | true/false                                       | true                                                                                                                                                                                                          | boolean                                                                                                                                                                                                                             | enable logging                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 | logConsole                 | true/false                                       | false                                                                                                                                                                                                         | boolean                                                                                                                                                                                                                             | output logs on the console                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
 | logFormat                  |                                                  | simple                                                                                                                                                                                                        | string                                                                                                                                                                                                                              | [winston](https://github.com/winstonjs/winston) log format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
 | logRotate                  | true/false                                       | true                                                                                                                                                                                                          | boolean                                                                                                                                                                                                                             | enable daily log files rotation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
@@ -145,7 +146,7 @@ But the modifications to test have to be done to the files in the build target d
 | stationInfoPersistentConfiguration                   | true/false    | true                                                                                                                                | boolean                                                                                                                                                                  | enable persistent station information and specifications storage by charging stations 'hashId'. The persistency is ensured by the charging stations configuration files in [dist/assets/configurations](dist/assets/configurations)        |
 | automaticTransactionGeneratorPersistentConfiguration | true/false    | true                                                                                                                                | boolean                                                                                                                                                                  | enable persistent automatic transaction generator configuration storage by charging stations 'hashId'. The persistency is ensured by the charging stations configuration files in [dist/assets/configurations](dist/assets/configurations) |
 | wsOptions                                            |               | {}                                                                                                                                  | ClientOptions & ClientRequestArgs                                                                                                                                        | [ws](https://github.com/websockets/ws) and node.js [http](https://nodejs.org/api/http.html) clients options intersection                                                                                                                   |
-| idTagsFile                                           |               | undefined                                                                                                                           | string                                                                                                                                                                   | RFID tags list file relative to src/assets path                                                                                                                                                                                            |
+| idTagsFile                                           |               | undefined                                                                                                                           | string                                                                                                                                                                   | RFID tags list file relative to [src/assets](src/assets) path                                                                                                                                                                              |
 | baseName                                             |               | undefined                                                                                                                           | string                                                                                                                                                                   | base name to build charging stations id                                                                                                                                                                                                    |
 | nameSuffix                                           |               | undefined                                                                                                                           | string                                                                                                                                                                   | name suffix to build charging stations id                                                                                                                                                                                                  |
 | fixedName                                            | true/false    | false                                                                                                                               | boolean                                                                                                                                                                  | use the baseName as the charging stations unique name                                                                                                                                                                                      |
@@ -339,6 +340,10 @@ The syntax is similar to charging station configuration template with some added
 
 The syntax is similar to the charging station configuration template 'Configuration' section.
 
+#### automaticTransactionGenerator section
+
+The syntax is similar to the charging station configuration template 'AutomaticTransactionGenerator' section.
+
 ## Docker
 
 In the [docker](./docker) folder:
@@ -390,8 +395,8 @@ make SUBMODULES_INIT=true
 
 #### Reservation Profile
 
-- :x: CancelReservation
-- :x: ReserveNow
+- :white_check_mark: CancelReservation
+- :white_check_mark: ReserveNow
 
 #### Smart Charging Profile
 
@@ -420,7 +425,7 @@ make SUBMODULES_INIT=true
 
 ## OCPP-J standard parameters supported
 
-All kind of OCPP parameters are supported in a charging station configuration or a charging station configuration template file. The list here mention the standard ones also handled automatically in the simulator.
+All kind of OCPP parameters are supported in charging station configuration or charging station configuration template file. The list here mention the standard ones also handled automatically in the simulator.
 
 ### Version 1.6
 
@@ -461,7 +466,7 @@ All kind of OCPP parameters are supported in a charging station configuration or
 
 #### Reservation Profile
 
-- _none_
+- :white_check_mark: ReserveConnectorZeroSupported (type: boolean) (units: -)
 
 #### Smart Charging Profile