From 881f5e5012ffd36bedc455b71efa249ba7a51f32 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 31 May 2023 12:42:03 +0200 Subject: [PATCH] Fix energy compare (#16687) --- src/data/energy.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/data/energy.ts b/src/data/energy.ts index a36500d1b1..151089d929 100644 --- a/src/data/energy.ts +++ b/src/data/energy.ts @@ -1,6 +1,8 @@ import { + addDays, addHours, addMilliseconds, + addMonths, differenceInDays, endOfToday, endOfYesterday, @@ -414,11 +416,17 @@ const getEnergyData = async ( let _waterStatsCompare: Statistics | Promise = {}; if (compare) { + if (dayDifference > 27 && dayDifference < 32) { + // When comparing a month, we want to start at the begining of the month + startCompare = addMonths(start, -1); + } else { + startCompare = addDays(start, (dayDifference + 1) * -1); + } endCompare = addMilliseconds(start, -1); if (energyStatIds.length) { _energyStatsCompare = fetchStatistics( hass!, - start, + startCompare, endCompare, energyStatIds, period, @@ -429,7 +437,7 @@ const getEnergyData = async ( if (waterStatIds.length) { _waterStatsCompare = fetchStatistics( hass!, - start, + startCompare, endCompare, waterStatIds, period,