From 01405d96b6a0b169959247d433540ef0e4d075b8 Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Tue, 26 Sep 2023 13:49:04 -0700 Subject: [PATCH] Fix too wide energy chart bars (#17787) --- .../lovelace/cards/energy/hui-energy-gas-graph-card.ts | 8 ++++++++ .../lovelace/cards/energy/hui-energy-solar-graph-card.ts | 8 ++++++++ .../lovelace/cards/energy/hui-energy-usage-graph-card.ts | 9 +++++++++ .../lovelace/cards/energy/hui-energy-water-graph-card.ts | 8 ++++++++ 4 files changed, 33 insertions(+) diff --git a/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts index 3a67549e4f..f9f3874d42 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-gas-graph-card.ts @@ -378,6 +378,7 @@ export class HuiEnergyGasGraphCard // Process gas consumption data. if (source.stat_energy_from in statistics) { const stats = statistics[source.stat_energy_from]; + let end; for (const point of stats) { if (point.change === null || point.change === undefined) { @@ -392,6 +393,13 @@ export class HuiEnergyGasGraphCard y: point.change, }); prevStart = point.start; + end = point.end; + } + if (gasConsumptionData.length === 1) { + gasConsumptionData.push({ + x: end, + y: 0, + }); } } diff --git a/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts index b1f8da63c0..0721fc1545 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-solar-graph-card.ts @@ -401,6 +401,7 @@ export class HuiEnergySolarGraphCard // Process solar production data. if (source.stat_energy_from in statistics) { const stats = statistics[source.stat_energy_from]; + let end; for (const point of stats) { if (point.change === null || point.change === undefined) { @@ -415,6 +416,13 @@ export class HuiEnergySolarGraphCard y: point.change, }); prevStart = point.start; + end = point.end; + } + if (solarProductionData.length === 1) { + solarProductionData.push({ + x: end, + y: 0, + }); } } diff --git a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts index 9dab3b03f8..085ed4a26a 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts @@ -523,6 +523,7 @@ export class HuiEnergyUsageGraphCard solar?: { [start: number]: number }; } = {}; + let pointEndTime; Object.entries(statIdsByCat).forEach(([key, statIds]) => { const sum = [ "solar", @@ -550,9 +551,11 @@ export class HuiEnergyUsageGraphCard if (sum) { totalStats[stat.start] = stat.start in totalStats ? totalStats[stat.start] + val : val; + pointEndTime = stat.end; } if (add && !(stat.start in set)) { set[stat.start] = val; + pointEndTime = stat.end; } }); sets[id] = set; @@ -670,6 +673,12 @@ export class HuiEnergyUsageGraphCard : value, }); } + if (points.length === 1) { + points.push({ + x: pointEndTime, + y: 0, + }); + } data.push({ label: diff --git a/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts index 4fc102ebf2..c283025d7c 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-water-graph-card.ts @@ -376,6 +376,7 @@ export class HuiEnergyWaterGraphCard // Process water consumption data. if (source.stat_energy_from in statistics) { const stats = statistics[source.stat_energy_from]; + let end; for (const point of stats) { if (point.change === null || point.change === undefined) { @@ -390,6 +391,13 @@ export class HuiEnergyWaterGraphCard y: point.change, }); prevStart = point.start; + end = point.end; + } + if (waterConsumptionData.length === 1) { + waterConsumptionData.push({ + x: end, + y: 0, + }); } }