Update dependency
[e-mobility-charging-stations-simulator.git] / README.md
1 # ev-simulator
2
3 ## Summary
4
5 Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol.
6
7 ## Start
8
9 To start the program, run: `npm start`.
10
11 ## Configuration syntax
12
13 All configuration files are in the JSON standard format.
14
15 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).
16
17 All charging station templates are in the directory [src/assets/station-templates](src/assets/station-templates).
18
19 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).
20
21 ### Global configuration
22
23 _src/assets/config.json_
24
25 Key | Value(s) | Default Value | Value type | Description
26 --- | -------| --------------| ---------- | ------------
27 supervisionURLs | | [] | string[] | array of connection URIs to OCPP-J servers
28 distributeStationsToTenantsEqually | true/false | true | boolean | distribute charging stations uniformly to the OCPP-J servers
29 statisticsDisplayInterval | | 60 | integer | seconds between charging stations statistics output in the logs
30 workerProcess | workerSet/staticPool/dynamicPool | workerSet | string | worker threads process type
31 workerPoolMinSize | | 4 | integer | worker threads pool minimum number of threads
32 workerPoolMaxSize | | 16 | integer | worker threads pool maximum number of threads
33 chargingStationsPerWorker | | 1 | integer | number of charging stations per worker threads for the `workerSet` process type
34 logConsole | true/false | false | boolean | output logs on the console
35 logFormat | | simple | string | winston log format
36 logRotate | true/false | true | boolean | enable daily log files rotation
37 logMaxFiles | | 7 | integer | maximum number of files to keep
38 logLevel | emerg/alert/crit/error/warning/notice/info/debug | info | string | winston logging level
39 logFile | | combined.log | string | log file relative path
40 logErrorFile | | error.log | string | error log file relative path
41
42 ### Charging station template
43
44 Key | Value(s) | Default Value | Value type | Description
45 --- | -------| --------------| ---------- | ------------
46 authorizationFile | | '' | string | RFID tags list file relative to src/assets path
47
48 ## License
49
50 This file and all other files in this repository are licensed under the Apache Software License, v.2 and copyrighted under the copyright in [NOTICE](NOTICE) file, except as noted otherwise in the [LICENSE](LICENSE) file.
51
52 Please note that Docker images can contain other software which may be licensed under different licenses. This LICENSE and NOTICE files are also included in the Docker image. For any usage of built Docker images please make sure to check the licenses of the artifacts contained in the images.