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) {