Add waiting for next period

This commit is contained in:
Tobias Reisinger 2024-04-26 00:00:42 +02:00
parent 6f2deb38e1
commit 0b0350da0e
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
5 changed files with 105 additions and 37 deletions
emgauwa-lib/src/models

View file

@ -1,4 +1,5 @@
use actix::MessageResponse;
use chrono::NaiveTime;
use futures::executor::block_on;
use serde_derive::{Deserialize, Serialize};
use sqlx::pool::PoolConnection;
@ -62,4 +63,11 @@ impl Controller {
pub fn get_relay_states(&self) -> RelayStates {
self.relays.iter().map(|r| r.is_on).collect()
}
pub fn get_next_time(&self, now: &NaiveTime) -> Option<NaiveTime> {
self.relays
.iter()
.filter_map(|r| r.active_schedule.get_next_time(now))
.min()
}
}