README.md: update to reflect response payload format change on
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 3 Sep 2022 16:09:41 +0000 (18:09 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 3 Sep 2022 16:09:41 +0000 (18:09 +0200)
listChargingStations

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
README.md
src/charging-station/ocpp/OCPPRequestService.ts
src/types/AutomaticTransactionGenerator.ts
src/ui/web/src/components/charging-stations/CSTable.vue
src/ui/web/src/types/ChargingStationType.ts

index e0cbce54918fa5a3d875285c30669f95adffc86a..d5a66a2606ebf8f19f3e6acd26a7ce9ec86e2d0c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -390,9 +390,9 @@ Protocol to control the simulator via a Websocket or HTTP server.
 
 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
+### Websocket Protocol
 
-PDU stands for Protocol Data Unit.
+SRPC protocol over Websocket. PDU stands for 'Protocol Data Unit'.
 
 - Request:  
   [`uuid`, `ProcedureName`, `PDU`]  
@@ -403,11 +403,11 @@ PDU stands for Protocol Data Unit.
 - Response:  
   [`uuid`, `PDU`]  
   `uuid`: String uniquely linking the response to the request  
-  `PDU`: Response data to requested procedure
+  `PDU`: Response parameters to requested procedure
 
 #### Version 0.0.1
 
-Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`.
+Set the Websocket header _Sec-Websocket-Protocol_ to `ui0.0.1`.
 
 ##### Procedures
 
@@ -442,9 +442,7 @@ Set the WebSocket header _Sec-Websocket-Protocol_ to `ui0.0.1`.
 - Response:  
   `PDU`: {  
   `status`: 'success' | 'failure',  
-  `index`: ChargingStationData,  
-  ...  
-  `index`: ChargingStationData  
+  `chargingStations`: ChargingStationData[]  
   }
 
 ###### Start Transaction
index e00e2b99f9a2bbbddbdca10a6ae1427ffe982d2c..25c8943564a7f91afc639c22a7f99a0a28d247d9 100644 (file)
@@ -1,5 +1,3 @@
-import { parentPort } from 'worker_threads';
-
 import type { JSONSchemaType } from 'ajv';
 import Ajv from 'ajv-draft-04';
 import ajvFormats from 'ajv-formats';
@@ -23,7 +21,6 @@ import Constants from '../../utils/Constants';
 import logger from '../../utils/Logger';
 import Utils from '../../utils/Utils';
 import type ChargingStation from '../ChargingStation';
-import { MessageChannelUtils } from '../MessageChannelUtils';
 import type OCPPResponseService from './OCPPResponseService';
 import { OCPPServiceUtils } from './OCPPServiceUtils';
 
@@ -254,7 +251,6 @@ export default abstract class OCPPRequestService {
               reject(error);
             } finally {
               chargingStation.requests.delete(messageId);
-              // parentPort.postMessage(MessageChannelUtils.buildUpdatedMessage(chargingStation));
             }
           }
 
@@ -278,7 +274,6 @@ export default abstract class OCPPRequestService {
               error
             );
             chargingStation.requests.delete(messageId);
-            // parentPort.postMessage(MessageChannelUtils.buildUpdatedMessage(chargingStation));
             reject(error);
           }
         }),
index 83e88c68cfc3ad9588efc85951c3bb651aaf149a..562996f096014a0c970f02bc6688e3a8ff7435be 100644 (file)
@@ -1,4 +1,4 @@
-export interface AutomaticTransactionGeneratorConfiguration {
+export type AutomaticTransactionGeneratorConfiguration = {
   enable: boolean;
   minDuration: number;
   maxDuration: number;
@@ -8,9 +8,9 @@ export interface AutomaticTransactionGeneratorConfiguration {
   stopAfterHours: number;
   stopOnConnectionFailure: boolean;
   requireAuthorize?: boolean;
-}
+};
 
-export interface Status {
+export type Status = {
   start?: boolean;
   startDate?: Date;
   lastRunDate?: Date;
@@ -25,4 +25,4 @@ export interface Status {
   stopTransactionRequests?: number;
   skippedConsecutiveTransactions?: number;
   skippedTransactions?: number;
-}
+};
index 2c0bc1faec61203fcedc152e812d7526f4f8fb6d..53561516a20ab8981919dfb0a612d770a359becf 100644 (file)
@@ -17,7 +17,7 @@
     </thead>
     <tbody id="cs-table__body">
       <CSData
-        v-for="chargingStation in chargingStations"
+        v-for="chargingStation in props.chargingStations"
         :key="chargingStation.stationInfo?.hashId"
         :charging-station="chargingStation"
         :idTag="props.idTag"
index 8ec35f254bbd6659bc901d17485b4309c04ed10f..c8ac081af4aaed988e77870c85227d575045de6b 100644 (file)
@@ -6,6 +6,7 @@ export type ChargingStationData = {
   wsState?: number;
   bootNotificationResponse: BootNotificationResponse;
   connectors: ConnectorStatus[];
+  automaticTransactionGeneratorStatuses?: Status[];
 };
 
 export type ChargingStationInfo = {
@@ -187,3 +188,20 @@ export enum OCPP16ChargePointStatus {
   UNAVAILABLE = 'Unavailable',
   FAULTED = 'Faulted',
 }
+
+export type Status = {
+  start?: boolean;
+  startDate?: Date;
+  lastRunDate?: Date;
+  stopDate?: Date;
+  stoppedDate?: Date;
+  authorizeRequests?: number;
+  acceptedAuthorizeRequests?: number;
+  rejectedAuthorizeRequests?: number;
+  startTransactionRequests?: number;
+  acceptedStartTransactionRequests?: number;
+  rejectedStartTransactionRequests?: number;
+  stopTransactionRequests?: number;
+  skippedConsecutiveTransactions?: number;
+  skippedTransactions?: number;
+};