Added dedicated light device and updated hallway logic
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
pub mod serialization;
|
||||
mod timeout;
|
||||
|
||||
pub use timeout::Timeout;
|
||||
|
||||
16
automation_lib/src/helpers/serialization.rs
Normal file
16
automation_lib/src/helpers/serialization.rs
Normal file
@@ -0,0 +1,16 @@
|
||||
use serde::de::{self, Unexpected};
|
||||
use serde::{Deserialize, Deserializer};
|
||||
|
||||
pub fn state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>,
|
||||
{
|
||||
match String::deserialize(deserializer)?.as_ref() {
|
||||
"ON" => Ok(true),
|
||||
"OFF" => Ok(false),
|
||||
other => Err(de::Error::invalid_value(
|
||||
Unexpected::Str(other),
|
||||
&"Value expected was either ON or OFF",
|
||||
)),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user