diff --git a/backend/src/tasks/lights/scripts/waker.rs b/backend/src/tasks/lights/scripts/waker.rs index e15b668..34419d1 100644 --- a/backend/src/tasks/lights/scripts/waker.rs +++ b/backend/src/tasks/lights/scripts/waker.rs @@ -27,6 +27,8 @@ impl Waker { } const TIME_FMT: &str = "%H:%M"; +const WAKE_TARGET_BRIGHTNESS: u8 = 75; +const WAKE_TARGET_TEMPERATURE: u8 = 60; impl LightScript for Waker { fn get_params(&mut self, bulb: &BulbId) -> BulbPrefs { @@ -116,9 +118,8 @@ async fn wake_task(manager: BulbManager, id: BulbId, day: Weekday, time: NaiveTi let r = manager .until_interrupted(id.clone(), async { // slowly turn up brightness of bulb - for brightness in (1..=75).map(|i| (i as f32) * 0.01) { - //sleep(Duration::from_secs(12)).await; - sleep(Duration::from_millis(500)).await; + for brightness in (1..=WAKE_TARGET_BRIGHTNESS).map(|i| (i as f32) * 0.01) { + sleep(Duration::from_secs(12)).await; manager .send_command(BulbCommand::SetColor( @@ -130,6 +131,21 @@ async fn wake_task(manager: BulbManager, id: BulbId, day: Weekday, time: NaiveTi )) .await } + + // slowly turn up temperature of bulb + for temperature in (1..=WAKE_TARGET_TEMPERATURE).map(|i| (i as f32) * 0.01) { + sleep(Duration::from_secs(12)).await; + + manager + .send_command(BulbCommand::SetColor( + BulbSelector::Id(id.clone()), + BulbColor::Kelvin { + t: temperature, + b: WAKE_TARGET_BRIGHTNESS as f32 * 0.01, + }, + )) + .await + } }) .await;