#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MotionTimer {
Off,
Min5,
Min15,
Min30,
Min60,
Min120,
Min240,
}
impl MotionTimer {
pub fn as_minutes(&self) -> u16 {
match self {
Self::Off => 0,
Self::Min5 => 5,
Self::Min15 => 15,
Self::Min30 => 30,
Self::Min60 => 60,
Self::Min120 => 120,
Self::Min240 => 240,
}
}
pub fn from_minutes(minutes: u16) -> Option<Self> {
match minutes {
0 => Some(Self::Off),
5 => Some(Self::Min5),
15 => Some(Self::Min15),
30 => Some(Self::Min30),
60 => Some(Self::Min60),
120 => Some(Self::Min120),
240 => Some(Self::Min240),
_ => None,
}
}
}