From ce9993fd36f480fe0c987f427f4cfcf054dca22b Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Tue, 1 Oct 2024 05:05:01 -0700 Subject: [PATCH] Use finishes_at in timer remaining calculation (#22169) * Use finishes_at in timer remaining calculation * lint * fix test --- src/data/timer.ts | 4 ++-- test/common/entity/timer_time_remaining_test.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/timer.ts b/src/data/timer.ts index 4b0ab1ce27..3290be645d 100644 --- a/src/data/timer.ts +++ b/src/data/timer.ts @@ -72,8 +72,8 @@ export const timerTimeRemaining = ( if (stateObj.state === "active") { const now = new Date().getTime(); - const madeActive = new Date(stateObj.last_changed).getTime(); - timeRemaining = Math.max(timeRemaining - (now - madeActive) / 1000, 0); + const finishes = new Date(stateObj.attributes.finishes_at).getTime(); + timeRemaining = Math.max((finishes - now) / 1000, 0); } return timeRemaining; diff --git a/test/common/entity/timer_time_remaining_test.ts b/test/common/entity/timer_time_remaining_test.ts index 13ba7eb206..810f0e0f27 100644 --- a/test/common/entity/timer_time_remaining_test.ts +++ b/test/common/entity/timer_time_remaining_test.ts @@ -42,8 +42,8 @@ describe("timerTimeRemaining", () => { state: "active", attributes: { remaining: "0:01:05", + finishes_at: "2018-01-17T16:16:17+00:00", }, - last_changed: "2018-01-17T16:15:12Z", } as any), 47 );