Tweak light waker behaviour
This commit is contained in:
@ -27,6 +27,8 @@ impl Waker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const TIME_FMT: &str = "%H:%M";
|
const TIME_FMT: &str = "%H:%M";
|
||||||
|
const WAKE_TARGET_BRIGHTNESS: u8 = 75;
|
||||||
|
const WAKE_TARGET_TEMPERATURE: u8 = 60;
|
||||||
|
|
||||||
impl LightScript for Waker {
|
impl LightScript for Waker {
|
||||||
fn get_params(&mut self, bulb: &BulbId) -> BulbPrefs {
|
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
|
let r = manager
|
||||||
.until_interrupted(id.clone(), async {
|
.until_interrupted(id.clone(), async {
|
||||||
// slowly turn up brightness of bulb
|
// slowly turn up brightness of bulb
|
||||||
for brightness in (1..=75).map(|i| (i as f32) * 0.01) {
|
for brightness in (1..=WAKE_TARGET_BRIGHTNESS).map(|i| (i as f32) * 0.01) {
|
||||||
//sleep(Duration::from_secs(12)).await;
|
sleep(Duration::from_secs(12)).await;
|
||||||
sleep(Duration::from_millis(500)).await;
|
|
||||||
|
|
||||||
manager
|
manager
|
||||||
.send_command(BulbCommand::SetColor(
|
.send_command(BulbCommand::SetColor(
|
||||||
@ -130,6 +131,21 @@ async fn wake_task(manager: BulbManager, id: BulbId, day: Weekday, time: NaiveTi
|
|||||||
))
|
))
|
||||||
.await
|
.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;
|
.await;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user