use serde::Deserialize;
use serde::de::Unexpected;
use serde::de;
use serde::Deserializer;
use zigbee2mqtt_types_base_types::LastSeen;
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct Zigbee90504044 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: Zigbee90504044Poweronbehavior,
#[serde(deserialize_with = "zigbee90504044_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbee90504044_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1524e1810 {
pub action: ZigbeeE1524e1810Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1525e1745 {
pub battery: f64,
pub illuminance_above_threshold: bool,
pub linkquality: f64,
pub occupancy: bool,
pub requested_brightness_level: f64,
pub requested_brightness_percent: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1603e1702e1708 {
pub linkquality: f64,
pub power_on_behavior: ZigbeeE1603e1702e1708Poweronbehavior,
#[serde(deserialize_with = "zigbeee1603e1702e1708_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeee1603e1702e1708_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1743 {
pub action: ZigbeeE1743Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1744 {
pub action: ZigbeeE1744Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1746 {
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1757 {
pub battery: f64,
pub linkquality: f64,
pub position: f64,
pub state: ZigbeeE1757State,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1766 {
pub action: ZigbeeE1766Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1812 {
pub action: ZigbeeE1812Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1836 {
pub linkquality: f64,
pub power_on_behavior: ZigbeeE1836Poweronbehavior,
#[serde(deserialize_with = "zigbeee1836_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeee1836_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1841 {
pub action: ZigbeeE1841Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1842 {
pub linkquality: f64,
pub power_on_behavior: ZigbeeE1842Poweronbehavior,
#[serde(deserialize_with = "zigbeee1842_state_deserializer")]
pub state: bool,
pub water_leak: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeee1842_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE1926 {
pub battery: f64,
pub linkquality: f64,
pub position: f64,
pub state: ZigbeeE1926State,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2001e2002 {
pub action: ZigbeeE2001e2002Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2007 {
pub air_quality: ZigbeeE2007Airquality,
#[serde(deserialize_with = "zigbeee2007_child_lock_deserializer")]
pub child_lock: bool,
pub fan_mode: ZigbeeE2007Fanmode,
pub fan_speed: f64,
#[serde(deserialize_with = "zigbeee2007_fan_state_deserializer")]
pub fan_state: bool,
pub led_enable: bool,
pub linkquality: f64,
pub pm25: f64,
pub replace_filter: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeee2007_child_lock_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
where
D: Deserializer<'de>,
{
match String::deserialize(deserializer)?.as_ref() {
"LOCK" => Ok(true),
"UNLOCK" => Ok(false),
other => Err(de::Error::invalid_value(
Unexpected::Str(other),
&"Value expected was either LOCK or UNLOCK",
)),
}
}
fn zigbeee2007_fan_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2102 {
pub battery: f64,
pub linkquality: f64,
pub position: f64,
pub state: ZigbeeE2102State,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2103 {
pub battery: f64,
pub linkquality: f64,
pub position: f64,
pub state: ZigbeeE2103State,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2112 {
pub humidity: f64,
pub linkquality: f64,
pub pm25: f64,
pub temperature: f64,
pub voc_index: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeE2123 {
pub action: ZigbeeE2123Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeG2015 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeG2015Poweronbehavior,
#[serde(deserialize_with = "zigbeeg2015_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeg2015_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeIcpshc24D10euDilD1 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeIcpshc24D10euDilD1Poweronbehavior,
#[serde(deserialize_with = "zigbeeicpshc24d10eudild1_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeicpshc24d10eudild1_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeIcpshc24D30Dil44D1 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeIcpshc24D30Dil44D1Poweronbehavior,
#[serde(deserialize_with = "zigbeeicpshc24d30dil44d1_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeicpshc24d30dil44d1_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeIcpshc24D30euDilD1 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeIcpshc24D30euDilD1Poweronbehavior,
#[serde(deserialize_with = "zigbeeicpshc24d30eudild1_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeicpshc24d30eudild1_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeIctcDgD1 {
pub action: ZigbeeIctcDgD1Action,
pub battery: f64,
pub linkquality: f64,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeL1527 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeL1527Poweronbehavior,
#[serde(deserialize_with = "zigbeel1527_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeel1527_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeL1528 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeL1528Poweronbehavior,
#[serde(deserialize_with = "zigbeel1528_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeel1528_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeL1529 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeL1529Poweronbehavior,
#[serde(deserialize_with = "zigbeel1529_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeel1529_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeL1530 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeL1530Poweronbehavior,
#[serde(deserialize_with = "zigbeel1530_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeel1530_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeL1531 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeL1531Poweronbehavior,
#[serde(deserialize_with = "zigbeel1531_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeel1531_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1536g5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1536g5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1536g5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1536g5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1537r6led1739r5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1537r6led1739r5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1537r6led1739r5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1537r6led1739r5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1545g12 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1545g12Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1545g12_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1545g12_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1546g12 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1546g12Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1546g12_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1546g12_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1622g12 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1622g12Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1622g12_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1622g12_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1623g12 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1623g12Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1623g12_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1623g12_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1624g9 {
pub brightness: f64,
pub color_temp: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1624g9Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1624g9_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1624g9_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1649c5 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1649c5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1649c5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1649c5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1650r5 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1650r5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1650r5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1650r5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1732g11 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1732g11Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1732g11_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1732g11_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1733g7 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1733g7Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1733g7_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1733g7_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1736g9 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1736g9Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1736g9_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1736g9_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1738g7 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1738g7Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1738g7_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1738g7_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1836g9 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1836g9Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1836g9_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1836g9_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1837r5 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1837r5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1837r5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1837r5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1842g3 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1842g3Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1842g3_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1842g3_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1903c5led1835c6 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1903c5led1835c6Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1903c5led1835c6_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1903c5led1835c6_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1923r5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1923r5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1923r5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1923r5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1924g9 {
pub brightness: f64,
pub color_temp: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1924g9Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1924g9_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1924g9_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1925g6 {
pub brightness: f64,
pub color_temp: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1925g6Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1925g6_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1925g6_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1934g3Ue26 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1934g3Ue26Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1934g3ue26_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1934g3ue26_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1934g3Ue27 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1934g3Ue27Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1934g3ue27_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1934g3ue27_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1935c3 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1935c3Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1935c3_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1935c3_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1936g5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1936g5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1936g5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1936g5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1937t5Ue26 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1937t5Ue26Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1937t5ue26_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1937t5ue26_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1937t5Ue27 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1937t5Ue27Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1937t5ue27_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1937t5ue27_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed1949c5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed1949c5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled1949c5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled1949c5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2002g5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2002g5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2002g5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2002g5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2003g10 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2003g10Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2003g10_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2003g10_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2004g8 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2004g8Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2004g8_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2004g8_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2005r5 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2005r5Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2005r5_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2005r5_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2006r9 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2006r9Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2006r9_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2006r9_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2008g3 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2008g3Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2008g3_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2008g3_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2009c3 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2009c3Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2009c3_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2009c3_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2035g10 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2035g10Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2035g10_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2035g10_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2101g4 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2101g4Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2101g4_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2101g4_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeLed2102g3 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeLed2102g3Poweronbehavior,
#[serde(deserialize_with = "zigbeeled2102g3_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeeled2102g3_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT1820 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT1820Poweronbehavior,
#[serde(deserialize_with = "zigbeet1820_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet1820_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT1828 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT1828Poweronbehavior,
#[serde(deserialize_with = "zigbeet1828_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet1828_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT1829 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT1829Poweronbehavior,
#[serde(deserialize_with = "zigbeet1829_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet1829_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT2011 {
pub brightness: f64,
pub color_temp: f64,
pub color_temp_startup: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT2011Poweronbehavior,
#[serde(deserialize_with = "zigbeet2011_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet2011_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT2030 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT2030Poweronbehavior,
#[serde(deserialize_with = "zigbeet2030_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet2030_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT2035 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT2035Poweronbehavior,
#[serde(deserialize_with = "zigbeet2035_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet2035_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT2037 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT2037Poweronbehavior,
#[serde(deserialize_with = "zigbeet2037_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet2037_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize)]
pub struct ZigbeeT2105 {
pub brightness: f64,
pub linkquality: f64,
pub power_on_behavior: ZigbeeT2105Poweronbehavior,
#[serde(deserialize_with = "zigbeet2105_state_deserializer")]
pub state: bool,
pub last_seen: Option<LastSeen>,
pub elapsed: Option<u64>,
}
fn zigbeet2105_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",
)),
}
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum Zigbee90504044Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1524e1810Action {
#[serde(rename = "arrow_left_click")]
ArrowLeftClick,
#[serde(rename = "arrow_left_hold")]
ArrowLeftHold,
#[serde(rename = "arrow_left_release")]
ArrowLeftRelease,
#[serde(rename = "arrow_right_click")]
ArrowRightClick,
#[serde(rename = "arrow_right_hold")]
ArrowRightHold,
#[serde(rename = "arrow_right_release")]
ArrowRightRelease,
#[serde(rename = "brightness_down_click")]
BrightnessDownClick,
#[serde(rename = "brightness_down_hold")]
BrightnessDownHold,
#[serde(rename = "brightness_down_release")]
BrightnessDownRelease,
#[serde(rename = "brightness_up_click")]
BrightnessUpClick,
#[serde(rename = "brightness_up_hold")]
BrightnessUpHold,
#[serde(rename = "brightness_up_release")]
BrightnessUpRelease,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1603e1702e1708Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1743Action {
#[serde(rename = "brightness_move_down")]
BrightnessMoveDown,
#[serde(rename = "brightness_move_up")]
BrightnessMoveUp,
#[serde(rename = "brightness_stop")]
BrightnessStop,
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1744Action {
#[serde(rename = "brightness_move_down")]
BrightnessMoveDown,
#[serde(rename = "brightness_move_up")]
BrightnessMoveUp,
#[serde(rename = "brightness_step_down")]
BrightnessStepDown,
#[serde(rename = "brightness_step_up")]
BrightnessStepUp,
#[serde(rename = "brightness_stop")]
BrightnessStop,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1757State {
#[serde(rename = "CLOSE")]
Close,
#[serde(rename = "OPEN")]
Open,
#[serde(rename = "STOP")]
Stop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1766Action {
#[serde(rename = "close")]
Close,
#[serde(rename = "open")]
Open,
#[serde(rename = "stop")]
Stop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1812Action {
#[serde(rename = "brightness_move_up")]
BrightnessMoveUp,
#[serde(rename = "brightness_stop")]
BrightnessStop,
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1836Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1841Action {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1842Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE1926State {
#[serde(rename = "CLOSE")]
Close,
#[serde(rename = "OPEN")]
Open,
#[serde(rename = "STOP")]
Stop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2001e2002Action {
#[serde(rename = "arrow_left_click")]
ArrowLeftClick,
#[serde(rename = "arrow_left_hold")]
ArrowLeftHold,
#[serde(rename = "arrow_left_release")]
ArrowLeftRelease,
#[serde(rename = "arrow_right_click")]
ArrowRightClick,
#[serde(rename = "arrow_right_hold")]
ArrowRightHold,
#[serde(rename = "arrow_right_release")]
ArrowRightRelease,
#[serde(rename = "brightness_move_down")]
BrightnessMoveDown,
#[serde(rename = "brightness_move_up")]
BrightnessMoveUp,
#[serde(rename = "brightness_stop")]
BrightnessStop,
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2007Airquality {
#[serde(rename = "excellent")]
Excellent,
#[serde(rename = "good")]
Good,
#[serde(rename = "hazardous")]
Hazardous,
#[serde(rename = "moderate")]
Moderate,
#[serde(rename = "out_of_range")]
OutOfRange,
#[serde(rename = "poor")]
Poor,
#[serde(rename = "unhealthy")]
Unhealthy,
#[serde(rename = "unknown")]
Unknown,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2007Fanmode {
#[serde(rename = "auto")]
Auto,
#[serde(rename = "1")]
Number1,
#[serde(rename = "2")]
Number2,
#[serde(rename = "3")]
Number3,
#[serde(rename = "4")]
Number4,
#[serde(rename = "5")]
Number5,
#[serde(rename = "6")]
Number6,
#[serde(rename = "7")]
Number7,
#[serde(rename = "8")]
Number8,
#[serde(rename = "9")]
Number9,
#[serde(rename = "off")]
Off,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2102State {
#[serde(rename = "CLOSE")]
Close,
#[serde(rename = "OPEN")]
Open,
#[serde(rename = "STOP")]
Stop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2103State {
#[serde(rename = "CLOSE")]
Close,
#[serde(rename = "OPEN")]
Open,
#[serde(rename = "STOP")]
Stop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeE2123Action {
#[serde(rename = "dots_1_double_press")]
Dots1DoublePress,
#[serde(rename = "dots_1_initial_press")]
Dots1InitialPress,
#[serde(rename = "dots_1_long_press")]
Dots1LongPress,
#[serde(rename = "dots_1_long_release")]
Dots1LongRelease,
#[serde(rename = "dots_1_short_release")]
Dots1ShortRelease,
#[serde(rename = "dots_2_double_press")]
Dots2DoublePress,
#[serde(rename = "dots_2_initial_press")]
Dots2InitialPress,
#[serde(rename = "dots_2_long_press")]
Dots2LongPress,
#[serde(rename = "dots_2_long_release")]
Dots2LongRelease,
#[serde(rename = "dots_2_short_release")]
Dots2ShortRelease,
#[serde(rename = "toggle")]
Toggle,
#[serde(rename = "track_next")]
TrackNext,
#[serde(rename = "track_previous")]
TrackPrevious,
#[serde(rename = "volume_down")]
VolumeDown,
#[serde(rename = "volume_down_hold")]
VolumeDownHold,
#[serde(rename = "volume_up")]
VolumeUp,
#[serde(rename = "volume_up_hold")]
VolumeUpHold,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeG2015Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeIcpshc24D10euDilD1Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeIcpshc24D30Dil44D1Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeIcpshc24D30euDilD1Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeIctcDgD1Action {
#[serde(rename = "brightness_move_down")]
BrightnessMoveDown,
#[serde(rename = "brightness_move_to_level")]
BrightnessMoveToLevel,
#[serde(rename = "brightness_move_up")]
BrightnessMoveUp,
#[serde(rename = "brightness_stop")]
BrightnessStop,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeL1527Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeL1528Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeL1529Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeL1530Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeL1531Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1536g5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1537r6led1739r5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1545g12Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1546g12Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1622g12Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1623g12Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1624g9Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1649c5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1650r5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1732g11Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1733g7Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1736g9Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1738g7Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1836g9Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1837r5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1842g3Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1903c5led1835c6Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1923r5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1924g9Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1925g6Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1934g3Ue26Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1934g3Ue27Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1935c3Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1936g5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1937t5Ue26Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1937t5Ue27Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed1949c5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2002g5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2003g10Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2004g8Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2005r5Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2006r9Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2008g3Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2009c3Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2035g10Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2101g4Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeLed2102g3Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT1820Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT1828Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT1829Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT2011Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT2030Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT2035Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT2037Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg_attr(feature = "debug", derive(Debug))]
#[cfg_attr(feature = "clone", derive(Clone))]
#[derive(Deserialize, PartialEq)]
pub enum ZigbeeT2105Poweronbehavior {
#[serde(rename = "off")]
Off,
#[serde(rename = "on")]
On,
#[serde(rename = "previous")]
Previous,
#[serde(rename = "toggle")]
Toggle,
}
#[cfg(all(feature = "last_seen_epoch", feature = "last_seen_iso_8601"))]
compile_error!{"Feature last_seen epoch and iso_8601 are mutually exclusive and cannot be enabled together.
This was done because it is a global setting in zigbee2mqtt and therefor can't see a reason both would be enabled.
If you have a any reason to have both ways enabled please submit an issue to https://gitlab.com/seam345/zigbee2mqtt-types/-/issues"}