From 853ed24a1ca05b0de603402228dd99e7c41fa397 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 2 Sep 2022 23:16:33 +0200 Subject: [PATCH] README.md: document added UI protocol features MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- README.md | 76 +++++++++++++++---- .../ui-services/AbstractUIService.ts | 2 +- 2 files changed, 61 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index e9ba6a77..c3a14ea3 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,7 @@ Protocol to control the simulator via a Websocket or HTTP server. ### HTTP Protocol -A Postman and [Insomnia](https://insomnia.rest/) collection, to learn how to use the HTTP protocol to pilot the simulator, is available in [src/assets](./src/assets/) directory. +A Postman and [Insomnia](https://insomnia.rest/) requests collection, to learn how to use the HTTP protocol to pilot the simulator, is available in [src/assets](./src/assets/) directory. ### WebSocket Protocol @@ -419,7 +419,7 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Response: `PDU`: { - `status` + `status`: 'success' | 'failure' } ###### Stop Simulator @@ -430,7 +430,7 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Response: `PDU`: { - `status` + `status`: 'success' | 'failure' } ###### List Charging Stations @@ -441,7 +441,7 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Response: `PDU`: { - `status`, + `status`: 'success' | 'failure', `index`: ChargingStationData, ... `index`: ChargingStationData @@ -452,14 +452,16 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'startTransaction' `PDU`: { - `hashIds`: charging station unique identifier strings array, + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations), `connectorId`: connector id integer, `idTag`: RFID tag string } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ###### Stop Transaction @@ -467,13 +469,15 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'stopTransaction' `PDU`: { - `hashIds`: charging station unique identifier strings array, + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations), `transactionId`: transaction id integer } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ###### Start Charging Station @@ -481,12 +485,14 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'startChargingStation' `PDU`: { - `hashIds`: charging station unique identifier strings array + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations) } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ###### Stop Charging Station @@ -494,12 +500,14 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'stopChargingStation' `PDU`: { - `hashIds`: charging station unique identifier strings array + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations) } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ###### Open Connection @@ -507,12 +515,14 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'openConnection' `PDU`: { - `hashIds`: charging station unique identifier strings array + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations) } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ###### Close Connection @@ -520,12 +530,46 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`. - Request: `ProcedureName`: 'closeConnection' `PDU`: { - `hashIds`: charging station unique identifier strings array + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations) } - Response: `PDU`: { - `status` + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) + } + +###### Start Automatic Transaction Generator + +- Request: + `ProcedureName`: 'startAutomaticTransactionGenerator' + `PDU`: { + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations), + `connectorIds`: connector id integer array (optional, default: all connectors), + } + +- Response: + `PDU`: { + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) + } + +###### Stop Automatic Transaction Generator + +- Request: + `ProcedureName`: 'stopAutomaticTransactionGenerator' + `PDU`: { + `hashIds`: charging station unique identifier strings array (optional, default: all charging stations), + `connectorIds`: connector id integer array (optional, default: all connectors), + } + +- Response: + `PDU`: { + `status`: 'success' | 'failure', + `hashIdsSucceeded`: charging station unique identifier strings array, + `hashIdsFailed`: charging station unique identifier strings array (optional) } ## Support, Feedback, Contributing diff --git a/src/charging-station/ui-server/ui-services/AbstractUIService.ts b/src/charging-station/ui-server/ui-services/AbstractUIService.ts index 71e6888b..c9bc8ff5 100644 --- a/src/charging-station/ui-server/ui-services/AbstractUIService.ts +++ b/src/charging-station/ui-server/ui-services/AbstractUIService.ts @@ -129,8 +129,8 @@ export default abstract class AbstractUIService { const expectedNumberOfResponses = !Utils.isEmptyArray(payload.hashIds) ? payload.hashIds.length : this.uiServer.chargingStations.size; - this.broadcastChannelRequests.set(uuid, expectedNumberOfResponses); this.uiServiceWorkerBroadcastChannel.sendRequest([uuid, procedureName, payload]); + this.broadcastChannelRequests.set(uuid, expectedNumberOfResponses); } // Validate the raw data received from the UI server -- 2.34.1