README.md: add more documentation for cs template
[e-mobility-charging-stations-simulator.git] / README.md
index ae9351a0cb871f0a2cc5583deedf9da94a91597e..e63f32f6b4b5f08a9c1dbb371d99e9f49bc21730 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,13 +2,74 @@
 
 ## Summary
 
-Simple node program to simulate a set of charging stations based on OCPP 1.6 protocol.
+Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol.
 
-To run the program start: `npm start`.
+## Start
 
-All the configuration parameters of the program must be within the src/assets/config.json file. A configuration template file is available at [src/assets/config-template.json](src/assets/config-template.json).
+To start the program, run: `npm start`.
 
-All charging station templates are in [src/assets/station-templates](src/assets/station-templates).
+## Configuration syntax
+
+All configuration files are in the JSON standard format.  
+
+The program's global configuration parameters must be within the src/assets/config.json file. A configuration template file is available at [src/assets/config-template.json](src/assets/config-template.json).
+
+All charging station 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 with the default location and name src/assets/authorization-tags.json. A template file is available at [src/assets/authorization-tags-template.json](src/assets/authorization-tags-template.json).
+
+### Global configuration 
+
+**src/assets/config.json**:
+
+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           
+workerPoolMinSize | | 4 | integer | worker threads pool minimum number of threads
+workerPoolMaxSize | | 16 | integer | worker threads pool maximum number of threads
+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
+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 
+stationTemplateURLs | | {}[] | { file: string; numberOfStations: number; }[] | array of charging template file URIs
+### Charging station template
+
+Key | Value(s) | Default Value | Value type | Description 
+--- | -------| --------------| ---------- | ------------
+supervisionURL | | '' | string | connection URI to OCPP-J server
+ocppVersion | 1.6 | 1.6 | string | OCPP version 
+ocppProtocol | json | json | string | OCPP protocol
+authorizationFile | | '' | string | RFID tags list file relative to src/assets path
+baseName | | '' | string | base name to build charging stations name
+nameSuffix | | '' | string | name suffix to build charging stations name
+fixedName | true/false | false | boolean | use the baseName as the charging stations unique name
+chargePointModel | | '' | string | charging stations model
+chargePointVendor | | '' | string | charging stations vendor
+chargeBoxSerialNumberPrefix | | '' | string | charging stations serial number prefix
+firmwareVersion | | '' | string | charging stations firmware version
+power | | | integer\|integer[] | charging stations maximum power value(s)
+powerSharedByConnectors | true/false | false | boolean | charging stations power shared by its connectors
+powerUnit | W/kW | W | string | charging stations power unit
+currentOutType | AC/DC | AC | string | charging stations current out type
+numberOfPhases | 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
+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
+reconnectExponentialDelay | true/false | false | boolean | connection delay retry to the OCPP-J server
+registrationMaxRetries | | -1 (unlimited) | boolean | charging stations boot notification retries
+enableStatistics | true/false | true | boolean | enable charging stations statistics   
+voltageOut | | AC:230/DC:400 | number | charging stations voltage out 
 
 ## License