Document template directive 'firmwareVersionPattern'
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 24 Dec 2022 10:33:45 +0000 (11:33 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 24 Dec 2022 10:33:45 +0000 (11:33 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
README.md
src/charging-station/ChargingStationUtils.ts

index 8493060d7a9f549b18d8b05c26a2682abc7036b6..dd8287f6841e0283009143fa50935e7df7d0f413 100644 (file)
--- a/README.md
+++ b/README.md
@@ -123,59 +123,60 @@ But the modifications to test have to be done to the files in the build target 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                        |
-| 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                                                                                                                                                                   |
-| mustAuthorizeAtRemoteStart         | true/false | true                                                              | boolean                                                                                                                            | always send authorize at remote start transaction when AuthorizeRemoteTxRequests is enabled                                                                                                           |
-| payloadSchemaValidation            | true/false | true                                                              | boolean                                                                                                                            | validate OCPP commands PDU against [OCA](https://www.openchargealliance.org/) JSON schemas                                                                                                            |
-| 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                                                                                                                                           |
-| commandsSupport                    |            | {<br />"incomingCommands": {},<br />"outgoingCommands": {}<br />} | {<br /> incomingCommands: Record<IncomingRequestCommand, boolean>;<br />outgoingCommands?: Record<RequestCommand, boolean>;<br />} | Configuration section for OCPP commands support. Empty section or subsections means all implemented OCPP commands are supported                                                                       |
-| messageTriggerSupport              |            | {}                                                                | Record<MessageTrigger, boolean>                                                                                                    | Configuration section for OCPP commands trigger support. Empty section means all implemented OCPP trigger commands are supported                                                                      |
-| 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                    |            | undefined                                                                                                                           | string                                                                                                                             | basic HTTP authentication user to OCPP-J server                                                                                                                                                       |
+| supervisionPassword                |            | undefined                                                                                                                           | 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                  |            | undefined                                                                                                                           | string                                                                                                                             | RFID tags list file relative to 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                                                                                                                                                 |
+| chargePointModel                   |            | undefined                                                                                                                           | string                                                                                                                             | charging stations model                                                                                                                                                                               |
+| chargePointVendor                  |            | undefined                                                                                                                           | string                                                                                                                             | charging stations vendor                                                                                                                                                                              |
+| chargePointSerialNumberPrefix      |            | undefined                                                                                                                           | string                                                                                                                             | charge point serial number prefix                                                                                                                                                                     |
+| chargeBoxSerialNumberPrefix        |            | undefined                                                                                                                           | string                                                                                                                             | charge box serial number prefix (deprecated in OCPP 1.6)                                                                                                                                              |
+| firmwareVersionPattern             |            | Semantic versionning regular expression: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string | string                                                                                                                             | charging stations firmware version pattern                                                                                                                                                            |
+| firmwareVersion                    |            | undefined                                                                                                                           | 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                                                                                                                                                                   |
+| mustAuthorizeAtRemoteStart         | true/false | true                                                                                                                                | boolean                                                                                                                            | always send authorize at remote start transaction when AuthorizeRemoteTxRequests is enabled                                                                                                           |
+| payloadSchemaValidation            | true/false | true                                                                                                                                | boolean                                                                                                                            | validate OCPP commands PDU against [OCA](https://www.openchargealliance.org/) JSON schemas                                                                                                            |
+| 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                                                                                                                                           |
+| commandsSupport                    |            | {<br />"incomingCommands": {},<br />"outgoingCommands": {}<br />}                                                                   | {<br /> incomingCommands: Record<IncomingRequestCommand, boolean>;<br />outgoingCommands?: Record<RequestCommand, boolean>;<br />} | Configuration section for OCPP commands support. Empty section or subsections means all implemented OCPP commands are supported                                                                       |
+| messageTriggerSupport              |            | {}                                                                                                                                  | Record<MessageTrigger, boolean>                                                                                                    | Configuration section for OCPP commands trigger support. Empty section means all implemented OCPP trigger commands are supported                                                                      |
+| Configuration                      |            |                                                                                                                                     | ChargingStationConfiguration                                                                                                       | charging stations OCPP parameters configuration section                                                                                                                                               |
+| AutomaticTransactionGenerator      |            |                                                                                                                                     | AutomaticTransactionGenerator                                                                                                      | charging stations ATG configuration section                                                                                                                                                           |
+| Connectors                         |            |                                                                                                                                     | Connectors                                                                                                                         | charging stations connectors configuration section                                                                                                                                                    |
 
 #### Configuration section
 
index 1670fb00e09a4f133b7ea51e88d9db9bde422490..f7f0d4aab1af38a690be5b2bcc88e665ad483fe8 100644 (file)
@@ -55,6 +55,7 @@ export class ChargingStationUtils {
       ...(!Utils.isUndefined(stationTemplate.chargePointSerialNumberPrefix) && {
         chargePointSerialNumber: stationTemplate.chargePointSerialNumberPrefix,
       }),
+      // FIXME?: Should a firmware version change always reference a new configuration file?
       ...(!Utils.isUndefined(stationTemplate.firmwareVersion) && {
         firmwareVersion: stationTemplate.firmwareVersion,
       }),