Use helper to close connection
[e-mobility-charging-stations-simulator.git] / README.md
index d1bfd73b279b6f8da865bce60db983b3d0cb4b33..441f156b4b6e3e143169b18e17e93389766867db 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
-# [emobility-charging-stations-simulator](https://github.com/sap/emobility-charging-stations-simulator)
+# [e-mobility charging stations simulator](https://github.com/sap/e-mobility-charging-stations-simulator)
+
+[![REUSE status](https://api.reuse.software/badge/github.com/SAP/e-mobility-charging-stations-simulator)](https://api.reuse.software/info/github.com/SAP/e-mobility-charging-stations-simulator)
 
 ## Summary
 
-Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol.
+Simple [node.js](https://nodejs.org/) software to simulate a set of charging stations based on the OCPP-J 1.6 protocol as part of SAP e-Mobility solution.
 
 ## Prerequisites
 
@@ -99,55 +101,56 @@ But the modifications to test have to be done to the files in the build result d
 
 **src/assets/station-templates/\<name\>.json**:
 
-| Key                               | Value(s)   | Default Value   | Value type                        | Description                                                                                                                                                                    |
-| --------------------------------- | ---------- | --------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| supervisionUrls                   |            | ''              | string \| string[]                | string or array of connection URIs to OCPP-J servers                                                                                                                           |
-| supervisionUser                   |            | ''              | string                            | basic HTTP authentication user to OCPP-J server                                                                                                                                |
-| supervisionPassword               |            | ''              | string                            | basic HTTP authentication password to OCPP-J server                                                                                                                            |
-| supervisionUrlOcppConfiguration   | true/false | false           | boolean                           | allow supervision URL configuration via a vendor OCPP parameter key                                                                                                            |
-| supervisionUrlOcppKey             |            | 'ConnectionUrl' | string                            | the vendor string that will be used as a vendor OCPP parameter key to set the supervision URL                                                                                  |
-| ocppVersion                       | 1.6        | 1.6             | string                            | OCPP version                                                                                                                                                                   |
-| ocppProtocol                      | json       | json            | string                            | OCPP protocol                                                                                                                                                                  |
-| ocppStrictCompliance              | true/false | false           | boolean                           | strict adherence to the OCPP version and protocol specifications                                                                                                               |
-| ocppPersistentConfiguration       | true/false | true            | boolean                           | enable persistent OCPP parameters storage by charging stations 'hashId'. The persistency is ensured by the charging stations configuration files in 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                                                       |
-| authorizationFile                 |            | ''              | string                            | RFID tags list file relative to src/assets path                                                                                                                                |
-| baseName                          |            | ''              | string                            | base name to build charging stations id                                                                                                                                        |
-| nameSuffix                        |            | ''              | string                            | name suffix to build charging stations id                                                                                                                                      |
-| fixedName                         | true/false | false           | boolean                           | use the baseName as the charging stations unique name                                                                                                                          |
-| chargePointModel                  |            | ''              | string                            | charging stations model                                                                                                                                                        |
-| chargePointVendor                 |            | ''              | string                            | charging stations vendor                                                                                                                                                       |
-| chargePointSerialNumberPrefix     |            | ''              | string                            | charge point serial number prefix                                                                                                                                              |
-| chargeBoxSerialNumberPrefix       |            | ''              | string                            | charge box serial number prefix (deprecated in OCPP 1.6)                                                                                                                       |
-| firmwareVersion                   |            | ''              | string                            | charging stations firmware version                                                                                                                                             |
-| power                             |            |                 | float \| float[]                  | 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                                                                                                                                             |
-| voltageOut                        |            | AC:230/DC:400   | integer                           | charging stations voltage out                                                                                                                                                  |
-| 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 charging station configuration template                                                                                                 |
-| randomConnectors                  | true/false | false           | boolean                           | randomize runtime connector id affectation from the connector id definition in charging station configuration template                                                         |
-| resetTime                         |            | 60              | integer                           | seconds to wait before the charging stations come back at reset                                                                                                                |
-| autoRegister                      | true/false | false           | boolean                           | set charging stations as registered at boot notification for testing purpose                                                                                                   |
-| 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)  | integer                           | charging stations boot notification retries                                                                                                                                    |
-| amperageLimitationOcppKey         |            | undefined       | string                            | charging stations OCPP parameter key used to set the amperage limit, per phase for each connector on AC and global for DC                                                      |
-| amperageLimitationUnit            | A/cA/dA/mA | A               | string                            | charging stations amperage limit unit                                                                                                                                          |
-| enableStatistics                  | true/false | true            | boolean                           | enable charging stations statistics                                                                                                                                            |
-| mayAuthorizeAtRemoteStart         | true/false | true            | boolean                           | always send authorize at remote start transaction when AuthorizeRemoteTxRequests is enabled                                                                                    |
-| beginEndMeterValues               | true/false | false           | boolean                           | enable Transaction.{Begin,End} MeterValues                                                                                                                                     |
-| outOfOrderEndMeterValues          | true/false | false           | boolean                           | send Transaction.End MeterValues out of order. Need to relax OCPP specifications strict compliance ('ocppStrictCompliance' parameter)                                          |
-| meteringPerTransaction            | true/false | true            | boolean                           | enable metering history on a per transaction basis                                                                                                                             |
-| transactionDataMeterValues        | true/false | false           | boolean                           | enable transaction data MeterValues at stop transaction                                                                                                                        |
-| mainVoltageMeterValues            | true/false | true            | boolean                           | include charging stations main voltage MeterValues on three phased charging stations                                                                                           |
-| phaseLineToLineVoltageMeterValues | true/false | true            | boolean                           | include charging stations line to line voltage MeterValues on three phased charging stations                                                                                   |
-| customValueLimitationMeterValues  | true/false | true            | boolean                           | enable limitation on custom fluctuated value in MeterValues                                                                                                                    |
-| Configuration                     |            |                 | ChargingStationConfiguration      | charging stations OCPP parameters configuration section                                                                                                                        |
-| AutomaticTransactionGenerator     |            |                 | AutomaticTransactionGenerator     | charging stations ATG configuration section                                                                                                                                    |
-| Connectors                        |            |                 | Connectors                        | charging stations connectors configuration section                                                                                                                             |
+| Key                                | Value(s)   | Default Value   | Value type                        | Description                                                                                                                                                                                           |
+| ---------------------------------- | ---------- | --------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| supervisionUrls                    |            | ''              | string \| string[]                | string or array of connection URIs to OCPP-J servers                                                                                                                                                  |
+| supervisionUser                    |            | ''              | string                            | basic HTTP authentication user to OCPP-J server                                                                                                                                                       |
+| supervisionPassword                |            | ''              | string                            | basic HTTP authentication password to OCPP-J server                                                                                                                                                   |
+| supervisionUrlOcppConfiguration    | true/false | false           | boolean                           | allow supervision URL configuration via a vendor OCPP parameter key                                                                                                                                   |
+| supervisionUrlOcppKey              |            | 'ConnectionUrl' | string                            | the vendor string that will be used as a vendor OCPP parameter key to set the supervision URL                                                                                                         |
+| ocppVersion                        | 1.6        | 1.6             | string                            | OCPP version                                                                                                                                                                                          |
+| ocppProtocol                       | json       | json            | string                            | OCPP protocol                                                                                                                                                                                         |
+| ocppStrictCompliance               | true/false | false           | boolean                           | strict adherence to the OCPP version and protocol specifications                                                                                                                                      |
+| ocppPersistentConfiguration        | true/false | true            | boolean                           | enable persistent OCPP parameters storage by charging stations 'hashId'. The persistency is ensured by the charging stations configuration files in dist/assets/configurations                        |
+| 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 |
+| wsOptions                          |            | {}              | ClientOptions & ClientRequestArgs | [ws](https://github.com/websockets/ws) and node.js [http](https://nodejs.org/api/http.html) clients options intersection                                                                              |
+| authorizationFile                  |            | ''              | string                            | RFID tags list file relative to src/assets path                                                                                                                                                       |
+| baseName                           |            | ''              | string                            | base name to build charging stations id                                                                                                                                                               |
+| nameSuffix                         |            | ''              | string                            | name suffix to build charging stations id                                                                                                                                                             |
+| fixedName                          | true/false | false           | boolean                           | use the baseName as the charging stations unique name                                                                                                                                                 |
+| chargePointModel                   |            | ''              | string                            | charging stations model                                                                                                                                                                               |
+| chargePointVendor                  |            | ''              | string                            | charging stations vendor                                                                                                                                                                              |
+| chargePointSerialNumberPrefix      |            | ''              | string                            | charge point serial number prefix                                                                                                                                                                     |
+| chargeBoxSerialNumberPrefix        |            | ''              | string                            | charge box serial number prefix (deprecated in OCPP 1.6)                                                                                                                                              |
+| firmwareVersion                    |            | ''              | string                            | charging stations firmware version                                                                                                                                                                    |
+| power                              |            |                 | float \| float[]                  | 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                                                                                                                                                                    |
+| voltageOut                         |            | AC:230/DC:400   | integer                           | charging stations voltage out                                                                                                                                                                         |
+| 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 charging station configuration template                                                                                                                        |
+| randomConnectors                   | true/false | false           | boolean                           | randomize runtime connector id affectation from the connector id definition in charging station configuration template                                                                                |
+| resetTime                          |            | 60              | integer                           | seconds to wait before the charging stations come back at reset                                                                                                                                       |
+| autoRegister                       | true/false | false           | boolean                           | set charging stations as registered at boot notification for testing purpose                                                                                                                          |
+| 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)  | integer                           | charging stations boot notification retries                                                                                                                                                           |
+| amperageLimitationOcppKey          |            | undefined       | string                            | charging stations OCPP parameter key used to set the amperage limit, per phase for each connector on AC and global for DC                                                                             |
+| amperageLimitationUnit             | A/cA/dA/mA | A               | string                            | charging stations amperage limit unit                                                                                                                                                                 |
+| enableStatistics                   | true/false | true            | boolean                           | enable charging stations statistics                                                                                                                                                                   |
+| mayAuthorizeAtRemoteStart          | true/false | true            | boolean                           | always send authorize at remote start transaction when AuthorizeRemoteTxRequests is enabled                                                                                                           |
+| beginEndMeterValues                | true/false | false           | boolean                           | enable Transaction.{Begin,End} MeterValues                                                                                                                                                            |
+| outOfOrderEndMeterValues           | true/false | false           | boolean                           | send Transaction.End MeterValues out of order. Need to relax OCPP specifications strict compliance ('ocppStrictCompliance' parameter)                                                                 |
+| meteringPerTransaction             | true/false | true            | boolean                           | enable metering history on a per transaction basis                                                                                                                                                    |
+| transactionDataMeterValues         | true/false | false           | boolean                           | enable transaction data MeterValues at stop transaction                                                                                                                                               |
+| mainVoltageMeterValues             | true/false | true            | boolean                           | include charging stations main voltage MeterValues on three phased charging stations                                                                                                                  |
+| phaseLineToLineVoltageMeterValues  | true/false | true            | boolean                           | include charging stations line to line voltage MeterValues on three phased charging stations                                                                                                          |
+| customValueLimitationMeterValues   | true/false | true            | boolean                           | enable limitation on custom fluctuated value in MeterValues                                                                                                                                           |
+| Configuration                      |            |                 | ChargingStationConfiguration      | charging stations OCPP parameters configuration section                                                                                                                                               |
+| AutomaticTransactionGenerator      |            |                 | AutomaticTransactionGenerator     | charging stations ATG configuration section                                                                                                                                                           |
+| Connectors                         |            |                 | Connectors                        | charging stations connectors configuration section                                                                                                                                                    |
 
 #### Configuration section
 
@@ -367,7 +370,7 @@ All kind of OCPP parameters are supported in a charging station configuration or
 
 ## Support, Feedback, Contributing
 
-This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/SAP/emobility-charging-stations-simulator/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).
+This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/SAP/e-mobility-charging-stations-simulator/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).
 
 ## Code of Conduct
 
@@ -375,4 +378,4 @@ We as members, contributors, and leaders pledge to make participation in our com
 
 ## Licensing
 
-Copyright 2020-2022 SAP SE or an SAP affiliate company and emobility-charging-stations-simulator contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/SAP/emobility-charging-stations-simulator).
+Copyright 2020-2022 SAP SE or an SAP affiliate company and e-mobility-charging-stations-simulator contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/SAP/e-mobility-charging-stations-simulator).