X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=README.md;h=f59641624e92b696cfbb72730f4ea5531efd34b3;hb=e4cb2c14d14e95090cca15518594af1c3f369d2b;hp=aeb0b87915d6f8be8f0c8a275f9998a7d0049b24;hpb=65554cc3fc240ee17d57c57ec60a2a0da4d757ba;p=e-mobility-charging-stations-simulator.git diff --git a/README.md b/README.md index aeb0b879..f5964162 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,9 @@ Tweak them to your needs by following the section [configuration files syntax](R To start the program, run: `npm start`. -To start the program with a UI controller, run: `npm run start:server`. -Then, start/stop the simulator by going to `https://` in a browser. Localhost port will default to 8080. For Cloud Foundry, the port is assigned based on the `process.env.PORT` environment variable. +## Start Web UI + +See Web UI [README.md](src/ui/web/README.md) for more information. ## Configuration files syntax @@ -107,7 +108,7 @@ But the modifications to test have to be done to the files in the build target d #### Worker process model: - **workerSet**: - Worker set executing each a static number (chargingStationsPerWorker) of simulated charging stations from the total + Worker set executing each a static number (elementsPerWorker) of simulated charging stations from the total - **staticPool**: Statically sized worker pool executing a static total number of simulated charging stations @@ -159,6 +160,7 @@ But the modifications to test have to be done to the files in the build target d | 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 | +| payloadSchemaValidation | true/false | true | boolean | validate OCPP commands PDU against OCA 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 | @@ -166,7 +168,7 @@ But the modifications to test have to be done to the files in the build target d | 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 | | {
"incomingCommands": {},
"outgoingCommands": {}
} | {
incomingCommands: Record;
outgoingCommands?: Record;
} | Configuration section for OCPP commands support. Empty section means all implemented are supported support | +| commandsSupport | | {
"incomingCommands": {},
"outgoingCommands": {}
} | {
incomingCommands: Record;
outgoingCommands?: Record;
} | Configuration section for OCPP commands support. Empty section or subsections means all implemented 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 | @@ -380,6 +382,150 @@ All kind of OCPP parameters are supported in a charging station configuration or - _none_ +## UI protocol + +Protocol to control the simulator via a Websocket + +### Protocol + +PDU stands for Protocol Data Unit + +Request: +[`uuid`, `ProcedureName`, `PDU`] + +`uuid`: String uniquely representing this request +`ProcedureName`: The procedure to run on the simulator +`PDU`: The parameters for said procedure + +Response: +[`uuid`, `PDU`] + +`uuid`: String uniquely linking the response to the request +`PDU`: Response data to requested procedure + +### Version 0.0.1 + +Set the HTTP header _Sec-Websocket-Protocol_ to `ui0.0.1` + +#### Procedures + +##### Start Simulator + +Request: +`ProcedureName`: 'startSimulator' +`PDU`: {} + +Response: +`PDU`: { +`status` +} + +##### Stop Simulator + +Request: +`ProcedureName`: 'stopSimulator' +`PDU`: {} + +Response: +`PDU`: { +`status` +} + +##### List Charging Stations + +Request: +`ProcedureName`: 'listChargingStations' +`PDU`: {} + +Response: +`PDU`: { +`status`, +`index`: ChargingStationData, +... +`index`: ChargingStationData +} + +##### Start Transaction + +Request: +`ProcedureName`: 'startTransaction' +`PDU`: { +`hashId`: the unique identifier of a charging station +`connectorId`: the id of the connector +`idTag`: the RFID tag +} + +Response: +`PDU`: { +`status` +} + +##### Stop Transaction + +Request: +`ProcedureName`: 'stopTransaction' +`PDU`: { +`hashId`: the unique identifier of a charging station +`transactionId`: the id of the transaction +} + +Response: +`PDU`: { +`status` +} + +##### Start Charging Station + +Request: +`ProcedureName`: 'startChargingStation' +`PDU`: { +`hashId`: the unique identifier of a charging station +} + +Response: +`PDU`: { +`status` +} + +##### Stop Charging Station + +Request: +`ProcedureName`: 'stopChargingStation' +`PDU`: { +`hashId`: the unique identifier of a charging station +} + +Response: +`PDU`: { +`status` +} + +##### Open Connection + +Request: +`ProcedureName`: 'openConnection' +`PDU`: { +`hashId`: the unique identifier of a charging station +} + +Response: +`PDU`: { +`status` +} + +##### Close Connection + +Request: +`ProcedureName`: 'closeConnection' +`PDU`: { +`hashId`: the unique identifier of a charging station +} + +Response: +`PDU`: { +`status` +} + ## Support, Feedback, Contributing 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).