From 1d41bc6b533ef7361954f472811263c24cd6f64b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 9 Feb 2024 20:42:02 +0100 Subject: [PATCH] feat(ui): display supervision url in charging stations list MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit closes #967 Signed-off-by: Jérôme Benoit --- src/charging-station/ChargingStation.ts | 12 ++--- src/types/ChargingStationWorker.ts | 1 + src/utils/MessageChannelUtils.ts | 1 + ui/web/src/App.vue | 12 ++--- ui/web/src/components/Container.vue | 5 +- .../charging-stations/CSConnector.vue | 8 +-- .../components/charging-stations/CSData.vue | 26 +++++---- .../charging-stations/CSInfoModal.vue | 1 - .../components/charging-stations/CSTable.vue | 53 +++++++------------ ui/web/src/composables/Utils.ts | 5 -- ui/web/src/types/ChargingStationType.ts | 1 + ui/web/src/views/ChargingStationsView.vue | 4 +- ui/web/tests/unit/CSTable.spec.ts | 1 + 13 files changed, 57 insertions(+), 73 deletions(-) diff --git a/src/charging-station/ChargingStation.ts b/src/charging-station/ChargingStation.ts index a0867719..8bbf7848 100644 --- a/src/charging-station/ChargingStation.ts +++ b/src/charging-station/ChargingStation.ts @@ -260,7 +260,7 @@ export class ChargingStation extends EventEmitter { return this.connectors.size === 0 && this.evses.size > 0 } - private get wsConnectionUrl (): URL { + public get wsConnectionUrl (): URL { return new URL( `${ this.stationInfo?.supervisionUrlOcppConfiguration === true && @@ -801,14 +801,12 @@ export class ChargingStation extends EventEmitter { if (this.isWebSocketConnectionOpened()) { logger.warn( - `${this.logPrefix()} OCPP connection to URL ${this.wsConnectionUrl.toString()} is already opened` + `${this.logPrefix()} OCPP connection to URL ${this.wsConnectionUrl.href} is already opened` ) return } - logger.info( - `${this.logPrefix()} Open OCPP connection to URL ${this.wsConnectionUrl.toString()}` - ) + logger.info(`${this.logPrefix()} Open OCPP connection to URL ${this.wsConnectionUrl.href}`) this.wsConnection = new WebSocket( this.wsConnectionUrl, @@ -1802,7 +1800,7 @@ export class ChargingStation extends EventEmitter { private async onOpen (): Promise { if (this.isWebSocketConnectionOpened()) { logger.info( - `${this.logPrefix()} Connection to OCPP server through ${this.wsConnectionUrl.toString()} succeeded` + `${this.logPrefix()} Connection to OCPP server through ${this.wsConnectionUrl.href} succeeded` ) let registrationRetryCount = 0 if (!this.isRegistered()) { @@ -1856,7 +1854,7 @@ export class ChargingStation extends EventEmitter { this.emit(ChargingStationEvents.updated) } else { logger.warn( - `${this.logPrefix()} Connection to OCPP server through ${this.wsConnectionUrl.toString()} failed` + `${this.logPrefix()} Connection to OCPP server through ${this.wsConnectionUrl.href} failed` ) } } diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index df4a789c..d0cdf900 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -31,6 +31,7 @@ export interface ChargingStationData extends WorkerData { connectors: ConnectorStatus[] evses: EvseStatusWorkerType[] ocppConfiguration: ChargingStationOcppConfiguration + supervisionUrl: string wsState?: | typeof WebSocket.CONNECTING | typeof WebSocket.OPEN diff --git a/src/utils/MessageChannelUtils.ts b/src/utils/MessageChannelUtils.ts index 212ed5f2..a3b267ee 100644 --- a/src/utils/MessageChannelUtils.ts +++ b/src/utils/MessageChannelUtils.ts @@ -68,6 +68,7 @@ export const buildChargingStationDataPayload = ( evses: buildEvsesStatus(chargingStation, OutputFormat.worker), // eslint-disable-next-line @typescript-eslint/no-non-null-assertion ocppConfiguration: chargingStation.ocppConfiguration!, + supervisionUrl: chargingStation.wsConnectionUrl.href, wsState: chargingStation.wsConnection?.readyState, bootNotificationResponse: chargingStation.bootNotificationResponse, ...(chargingStation.automaticTransactionGenerator != null && { diff --git a/ui/web/src/App.vue b/ui/web/src/App.vue index d6df1a21..87c7aa45 100644 --- a/ui/web/src/App.vue +++ b/ui/web/src/App.vue @@ -4,8 +4,8 @@ diff --git a/ui/web/src/components/Container.vue b/ui/web/src/components/Container.vue index c9683bbe..451a7659 100644 --- a/ui/web/src/components/Container.vue +++ b/ui/web/src/components/Container.vue @@ -6,9 +6,6 @@ diff --git a/ui/web/src/components/charging-stations/CSConnector.vue b/ui/web/src/components/charging-stations/CSConnector.vue index d828ae86..29bb0718 100644 --- a/ui/web/src/components/charging-stations/CSConnector.vue +++ b/ui/web/src/components/charging-stations/CSConnector.vue @@ -1,5 +1,5 @@