X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=5246171d9711bc5fb2458f8ade8af532cdfd9434;hb=291cb255bec471875566d94ea674b7f476a2b7a1;hp=9b5d68be4137811df8732a1196c60e3e58fa837a;hpb=0302da7935a499dfff6304edab278253c1ba39e9;p=e-mobility-charging-stations-simulator.git diff --git a/README.md b/README.md index 9b5d68be..5246171d 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,6 @@ Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol. -## Start - -To start the program, run: `npm start`. - ## Configuration syntax All configuration files are in the JSON standard format. @@ -31,6 +27,7 @@ workerProcess | workerSet/staticPool/dynamicPool | workerSet | string | worker t workerStartDelay | | 500 | integer | milliseconds to wait at charging station worker threads startup workerPoolMinSize | | 4 | integer | worker threads pool minimum number of threads workerPoolMaxSize | | 16 | integer | worker threads pool maximum number of threads +workerPoolStrategy | ROUND_ROBIN/LESS_RECENTLY_USED/... | [poolifier](https://github.com/pioardi/poolifier) default: ROUND_ROBBIN | string | worker threads pool [poolifier](https://github.com/pioardi/poolifier) worker choice strategy 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 @@ -56,10 +53,11 @@ 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) +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 template @@ -69,8 +67,11 @@ 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) | integer | charging stations boot notification retries -enableStatistics | true/false | true | boolean | enable charging stations statistics -voltageOut | | AC:230/DC:400 | integer | charging stations voltage out +enableStatistics | true/false | true | boolean | enable charging stations statistics +beginEndMeterValues | true/false | false | boolean | enable Transaction.{Begin,End} MeterValues +outOfOrderEndMeterValues | true/false | false | boolean | send Transaction.End MeterValues out of order +meteringPerTransaction | true/false | true | boolean | disable metering on a per transaction basis +transactionDataMeterValues | true/false | false | boolean | enable transaction data MeterValues at stop transaction Configuration | | | ChargingStationConfiguration | charging stations OCPP configuration parameters AutomaticTransactionGenerator | | | AutomaticTransactionGenerator | charging stations ATG configuration Connectors | | | Connectors | charging stations connectors configuration @@ -113,7 +114,7 @@ Connectors | | | Connectors | charging stations connectors configuration "probabilityOfStart": 1, "stopAfterHours": 0.3, "stopOnConnectionFailure": true, - "requireAuthorize": false + "requireAuthorize": true } ``` #### Connectors section @@ -139,11 +140,129 @@ Connectors | | | Connectors | charging stations connectors configuration }, ``` -## OCPP commands +## Start + +To start the program, run: `npm start`. + +## Docker + +In the [docker](./docker) folder: + +```bash +make +``` + +Or without the optional git submodules: + +```bash +make SUBMODULES_INIT=false +``` + +## OCPP-J commands supported + +### Version 1.6 + +#### Core Profile + +- :white_check_mark: Authorize +- :white_check_mark: BootNotification +- :white_check_mark: ChangeAvailability +- :white_check_mark: ChangeConfiguration +- :white_check_mark: ClearCache +- :x: DataTransfer +- :white_check_mark: GetConfiguration +- :white_check_mark: Heartbeat +- :white_check_mark: MeterValues +- :white_check_mark: RemoteStartTransaction +- :white_check_mark: RemoteStopTransaction +- :white_check_mark: Reset +- :white_check_mark: StartTransaction +- :white_check_mark: StatusNotification +- :white_check_mark: StopTransaction +- :white_check_mark: UnlockConnector + +#### Firmware Management Profile + +- :x: GetDiagnostics +- :x: DiagnosticsStatusNotification +- :x: FirmwareStatusNotification +- :x: UpdateFirmware + +#### Local Auth List Management Profile + +- :x: GetLocalListVersion +- :x: SendLocalList + +#### Reservation Profile + +- :x: CancelReservation +- :x: ReserveNow + +#### Smart Charging Profile + +- :white_check_mark: ClearChargingProfile +- :white_check_mark: GetCompositeSchedule +- :white_check_mark: SetChargingProfile + +#### Remote Trigger Profile + +- :x: TriggerMessage + +## OCPP-J standard parameters supported + +All kind of OCPP parameters are supported in a charging station template. The list here mention the standard ones also handled automatically in the simulator. ### Version 1.6 -TODO +#### Core Profile + +- :white_check_mark: AuthorizeRemoteTxRequests (type: boolean) (units: -) +- :x: ClockAlignedDataInterval (type: integer) (units: seconds) +- :white_check_mark: ConnectionTimeOut (type: integer) (units: seconds) +- :x: GetConfigurationMaxKeys (type: integer) (units: -) +- :white_check_mark: HeartbeatInterval (type: integer) (units: seconds) +- :x: LocalAuthorizeOffline (type: boolean) (units: -) +- :x: LocalPreAuthorize (type: boolean) (units: -) +- :x: MeterValuesAlignedData (type: CSL) (units: -) +- :white_check_mark: MeterValuesSampledData (type: CSL) (units: -) +- :white_check_mark: MeterValueSampleInterval (type: integer) (units: seconds) +- :white_check_mark: NumberOfConnectors (type: integer) (units: -) +- :x: ResetRetries (type: integer) (units: times) +- :white_check_mark: ConnectorPhaseRotation (type: CSL) (units: -) +- :x: StopTransactionOnEVSideDisconnect (type: boolean) (units: -) +- :x: StopTransactionOnInvalidId (type: boolean) (units: -) +- :x: StopTxnAlignedData (type: CSL) (units: -) +- :x: StopTxnSampledData (type: CSL) (units: -) +- :white_check_mark: SupportedFeatureProfiles (type: CSL) (units: -) +- :x: TransactionMessageAttempts (type: integer) (units: times) +- :x: TransactionMessageRetryInterval (type: integer) (units: seconds) +- :x: UnlockConnectorOnEVSideDisconnect (type: boolean) (units: -) +- :white_check_mark: WebSocketPingInterval (type: integer) (units: seconds) + +#### Firmware Management Profile + +- *none* + +#### Local Auth List Management Profile + +- :white_check_mark: LocalAuthListEnabled (type: boolean) (units: -) +- :x: LocalAuthListMaxLength (type: integer) (units: -) +- :x: SendLocalListMaxLength (type: integer) (units: -) + +#### Reservation Profile + +- *none* + +#### Smart Charging Profile + +- :x: ChargeProfileMaxStackLevel (type: integer) (units: -) +- :x: ChargingScheduleAllowedChargingRateUnit (type: CSL) (units: -) +- :x: ChargingScheduleMaxPeriods (type: integer) (units: -) +- :x: MaxChargingProfilesInstalled (type: integer) (units: -) + +#### Remote Trigger Profile + +- *none* ## License