From 1e55385645cbdd3a3391d079e60eb3ac795390e1 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Thu, 27 Oct 2022 23:36:25 +0200 Subject: [PATCH] Use absolute time instead of incrementing by 1w --- backend/src/tasks/lights.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/backend/src/tasks/lights.rs b/backend/src/tasks/lights.rs index 78affce..76a7e8f 100644 --- a/backend/src/tasks/lights.rs +++ b/backend/src/tasks/lights.rs @@ -142,13 +142,12 @@ async fn wake_task( day: Weekday, time: NaiveTime, ) { - let now = Local::now(); - let mut alarm = next_alarm(now, day, time); + let mut alarm = next_alarm(Local::now(), day, time); loop { info!("sleeping until {alarm}"); - sleep((alarm - now).to_std().unwrap()).await; - alarm += chrono::Duration::weeks(1); + sleep((alarm - Local::now()).to_std().unwrap()).await; + alarm = next_alarm(Local::now(), day, time); // slowly turn up brightness of bulb for brightness in (1..=75).map(|i| (i as f32) * 0.01) {