From 8ee5c4f0b5c1a02ebdcb5bcebbfcf4e47c8125b9 Mon Sep 17 00:00:00 2001 From: Claus Hagen Date: Tue, 31 Mar 2026 21:15:48 +0200 Subject: [PATCH] improve selection of cars for Soc display in powergraph --- .../src/components/chargePointList/model.ts | 44 ++++++------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts index b0bbcf380f..0610a24dd2 100755 --- a/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts +++ b/packages/modules/web_themes/colors/source/src/components/chargePointList/model.ts @@ -582,37 +582,19 @@ export function resetChargePoints() { } export const topVehicles = computed(() => { - const result: number[] = [] - const cps = Object.values(chargePoints) - const vhcls = Object.values(vehicles).filter((v) => v.visible) - // vehicle 1 - let v1 = -1 - switch (cps.length) { - case 0: - v1 = vhcls[0] ? vhcls[0].id : -1 - break - default: - v1 = cps[0].connectedVehicle //?? vhcls[0] ? vhcls[0].id : -1 - } - // vehicle 2 - let v2 = -1 - switch (cps.length) { - case 0: - case 1: - v2 = vhcls[0] ? vhcls[0].id : -1 - break - default: - v2 = cps[1].connectedVehicle //?? vhcls[1] ? vhcls[1].id : -1 - } - // change v2 if the same as v1 - if (v1 == v2) { - v2 = vhcls[1] ? vhcls[1].id : -1 - } - if (v1 != -1) { - result.push(v1) - } - if (v2 != -1) { - result.push(v2) + let result: number[] = [] + const connectedVehicles = Object.values(chargePoints) + .filter((cp) => vehicles[cp.connectedVehicle] && vehicles[cp.connectedVehicle].isSocConfigured) + .map((cp) => cp.connectedVehicle) + console.log('connected vehicles', connectedVehicles) + const otherVehicles = Object.values(vehicles) + .filter((v) => v.visible && v.isSocConfigured && !connectedVehicles.includes(v.id)) // only show vehicles with configured soc and that are visible + console.log('other vehicles', otherVehicles) + result = connectedVehicles.concat(otherVehicles.map((v) => v.id)).slice(0, 2) + if (result.length == 0) { + result = [-1,-1] + } else if (result.length == 1) { + result.push(-1) } return result })