1use serde::Deserialize;
2use serde::de::Unexpected;
3use serde::de;
4use serde::Deserializer;
5use zigbee2mqtt_types_base_types::LastSeen;
6#[cfg_attr(feature = "debug", derive(Debug))]
10#[cfg_attr(feature = "clone", derive(Clone))]
11#[derive(Deserialize)]
12pub struct Zigbee046677476816 {
13 pub brightness: f64,
15 pub linkquality: f64,
17 pub power_on_behavior: Zigbee046677476816Poweronbehavior,
19 #[serde(deserialize_with = "zigbee046677476816_state_deserializer")]
22 pub state: bool,
23 pub last_seen: Option<LastSeen>,
25 pub elapsed: Option<u64>,
27}
28fn zigbee046677476816_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
30where
31 D: Deserializer<'de>,
32{
33 match String::deserialize(deserializer)?.as_ref() {
34 "ON" => Ok(true),
35 "OFF" => Ok(false),
36 other => Err(de::Error::invalid_value(
37 Unexpected::Str(other),
38 &"Value expected was either ON or OFF",
39 )),
40 }
41}
42
43#[cfg_attr(feature = "debug", derive(Debug))]
47#[cfg_attr(feature = "clone", derive(Clone))]
48#[derive(Deserialize)]
49pub struct Zigbee046677551780 {
50 pub brightness: f64,
52 pub linkquality: f64,
54 pub power_on_behavior: Zigbee046677551780Poweronbehavior,
56 #[serde(deserialize_with = "zigbee046677551780_state_deserializer")]
59 pub state: bool,
60 pub last_seen: Option<LastSeen>,
62 pub elapsed: Option<u64>,
64}
65fn zigbee046677551780_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
67where
68 D: Deserializer<'de>,
69{
70 match String::deserialize(deserializer)?.as_ref() {
71 "ON" => Ok(true),
72 "OFF" => Ok(false),
73 other => Err(de::Error::invalid_value(
74 Unexpected::Str(other),
75 &"Value expected was either ON or OFF",
76 )),
77 }
78}
79
80#[cfg_attr(feature = "debug", derive(Debug))]
84#[cfg_attr(feature = "clone", derive(Clone))]
85#[derive(Deserialize)]
86pub struct Zigbee046677552343 {
87 pub linkquality: f64,
89 #[serde(deserialize_with = "zigbee046677552343_state_deserializer")]
92 pub state: bool,
93 pub last_seen: Option<LastSeen>,
95 pub elapsed: Option<u64>,
97}
98fn zigbee046677552343_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
100where
101 D: Deserializer<'de>,
102{
103 match String::deserialize(deserializer)?.as_ref() {
104 "ON" => Ok(true),
105 "OFF" => Ok(false),
106 other => Err(de::Error::invalid_value(
107 Unexpected::Str(other),
108 &"Value expected was either ON or OFF",
109 )),
110 }
111}
112
113#[cfg_attr(feature = "debug", derive(Debug))]
117#[cfg_attr(feature = "clone", derive(Clone))]
118#[derive(Deserialize)]
119pub struct Zigbee046677562229 {
120 pub brightness: f64,
122 pub linkquality: f64,
124 pub power_on_behavior: Zigbee046677562229Poweronbehavior,
126 #[serde(deserialize_with = "zigbee046677562229_state_deserializer")]
129 pub state: bool,
130 pub last_seen: Option<LastSeen>,
132 pub elapsed: Option<u64>,
134}
135fn zigbee046677562229_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
137where
138 D: Deserializer<'de>,
139{
140 match String::deserialize(deserializer)?.as_ref() {
141 "ON" => Ok(true),
142 "OFF" => Ok(false),
143 other => Err(de::Error::invalid_value(
144 Unexpected::Str(other),
145 &"Value expected was either ON or OFF",
146 )),
147 }
148}
149
150#[cfg_attr(feature = "debug", derive(Debug))]
154#[cfg_attr(feature = "clone", derive(Clone))]
155#[derive(Deserialize)]
156pub struct Zigbee046677577957 {
157 pub brightness: f64,
159 pub color_temp: f64,
161 pub color_temp_startup: f64,
163 pub linkquality: f64,
165 pub power_on_behavior: Zigbee046677577957Poweronbehavior,
167 #[serde(deserialize_with = "zigbee046677577957_state_deserializer")]
170 pub state: bool,
171 pub last_seen: Option<LastSeen>,
173 pub elapsed: Option<u64>,
175}
176fn zigbee046677577957_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
178where
179 D: Deserializer<'de>,
180{
181 match String::deserialize(deserializer)?.as_ref() {
182 "ON" => Ok(true),
183 "OFF" => Ok(false),
184 other => Err(de::Error::invalid_value(
185 Unexpected::Str(other),
186 &"Value expected was either ON or OFF",
187 )),
188 }
189}
190
191#[cfg_attr(feature = "debug", derive(Debug))]
195#[cfg_attr(feature = "clone", derive(Clone))]
196#[derive(Deserialize)]
197pub struct Zigbee046677578138 {
198 pub brightness: f64,
200 pub color_temp: f64,
202 pub color_temp_startup: f64,
204 pub linkquality: f64,
206 pub power_on_behavior: Zigbee046677578138Poweronbehavior,
208 #[serde(deserialize_with = "zigbee046677578138_state_deserializer")]
211 pub state: bool,
212 pub last_seen: Option<LastSeen>,
214 pub elapsed: Option<u64>,
216}
217fn zigbee046677578138_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
219where
220 D: Deserializer<'de>,
221{
222 match String::deserialize(deserializer)?.as_ref() {
223 "ON" => Ok(true),
224 "OFF" => Ok(false),
225 other => Err(de::Error::invalid_value(
226 Unexpected::Str(other),
227 &"Value expected was either ON or OFF",
228 )),
229 }
230}
231
232#[cfg_attr(feature = "debug", derive(Debug))]
236#[cfg_attr(feature = "clone", derive(Clone))]
237#[derive(Deserialize)]
238pub struct Zigbee046677803087 {
239 pub brightness: f64,
241 pub color_temp: f64,
243 pub color_temp_startup: f64,
245 pub linkquality: f64,
247 pub power_on_behavior: Zigbee046677803087Poweronbehavior,
249 #[serde(deserialize_with = "zigbee046677803087_state_deserializer")]
252 pub state: bool,
253 pub last_seen: Option<LastSeen>,
255 pub elapsed: Option<u64>,
257}
258fn zigbee046677803087_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
260where
261 D: Deserializer<'de>,
262{
263 match String::deserialize(deserializer)?.as_ref() {
264 "ON" => Ok(true),
265 "OFF" => Ok(false),
266 other => Err(de::Error::invalid_value(
267 Unexpected::Str(other),
268 &"Value expected was either ON or OFF",
269 )),
270 }
271}
272
273#[cfg_attr(feature = "debug", derive(Debug))]
277#[cfg_attr(feature = "clone", derive(Clone))]
278#[derive(Deserialize)]
279pub struct Zigbee1740193p0 {
280 pub brightness: f64,
282 pub linkquality: f64,
284 pub power_on_behavior: Zigbee1740193p0Poweronbehavior,
286 #[serde(deserialize_with = "zigbee1740193p0_state_deserializer")]
289 pub state: bool,
290 pub last_seen: Option<LastSeen>,
292 pub elapsed: Option<u64>,
294}
295fn zigbee1740193p0_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
297where
298 D: Deserializer<'de>,
299{
300 match String::deserialize(deserializer)?.as_ref() {
301 "ON" => Ok(true),
302 "OFF" => Ok(false),
303 other => Err(de::Error::invalid_value(
304 Unexpected::Str(other),
305 &"Value expected was either ON or OFF",
306 )),
307 }
308}
309
310#[cfg_attr(feature = "debug", derive(Debug))]
314#[cfg_attr(feature = "clone", derive(Clone))]
315#[derive(Deserialize)]
316pub struct Zigbee1740293p0 {
317 pub brightness: f64,
319 pub linkquality: f64,
321 pub power_on_behavior: Zigbee1740293p0Poweronbehavior,
323 #[serde(deserialize_with = "zigbee1740293p0_state_deserializer")]
326 pub state: bool,
327 pub last_seen: Option<LastSeen>,
329 pub elapsed: Option<u64>,
331}
332fn zigbee1740293p0_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
334where
335 D: Deserializer<'de>,
336{
337 match String::deserialize(deserializer)?.as_ref() {
338 "ON" => Ok(true),
339 "OFF" => Ok(false),
340 other => Err(de::Error::invalid_value(
341 Unexpected::Str(other),
342 &"Value expected was either ON or OFF",
343 )),
344 }
345}
346
347#[cfg_attr(feature = "debug", derive(Debug))]
351#[cfg_attr(feature = "clone", derive(Clone))]
352#[derive(Deserialize)]
353pub struct Zigbee1741530p7 {
354 pub brightness: f64,
356 pub color_temp: f64,
358 pub color_temp_startup: f64,
360 pub linkquality: f64,
362 pub power_on_behavior: Zigbee1741530p7Poweronbehavior,
364 #[serde(deserialize_with = "zigbee1741530p7_state_deserializer")]
367 pub state: bool,
368 pub last_seen: Option<LastSeen>,
370 pub elapsed: Option<u64>,
372}
373fn zigbee1741530p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
375where
376 D: Deserializer<'de>,
377{
378 match String::deserialize(deserializer)?.as_ref() {
379 "ON" => Ok(true),
380 "OFF" => Ok(false),
381 other => Err(de::Error::invalid_value(
382 Unexpected::Str(other),
383 &"Value expected was either ON or OFF",
384 )),
385 }
386}
387
388#[cfg_attr(feature = "debug", derive(Debug))]
392#[cfg_attr(feature = "clone", derive(Clone))]
393#[derive(Deserialize)]
394pub struct Zigbee1741730v7 {
395 pub brightness: f64,
397 pub color_temp: f64,
399 pub color_temp_startup: f64,
401 pub linkquality: f64,
403 pub power_on_behavior: Zigbee1741730v7Poweronbehavior,
405 #[serde(deserialize_with = "zigbee1741730v7_state_deserializer")]
408 pub state: bool,
409 pub last_seen: Option<LastSeen>,
411 pub elapsed: Option<u64>,
413}
414fn zigbee1741730v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
416where
417 D: Deserializer<'de>,
418{
419 match String::deserialize(deserializer)?.as_ref() {
420 "ON" => Ok(true),
421 "OFF" => Ok(false),
422 other => Err(de::Error::invalid_value(
423 Unexpected::Str(other),
424 &"Value expected was either ON or OFF",
425 )),
426 }
427}
428
429#[cfg_attr(feature = "debug", derive(Debug))]
433#[cfg_attr(feature = "clone", derive(Clone))]
434#[derive(Deserialize)]
435pub struct Zigbee1741830p7 {
436 pub brightness: f64,
438 pub color_temp: f64,
440 pub color_temp_startup: f64,
442 pub linkquality: f64,
444 pub power_on_behavior: Zigbee1741830p7Poweronbehavior,
446 #[serde(deserialize_with = "zigbee1741830p7_state_deserializer")]
449 pub state: bool,
450 pub last_seen: Option<LastSeen>,
452 pub elapsed: Option<u64>,
454}
455fn zigbee1741830p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
457where
458 D: Deserializer<'de>,
459{
460 match String::deserialize(deserializer)?.as_ref() {
461 "ON" => Ok(true),
462 "OFF" => Ok(false),
463 other => Err(de::Error::invalid_value(
464 Unexpected::Str(other),
465 &"Value expected was either ON or OFF",
466 )),
467 }
468}
469
470#[cfg_attr(feature = "debug", derive(Debug))]
474#[cfg_attr(feature = "clone", derive(Clone))]
475#[derive(Deserialize)]
476pub struct Zigbee1741930v7 {
477 pub brightness: f64,
479 pub color_temp: f64,
481 pub color_temp_startup: f64,
483 pub linkquality: f64,
485 pub power_on_behavior: Zigbee1741930v7Poweronbehavior,
487 #[serde(deserialize_with = "zigbee1741930v7_state_deserializer")]
490 pub state: bool,
491 pub last_seen: Option<LastSeen>,
493 pub elapsed: Option<u64>,
495}
496fn zigbee1741930v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
498where
499 D: Deserializer<'de>,
500{
501 match String::deserialize(deserializer)?.as_ref() {
502 "ON" => Ok(true),
503 "OFF" => Ok(false),
504 other => Err(de::Error::invalid_value(
505 Unexpected::Str(other),
506 &"Value expected was either ON or OFF",
507 )),
508 }
509}
510
511#[cfg_attr(feature = "debug", derive(Debug))]
515#[cfg_attr(feature = "clone", derive(Clone))]
516#[derive(Deserialize)]
517pub struct Zigbee1742030p7 {
518 pub brightness: f64,
520 pub color_temp: f64,
522 pub color_temp_startup: f64,
524 pub linkquality: f64,
526 pub power_on_behavior: Zigbee1742030p7Poweronbehavior,
528 #[serde(deserialize_with = "zigbee1742030p7_state_deserializer")]
531 pub state: bool,
532 pub last_seen: Option<LastSeen>,
534 pub elapsed: Option<u64>,
536}
537fn zigbee1742030p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
539where
540 D: Deserializer<'de>,
541{
542 match String::deserialize(deserializer)?.as_ref() {
543 "ON" => Ok(true),
544 "OFF" => Ok(false),
545 other => Err(de::Error::invalid_value(
546 Unexpected::Str(other),
547 &"Value expected was either ON or OFF",
548 )),
549 }
550}
551
552#[cfg_attr(feature = "debug", derive(Debug))]
556#[cfg_attr(feature = "clone", derive(Clone))]
557#[derive(Deserialize)]
558pub struct Zigbee1742330p7 {
559 pub brightness: f64,
561 pub color_temp: f64,
563 pub color_temp_startup: f64,
565 pub linkquality: f64,
567 pub power_on_behavior: Zigbee1742330p7Poweronbehavior,
569 #[serde(deserialize_with = "zigbee1742330p7_state_deserializer")]
572 pub state: bool,
573 pub last_seen: Option<LastSeen>,
575 pub elapsed: Option<u64>,
577}
578fn zigbee1742330p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
580where
581 D: Deserializer<'de>,
582{
583 match String::deserialize(deserializer)?.as_ref() {
584 "ON" => Ok(true),
585 "OFF" => Ok(false),
586 other => Err(de::Error::invalid_value(
587 Unexpected::Str(other),
588 &"Value expected was either ON or OFF",
589 )),
590 }
591}
592
593#[cfg_attr(feature = "debug", derive(Debug))]
597#[cfg_attr(feature = "clone", derive(Clone))]
598#[derive(Deserialize)]
599pub struct Zigbee1742830p7 {
600 pub brightness: f64,
602 pub color_temp: f64,
604 pub color_temp_startup: f64,
606 pub linkquality: f64,
608 pub power_on_behavior: Zigbee1742830p7Poweronbehavior,
610 #[serde(deserialize_with = "zigbee1742830p7_state_deserializer")]
613 pub state: bool,
614 pub last_seen: Option<LastSeen>,
616 pub elapsed: Option<u64>,
618}
619fn zigbee1742830p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
621where
622 D: Deserializer<'de>,
623{
624 match String::deserialize(deserializer)?.as_ref() {
625 "ON" => Ok(true),
626 "OFF" => Ok(false),
627 other => Err(de::Error::invalid_value(
628 Unexpected::Str(other),
629 &"Value expected was either ON or OFF",
630 )),
631 }
632}
633
634#[cfg_attr(feature = "debug", derive(Debug))]
638#[cfg_attr(feature = "clone", derive(Clone))]
639#[derive(Deserialize)]
640pub struct Zigbee1742930p7 {
641 pub brightness: f64,
643 pub color_temp: f64,
645 pub color_temp_startup: f64,
647 pub linkquality: f64,
649 pub power_on_behavior: Zigbee1742930p7Poweronbehavior,
651 #[serde(deserialize_with = "zigbee1742930p7_state_deserializer")]
654 pub state: bool,
655 pub last_seen: Option<LastSeen>,
657 pub elapsed: Option<u64>,
659}
660fn zigbee1742930p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
662where
663 D: Deserializer<'de>,
664{
665 match String::deserialize(deserializer)?.as_ref() {
666 "ON" => Ok(true),
667 "OFF" => Ok(false),
668 other => Err(de::Error::invalid_value(
669 Unexpected::Str(other),
670 &"Value expected was either ON or OFF",
671 )),
672 }
673}
674
675#[cfg_attr(feature = "debug", derive(Debug))]
679#[cfg_attr(feature = "clone", derive(Clone))]
680#[derive(Deserialize)]
681pub struct Zigbee1743030p7 {
682 pub brightness: f64,
684 pub color_temp: f64,
686 pub color_temp_startup: f64,
688 pub linkquality: f64,
690 pub power_on_behavior: Zigbee1743030p7Poweronbehavior,
692 #[serde(deserialize_with = "zigbee1743030p7_state_deserializer")]
695 pub state: bool,
696 pub last_seen: Option<LastSeen>,
698 pub elapsed: Option<u64>,
700}
701fn zigbee1743030p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
703where
704 D: Deserializer<'de>,
705{
706 match String::deserialize(deserializer)?.as_ref() {
707 "ON" => Ok(true),
708 "OFF" => Ok(false),
709 other => Err(de::Error::invalid_value(
710 Unexpected::Str(other),
711 &"Value expected was either ON or OFF",
712 )),
713 }
714}
715
716#[cfg_attr(feature = "debug", derive(Debug))]
720#[cfg_attr(feature = "clone", derive(Clone))]
721#[derive(Deserialize)]
722pub struct Zigbee1743130p7 {
723 pub brightness: f64,
725 pub color_temp: f64,
727 pub color_temp_startup: f64,
729 pub linkquality: f64,
731 pub power_on_behavior: Zigbee1743130p7Poweronbehavior,
733 #[serde(deserialize_with = "zigbee1743130p7_state_deserializer")]
736 pub state: bool,
737 pub last_seen: Option<LastSeen>,
739 pub elapsed: Option<u64>,
741}
742fn zigbee1743130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
744where
745 D: Deserializer<'de>,
746{
747 match String::deserialize(deserializer)?.as_ref() {
748 "ON" => Ok(true),
749 "OFF" => Ok(false),
750 other => Err(de::Error::invalid_value(
751 Unexpected::Str(other),
752 &"Value expected was either ON or OFF",
753 )),
754 }
755}
756
757#[cfg_attr(feature = "debug", derive(Debug))]
761#[cfg_attr(feature = "clone", derive(Clone))]
762#[derive(Deserialize)]
763pub struct Zigbee1743230p7 {
764 pub brightness: f64,
766 pub color_temp: f64,
768 pub color_temp_startup: f64,
770 pub linkquality: f64,
772 pub power_on_behavior: Zigbee1743230p7Poweronbehavior,
774 #[serde(deserialize_with = "zigbee1743230p7_state_deserializer")]
777 pub state: bool,
778 pub last_seen: Option<LastSeen>,
780 pub elapsed: Option<u64>,
782}
783fn zigbee1743230p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
785where
786 D: Deserializer<'de>,
787{
788 match String::deserialize(deserializer)?.as_ref() {
789 "ON" => Ok(true),
790 "OFF" => Ok(false),
791 other => Err(de::Error::invalid_value(
792 Unexpected::Str(other),
793 &"Value expected was either ON or OFF",
794 )),
795 }
796}
797
798#[cfg_attr(feature = "debug", derive(Debug))]
802#[cfg_attr(feature = "clone", derive(Clone))]
803#[derive(Deserialize)]
804pub struct Zigbee1743430p7 {
805 pub brightness: f64,
807 pub color_temp: f64,
809 pub color_temp_startup: f64,
811 pub linkquality: f64,
813 pub power_on_behavior: Zigbee1743430p7Poweronbehavior,
815 #[serde(deserialize_with = "zigbee1743430p7_state_deserializer")]
818 pub state: bool,
819 pub last_seen: Option<LastSeen>,
821 pub elapsed: Option<u64>,
823}
824fn zigbee1743430p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
826where
827 D: Deserializer<'de>,
828{
829 match String::deserialize(deserializer)?.as_ref() {
830 "ON" => Ok(true),
831 "OFF" => Ok(false),
832 other => Err(de::Error::invalid_value(
833 Unexpected::Str(other),
834 &"Value expected was either ON or OFF",
835 )),
836 }
837}
838
839#[cfg_attr(feature = "debug", derive(Debug))]
843#[cfg_attr(feature = "clone", derive(Clone))]
844#[derive(Deserialize)]
845pub struct Zigbee1743530p7 {
846 pub brightness: f64,
848 pub color_temp: f64,
850 pub color_temp_startup: f64,
852 pub linkquality: f64,
854 pub power_on_behavior: Zigbee1743530p7Poweronbehavior,
856 #[serde(deserialize_with = "zigbee1743530p7_state_deserializer")]
859 pub state: bool,
860 pub last_seen: Option<LastSeen>,
862 pub elapsed: Option<u64>,
864}
865fn zigbee1743530p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
867where
868 D: Deserializer<'de>,
869{
870 match String::deserialize(deserializer)?.as_ref() {
871 "ON" => Ok(true),
872 "OFF" => Ok(false),
873 other => Err(de::Error::invalid_value(
874 Unexpected::Str(other),
875 &"Value expected was either ON or OFF",
876 )),
877 }
878}
879
880#[cfg_attr(feature = "debug", derive(Debug))]
884#[cfg_attr(feature = "clone", derive(Clone))]
885#[derive(Deserialize)]
886pub struct Zigbee1743630p7 {
887 pub brightness: f64,
889 pub linkquality: f64,
891 pub power_on_behavior: Zigbee1743630p7Poweronbehavior,
893 #[serde(deserialize_with = "zigbee1743630p7_state_deserializer")]
896 pub state: bool,
897 pub last_seen: Option<LastSeen>,
899 pub elapsed: Option<u64>,
901}
902fn zigbee1743630p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
904where
905 D: Deserializer<'de>,
906{
907 match String::deserialize(deserializer)?.as_ref() {
908 "ON" => Ok(true),
909 "OFF" => Ok(false),
910 other => Err(de::Error::invalid_value(
911 Unexpected::Str(other),
912 &"Value expected was either ON or OFF",
913 )),
914 }
915}
916
917#[cfg_attr(feature = "debug", derive(Debug))]
921#[cfg_attr(feature = "clone", derive(Clone))]
922#[derive(Deserialize)]
923pub struct Zigbee1743730p7 {
924 pub brightness: f64,
926 pub color_temp: f64,
928 pub color_temp_startup: f64,
930 pub linkquality: f64,
932 pub power_on_behavior: Zigbee1743730p7Poweronbehavior,
934 #[serde(deserialize_with = "zigbee1743730p7_state_deserializer")]
937 pub state: bool,
938 pub last_seen: Option<LastSeen>,
940 pub elapsed: Option<u64>,
942}
943fn zigbee1743730p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
945where
946 D: Deserializer<'de>,
947{
948 match String::deserialize(deserializer)?.as_ref() {
949 "ON" => Ok(true),
950 "OFF" => Ok(false),
951 other => Err(de::Error::invalid_value(
952 Unexpected::Str(other),
953 &"Value expected was either ON or OFF",
954 )),
955 }
956}
957
958#[cfg_attr(feature = "debug", derive(Debug))]
962#[cfg_attr(feature = "clone", derive(Clone))]
963#[derive(Deserialize)]
964pub struct Zigbee1743830p7 {
965 pub brightness: f64,
967 pub color_temp: f64,
969 pub color_temp_startup: f64,
971 pub linkquality: f64,
973 pub power_on_behavior: Zigbee1743830p7Poweronbehavior,
975 #[serde(deserialize_with = "zigbee1743830p7_state_deserializer")]
978 pub state: bool,
979 pub last_seen: Option<LastSeen>,
981 pub elapsed: Option<u64>,
983}
984fn zigbee1743830p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
986where
987 D: Deserializer<'de>,
988{
989 match String::deserialize(deserializer)?.as_ref() {
990 "ON" => Ok(true),
991 "OFF" => Ok(false),
992 other => Err(de::Error::invalid_value(
993 Unexpected::Str(other),
994 &"Value expected was either ON or OFF",
995 )),
996 }
997}
998
999#[cfg_attr(feature = "debug", derive(Debug))]
1003#[cfg_attr(feature = "clone", derive(Clone))]
1004#[derive(Deserialize)]
1005pub struct Zigbee1743830v7 {
1006 pub brightness: f64,
1008 pub color_temp: f64,
1010 pub color_temp_startup: f64,
1012 pub linkquality: f64,
1014 pub power_on_behavior: Zigbee1743830v7Poweronbehavior,
1016 #[serde(deserialize_with = "zigbee1743830v7_state_deserializer")]
1019 pub state: bool,
1020 pub last_seen: Option<LastSeen>,
1022 pub elapsed: Option<u64>,
1024}
1025fn zigbee1743830v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1027where
1028 D: Deserializer<'de>,
1029{
1030 match String::deserialize(deserializer)?.as_ref() {
1031 "ON" => Ok(true),
1032 "OFF" => Ok(false),
1033 other => Err(de::Error::invalid_value(
1034 Unexpected::Str(other),
1035 &"Value expected was either ON or OFF",
1036 )),
1037 }
1038}
1039
1040#[cfg_attr(feature = "debug", derive(Debug))]
1044#[cfg_attr(feature = "clone", derive(Clone))]
1045#[derive(Deserialize)]
1046pub struct Zigbee1743930p7 {
1047 pub brightness: f64,
1049 pub color_temp: f64,
1051 pub color_temp_startup: f64,
1053 pub linkquality: f64,
1055 pub power_on_behavior: Zigbee1743930p7Poweronbehavior,
1057 #[serde(deserialize_with = "zigbee1743930p7_state_deserializer")]
1060 pub state: bool,
1061 pub last_seen: Option<LastSeen>,
1063 pub elapsed: Option<u64>,
1065}
1066fn zigbee1743930p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1068where
1069 D: Deserializer<'de>,
1070{
1071 match String::deserialize(deserializer)?.as_ref() {
1072 "ON" => Ok(true),
1073 "OFF" => Ok(false),
1074 other => Err(de::Error::invalid_value(
1075 Unexpected::Str(other),
1076 &"Value expected was either ON or OFF",
1077 )),
1078 }
1079}
1080
1081#[cfg_attr(feature = "debug", derive(Debug))]
1085#[cfg_attr(feature = "clone", derive(Clone))]
1086#[derive(Deserialize)]
1087pub struct Zigbee1744130p7 {
1088 pub brightness: f64,
1090 pub color_temp: f64,
1092 pub color_temp_startup: f64,
1094 pub linkquality: f64,
1096 pub power_on_behavior: Zigbee1744130p7Poweronbehavior,
1098 #[serde(deserialize_with = "zigbee1744130p7_state_deserializer")]
1101 pub state: bool,
1102 pub last_seen: Option<LastSeen>,
1104 pub elapsed: Option<u64>,
1106}
1107fn zigbee1744130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1109where
1110 D: Deserializer<'de>,
1111{
1112 match String::deserialize(deserializer)?.as_ref() {
1113 "ON" => Ok(true),
1114 "OFF" => Ok(false),
1115 other => Err(de::Error::invalid_value(
1116 Unexpected::Str(other),
1117 &"Value expected was either ON or OFF",
1118 )),
1119 }
1120}
1121
1122#[cfg_attr(feature = "debug", derive(Debug))]
1126#[cfg_attr(feature = "clone", derive(Clone))]
1127#[derive(Deserialize)]
1128pub struct Zigbee1745130p7 {
1129 pub brightness: f64,
1131 pub color_temp: f64,
1133 pub color_temp_startup: f64,
1135 pub linkquality: f64,
1137 pub power_on_behavior: Zigbee1745130p7Poweronbehavior,
1139 #[serde(deserialize_with = "zigbee1745130p7_state_deserializer")]
1142 pub state: bool,
1143 pub last_seen: Option<LastSeen>,
1145 pub elapsed: Option<u64>,
1147}
1148fn zigbee1745130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1150where
1151 D: Deserializer<'de>,
1152{
1153 match String::deserialize(deserializer)?.as_ref() {
1154 "ON" => Ok(true),
1155 "OFF" => Ok(false),
1156 other => Err(de::Error::invalid_value(
1157 Unexpected::Str(other),
1158 &"Value expected was either ON or OFF",
1159 )),
1160 }
1161}
1162
1163#[cfg_attr(feature = "debug", derive(Debug))]
1167#[cfg_attr(feature = "clone", derive(Clone))]
1168#[derive(Deserialize)]
1169pub struct Zigbee1745430p7 {
1170 pub brightness: f64,
1172 pub color_temp: f64,
1174 pub color_temp_startup: f64,
1176 pub linkquality: f64,
1178 pub power_on_behavior: Zigbee1745430p7Poweronbehavior,
1180 #[serde(deserialize_with = "zigbee1745430p7_state_deserializer")]
1183 pub state: bool,
1184 pub last_seen: Option<LastSeen>,
1186 pub elapsed: Option<u64>,
1188}
1189fn zigbee1745430p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1191where
1192 D: Deserializer<'de>,
1193{
1194 match String::deserialize(deserializer)?.as_ref() {
1195 "ON" => Ok(true),
1196 "OFF" => Ok(false),
1197 other => Err(de::Error::invalid_value(
1198 Unexpected::Str(other),
1199 &"Value expected was either ON or OFF",
1200 )),
1201 }
1202}
1203
1204#[cfg_attr(feature = "debug", derive(Debug))]
1208#[cfg_attr(feature = "clone", derive(Clone))]
1209#[derive(Deserialize)]
1210pub struct Zigbee1745530p7 {
1211 pub brightness: f64,
1213 pub color_temp: f64,
1215 pub color_temp_startup: f64,
1217 pub linkquality: f64,
1219 pub power_on_behavior: Zigbee1745530p7Poweronbehavior,
1221 #[serde(deserialize_with = "zigbee1745530p7_state_deserializer")]
1224 pub state: bool,
1225 pub last_seen: Option<LastSeen>,
1227 pub elapsed: Option<u64>,
1229}
1230fn zigbee1745530p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1232where
1233 D: Deserializer<'de>,
1234{
1235 match String::deserialize(deserializer)?.as_ref() {
1236 "ON" => Ok(true),
1237 "OFF" => Ok(false),
1238 other => Err(de::Error::invalid_value(
1239 Unexpected::Str(other),
1240 &"Value expected was either ON or OFF",
1241 )),
1242 }
1243}
1244
1245#[cfg_attr(feature = "debug", derive(Debug))]
1249#[cfg_attr(feature = "clone", derive(Clone))]
1250#[derive(Deserialize)]
1251pub struct Zigbee1745630p7 {
1252 pub brightness: f64,
1254 pub color_temp: f64,
1256 pub color_temp_startup: f64,
1258 pub linkquality: f64,
1260 pub power_on_behavior: Zigbee1745630p7Poweronbehavior,
1262 #[serde(deserialize_with = "zigbee1745630p7_state_deserializer")]
1265 pub state: bool,
1266 pub last_seen: Option<LastSeen>,
1268 pub elapsed: Option<u64>,
1270}
1271fn zigbee1745630p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1273where
1274 D: Deserializer<'de>,
1275{
1276 match String::deserialize(deserializer)?.as_ref() {
1277 "ON" => Ok(true),
1278 "OFF" => Ok(false),
1279 other => Err(de::Error::invalid_value(
1280 Unexpected::Str(other),
1281 &"Value expected was either ON or OFF",
1282 )),
1283 }
1284}
1285
1286#[cfg_attr(feature = "debug", derive(Debug))]
1290#[cfg_attr(feature = "clone", derive(Clone))]
1291#[derive(Deserialize)]
1292pub struct Zigbee1745730v7 {
1293 pub brightness: f64,
1295 pub color_temp: f64,
1297 pub color_temp_startup: f64,
1299 pub linkquality: f64,
1301 pub power_on_behavior: Zigbee1745730v7Poweronbehavior,
1303 #[serde(deserialize_with = "zigbee1745730v7_state_deserializer")]
1306 pub state: bool,
1307 pub last_seen: Option<LastSeen>,
1309 pub elapsed: Option<u64>,
1311}
1312fn zigbee1745730v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1314where
1315 D: Deserializer<'de>,
1316{
1317 match String::deserialize(deserializer)?.as_ref() {
1318 "ON" => Ok(true),
1319 "OFF" => Ok(false),
1320 other => Err(de::Error::invalid_value(
1321 Unexpected::Str(other),
1322 &"Value expected was either ON or OFF",
1323 )),
1324 }
1325}
1326
1327#[cfg_attr(feature = "debug", derive(Debug))]
1331#[cfg_attr(feature = "clone", derive(Clone))]
1332#[derive(Deserialize)]
1333pub struct Zigbee1745930p7 {
1334 pub brightness: f64,
1336 pub color_temp: f64,
1338 pub color_temp_startup: f64,
1340 pub linkquality: f64,
1342 pub power_on_behavior: Zigbee1745930p7Poweronbehavior,
1344 #[serde(deserialize_with = "zigbee1745930p7_state_deserializer")]
1347 pub state: bool,
1348 pub last_seen: Option<LastSeen>,
1350 pub elapsed: Option<u64>,
1352}
1353fn zigbee1745930p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1355where
1356 D: Deserializer<'de>,
1357{
1358 match String::deserialize(deserializer)?.as_ref() {
1359 "ON" => Ok(true),
1360 "OFF" => Ok(false),
1361 other => Err(de::Error::invalid_value(
1362 Unexpected::Str(other),
1363 &"Value expected was either ON or OFF",
1364 )),
1365 }
1366}
1367
1368#[cfg_attr(feature = "debug", derive(Debug))]
1372#[cfg_attr(feature = "clone", derive(Clone))]
1373#[derive(Deserialize)]
1374pub struct Zigbee1746130p7 {
1375 pub brightness: f64,
1377 pub color_temp: f64,
1379 pub color_temp_startup: f64,
1381 pub linkquality: f64,
1383 pub power_on_behavior: Zigbee1746130p7Poweronbehavior,
1385 #[serde(deserialize_with = "zigbee1746130p7_state_deserializer")]
1388 pub state: bool,
1389 pub last_seen: Option<LastSeen>,
1391 pub elapsed: Option<u64>,
1393}
1394fn zigbee1746130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1396where
1397 D: Deserializer<'de>,
1398{
1399 match String::deserialize(deserializer)?.as_ref() {
1400 "ON" => Ok(true),
1401 "OFF" => Ok(false),
1402 other => Err(de::Error::invalid_value(
1403 Unexpected::Str(other),
1404 &"Value expected was either ON or OFF",
1405 )),
1406 }
1407}
1408
1409#[cfg_attr(feature = "debug", derive(Debug))]
1413#[cfg_attr(feature = "clone", derive(Clone))]
1414#[derive(Deserialize)]
1415pub struct Zigbee1746230v7 {
1416 pub brightness: f64,
1418 pub color_temp: f64,
1420 pub color_temp_startup: f64,
1422 pub linkquality: f64,
1424 pub power_on_behavior: Zigbee1746230v7Poweronbehavior,
1426 #[serde(deserialize_with = "zigbee1746230v7_state_deserializer")]
1429 pub state: bool,
1430 pub last_seen: Option<LastSeen>,
1432 pub elapsed: Option<u64>,
1434}
1435fn zigbee1746230v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1437where
1438 D: Deserializer<'de>,
1439{
1440 match String::deserialize(deserializer)?.as_ref() {
1441 "ON" => Ok(true),
1442 "OFF" => Ok(false),
1443 other => Err(de::Error::invalid_value(
1444 Unexpected::Str(other),
1445 &"Value expected was either ON or OFF",
1446 )),
1447 }
1448}
1449
1450#[cfg_attr(feature = "debug", derive(Debug))]
1454#[cfg_attr(feature = "clone", derive(Clone))]
1455#[derive(Deserialize)]
1456pub struct Zigbee1746330p7 {
1457 pub brightness: f64,
1459 pub color_temp: f64,
1461 pub color_temp_startup: f64,
1463 pub linkquality: f64,
1465 pub power_on_behavior: Zigbee1746330p7Poweronbehavior,
1467 #[serde(deserialize_with = "zigbee1746330p7_state_deserializer")]
1470 pub state: bool,
1471 pub last_seen: Option<LastSeen>,
1473 pub elapsed: Option<u64>,
1475}
1476fn zigbee1746330p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1478where
1479 D: Deserializer<'de>,
1480{
1481 match String::deserialize(deserializer)?.as_ref() {
1482 "ON" => Ok(true),
1483 "OFF" => Ok(false),
1484 other => Err(de::Error::invalid_value(
1485 Unexpected::Str(other),
1486 &"Value expected was either ON or OFF",
1487 )),
1488 }
1489}
1490
1491#[cfg_attr(feature = "debug", derive(Debug))]
1495#[cfg_attr(feature = "clone", derive(Clone))]
1496#[derive(Deserialize)]
1497pub struct Zigbee1746430p7 {
1498 pub brightness: f64,
1500 pub color_temp: f64,
1502 pub color_temp_startup: f64,
1504 pub linkquality: f64,
1506 pub power_on_behavior: Zigbee1746430p7Poweronbehavior,
1508 #[serde(deserialize_with = "zigbee1746430p7_state_deserializer")]
1511 pub state: bool,
1512 pub last_seen: Option<LastSeen>,
1514 pub elapsed: Option<u64>,
1516}
1517fn zigbee1746430p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1519where
1520 D: Deserializer<'de>,
1521{
1522 match String::deserialize(deserializer)?.as_ref() {
1523 "ON" => Ok(true),
1524 "OFF" => Ok(false),
1525 other => Err(de::Error::invalid_value(
1526 Unexpected::Str(other),
1527 &"Value expected was either ON or OFF",
1528 )),
1529 }
1530}
1531
1532#[cfg_attr(feature = "debug", derive(Debug))]
1536#[cfg_attr(feature = "clone", derive(Clone))]
1537#[derive(Deserialize)]
1538pub struct Zigbee1746447p7 {
1539 pub brightness: f64,
1541 pub color_temp: f64,
1543 pub color_temp_startup: f64,
1545 pub linkquality: f64,
1547 pub power_on_behavior: Zigbee1746447p7Poweronbehavior,
1549 #[serde(deserialize_with = "zigbee1746447p7_state_deserializer")]
1552 pub state: bool,
1553 pub last_seen: Option<LastSeen>,
1555 pub elapsed: Option<u64>,
1557}
1558fn zigbee1746447p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1560where
1561 D: Deserializer<'de>,
1562{
1563 match String::deserialize(deserializer)?.as_ref() {
1564 "ON" => Ok(true),
1565 "OFF" => Ok(false),
1566 other => Err(de::Error::invalid_value(
1567 Unexpected::Str(other),
1568 &"Value expected was either ON or OFF",
1569 )),
1570 }
1571}
1572
1573#[cfg_attr(feature = "debug", derive(Debug))]
1577#[cfg_attr(feature = "clone", derive(Clone))]
1578#[derive(Deserialize)]
1579pub struct Zigbee1746530p7 {
1580 pub brightness: f64,
1582 pub color_temp: f64,
1584 pub color_temp_startup: f64,
1586 pub linkquality: f64,
1588 pub power_on_behavior: Zigbee1746530p7Poweronbehavior,
1590 #[serde(deserialize_with = "zigbee1746530p7_state_deserializer")]
1593 pub state: bool,
1594 pub last_seen: Option<LastSeen>,
1596 pub elapsed: Option<u64>,
1598}
1599fn zigbee1746530p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1601where
1602 D: Deserializer<'de>,
1603{
1604 match String::deserialize(deserializer)?.as_ref() {
1605 "ON" => Ok(true),
1606 "OFF" => Ok(false),
1607 other => Err(de::Error::invalid_value(
1608 Unexpected::Str(other),
1609 &"Value expected was either ON or OFF",
1610 )),
1611 }
1612}
1613
1614#[cfg_attr(feature = "debug", derive(Debug))]
1618#[cfg_attr(feature = "clone", derive(Clone))]
1619#[derive(Deserialize)]
1620pub struct Zigbee1746547p7 {
1621 pub brightness: f64,
1623 pub color_temp: f64,
1625 pub color_temp_startup: f64,
1627 pub linkquality: f64,
1629 pub power_on_behavior: Zigbee1746547p7Poweronbehavior,
1631 #[serde(deserialize_with = "zigbee1746547p7_state_deserializer")]
1634 pub state: bool,
1635 pub last_seen: Option<LastSeen>,
1637 pub elapsed: Option<u64>,
1639}
1640fn zigbee1746547p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1642where
1643 D: Deserializer<'de>,
1644{
1645 match String::deserialize(deserializer)?.as_ref() {
1646 "ON" => Ok(true),
1647 "OFF" => Ok(false),
1648 other => Err(de::Error::invalid_value(
1649 Unexpected::Str(other),
1650 &"Value expected was either ON or OFF",
1651 )),
1652 }
1653}
1654
1655#[cfg_attr(feature = "debug", derive(Debug))]
1659#[cfg_attr(feature = "clone", derive(Clone))]
1660#[derive(Deserialize)]
1661pub struct Zigbee1746630p7 {
1662 pub brightness: f64,
1664 pub color_temp: f64,
1666 pub color_temp_startup: f64,
1668 pub linkquality: f64,
1670 pub power_on_behavior: Zigbee1746630p7Poweronbehavior,
1672 #[serde(deserialize_with = "zigbee1746630p7_state_deserializer")]
1675 pub state: bool,
1676 pub last_seen: Option<LastSeen>,
1678 pub elapsed: Option<u64>,
1680}
1681fn zigbee1746630p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1683where
1684 D: Deserializer<'de>,
1685{
1686 match String::deserialize(deserializer)?.as_ref() {
1687 "ON" => Ok(true),
1688 "OFF" => Ok(false),
1689 other => Err(de::Error::invalid_value(
1690 Unexpected::Str(other),
1691 &"Value expected was either ON or OFF",
1692 )),
1693 }
1694}
1695
1696#[cfg_attr(feature = "debug", derive(Debug))]
1700#[cfg_attr(feature = "clone", derive(Clone))]
1701#[derive(Deserialize)]
1702pub struct Zigbee1746630v7 {
1703 pub brightness: f64,
1705 pub color_temp: f64,
1707 pub color_temp_startup: f64,
1709 pub linkquality: f64,
1711 pub power_on_behavior: Zigbee1746630v7Poweronbehavior,
1713 #[serde(deserialize_with = "zigbee1746630v7_state_deserializer")]
1716 pub state: bool,
1717 pub last_seen: Option<LastSeen>,
1719 pub elapsed: Option<u64>,
1721}
1722fn zigbee1746630v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1724where
1725 D: Deserializer<'de>,
1726{
1727 match String::deserialize(deserializer)?.as_ref() {
1728 "ON" => Ok(true),
1729 "OFF" => Ok(false),
1730 other => Err(de::Error::invalid_value(
1731 Unexpected::Str(other),
1732 &"Value expected was either ON or OFF",
1733 )),
1734 }
1735}
1736
1737#[cfg_attr(feature = "debug", derive(Debug))]
1741#[cfg_attr(feature = "clone", derive(Clone))]
1742#[derive(Deserialize)]
1743pub struct Zigbee1746730v7 {
1744 pub brightness: f64,
1746 pub color_temp: f64,
1748 pub color_temp_startup: f64,
1750 pub linkquality: f64,
1752 pub power_on_behavior: Zigbee1746730v7Poweronbehavior,
1754 #[serde(deserialize_with = "zigbee1746730v7_state_deserializer")]
1757 pub state: bool,
1758 pub last_seen: Option<LastSeen>,
1760 pub elapsed: Option<u64>,
1762}
1763fn zigbee1746730v7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1765where
1766 D: Deserializer<'de>,
1767{
1768 match String::deserialize(deserializer)?.as_ref() {
1769 "ON" => Ok(true),
1770 "OFF" => Ok(false),
1771 other => Err(de::Error::invalid_value(
1772 Unexpected::Str(other),
1773 &"Value expected was either ON or OFF",
1774 )),
1775 }
1776}
1777
1778#[cfg_attr(feature = "debug", derive(Debug))]
1782#[cfg_attr(feature = "clone", derive(Clone))]
1783#[derive(Deserialize)]
1784pub struct Zigbee3115331ph {
1785 pub brightness: f64,
1787 pub color_temp: f64,
1789 pub color_temp_startup: f64,
1791 pub linkquality: f64,
1793 pub power_on_behavior: Zigbee3115331phPoweronbehavior,
1795 #[serde(deserialize_with = "zigbee3115331ph_state_deserializer")]
1798 pub state: bool,
1799 pub last_seen: Option<LastSeen>,
1801 pub elapsed: Option<u64>,
1803}
1804fn zigbee3115331ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1806where
1807 D: Deserializer<'de>,
1808{
1809 match String::deserialize(deserializer)?.as_ref() {
1810 "ON" => Ok(true),
1811 "OFF" => Ok(false),
1812 other => Err(de::Error::invalid_value(
1813 Unexpected::Str(other),
1814 &"Value expected was either ON or OFF",
1815 )),
1816 }
1817}
1818
1819#[cfg_attr(feature = "debug", derive(Debug))]
1823#[cfg_attr(feature = "clone", derive(Clone))]
1824#[derive(Deserialize)]
1825pub struct Zigbee3216131p5 {
1826 pub brightness: f64,
1828 pub color_temp: f64,
1830 pub color_temp_startup: f64,
1832 pub linkquality: f64,
1834 pub power_on_behavior: Zigbee3216131p5Poweronbehavior,
1836 #[serde(deserialize_with = "zigbee3216131p5_state_deserializer")]
1839 pub state: bool,
1840 pub last_seen: Option<LastSeen>,
1842 pub elapsed: Option<u64>,
1844}
1845fn zigbee3216131p5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1847where
1848 D: Deserializer<'de>,
1849{
1850 match String::deserialize(deserializer)?.as_ref() {
1851 "ON" => Ok(true),
1852 "OFF" => Ok(false),
1853 other => Err(de::Error::invalid_value(
1854 Unexpected::Str(other),
1855 &"Value expected was either ON or OFF",
1856 )),
1857 }
1858}
1859
1860#[cfg_attr(feature = "debug", derive(Debug))]
1864#[cfg_attr(feature = "clone", derive(Clone))]
1865#[derive(Deserialize)]
1866pub struct Zigbee3216131p6 {
1867 pub brightness: f64,
1869 pub color_temp: f64,
1871 pub color_temp_startup: f64,
1873 pub linkquality: f64,
1875 pub power_on_behavior: Zigbee3216131p6Poweronbehavior,
1877 #[serde(deserialize_with = "zigbee3216131p6_state_deserializer")]
1880 pub state: bool,
1881 pub last_seen: Option<LastSeen>,
1883 pub elapsed: Option<u64>,
1885}
1886fn zigbee3216131p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1888where
1889 D: Deserializer<'de>,
1890{
1891 match String::deserialize(deserializer)?.as_ref() {
1892 "ON" => Ok(true),
1893 "OFF" => Ok(false),
1894 other => Err(de::Error::invalid_value(
1895 Unexpected::Str(other),
1896 &"Value expected was either ON or OFF",
1897 )),
1898 }
1899}
1900
1901#[cfg_attr(feature = "debug", derive(Debug))]
1905#[cfg_attr(feature = "clone", derive(Clone))]
1906#[derive(Deserialize)]
1907pub struct Zigbee3216231p5 {
1908 pub brightness: f64,
1910 pub color_temp: f64,
1912 pub color_temp_startup: f64,
1914 pub linkquality: f64,
1916 pub power_on_behavior: Zigbee3216231p5Poweronbehavior,
1918 #[serde(deserialize_with = "zigbee3216231p5_state_deserializer")]
1921 pub state: bool,
1922 pub last_seen: Option<LastSeen>,
1924 pub elapsed: Option<u64>,
1926}
1927fn zigbee3216231p5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1929where
1930 D: Deserializer<'de>,
1931{
1932 match String::deserialize(deserializer)?.as_ref() {
1933 "ON" => Ok(true),
1934 "OFF" => Ok(false),
1935 other => Err(de::Error::invalid_value(
1936 Unexpected::Str(other),
1937 &"Value expected was either ON or OFF",
1938 )),
1939 }
1940}
1941
1942#[cfg_attr(feature = "debug", derive(Debug))]
1946#[cfg_attr(feature = "clone", derive(Clone))]
1947#[derive(Deserialize)]
1948pub struct Zigbee3216231p6 {
1949 pub brightness: f64,
1951 pub color_temp: f64,
1953 pub color_temp_startup: f64,
1955 pub linkquality: f64,
1957 pub power_on_behavior: Zigbee3216231p6Poweronbehavior,
1959 #[serde(deserialize_with = "zigbee3216231p6_state_deserializer")]
1962 pub state: bool,
1963 pub last_seen: Option<LastSeen>,
1965 pub elapsed: Option<u64>,
1967}
1968fn zigbee3216231p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
1970where
1971 D: Deserializer<'de>,
1972{
1973 match String::deserialize(deserializer)?.as_ref() {
1974 "ON" => Ok(true),
1975 "OFF" => Ok(false),
1976 other => Err(de::Error::invalid_value(
1977 Unexpected::Str(other),
1978 &"Value expected was either ON or OFF",
1979 )),
1980 }
1981}
1982
1983#[cfg_attr(feature = "debug", derive(Debug))]
1987#[cfg_attr(feature = "clone", derive(Clone))]
1988#[derive(Deserialize)]
1989pub struct Zigbee3216331p5 {
1990 pub brightness: f64,
1992 pub color_temp: f64,
1994 pub color_temp_startup: f64,
1996 pub linkquality: f64,
1998 pub power_on_behavior: Zigbee3216331p5Poweronbehavior,
2000 #[serde(deserialize_with = "zigbee3216331p5_state_deserializer")]
2003 pub state: bool,
2004 pub last_seen: Option<LastSeen>,
2006 pub elapsed: Option<u64>,
2008}
2009fn zigbee3216331p5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2011where
2012 D: Deserializer<'de>,
2013{
2014 match String::deserialize(deserializer)?.as_ref() {
2015 "ON" => Ok(true),
2016 "OFF" => Ok(false),
2017 other => Err(de::Error::invalid_value(
2018 Unexpected::Str(other),
2019 &"Value expected was either ON or OFF",
2020 )),
2021 }
2022}
2023
2024#[cfg_attr(feature = "debug", derive(Debug))]
2028#[cfg_attr(feature = "clone", derive(Clone))]
2029#[derive(Deserialize)]
2030pub struct Zigbee3216331p6 {
2031 pub brightness: f64,
2033 pub color_temp: f64,
2035 pub color_temp_startup: f64,
2037 pub linkquality: f64,
2039 pub power_on_behavior: Zigbee3216331p6Poweronbehavior,
2041 #[serde(deserialize_with = "zigbee3216331p6_state_deserializer")]
2044 pub state: bool,
2045 pub last_seen: Option<LastSeen>,
2047 pub elapsed: Option<u64>,
2049}
2050fn zigbee3216331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2052where
2053 D: Deserializer<'de>,
2054{
2055 match String::deserialize(deserializer)?.as_ref() {
2056 "ON" => Ok(true),
2057 "OFF" => Ok(false),
2058 other => Err(de::Error::invalid_value(
2059 Unexpected::Str(other),
2060 &"Value expected was either ON or OFF",
2061 )),
2062 }
2063}
2064
2065#[cfg_attr(feature = "debug", derive(Debug))]
2069#[cfg_attr(feature = "clone", derive(Clone))]
2070#[derive(Deserialize)]
2071pub struct Zigbee3216431p5 {
2072 pub brightness: f64,
2074 pub color_temp: f64,
2076 pub color_temp_startup: f64,
2078 pub linkquality: f64,
2080 pub power_on_behavior: Zigbee3216431p5Poweronbehavior,
2082 #[serde(deserialize_with = "zigbee3216431p5_state_deserializer")]
2085 pub state: bool,
2086 pub last_seen: Option<LastSeen>,
2088 pub elapsed: Option<u64>,
2090}
2091fn zigbee3216431p5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2093where
2094 D: Deserializer<'de>,
2095{
2096 match String::deserialize(deserializer)?.as_ref() {
2097 "ON" => Ok(true),
2098 "OFF" => Ok(false),
2099 other => Err(de::Error::invalid_value(
2100 Unexpected::Str(other),
2101 &"Value expected was either ON or OFF",
2102 )),
2103 }
2104}
2105
2106#[cfg_attr(feature = "debug", derive(Debug))]
2110#[cfg_attr(feature = "clone", derive(Clone))]
2111#[derive(Deserialize)]
2112pub struct Zigbee3216431p6 {
2113 pub brightness: f64,
2115 pub color_temp: f64,
2117 pub color_temp_startup: f64,
2119 pub linkquality: f64,
2121 pub power_on_behavior: Zigbee3216431p6Poweronbehavior,
2123 #[serde(deserialize_with = "zigbee3216431p6_state_deserializer")]
2126 pub state: bool,
2127 pub last_seen: Option<LastSeen>,
2129 pub elapsed: Option<u64>,
2131}
2132fn zigbee3216431p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2134where
2135 D: Deserializer<'de>,
2136{
2137 match String::deserialize(deserializer)?.as_ref() {
2138 "ON" => Ok(true),
2139 "OFF" => Ok(false),
2140 other => Err(de::Error::invalid_value(
2141 Unexpected::Str(other),
2142 &"Value expected was either ON or OFF",
2143 )),
2144 }
2145}
2146
2147#[cfg_attr(feature = "debug", derive(Debug))]
2151#[cfg_attr(feature = "clone", derive(Clone))]
2152#[derive(Deserialize)]
2153pub struct Zigbee324131092621 {
2154 pub action: Zigbee324131092621Action,
2156 pub action_duration: f64,
2157 pub battery: f64,
2159 pub linkquality: f64,
2161 pub last_seen: Option<LastSeen>,
2163 pub elapsed: Option<u64>,
2165}#[cfg_attr(feature = "debug", derive(Debug))]
2169#[cfg_attr(feature = "clone", derive(Clone))]
2170#[derive(Deserialize)]
2171pub struct Zigbee3261030p6 {
2172 pub brightness: f64,
2174 pub color_temp: f64,
2176 pub color_temp_startup: f64,
2178 pub linkquality: f64,
2180 pub power_on_behavior: Zigbee3261030p6Poweronbehavior,
2182 #[serde(deserialize_with = "zigbee3261030p6_state_deserializer")]
2185 pub state: bool,
2186 pub last_seen: Option<LastSeen>,
2188 pub elapsed: Option<u64>,
2190}
2191fn zigbee3261030p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2193where
2194 D: Deserializer<'de>,
2195{
2196 match String::deserialize(deserializer)?.as_ref() {
2197 "ON" => Ok(true),
2198 "OFF" => Ok(false),
2199 other => Err(de::Error::invalid_value(
2200 Unexpected::Str(other),
2201 &"Value expected was either ON or OFF",
2202 )),
2203 }
2204}
2205
2206#[cfg_attr(feature = "debug", derive(Debug))]
2210#[cfg_attr(feature = "clone", derive(Clone))]
2211#[derive(Deserialize)]
2212pub struct Zigbee3261030p7 {
2213 pub brightness: f64,
2215 pub color_temp: f64,
2217 pub color_temp_startup: f64,
2219 pub linkquality: f64,
2221 pub power_on_behavior: Zigbee3261030p7Poweronbehavior,
2223 #[serde(deserialize_with = "zigbee3261030p7_state_deserializer")]
2226 pub state: bool,
2227 pub last_seen: Option<LastSeen>,
2229 pub elapsed: Option<u64>,
2231}
2232fn zigbee3261030p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2234where
2235 D: Deserializer<'de>,
2236{
2237 match String::deserialize(deserializer)?.as_ref() {
2238 "ON" => Ok(true),
2239 "OFF" => Ok(false),
2240 other => Err(de::Error::invalid_value(
2241 Unexpected::Str(other),
2242 &"Value expected was either ON or OFF",
2243 )),
2244 }
2245}
2246
2247#[cfg_attr(feature = "debug", derive(Debug))]
2251#[cfg_attr(feature = "clone", derive(Clone))]
2252#[derive(Deserialize)]
2253pub struct Zigbee3261031p6 {
2254 pub brightness: f64,
2256 pub color_temp: f64,
2258 pub color_temp_startup: f64,
2260 pub linkquality: f64,
2262 pub power_on_behavior: Zigbee3261031p6Poweronbehavior,
2264 #[serde(deserialize_with = "zigbee3261031p6_state_deserializer")]
2267 pub state: bool,
2268 pub last_seen: Option<LastSeen>,
2270 pub elapsed: Option<u64>,
2272}
2273fn zigbee3261031p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2275where
2276 D: Deserializer<'de>,
2277{
2278 match String::deserialize(deserializer)?.as_ref() {
2279 "ON" => Ok(true),
2280 "OFF" => Ok(false),
2281 other => Err(de::Error::invalid_value(
2282 Unexpected::Str(other),
2283 &"Value expected was either ON or OFF",
2284 )),
2285 }
2286}
2287
2288#[cfg_attr(feature = "debug", derive(Debug))]
2292#[cfg_attr(feature = "clone", derive(Clone))]
2293#[derive(Deserialize)]
2294pub struct Zigbee3261048p6 {
2295 pub brightness: f64,
2297 pub color_temp: f64,
2299 pub color_temp_startup: f64,
2301 pub linkquality: f64,
2303 pub power_on_behavior: Zigbee3261048p6Poweronbehavior,
2305 #[serde(deserialize_with = "zigbee3261048p6_state_deserializer")]
2308 pub state: bool,
2309 pub last_seen: Option<LastSeen>,
2311 pub elapsed: Option<u64>,
2313}
2314fn zigbee3261048p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2316where
2317 D: Deserializer<'de>,
2318{
2319 match String::deserialize(deserializer)?.as_ref() {
2320 "ON" => Ok(true),
2321 "OFF" => Ok(false),
2322 other => Err(de::Error::invalid_value(
2323 Unexpected::Str(other),
2324 &"Value expected was either ON or OFF",
2325 )),
2326 }
2327}
2328
2329#[cfg_attr(feature = "debug", derive(Debug))]
2333#[cfg_attr(feature = "clone", derive(Clone))]
2334#[derive(Deserialize)]
2335pub struct Zigbee3261330p6 {
2336 pub brightness: f64,
2338 pub color_temp: f64,
2340 pub color_temp_startup: f64,
2342 pub linkquality: f64,
2344 pub power_on_behavior: Zigbee3261330p6Poweronbehavior,
2346 #[serde(deserialize_with = "zigbee3261330p6_state_deserializer")]
2349 pub state: bool,
2350 pub last_seen: Option<LastSeen>,
2352 pub elapsed: Option<u64>,
2354}
2355fn zigbee3261330p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2357where
2358 D: Deserializer<'de>,
2359{
2360 match String::deserialize(deserializer)?.as_ref() {
2361 "ON" => Ok(true),
2362 "OFF" => Ok(false),
2363 other => Err(de::Error::invalid_value(
2364 Unexpected::Str(other),
2365 &"Value expected was either ON or OFF",
2366 )),
2367 }
2368}
2369
2370#[cfg_attr(feature = "debug", derive(Debug))]
2374#[cfg_attr(feature = "clone", derive(Clone))]
2375#[derive(Deserialize)]
2376pub struct Zigbee3261331p6 {
2377 pub brightness: f64,
2379 pub color_temp: f64,
2381 pub color_temp_startup: f64,
2383 pub linkquality: f64,
2385 pub power_on_behavior: Zigbee3261331p6Poweronbehavior,
2387 #[serde(deserialize_with = "zigbee3261331p6_state_deserializer")]
2390 pub state: bool,
2391 pub last_seen: Option<LastSeen>,
2393 pub elapsed: Option<u64>,
2395}
2396fn zigbee3261331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2398where
2399 D: Deserializer<'de>,
2400{
2401 match String::deserialize(deserializer)?.as_ref() {
2402 "ON" => Ok(true),
2403 "OFF" => Ok(false),
2404 other => Err(de::Error::invalid_value(
2405 Unexpected::Str(other),
2406 &"Value expected was either ON or OFF",
2407 )),
2408 }
2409}
2410
2411#[cfg_attr(feature = "debug", derive(Debug))]
2415#[cfg_attr(feature = "clone", derive(Clone))]
2416#[derive(Deserialize)]
2417pub struct Zigbee3261331p7 {
2418 pub brightness: f64,
2420 pub color_temp: f64,
2422 pub color_temp_startup: f64,
2424 pub linkquality: f64,
2426 pub power_on_behavior: Zigbee3261331p7Poweronbehavior,
2428 #[serde(deserialize_with = "zigbee3261331p7_state_deserializer")]
2431 pub state: bool,
2432 pub last_seen: Option<LastSeen>,
2434 pub elapsed: Option<u64>,
2436}
2437fn zigbee3261331p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2439where
2440 D: Deserializer<'de>,
2441{
2442 match String::deserialize(deserializer)?.as_ref() {
2443 "ON" => Ok(true),
2444 "OFF" => Ok(false),
2445 other => Err(de::Error::invalid_value(
2446 Unexpected::Str(other),
2447 &"Value expected was either ON or OFF",
2448 )),
2449 }
2450}
2451
2452#[cfg_attr(feature = "debug", derive(Debug))]
2456#[cfg_attr(feature = "clone", derive(Clone))]
2457#[derive(Deserialize)]
2458pub struct Zigbee3261348p6 {
2459 pub brightness: f64,
2461 pub color_temp: f64,
2463 pub color_temp_startup: f64,
2465 pub linkquality: f64,
2467 pub power_on_behavior: Zigbee3261348p6Poweronbehavior,
2469 #[serde(deserialize_with = "zigbee3261348p6_state_deserializer")]
2472 pub state: bool,
2473 pub last_seen: Option<LastSeen>,
2475 pub elapsed: Option<u64>,
2477}
2478fn zigbee3261348p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2480where
2481 D: Deserializer<'de>,
2482{
2483 match String::deserialize(deserializer)?.as_ref() {
2484 "ON" => Ok(true),
2485 "OFF" => Ok(false),
2486 other => Err(de::Error::invalid_value(
2487 Unexpected::Str(other),
2488 &"Value expected was either ON or OFF",
2489 )),
2490 }
2491}
2492
2493#[cfg_attr(feature = "debug", derive(Debug))]
2497#[cfg_attr(feature = "clone", derive(Clone))]
2498#[derive(Deserialize)]
2499pub struct Zigbee3306431p7 {
2500 pub brightness: f64,
2502 pub color_temp: f64,
2504 pub color_temp_startup: f64,
2506 pub linkquality: f64,
2508 pub power_on_behavior: Zigbee3306431p7Poweronbehavior,
2510 #[serde(deserialize_with = "zigbee3306431p7_state_deserializer")]
2513 pub state: bool,
2514 pub last_seen: Option<LastSeen>,
2516 pub elapsed: Option<u64>,
2518}
2519fn zigbee3306431p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2521where
2522 D: Deserializer<'de>,
2523{
2524 match String::deserialize(deserializer)?.as_ref() {
2525 "ON" => Ok(true),
2526 "OFF" => Ok(false),
2527 other => Err(de::Error::invalid_value(
2528 Unexpected::Str(other),
2529 &"Value expected was either ON or OFF",
2530 )),
2531 }
2532}
2533
2534#[cfg_attr(feature = "debug", derive(Debug))]
2538#[cfg_attr(feature = "clone", derive(Clone))]
2539#[derive(Deserialize)]
2540pub struct Zigbee33850000 {
2541 pub brightness: f64,
2543 pub color_temp: f64,
2545 pub color_temp_startup: f64,
2547 pub linkquality: f64,
2549 pub power_on_behavior: Zigbee33850000Poweronbehavior,
2551 #[serde(deserialize_with = "zigbee33850000_state_deserializer")]
2554 pub state: bool,
2555 pub last_seen: Option<LastSeen>,
2557 pub elapsed: Option<u64>,
2559}
2560fn zigbee33850000_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2562where
2563 D: Deserializer<'de>,
2564{
2565 match String::deserialize(deserializer)?.as_ref() {
2566 "ON" => Ok(true),
2567 "OFF" => Ok(false),
2568 other => Err(de::Error::invalid_value(
2569 Unexpected::Str(other),
2570 &"Value expected was either ON or OFF",
2571 )),
2572 }
2573}
2574
2575#[cfg_attr(feature = "debug", derive(Debug))]
2579#[cfg_attr(feature = "clone", derive(Clone))]
2580#[derive(Deserialize)]
2581pub struct Zigbee3402831p7 {
2582 pub brightness: f64,
2584 pub color_temp: f64,
2586 pub color_temp_startup: f64,
2588 pub linkquality: f64,
2590 pub power_on_behavior: Zigbee3402831p7Poweronbehavior,
2592 #[serde(deserialize_with = "zigbee3402831p7_state_deserializer")]
2595 pub state: bool,
2596 pub last_seen: Option<LastSeen>,
2598 pub elapsed: Option<u64>,
2600}
2601fn zigbee3402831p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2603where
2604 D: Deserializer<'de>,
2605{
2606 match String::deserialize(deserializer)?.as_ref() {
2607 "ON" => Ok(true),
2608 "OFF" => Ok(false),
2609 other => Err(de::Error::invalid_value(
2610 Unexpected::Str(other),
2611 &"Value expected was either ON or OFF",
2612 )),
2613 }
2614}
2615
2616#[cfg_attr(feature = "debug", derive(Debug))]
2620#[cfg_attr(feature = "clone", derive(Clone))]
2621#[derive(Deserialize)]
2622pub struct Zigbee3417511p9 {
2623 pub brightness: f64,
2625 pub color_temp: f64,
2627 pub color_temp_startup: f64,
2629 pub linkquality: f64,
2631 pub power_on_behavior: Zigbee3417511p9Poweronbehavior,
2633 #[serde(deserialize_with = "zigbee3417511p9_state_deserializer")]
2636 pub state: bool,
2637 pub last_seen: Option<LastSeen>,
2639 pub elapsed: Option<u64>,
2641}
2642fn zigbee3417511p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2644where
2645 D: Deserializer<'de>,
2646{
2647 match String::deserialize(deserializer)?.as_ref() {
2648 "ON" => Ok(true),
2649 "OFF" => Ok(false),
2650 other => Err(de::Error::invalid_value(
2651 Unexpected::Str(other),
2652 &"Value expected was either ON or OFF",
2653 )),
2654 }
2655}
2656
2657#[cfg_attr(feature = "debug", derive(Debug))]
2661#[cfg_attr(feature = "clone", derive(Clone))]
2662#[derive(Deserialize)]
2663pub struct Zigbee3417711p6 {
2664 pub brightness: f64,
2666 pub color_temp: f64,
2668 pub color_temp_startup: f64,
2670 pub linkquality: f64,
2672 pub power_on_behavior: Zigbee3417711p6Poweronbehavior,
2674 #[serde(deserialize_with = "zigbee3417711p6_state_deserializer")]
2677 pub state: bool,
2678 pub last_seen: Option<LastSeen>,
2680 pub elapsed: Option<u64>,
2682}
2683fn zigbee3417711p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2685where
2686 D: Deserializer<'de>,
2687{
2688 match String::deserialize(deserializer)?.as_ref() {
2689 "ON" => Ok(true),
2690 "OFF" => Ok(false),
2691 other => Err(de::Error::invalid_value(
2692 Unexpected::Str(other),
2693 &"Value expected was either ON or OFF",
2694 )),
2695 }
2696}
2697
2698#[cfg_attr(feature = "debug", derive(Debug))]
2702#[cfg_attr(feature = "clone", derive(Clone))]
2703#[derive(Deserialize)]
2704pub struct Zigbee3417831p6 {
2705 pub brightness: f64,
2707 pub color_temp: f64,
2709 pub color_temp_startup: f64,
2711 pub linkquality: f64,
2713 pub power_on_behavior: Zigbee3417831p6Poweronbehavior,
2715 #[serde(deserialize_with = "zigbee3417831p6_state_deserializer")]
2718 pub state: bool,
2719 pub last_seen: Option<LastSeen>,
2721 pub elapsed: Option<u64>,
2723}
2724fn zigbee3417831p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2726where
2727 D: Deserializer<'de>,
2728{
2729 match String::deserialize(deserializer)?.as_ref() {
2730 "ON" => Ok(true),
2731 "OFF" => Ok(false),
2732 other => Err(de::Error::invalid_value(
2733 Unexpected::Str(other),
2734 &"Value expected was either ON or OFF",
2735 )),
2736 }
2737}
2738
2739#[cfg_attr(feature = "debug", derive(Debug))]
2743#[cfg_attr(feature = "clone", derive(Clone))]
2744#[derive(Deserialize)]
2745pub struct Zigbee3417931p6 {
2746 pub brightness: f64,
2748 pub color_temp: f64,
2750 pub color_temp_startup: f64,
2752 pub linkquality: f64,
2754 pub power_on_behavior: Zigbee3417931p6Poweronbehavior,
2756 #[serde(deserialize_with = "zigbee3417931p6_state_deserializer")]
2759 pub state: bool,
2760 pub last_seen: Option<LastSeen>,
2762 pub elapsed: Option<u64>,
2764}
2765fn zigbee3417931p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2767where
2768 D: Deserializer<'de>,
2769{
2770 match String::deserialize(deserializer)?.as_ref() {
2771 "ON" => Ok(true),
2772 "OFF" => Ok(false),
2773 other => Err(de::Error::invalid_value(
2774 Unexpected::Str(other),
2775 &"Value expected was either ON or OFF",
2776 )),
2777 }
2778}
2779
2780#[cfg_attr(feature = "debug", derive(Debug))]
2784#[cfg_attr(feature = "clone", derive(Clone))]
2785#[derive(Deserialize)]
2786pub struct Zigbee3418031p6 {
2787 pub brightness: f64,
2789 pub color_temp: f64,
2791 pub color_temp_startup: f64,
2793 pub linkquality: f64,
2795 pub power_on_behavior: Zigbee3418031p6Poweronbehavior,
2797 #[serde(deserialize_with = "zigbee3418031p6_state_deserializer")]
2800 pub state: bool,
2801 pub last_seen: Option<LastSeen>,
2803 pub elapsed: Option<u64>,
2805}
2806fn zigbee3418031p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2808where
2809 D: Deserializer<'de>,
2810{
2811 match String::deserialize(deserializer)?.as_ref() {
2812 "ON" => Ok(true),
2813 "OFF" => Ok(false),
2814 other => Err(de::Error::invalid_value(
2815 Unexpected::Str(other),
2816 &"Value expected was either ON or OFF",
2817 )),
2818 }
2819}
2820
2821#[cfg_attr(feature = "debug", derive(Debug))]
2825#[cfg_attr(feature = "clone", derive(Clone))]
2826#[derive(Deserialize)]
2827pub struct Zigbee3418131p6 {
2828 pub brightness: f64,
2830 pub color_temp: f64,
2832 pub color_temp_startup: f64,
2834 pub linkquality: f64,
2836 pub power_on_behavior: Zigbee3418131p6Poweronbehavior,
2838 #[serde(deserialize_with = "zigbee3418131p6_state_deserializer")]
2841 pub state: bool,
2842 pub last_seen: Option<LastSeen>,
2844 pub elapsed: Option<u64>,
2846}
2847fn zigbee3418131p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2849where
2850 D: Deserializer<'de>,
2851{
2852 match String::deserialize(deserializer)?.as_ref() {
2853 "ON" => Ok(true),
2854 "OFF" => Ok(false),
2855 other => Err(de::Error::invalid_value(
2856 Unexpected::Str(other),
2857 &"Value expected was either ON or OFF",
2858 )),
2859 }
2860}
2861
2862#[cfg_attr(feature = "debug", derive(Debug))]
2866#[cfg_attr(feature = "clone", derive(Clone))]
2867#[derive(Deserialize)]
2868pub struct Zigbee3418331p6 {
2869 pub brightness: f64,
2871 pub color_temp: f64,
2873 pub color_temp_startup: f64,
2875 pub linkquality: f64,
2877 pub power_on_behavior: Zigbee3418331p6Poweronbehavior,
2879 #[serde(deserialize_with = "zigbee3418331p6_state_deserializer")]
2882 pub state: bool,
2883 pub last_seen: Option<LastSeen>,
2885 pub elapsed: Option<u64>,
2887}
2888fn zigbee3418331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2890where
2891 D: Deserializer<'de>,
2892{
2893 match String::deserialize(deserializer)?.as_ref() {
2894 "ON" => Ok(true),
2895 "OFF" => Ok(false),
2896 other => Err(de::Error::invalid_value(
2897 Unexpected::Str(other),
2898 &"Value expected was either ON or OFF",
2899 )),
2900 }
2901}
2902
2903#[cfg_attr(feature = "debug", derive(Debug))]
2907#[cfg_attr(feature = "clone", derive(Clone))]
2908#[derive(Deserialize)]
2909pub struct Zigbee3418411p6 {
2910 pub brightness: f64,
2912 pub color_temp: f64,
2914 pub color_temp_startup: f64,
2916 pub linkquality: f64,
2918 pub power_on_behavior: Zigbee3418411p6Poweronbehavior,
2920 #[serde(deserialize_with = "zigbee3418411p6_state_deserializer")]
2923 pub state: bool,
2924 pub last_seen: Option<LastSeen>,
2926 pub elapsed: Option<u64>,
2928}
2929fn zigbee3418411p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2931where
2932 D: Deserializer<'de>,
2933{
2934 match String::deserialize(deserializer)?.as_ref() {
2935 "ON" => Ok(true),
2936 "OFF" => Ok(false),
2937 other => Err(de::Error::invalid_value(
2938 Unexpected::Str(other),
2939 &"Value expected was either ON or OFF",
2940 )),
2941 }
2942}
2943
2944#[cfg_attr(feature = "debug", derive(Debug))]
2948#[cfg_attr(feature = "clone", derive(Clone))]
2949#[derive(Deserialize)]
2950pub struct Zigbee3418631p6 {
2951 pub brightness: f64,
2953 pub color_temp: f64,
2955 pub color_temp_startup: f64,
2957 pub linkquality: f64,
2959 pub power_on_behavior: Zigbee3418631p6Poweronbehavior,
2961 #[serde(deserialize_with = "zigbee3418631p6_state_deserializer")]
2964 pub state: bool,
2965 pub last_seen: Option<LastSeen>,
2967 pub elapsed: Option<u64>,
2969}
2970fn zigbee3418631p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
2972where
2973 D: Deserializer<'de>,
2974{
2975 match String::deserialize(deserializer)?.as_ref() {
2976 "ON" => Ok(true),
2977 "OFF" => Ok(false),
2978 other => Err(de::Error::invalid_value(
2979 Unexpected::Str(other),
2980 &"Value expected was either ON or OFF",
2981 )),
2982 }
2983}
2984
2985#[cfg_attr(feature = "debug", derive(Debug))]
2989#[cfg_attr(feature = "clone", derive(Clone))]
2990#[derive(Deserialize)]
2991pub struct Zigbee3418931p6 {
2992 pub brightness: f64,
2994 pub color_temp: f64,
2996 pub color_temp_startup: f64,
2998 pub linkquality: f64,
3000 pub power_on_behavior: Zigbee3418931p6Poweronbehavior,
3002 #[serde(deserialize_with = "zigbee3418931p6_state_deserializer")]
3005 pub state: bool,
3006 pub last_seen: Option<LastSeen>,
3008 pub elapsed: Option<u64>,
3010}
3011fn zigbee3418931p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3013where
3014 D: Deserializer<'de>,
3015{
3016 match String::deserialize(deserializer)?.as_ref() {
3017 "ON" => Ok(true),
3018 "OFF" => Ok(false),
3019 other => Err(de::Error::invalid_value(
3020 Unexpected::Str(other),
3021 &"Value expected was either ON or OFF",
3022 )),
3023 }
3024}
3025
3026#[cfg_attr(feature = "debug", derive(Debug))]
3030#[cfg_attr(feature = "clone", derive(Clone))]
3031#[derive(Deserialize)]
3032pub struct Zigbee3435011p7 {
3033 pub brightness: f64,
3035 pub color_temp: f64,
3037 pub color_temp_startup: f64,
3039 pub linkquality: f64,
3041 pub power_on_behavior: Zigbee3435011p7Poweronbehavior,
3043 #[serde(deserialize_with = "zigbee3435011p7_state_deserializer")]
3046 pub state: bool,
3047 pub last_seen: Option<LastSeen>,
3049 pub elapsed: Option<u64>,
3051}
3052fn zigbee3435011p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3054where
3055 D: Deserializer<'de>,
3056{
3057 match String::deserialize(deserializer)?.as_ref() {
3058 "ON" => Ok(true),
3059 "OFF" => Ok(false),
3060 other => Err(de::Error::invalid_value(
3061 Unexpected::Str(other),
3062 &"Value expected was either ON or OFF",
3063 )),
3064 }
3065}
3066
3067#[cfg_attr(feature = "debug", derive(Debug))]
3071#[cfg_attr(feature = "clone", derive(Clone))]
3072#[derive(Deserialize)]
3073pub struct Zigbee3435731p7 {
3074 pub brightness: f64,
3076 pub color_temp: f64,
3078 pub color_temp_startup: f64,
3080 pub linkquality: f64,
3082 pub power_on_behavior: Zigbee3435731p7Poweronbehavior,
3084 #[serde(deserialize_with = "zigbee3435731p7_state_deserializer")]
3087 pub state: bool,
3088 pub last_seen: Option<LastSeen>,
3090 pub elapsed: Option<u64>,
3092}
3093fn zigbee3435731p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3095where
3096 D: Deserializer<'de>,
3097{
3098 match String::deserialize(deserializer)?.as_ref() {
3099 "ON" => Ok(true),
3100 "OFF" => Ok(false),
3101 other => Err(de::Error::invalid_value(
3102 Unexpected::Str(other),
3103 &"Value expected was either ON or OFF",
3104 )),
3105 }
3106}
3107
3108#[cfg_attr(feature = "debug", derive(Debug))]
3112#[cfg_attr(feature = "clone", derive(Clone))]
3113#[derive(Deserialize)]
3114pub struct Zigbee4023330p6 {
3115 pub brightness: f64,
3117 pub color_temp: f64,
3119 pub color_temp_startup: f64,
3121 pub linkquality: f64,
3123 pub power_on_behavior: Zigbee4023330p6Poweronbehavior,
3125 #[serde(deserialize_with = "zigbee4023330p6_state_deserializer")]
3128 pub state: bool,
3129 pub last_seen: Option<LastSeen>,
3131 pub elapsed: Option<u64>,
3133}
3134fn zigbee4023330p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3136where
3137 D: Deserializer<'de>,
3138{
3139 match String::deserialize(deserializer)?.as_ref() {
3140 "ON" => Ok(true),
3141 "OFF" => Ok(false),
3142 other => Err(de::Error::invalid_value(
3143 Unexpected::Str(other),
3144 &"Value expected was either ON or OFF",
3145 )),
3146 }
3147}
3148
3149#[cfg_attr(feature = "debug", derive(Debug))]
3153#[cfg_attr(feature = "clone", derive(Clone))]
3154#[derive(Deserialize)]
3155pub struct Zigbee4023330p7 {
3156 pub brightness: f64,
3158 pub color_temp: f64,
3160 pub color_temp_startup: f64,
3162 pub linkquality: f64,
3164 pub power_on_behavior: Zigbee4023330p7Poweronbehavior,
3166 #[serde(deserialize_with = "zigbee4023330p7_state_deserializer")]
3169 pub state: bool,
3170 pub last_seen: Option<LastSeen>,
3172 pub elapsed: Option<u64>,
3174}
3175fn zigbee4023330p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3177where
3178 D: Deserializer<'de>,
3179{
3180 match String::deserialize(deserializer)?.as_ref() {
3181 "ON" => Ok(true),
3182 "OFF" => Ok(false),
3183 other => Err(de::Error::invalid_value(
3184 Unexpected::Str(other),
3185 &"Value expected was either ON or OFF",
3186 )),
3187 }
3188}
3189
3190#[cfg_attr(feature = "debug", derive(Debug))]
3194#[cfg_attr(feature = "clone", derive(Clone))]
3195#[derive(Deserialize)]
3196pub struct Zigbee4023331p6 {
3197 pub brightness: f64,
3199 pub color_temp: f64,
3201 pub color_temp_startup: f64,
3203 pub linkquality: f64,
3205 pub power_on_behavior: Zigbee4023331p6Poweronbehavior,
3207 #[serde(deserialize_with = "zigbee4023331p6_state_deserializer")]
3210 pub state: bool,
3211 pub last_seen: Option<LastSeen>,
3213 pub elapsed: Option<u64>,
3215}
3216fn zigbee4023331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3218where
3219 D: Deserializer<'de>,
3220{
3221 match String::deserialize(deserializer)?.as_ref() {
3222 "ON" => Ok(true),
3223 "OFF" => Ok(false),
3224 other => Err(de::Error::invalid_value(
3225 Unexpected::Str(other),
3226 &"Value expected was either ON or OFF",
3227 )),
3228 }
3229}
3230
3231#[cfg_attr(feature = "debug", derive(Debug))]
3235#[cfg_attr(feature = "clone", derive(Clone))]
3236#[derive(Deserialize)]
3237pub struct Zigbee4033930p6 {
3238 pub brightness: f64,
3240 pub color_temp: f64,
3242 pub color_temp_startup: f64,
3244 pub linkquality: f64,
3246 pub power_on_behavior: Zigbee4033930p6Poweronbehavior,
3248 #[serde(deserialize_with = "zigbee4033930p6_state_deserializer")]
3251 pub state: bool,
3252 pub last_seen: Option<LastSeen>,
3254 pub elapsed: Option<u64>,
3256}
3257fn zigbee4033930p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3259where
3260 D: Deserializer<'de>,
3261{
3262 match String::deserialize(deserializer)?.as_ref() {
3263 "ON" => Ok(true),
3264 "OFF" => Ok(false),
3265 other => Err(de::Error::invalid_value(
3266 Unexpected::Str(other),
3267 &"Value expected was either ON or OFF",
3268 )),
3269 }
3270}
3271
3272#[cfg_attr(feature = "debug", derive(Debug))]
3276#[cfg_attr(feature = "clone", derive(Clone))]
3277#[derive(Deserialize)]
3278pub struct Zigbee4033930p7 {
3279 pub brightness: f64,
3281 pub color_temp: f64,
3283 pub color_temp_startup: f64,
3285 pub linkquality: f64,
3287 pub power_on_behavior: Zigbee4033930p7Poweronbehavior,
3289 #[serde(deserialize_with = "zigbee4033930p7_state_deserializer")]
3292 pub state: bool,
3293 pub last_seen: Option<LastSeen>,
3295 pub elapsed: Option<u64>,
3297}
3298fn zigbee4033930p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3300where
3301 D: Deserializer<'de>,
3302{
3303 match String::deserialize(deserializer)?.as_ref() {
3304 "ON" => Ok(true),
3305 "OFF" => Ok(false),
3306 other => Err(de::Error::invalid_value(
3307 Unexpected::Str(other),
3308 &"Value expected was either ON or OFF",
3309 )),
3310 }
3311}
3312
3313#[cfg_attr(feature = "debug", derive(Debug))]
3317#[cfg_attr(feature = "clone", derive(Clone))]
3318#[derive(Deserialize)]
3319pub struct Zigbee4034030p6 {
3320 pub brightness: f64,
3322 pub color_temp: f64,
3324 pub color_temp_startup: f64,
3326 pub linkquality: f64,
3328 pub power_on_behavior: Zigbee4034030p6Poweronbehavior,
3330 #[serde(deserialize_with = "zigbee4034030p6_state_deserializer")]
3333 pub state: bool,
3334 pub last_seen: Option<LastSeen>,
3336 pub elapsed: Option<u64>,
3338}
3339fn zigbee4034030p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3341where
3342 D: Deserializer<'de>,
3343{
3344 match String::deserialize(deserializer)?.as_ref() {
3345 "ON" => Ok(true),
3346 "OFF" => Ok(false),
3347 other => Err(de::Error::invalid_value(
3348 Unexpected::Str(other),
3349 &"Value expected was either ON or OFF",
3350 )),
3351 }
3352}
3353
3354#[cfg_attr(feature = "debug", derive(Debug))]
3358#[cfg_attr(feature = "clone", derive(Clone))]
3359#[derive(Deserialize)]
3360pub struct Zigbee4034031p6 {
3361 pub brightness: f64,
3363 pub color_temp: f64,
3365 pub color_temp_startup: f64,
3367 pub linkquality: f64,
3369 pub power_on_behavior: Zigbee4034031p6Poweronbehavior,
3371 #[serde(deserialize_with = "zigbee4034031p6_state_deserializer")]
3374 pub state: bool,
3375 pub last_seen: Option<LastSeen>,
3377 pub elapsed: Option<u64>,
3379}
3380fn zigbee4034031p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3382where
3383 D: Deserializer<'de>,
3384{
3385 match String::deserialize(deserializer)?.as_ref() {
3386 "ON" => Ok(true),
3387 "OFF" => Ok(false),
3388 other => Err(de::Error::invalid_value(
3389 Unexpected::Str(other),
3390 &"Value expected was either ON or OFF",
3391 )),
3392 }
3393}
3394
3395#[cfg_attr(feature = "debug", derive(Debug))]
3399#[cfg_attr(feature = "clone", derive(Clone))]
3400#[derive(Deserialize)]
3401pub struct Zigbee4034031p7 {
3402 pub brightness: f64,
3404 pub color_temp: f64,
3406 pub color_temp_startup: f64,
3408 pub linkquality: f64,
3410 pub power_on_behavior: Zigbee4034031p7Poweronbehavior,
3412 #[serde(deserialize_with = "zigbee4034031p7_state_deserializer")]
3415 pub state: bool,
3416 pub last_seen: Option<LastSeen>,
3418 pub elapsed: Option<u64>,
3420}
3421fn zigbee4034031p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3423where
3424 D: Deserializer<'de>,
3425{
3426 match String::deserialize(deserializer)?.as_ref() {
3427 "ON" => Ok(true),
3428 "OFF" => Ok(false),
3429 other => Err(de::Error::invalid_value(
3430 Unexpected::Str(other),
3431 &"Value expected was either ON or OFF",
3432 )),
3433 }
3434}
3435
3436#[cfg_attr(feature = "debug", derive(Debug))]
3440#[cfg_attr(feature = "clone", derive(Clone))]
3441#[derive(Deserialize)]
3442pub struct Zigbee4076130p6 {
3443 pub brightness: f64,
3445 pub color_temp: f64,
3447 pub color_temp_startup: f64,
3449 pub linkquality: f64,
3451 pub power_on_behavior: Zigbee4076130p6Poweronbehavior,
3453 #[serde(deserialize_with = "zigbee4076130p6_state_deserializer")]
3456 pub state: bool,
3457 pub last_seen: Option<LastSeen>,
3459 pub elapsed: Option<u64>,
3461}
3462fn zigbee4076130p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3464where
3465 D: Deserializer<'de>,
3466{
3467 match String::deserialize(deserializer)?.as_ref() {
3468 "ON" => Ok(true),
3469 "OFF" => Ok(false),
3470 other => Err(de::Error::invalid_value(
3471 Unexpected::Str(other),
3472 &"Value expected was either ON or OFF",
3473 )),
3474 }
3475}
3476
3477#[cfg_attr(feature = "debug", derive(Debug))]
3481#[cfg_attr(feature = "clone", derive(Clone))]
3482#[derive(Deserialize)]
3483pub struct Zigbee4076131p6 {
3484 pub brightness: f64,
3486 pub color_temp: f64,
3488 pub color_temp_startup: f64,
3490 pub linkquality: f64,
3492 pub power_on_behavior: Zigbee4076131p6Poweronbehavior,
3494 #[serde(deserialize_with = "zigbee4076131p6_state_deserializer")]
3497 pub state: bool,
3498 pub last_seen: Option<LastSeen>,
3500 pub elapsed: Option<u64>,
3502}
3503fn zigbee4076131p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3505where
3506 D: Deserializer<'de>,
3507{
3508 match String::deserialize(deserializer)?.as_ref() {
3509 "ON" => Ok(true),
3510 "OFF" => Ok(false),
3511 other => Err(de::Error::invalid_value(
3512 Unexpected::Str(other),
3513 &"Value expected was either ON or OFF",
3514 )),
3515 }
3516}
3517
3518#[cfg_attr(feature = "debug", derive(Debug))]
3522#[cfg_attr(feature = "clone", derive(Clone))]
3523#[derive(Deserialize)]
3524pub struct Zigbee4080148p7 {
3525 pub brightness: f64,
3527 pub color_temp: f64,
3529 pub color_temp_startup: f64,
3531 pub linkquality: f64,
3533 pub power_on_behavior: Zigbee4080148p7Poweronbehavior,
3535 #[serde(deserialize_with = "zigbee4080148p7_state_deserializer")]
3538 pub state: bool,
3539 pub last_seen: Option<LastSeen>,
3541 pub elapsed: Option<u64>,
3543}
3544fn zigbee4080148p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3546where
3547 D: Deserializer<'de>,
3548{
3549 match String::deserialize(deserializer)?.as_ref() {
3550 "ON" => Ok(true),
3551 "OFF" => Ok(false),
3552 other => Err(de::Error::invalid_value(
3553 Unexpected::Str(other),
3554 &"Value expected was either ON or OFF",
3555 )),
3556 }
3557}
3558
3559#[cfg_attr(feature = "debug", derive(Debug))]
3563#[cfg_attr(feature = "clone", derive(Clone))]
3564#[derive(Deserialize)]
3565pub struct Zigbee4080148p9 {
3566 pub brightness: f64,
3568 pub color_temp: f64,
3570 pub color_temp_startup: f64,
3572 pub linkquality: f64,
3574 pub power_on_behavior: Zigbee4080148p9Poweronbehavior,
3576 #[serde(deserialize_with = "zigbee4080148p9_state_deserializer")]
3579 pub state: bool,
3580 pub last_seen: Option<LastSeen>,
3582 pub elapsed: Option<u64>,
3584}
3585fn zigbee4080148p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3587where
3588 D: Deserializer<'de>,
3589{
3590 match String::deserialize(deserializer)?.as_ref() {
3591 "ON" => Ok(true),
3592 "OFF" => Ok(false),
3593 other => Err(de::Error::invalid_value(
3594 Unexpected::Str(other),
3595 &"Value expected was either ON or OFF",
3596 )),
3597 }
3598}
3599
3600#[cfg_attr(feature = "debug", derive(Debug))]
3604#[cfg_attr(feature = "clone", derive(Clone))]
3605#[derive(Deserialize)]
3606pub struct Zigbee4080148u9 {
3607 pub brightness: f64,
3609 pub color_temp: f64,
3611 pub color_temp_startup: f64,
3613 pub linkquality: f64,
3615 pub power_on_behavior: Zigbee4080148u9Poweronbehavior,
3617 #[serde(deserialize_with = "zigbee4080148u9_state_deserializer")]
3620 pub state: bool,
3621 pub last_seen: Option<LastSeen>,
3623 pub elapsed: Option<u64>,
3625}
3626fn zigbee4080148u9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3628where
3629 D: Deserializer<'de>,
3630{
3631 match String::deserialize(deserializer)?.as_ref() {
3632 "ON" => Ok(true),
3633 "OFF" => Ok(false),
3634 other => Err(de::Error::invalid_value(
3635 Unexpected::Str(other),
3636 &"Value expected was either ON or OFF",
3637 )),
3638 }
3639}
3640
3641#[cfg_attr(feature = "debug", derive(Debug))]
3645#[cfg_attr(feature = "clone", derive(Clone))]
3646#[derive(Deserialize)]
3647pub struct Zigbee4080248p7 {
3648 pub brightness: f64,
3650 pub color_temp: f64,
3652 pub color_temp_startup: f64,
3654 pub linkquality: f64,
3656 pub power_on_behavior: Zigbee4080248p7Poweronbehavior,
3658 #[serde(deserialize_with = "zigbee4080248p7_state_deserializer")]
3661 pub state: bool,
3662 pub last_seen: Option<LastSeen>,
3664 pub elapsed: Option<u64>,
3666}
3667fn zigbee4080248p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3669where
3670 D: Deserializer<'de>,
3671{
3672 match String::deserialize(deserializer)?.as_ref() {
3673 "ON" => Ok(true),
3674 "OFF" => Ok(false),
3675 other => Err(de::Error::invalid_value(
3676 Unexpected::Str(other),
3677 &"Value expected was either ON or OFF",
3678 )),
3679 }
3680}
3681
3682#[cfg_attr(feature = "debug", derive(Debug))]
3686#[cfg_attr(feature = "clone", derive(Clone))]
3687#[derive(Deserialize)]
3688pub struct Zigbee4080248p9 {
3689 pub brightness: f64,
3691 pub color_temp: f64,
3693 pub color_temp_startup: f64,
3695 pub linkquality: f64,
3697 pub power_on_behavior: Zigbee4080248p9Poweronbehavior,
3699 #[serde(deserialize_with = "zigbee4080248p9_state_deserializer")]
3702 pub state: bool,
3703 pub last_seen: Option<LastSeen>,
3705 pub elapsed: Option<u64>,
3707}
3708fn zigbee4080248p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3710where
3711 D: Deserializer<'de>,
3712{
3713 match String::deserialize(deserializer)?.as_ref() {
3714 "ON" => Ok(true),
3715 "OFF" => Ok(false),
3716 other => Err(de::Error::invalid_value(
3717 Unexpected::Str(other),
3718 &"Value expected was either ON or OFF",
3719 )),
3720 }
3721}
3722
3723#[cfg_attr(feature = "debug", derive(Debug))]
3727#[cfg_attr(feature = "clone", derive(Clone))]
3728#[derive(Deserialize)]
3729pub struct Zigbee4080248u9 {
3730 pub brightness: f64,
3732 pub color_temp: f64,
3734 pub color_temp_startup: f64,
3736 pub linkquality: f64,
3738 pub power_on_behavior: Zigbee4080248u9Poweronbehavior,
3740 #[serde(deserialize_with = "zigbee4080248u9_state_deserializer")]
3743 pub state: bool,
3744 pub last_seen: Option<LastSeen>,
3746 pub elapsed: Option<u64>,
3748}
3749fn zigbee4080248u9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3751where
3752 D: Deserializer<'de>,
3753{
3754 match String::deserialize(deserializer)?.as_ref() {
3755 "ON" => Ok(true),
3756 "OFF" => Ok(false),
3757 other => Err(de::Error::invalid_value(
3758 Unexpected::Str(other),
3759 &"Value expected was either ON or OFF",
3760 )),
3761 }
3762}
3763
3764#[cfg_attr(feature = "debug", derive(Debug))]
3768#[cfg_attr(feature = "clone", derive(Clone))]
3769#[derive(Deserialize)]
3770pub struct Zigbee4090130p7 {
3771 pub brightness: f64,
3773 pub color_temp: f64,
3775 pub color_temp_startup: f64,
3777 pub linkquality: f64,
3779 pub power_on_behavior: Zigbee4090130p7Poweronbehavior,
3781 #[serde(deserialize_with = "zigbee4090130p7_state_deserializer")]
3784 pub state: bool,
3785 pub last_seen: Option<LastSeen>,
3787 pub elapsed: Option<u64>,
3789}
3790fn zigbee4090130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3792where
3793 D: Deserializer<'de>,
3794{
3795 match String::deserialize(deserializer)?.as_ref() {
3796 "ON" => Ok(true),
3797 "OFF" => Ok(false),
3798 other => Err(de::Error::invalid_value(
3799 Unexpected::Str(other),
3800 &"Value expected was either ON or OFF",
3801 )),
3802 }
3803}
3804
3805#[cfg_attr(feature = "debug", derive(Debug))]
3809#[cfg_attr(feature = "clone", derive(Clone))]
3810#[derive(Deserialize)]
3811pub struct Zigbee4090130p9 {
3812 pub brightness: f64,
3814 pub color_temp: f64,
3816 pub color_temp_startup: f64,
3818 pub linkquality: f64,
3820 pub power_on_behavior: Zigbee4090130p9Poweronbehavior,
3822 #[serde(deserialize_with = "zigbee4090130p9_state_deserializer")]
3825 pub state: bool,
3826 pub last_seen: Option<LastSeen>,
3828 pub elapsed: Option<u64>,
3830}
3831fn zigbee4090130p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3833where
3834 D: Deserializer<'de>,
3835{
3836 match String::deserialize(deserializer)?.as_ref() {
3837 "ON" => Ok(true),
3838 "OFF" => Ok(false),
3839 other => Err(de::Error::invalid_value(
3840 Unexpected::Str(other),
3841 &"Value expected was either ON or OFF",
3842 )),
3843 }
3844}
3845
3846#[cfg_attr(feature = "debug", derive(Debug))]
3850#[cfg_attr(feature = "clone", derive(Clone))]
3851#[derive(Deserialize)]
3852pub struct Zigbee4090230p9 {
3853 pub brightness: f64,
3855 pub color_temp: f64,
3857 pub color_temp_startup: f64,
3859 pub linkquality: f64,
3861 pub power_on_behavior: Zigbee4090230p9Poweronbehavior,
3863 #[serde(deserialize_with = "zigbee4090230p9_state_deserializer")]
3866 pub state: bool,
3867 pub last_seen: Option<LastSeen>,
3869 pub elapsed: Option<u64>,
3871}
3872fn zigbee4090230p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3874where
3875 D: Deserializer<'de>,
3876{
3877 match String::deserialize(deserializer)?.as_ref() {
3878 "ON" => Ok(true),
3879 "OFF" => Ok(false),
3880 other => Err(de::Error::invalid_value(
3881 Unexpected::Str(other),
3882 &"Value expected was either ON or OFF",
3883 )),
3884 }
3885}
3886
3887#[cfg_attr(feature = "debug", derive(Debug))]
3891#[cfg_attr(feature = "clone", derive(Clone))]
3892#[derive(Deserialize)]
3893pub struct Zigbee4090231p9 {
3894 pub brightness: f64,
3896 pub color_temp: f64,
3898 pub color_temp_startup: f64,
3900 pub linkquality: f64,
3902 pub power_on_behavior: Zigbee4090231p9Poweronbehavior,
3904 #[serde(deserialize_with = "zigbee4090231p9_state_deserializer")]
3907 pub state: bool,
3908 pub last_seen: Option<LastSeen>,
3910 pub elapsed: Option<u64>,
3912}
3913fn zigbee4090231p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3915where
3916 D: Deserializer<'de>,
3917{
3918 match String::deserialize(deserializer)?.as_ref() {
3919 "ON" => Ok(true),
3920 "OFF" => Ok(false),
3921 other => Err(de::Error::invalid_value(
3922 Unexpected::Str(other),
3923 &"Value expected was either ON or OFF",
3924 )),
3925 }
3926}
3927
3928#[cfg_attr(feature = "debug", derive(Debug))]
3932#[cfg_attr(feature = "clone", derive(Clone))]
3933#[derive(Deserialize)]
3934pub struct Zigbee4090330p9 {
3935 pub brightness: f64,
3937 pub color_temp: f64,
3939 pub color_temp_startup: f64,
3941 pub linkquality: f64,
3943 pub power_on_behavior: Zigbee4090330p9Poweronbehavior,
3945 #[serde(deserialize_with = "zigbee4090330p9_state_deserializer")]
3948 pub state: bool,
3949 pub last_seen: Option<LastSeen>,
3951 pub elapsed: Option<u64>,
3953}
3954fn zigbee4090330p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3956where
3957 D: Deserializer<'de>,
3958{
3959 match String::deserialize(deserializer)?.as_ref() {
3960 "ON" => Ok(true),
3961 "OFF" => Ok(false),
3962 other => Err(de::Error::invalid_value(
3963 Unexpected::Str(other),
3964 &"Value expected was either ON or OFF",
3965 )),
3966 }
3967}
3968
3969#[cfg_attr(feature = "debug", derive(Debug))]
3973#[cfg_attr(feature = "clone", derive(Clone))]
3974#[derive(Deserialize)]
3975pub struct Zigbee4090331p9 {
3976 pub brightness: f64,
3978 pub color_temp: f64,
3980 pub color_temp_startup: f64,
3982 pub linkquality: f64,
3984 pub power_on_behavior: Zigbee4090331p9Poweronbehavior,
3986 #[serde(deserialize_with = "zigbee4090331p9_state_deserializer")]
3989 pub state: bool,
3990 pub last_seen: Option<LastSeen>,
3992 pub elapsed: Option<u64>,
3994}
3995fn zigbee4090331p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
3997where
3998 D: Deserializer<'de>,
3999{
4000 match String::deserialize(deserializer)?.as_ref() {
4001 "ON" => Ok(true),
4002 "OFF" => Ok(false),
4003 other => Err(de::Error::invalid_value(
4004 Unexpected::Str(other),
4005 &"Value expected was either ON or OFF",
4006 )),
4007 }
4008}
4009
4010#[cfg_attr(feature = "debug", derive(Debug))]
4014#[cfg_attr(feature = "clone", derive(Clone))]
4015#[derive(Deserialize)]
4016pub struct Zigbee4090431p9 {
4017 pub brightness: f64,
4019 pub color_temp: f64,
4021 pub color_temp_startup: f64,
4023 pub linkquality: f64,
4025 pub power_on_behavior: Zigbee4090431p9Poweronbehavior,
4027 #[serde(deserialize_with = "zigbee4090431p9_state_deserializer")]
4030 pub state: bool,
4031 pub last_seen: Option<LastSeen>,
4033 pub elapsed: Option<u64>,
4035}
4036fn zigbee4090431p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4038where
4039 D: Deserializer<'de>,
4040{
4041 match String::deserialize(deserializer)?.as_ref() {
4042 "ON" => Ok(true),
4043 "OFF" => Ok(false),
4044 other => Err(de::Error::invalid_value(
4045 Unexpected::Str(other),
4046 &"Value expected was either ON or OFF",
4047 )),
4048 }
4049}
4050
4051#[cfg_attr(feature = "debug", derive(Debug))]
4055#[cfg_attr(feature = "clone", derive(Clone))]
4056#[derive(Deserialize)]
4057pub struct Zigbee4090531p7 {
4058 pub brightness: f64,
4060 pub color_temp: f64,
4062 pub color_temp_startup: f64,
4064 pub linkquality: f64,
4066 pub power_on_behavior: Zigbee4090531p7Poweronbehavior,
4068 #[serde(deserialize_with = "zigbee4090531p7_state_deserializer")]
4071 pub state: bool,
4072 pub last_seen: Option<LastSeen>,
4074 pub elapsed: Option<u64>,
4076}
4077fn zigbee4090531p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4079where
4080 D: Deserializer<'de>,
4081{
4082 match String::deserialize(deserializer)?.as_ref() {
4083 "ON" => Ok(true),
4084 "OFF" => Ok(false),
4085 other => Err(de::Error::invalid_value(
4086 Unexpected::Str(other),
4087 &"Value expected was either ON or OFF",
4088 )),
4089 }
4090}
4091
4092#[cfg_attr(feature = "debug", derive(Debug))]
4096#[cfg_attr(feature = "clone", derive(Clone))]
4097#[derive(Deserialize)]
4098pub struct Zigbee4090531p9 {
4099 pub brightness: f64,
4101 pub color_temp: f64,
4103 pub color_temp_startup: f64,
4105 pub linkquality: f64,
4107 pub power_on_behavior: Zigbee4090531p9Poweronbehavior,
4109 #[serde(deserialize_with = "zigbee4090531p9_state_deserializer")]
4112 pub state: bool,
4113 pub last_seen: Option<LastSeen>,
4115 pub elapsed: Option<u64>,
4117}
4118fn zigbee4090531p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4120where
4121 D: Deserializer<'de>,
4122{
4123 match String::deserialize(deserializer)?.as_ref() {
4124 "ON" => Ok(true),
4125 "OFF" => Ok(false),
4126 other => Err(de::Error::invalid_value(
4127 Unexpected::Str(other),
4128 &"Value expected was either ON or OFF",
4129 )),
4130 }
4131}
4132
4133#[cfg_attr(feature = "debug", derive(Debug))]
4137#[cfg_attr(feature = "clone", derive(Clone))]
4138#[derive(Deserialize)]
4139pub struct Zigbee4090631p7 {
4140 pub brightness: f64,
4142 pub color_temp: f64,
4144 pub color_temp_startup: f64,
4146 pub linkquality: f64,
4148 pub power_on_behavior: Zigbee4090631p7Poweronbehavior,
4150 #[serde(deserialize_with = "zigbee4090631p7_state_deserializer")]
4153 pub state: bool,
4154 pub last_seen: Option<LastSeen>,
4156 pub elapsed: Option<u64>,
4158}
4159fn zigbee4090631p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4161where
4162 D: Deserializer<'de>,
4163{
4164 match String::deserialize(deserializer)?.as_ref() {
4165 "ON" => Ok(true),
4166 "OFF" => Ok(false),
4167 other => Err(de::Error::invalid_value(
4168 Unexpected::Str(other),
4169 &"Value expected was either ON or OFF",
4170 )),
4171 }
4172}
4173
4174#[cfg_attr(feature = "debug", derive(Debug))]
4178#[cfg_attr(feature = "clone", derive(Clone))]
4179#[derive(Deserialize)]
4180pub struct Zigbee4090631p9 {
4181 pub brightness: f64,
4183 pub color_temp: f64,
4185 pub color_temp_startup: f64,
4187 pub linkquality: f64,
4189 pub power_on_behavior: Zigbee4090631p9Poweronbehavior,
4191 #[serde(deserialize_with = "zigbee4090631p9_state_deserializer")]
4194 pub state: bool,
4195 pub last_seen: Option<LastSeen>,
4197 pub elapsed: Option<u64>,
4199}
4200fn zigbee4090631p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4202where
4203 D: Deserializer<'de>,
4204{
4205 match String::deserialize(deserializer)?.as_ref() {
4206 "ON" => Ok(true),
4207 "OFF" => Ok(false),
4208 other => Err(de::Error::invalid_value(
4209 Unexpected::Str(other),
4210 &"Value expected was either ON or OFF",
4211 )),
4212 }
4213}
4214
4215#[cfg_attr(feature = "debug", derive(Debug))]
4219#[cfg_attr(feature = "clone", derive(Clone))]
4220#[derive(Deserialize)]
4221pub struct Zigbee4096730p6 {
4222 pub brightness: f64,
4224 pub color_temp: f64,
4226 pub color_temp_startup: f64,
4228 pub linkquality: f64,
4230 pub power_on_behavior: Zigbee4096730p6Poweronbehavior,
4232 #[serde(deserialize_with = "zigbee4096730p6_state_deserializer")]
4235 pub state: bool,
4236 pub last_seen: Option<LastSeen>,
4238 pub elapsed: Option<u64>,
4240}
4241fn zigbee4096730p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4243where
4244 D: Deserializer<'de>,
4245{
4246 match String::deserialize(deserializer)?.as_ref() {
4247 "ON" => Ok(true),
4248 "OFF" => Ok(false),
4249 other => Err(de::Error::invalid_value(
4250 Unexpected::Str(other),
4251 &"Value expected was either ON or OFF",
4252 )),
4253 }
4254}
4255
4256#[cfg_attr(feature = "debug", derive(Debug))]
4260#[cfg_attr(feature = "clone", derive(Clone))]
4261#[derive(Deserialize)]
4262pub struct Zigbee4096730u7 {
4263 pub brightness: f64,
4265 pub color_temp: f64,
4267 pub color_temp_startup: f64,
4269 pub linkquality: f64,
4271 pub power_on_behavior: Zigbee4096730u7Poweronbehavior,
4273 #[serde(deserialize_with = "zigbee4096730u7_state_deserializer")]
4276 pub state: bool,
4277 pub last_seen: Option<LastSeen>,
4279 pub elapsed: Option<u64>,
4281}
4282fn zigbee4096730u7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4284where
4285 D: Deserializer<'de>,
4286{
4287 match String::deserialize(deserializer)?.as_ref() {
4288 "ON" => Ok(true),
4289 "OFF" => Ok(false),
4290 other => Err(de::Error::invalid_value(
4291 Unexpected::Str(other),
4292 &"Value expected was either ON or OFF",
4293 )),
4294 }
4295}
4296
4297#[cfg_attr(feature = "debug", derive(Debug))]
4301#[cfg_attr(feature = "clone", derive(Clone))]
4302#[derive(Deserialize)]
4303pub struct Zigbee4098430p7 {
4304 pub brightness: f64,
4306 pub color_temp: f64,
4308 pub color_temp_startup: f64,
4310 pub linkquality: f64,
4312 pub power_on_behavior: Zigbee4098430p7Poweronbehavior,
4314 #[serde(deserialize_with = "zigbee4098430p7_state_deserializer")]
4317 pub state: bool,
4318 pub last_seen: Option<LastSeen>,
4320 pub elapsed: Option<u64>,
4322}
4323fn zigbee4098430p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4325where
4326 D: Deserializer<'de>,
4327{
4328 match String::deserialize(deserializer)?.as_ref() {
4329 "ON" => Ok(true),
4330 "OFF" => Ok(false),
4331 other => Err(de::Error::invalid_value(
4332 Unexpected::Str(other),
4333 &"Value expected was either ON or OFF",
4334 )),
4335 }
4336}
4337
4338#[cfg_attr(feature = "debug", derive(Debug))]
4342#[cfg_attr(feature = "clone", derive(Clone))]
4343#[derive(Deserialize)]
4344pub struct Zigbee4100448u9 {
4345 pub brightness: f64,
4347 pub color_temp: f64,
4349 pub color_temp_startup: f64,
4351 pub linkquality: f64,
4353 pub power_on_behavior: Zigbee4100448u9Poweronbehavior,
4355 #[serde(deserialize_with = "zigbee4100448u9_state_deserializer")]
4358 pub state: bool,
4359 pub last_seen: Option<LastSeen>,
4361 pub elapsed: Option<u64>,
4363}
4364fn zigbee4100448u9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4366where
4367 D: Deserializer<'de>,
4368{
4369 match String::deserialize(deserializer)?.as_ref() {
4370 "ON" => Ok(true),
4371 "OFF" => Ok(false),
4372 other => Err(de::Error::invalid_value(
4373 Unexpected::Str(other),
4374 &"Value expected was either ON or OFF",
4375 )),
4376 }
4377}
4378
4379#[cfg_attr(feature = "debug", derive(Debug))]
4383#[cfg_attr(feature = "clone", derive(Clone))]
4384#[derive(Deserialize)]
4385pub struct Zigbee433714 {
4386 pub brightness: f64,
4388 pub linkquality: f64,
4390 pub power_on_behavior: Zigbee433714Poweronbehavior,
4392 #[serde(deserialize_with = "zigbee433714_state_deserializer")]
4395 pub state: bool,
4396 pub last_seen: Option<LastSeen>,
4398 pub elapsed: Option<u64>,
4400}
4401fn zigbee433714_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4403where
4404 D: Deserializer<'de>,
4405{
4406 match String::deserialize(deserializer)?.as_ref() {
4407 "ON" => Ok(true),
4408 "OFF" => Ok(false),
4409 other => Err(de::Error::invalid_value(
4410 Unexpected::Str(other),
4411 &"Value expected was either ON or OFF",
4412 )),
4413 }
4414}
4415
4416#[cfg_attr(feature = "debug", derive(Debug))]
4420#[cfg_attr(feature = "clone", derive(Clone))]
4421#[derive(Deserialize)]
4422pub struct Zigbee4503748c6 {
4423 pub brightness: f64,
4425 pub color_temp: f64,
4427 pub color_temp_startup: f64,
4429 pub linkquality: f64,
4431 pub power_on_behavior: Zigbee4503748c6Poweronbehavior,
4433 #[serde(deserialize_with = "zigbee4503748c6_state_deserializer")]
4436 pub state: bool,
4437 pub last_seen: Option<LastSeen>,
4439 pub elapsed: Option<u64>,
4441}
4442fn zigbee4503748c6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4444where
4445 D: Deserializer<'de>,
4446{
4447 match String::deserialize(deserializer)?.as_ref() {
4448 "ON" => Ok(true),
4449 "OFF" => Ok(false),
4450 other => Err(de::Error::invalid_value(
4451 Unexpected::Str(other),
4452 &"Value expected was either ON or OFF",
4453 )),
4454 }
4455}
4456
4457#[cfg_attr(feature = "debug", derive(Debug))]
4461#[cfg_attr(feature = "clone", derive(Clone))]
4462#[derive(Deserialize)]
4463pub struct Zigbee4503848c5 {
4464 pub brightness: f64,
4466 pub color_temp: f64,
4468 pub color_temp_startup: f64,
4470 pub linkquality: f64,
4472 pub power_on_behavior: Zigbee4503848c5Poweronbehavior,
4474 #[serde(deserialize_with = "zigbee4503848c5_state_deserializer")]
4477 pub state: bool,
4478 pub last_seen: Option<LastSeen>,
4480 pub elapsed: Option<u64>,
4482}
4483fn zigbee4503848c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4485where
4486 D: Deserializer<'de>,
4487{
4488 match String::deserialize(deserializer)?.as_ref() {
4489 "ON" => Ok(true),
4490 "OFF" => Ok(false),
4491 other => Err(de::Error::invalid_value(
4492 Unexpected::Str(other),
4493 &"Value expected was either ON or OFF",
4494 )),
4495 }
4496}
4497
4498#[cfg_attr(feature = "debug", derive(Debug))]
4502#[cfg_attr(feature = "clone", derive(Clone))]
4503#[derive(Deserialize)]
4504pub struct Zigbee4505748c5 {
4505 pub brightness: f64,
4507 pub color_temp: f64,
4509 pub color_temp_startup: f64,
4511 pub linkquality: f64,
4513 pub power_on_behavior: Zigbee4505748c5Poweronbehavior,
4515 #[serde(deserialize_with = "zigbee4505748c5_state_deserializer")]
4518 pub state: bool,
4519 pub last_seen: Option<LastSeen>,
4521 pub elapsed: Option<u64>,
4523}
4524fn zigbee4505748c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4526where
4527 D: Deserializer<'de>,
4528{
4529 match String::deserialize(deserializer)?.as_ref() {
4530 "ON" => Ok(true),
4531 "OFF" => Ok(false),
4532 other => Err(de::Error::invalid_value(
4533 Unexpected::Str(other),
4534 &"Value expected was either ON or OFF",
4535 )),
4536 }
4537}
4538
4539#[cfg_attr(feature = "debug", derive(Debug))]
4543#[cfg_attr(feature = "clone", derive(Clone))]
4544#[derive(Deserialize)]
4545pub struct Zigbee4507748c5 {
4546 pub brightness: f64,
4548 pub color_temp: f64,
4550 pub color_temp_startup: f64,
4552 pub linkquality: f64,
4554 pub power_on_behavior: Zigbee4507748c5Poweronbehavior,
4556 #[serde(deserialize_with = "zigbee4507748c5_state_deserializer")]
4559 pub state: bool,
4560 pub last_seen: Option<LastSeen>,
4562 pub elapsed: Option<u64>,
4564}
4565fn zigbee4507748c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4567where
4568 D: Deserializer<'de>,
4569{
4570 match String::deserialize(deserializer)?.as_ref() {
4571 "ON" => Ok(true),
4572 "OFF" => Ok(false),
4573 other => Err(de::Error::invalid_value(
4574 Unexpected::Str(other),
4575 &"Value expected was either ON or OFF",
4576 )),
4577 }
4578}
4579
4580#[cfg_attr(feature = "debug", derive(Debug))]
4584#[cfg_attr(feature = "clone", derive(Clone))]
4585#[derive(Deserialize)]
4586pub struct Zigbee464800 {
4587 pub brightness: f64,
4589 pub color_temp: f64,
4591 pub color_temp_startup: f64,
4593 pub linkquality: f64,
4595 pub power_on_behavior: Zigbee464800Poweronbehavior,
4597 #[serde(deserialize_with = "zigbee464800_state_deserializer")]
4600 pub state: bool,
4601 pub last_seen: Option<LastSeen>,
4603 pub elapsed: Option<u64>,
4605}
4606fn zigbee464800_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4608where
4609 D: Deserializer<'de>,
4610{
4611 match String::deserialize(deserializer)?.as_ref() {
4612 "ON" => Ok(true),
4613 "OFF" => Ok(false),
4614 other => Err(de::Error::invalid_value(
4615 Unexpected::Str(other),
4616 &"Value expected was either ON or OFF",
4617 )),
4618 }
4619}
4620
4621#[cfg_attr(feature = "debug", derive(Debug))]
4625#[cfg_attr(feature = "clone", derive(Clone))]
4626#[derive(Deserialize)]
4627pub struct Zigbee5041131p9 {
4628 pub brightness: f64,
4630 pub color_temp: f64,
4632 pub color_temp_startup: f64,
4634 pub linkquality: f64,
4636 pub power_on_behavior: Zigbee5041131p9Poweronbehavior,
4638 #[serde(deserialize_with = "zigbee5041131p9_state_deserializer")]
4641 pub state: bool,
4642 pub last_seen: Option<LastSeen>,
4644 pub elapsed: Option<u64>,
4646}
4647fn zigbee5041131p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4649where
4650 D: Deserializer<'de>,
4651{
4652 match String::deserialize(deserializer)?.as_ref() {
4653 "ON" => Ok(true),
4654 "OFF" => Ok(false),
4655 other => Err(de::Error::invalid_value(
4656 Unexpected::Str(other),
4657 &"Value expected was either ON or OFF",
4658 )),
4659 }
4660}
4661
4662#[cfg_attr(feature = "debug", derive(Debug))]
4666#[cfg_attr(feature = "clone", derive(Clone))]
4667#[derive(Deserialize)]
4668pub struct Zigbee5042131p9 {
4669 pub brightness: f64,
4671 pub color_temp: f64,
4673 pub color_temp_startup: f64,
4675 pub linkquality: f64,
4677 pub power_on_behavior: Zigbee5042131p9Poweronbehavior,
4679 #[serde(deserialize_with = "zigbee5042131p9_state_deserializer")]
4682 pub state: bool,
4683 pub last_seen: Option<LastSeen>,
4685 pub elapsed: Option<u64>,
4687}
4688fn zigbee5042131p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4690where
4691 D: Deserializer<'de>,
4692{
4693 match String::deserialize(deserializer)?.as_ref() {
4694 "ON" => Ok(true),
4695 "OFF" => Ok(false),
4696 other => Err(de::Error::invalid_value(
4697 Unexpected::Str(other),
4698 &"Value expected was either ON or OFF",
4699 )),
4700 }
4701}
4702
4703#[cfg_attr(feature = "debug", derive(Debug))]
4707#[cfg_attr(feature = "clone", derive(Clone))]
4708#[derive(Deserialize)]
4709pub struct Zigbee5045131p7 {
4710 pub brightness: f64,
4712 pub color_temp: f64,
4714 pub color_temp_startup: f64,
4716 pub linkquality: f64,
4718 pub power_on_behavior: Zigbee5045131p7Poweronbehavior,
4720 #[serde(deserialize_with = "zigbee5045131p7_state_deserializer")]
4723 pub state: bool,
4724 pub last_seen: Option<LastSeen>,
4726 pub elapsed: Option<u64>,
4728}
4729fn zigbee5045131p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4731where
4732 D: Deserializer<'de>,
4733{
4734 match String::deserialize(deserializer)?.as_ref() {
4735 "ON" => Ok(true),
4736 "OFF" => Ok(false),
4737 other => Err(de::Error::invalid_value(
4738 Unexpected::Str(other),
4739 &"Value expected was either ON or OFF",
4740 )),
4741 }
4742}
4743
4744#[cfg_attr(feature = "debug", derive(Debug))]
4748#[cfg_attr(feature = "clone", derive(Clone))]
4749#[derive(Deserialize)]
4750pub struct Zigbee5045148p7 {
4751 pub brightness: f64,
4753 pub color_temp: f64,
4755 pub color_temp_startup: f64,
4757 pub linkquality: f64,
4759 pub power_on_behavior: Zigbee5045148p7Poweronbehavior,
4761 #[serde(deserialize_with = "zigbee5045148p7_state_deserializer")]
4764 pub state: bool,
4765 pub last_seen: Option<LastSeen>,
4767 pub elapsed: Option<u64>,
4769}
4770fn zigbee5045148p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4772where
4773 D: Deserializer<'de>,
4774{
4775 match String::deserialize(deserializer)?.as_ref() {
4776 "ON" => Ok(true),
4777 "OFF" => Ok(false),
4778 other => Err(de::Error::invalid_value(
4779 Unexpected::Str(other),
4780 &"Value expected was either ON or OFF",
4781 )),
4782 }
4783}
4784
4785#[cfg_attr(feature = "debug", derive(Debug))]
4789#[cfg_attr(feature = "clone", derive(Clone))]
4790#[derive(Deserialize)]
4791pub struct Zigbee5047130p6 {
4792 pub brightness: f64,
4794 pub color_temp: f64,
4796 pub color_temp_startup: f64,
4798 pub linkquality: f64,
4800 pub power_on_behavior: Zigbee5047130p6Poweronbehavior,
4802 #[serde(deserialize_with = "zigbee5047130p6_state_deserializer")]
4805 pub state: bool,
4806 pub last_seen: Option<LastSeen>,
4808 pub elapsed: Option<u64>,
4810}
4811fn zigbee5047130p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4813where
4814 D: Deserializer<'de>,
4815{
4816 match String::deserialize(deserializer)?.as_ref() {
4817 "ON" => Ok(true),
4818 "OFF" => Ok(false),
4819 other => Err(de::Error::invalid_value(
4820 Unexpected::Str(other),
4821 &"Value expected was either ON or OFF",
4822 )),
4823 }
4824}
4825
4826#[cfg_attr(feature = "debug", derive(Debug))]
4830#[cfg_attr(feature = "clone", derive(Clone))]
4831#[derive(Deserialize)]
4832pub struct Zigbee5047130p9 {
4833 pub brightness: f64,
4835 pub color_temp: f64,
4837 pub color_temp_startup: f64,
4839 pub linkquality: f64,
4841 pub power_on_behavior: Zigbee5047130p9Poweronbehavior,
4843 #[serde(deserialize_with = "zigbee5047130p9_state_deserializer")]
4846 pub state: bool,
4847 pub last_seen: Option<LastSeen>,
4849 pub elapsed: Option<u64>,
4851}
4852fn zigbee5047130p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4854where
4855 D: Deserializer<'de>,
4856{
4857 match String::deserialize(deserializer)?.as_ref() {
4858 "ON" => Ok(true),
4859 "OFF" => Ok(false),
4860 other => Err(de::Error::invalid_value(
4861 Unexpected::Str(other),
4862 &"Value expected was either ON or OFF",
4863 )),
4864 }
4865}
4866
4867#[cfg_attr(feature = "debug", derive(Debug))]
4871#[cfg_attr(feature = "clone", derive(Clone))]
4872#[derive(Deserialize)]
4873pub struct Zigbee5047131p8 {
4874 pub brightness: f64,
4876 pub color_temp: f64,
4878 pub color_temp_startup: f64,
4880 pub linkquality: f64,
4882 pub power_on_behavior: Zigbee5047131p8Poweronbehavior,
4884 #[serde(deserialize_with = "zigbee5047131p8_state_deserializer")]
4887 pub state: bool,
4888 pub last_seen: Option<LastSeen>,
4890 pub elapsed: Option<u64>,
4892}
4893fn zigbee5047131p8_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4895where
4896 D: Deserializer<'de>,
4897{
4898 match String::deserialize(deserializer)?.as_ref() {
4899 "ON" => Ok(true),
4900 "OFF" => Ok(false),
4901 other => Err(de::Error::invalid_value(
4902 Unexpected::Str(other),
4903 &"Value expected was either ON or OFF",
4904 )),
4905 }
4906}
4907
4908#[cfg_attr(feature = "debug", derive(Debug))]
4912#[cfg_attr(feature = "clone", derive(Clone))]
4913#[derive(Deserialize)]
4914pub struct Zigbee5047131p9 {
4915 pub brightness: f64,
4917 pub color_temp: f64,
4919 pub color_temp_startup: f64,
4921 pub linkquality: f64,
4923 pub power_on_behavior: Zigbee5047131p9Poweronbehavior,
4925 #[serde(deserialize_with = "zigbee5047131p9_state_deserializer")]
4928 pub state: bool,
4929 pub last_seen: Option<LastSeen>,
4931 pub elapsed: Option<u64>,
4933}
4934fn zigbee5047131p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4936where
4937 D: Deserializer<'de>,
4938{
4939 match String::deserialize(deserializer)?.as_ref() {
4940 "ON" => Ok(true),
4941 "OFF" => Ok(false),
4942 other => Err(de::Error::invalid_value(
4943 Unexpected::Str(other),
4944 &"Value expected was either ON or OFF",
4945 )),
4946 }
4947}
4948
4949#[cfg_attr(feature = "debug", derive(Debug))]
4953#[cfg_attr(feature = "clone", derive(Clone))]
4954#[derive(Deserialize)]
4955pub struct Zigbee5047230p6 {
4956 pub brightness: f64,
4958 pub color_temp: f64,
4960 pub color_temp_startup: f64,
4962 pub linkquality: f64,
4964 pub power_on_behavior: Zigbee5047230p6Poweronbehavior,
4966 #[serde(deserialize_with = "zigbee5047230p6_state_deserializer")]
4969 pub state: bool,
4970 pub last_seen: Option<LastSeen>,
4972 pub elapsed: Option<u64>,
4974}
4975fn zigbee5047230p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
4977where
4978 D: Deserializer<'de>,
4979{
4980 match String::deserialize(deserializer)?.as_ref() {
4981 "ON" => Ok(true),
4982 "OFF" => Ok(false),
4983 other => Err(de::Error::invalid_value(
4984 Unexpected::Str(other),
4985 &"Value expected was either ON or OFF",
4986 )),
4987 }
4988}
4989
4990#[cfg_attr(feature = "debug", derive(Debug))]
4994#[cfg_attr(feature = "clone", derive(Clone))]
4995#[derive(Deserialize)]
4996pub struct Zigbee5047231p6 {
4997 pub brightness: f64,
4999 pub color_temp: f64,
5001 pub color_temp_startup: f64,
5003 pub linkquality: f64,
5005 pub power_on_behavior: Zigbee5047231p6Poweronbehavior,
5007 #[serde(deserialize_with = "zigbee5047231p6_state_deserializer")]
5010 pub state: bool,
5011 pub last_seen: Option<LastSeen>,
5013 pub elapsed: Option<u64>,
5015}
5016fn zigbee5047231p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5018where
5019 D: Deserializer<'de>,
5020{
5021 match String::deserialize(deserializer)?.as_ref() {
5022 "ON" => Ok(true),
5023 "OFF" => Ok(false),
5024 other => Err(de::Error::invalid_value(
5025 Unexpected::Str(other),
5026 &"Value expected was either ON or OFF",
5027 )),
5028 }
5029}
5030
5031#[cfg_attr(feature = "debug", derive(Debug))]
5035#[cfg_attr(feature = "clone", derive(Clone))]
5036#[derive(Deserialize)]
5037pub struct Zigbee5047331p6 {
5038 pub brightness: f64,
5040 pub color_temp: f64,
5042 pub color_temp_startup: f64,
5044 pub linkquality: f64,
5046 pub power_on_behavior: Zigbee5047331p6Poweronbehavior,
5048 #[serde(deserialize_with = "zigbee5047331p6_state_deserializer")]
5051 pub state: bool,
5052 pub last_seen: Option<LastSeen>,
5054 pub elapsed: Option<u64>,
5056}
5057fn zigbee5047331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5059where
5060 D: Deserializer<'de>,
5061{
5062 match String::deserialize(deserializer)?.as_ref() {
5063 "ON" => Ok(true),
5064 "OFF" => Ok(false),
5065 other => Err(de::Error::invalid_value(
5066 Unexpected::Str(other),
5067 &"Value expected was either ON or OFF",
5068 )),
5069 }
5070}
5071
5072#[cfg_attr(feature = "debug", derive(Debug))]
5076#[cfg_attr(feature = "clone", derive(Clone))]
5077#[derive(Deserialize)]
5078pub struct Zigbee5047430p6 {
5079 pub brightness: f64,
5081 pub color_temp: f64,
5083 pub color_temp_startup: f64,
5085 pub linkquality: f64,
5087 pub power_on_behavior: Zigbee5047430p6Poweronbehavior,
5089 #[serde(deserialize_with = "zigbee5047430p6_state_deserializer")]
5092 pub state: bool,
5093 pub last_seen: Option<LastSeen>,
5095 pub elapsed: Option<u64>,
5097}
5098fn zigbee5047430p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5100where
5101 D: Deserializer<'de>,
5102{
5103 match String::deserialize(deserializer)?.as_ref() {
5104 "ON" => Ok(true),
5105 "OFF" => Ok(false),
5106 other => Err(de::Error::invalid_value(
5107 Unexpected::Str(other),
5108 &"Value expected was either ON or OFF",
5109 )),
5110 }
5111}
5112
5113#[cfg_attr(feature = "debug", derive(Debug))]
5117#[cfg_attr(feature = "clone", derive(Clone))]
5118#[derive(Deserialize)]
5119pub struct Zigbee5055131p7 {
5120 pub brightness: f64,
5122 pub color_temp: f64,
5124 pub color_temp_startup: f64,
5126 pub linkquality: f64,
5128 pub power_on_behavior: Zigbee5055131p7Poweronbehavior,
5130 #[serde(deserialize_with = "zigbee5055131p7_state_deserializer")]
5133 pub state: bool,
5134 pub last_seen: Option<LastSeen>,
5136 pub elapsed: Option<u64>,
5138}
5139fn zigbee5055131p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5141where
5142 D: Deserializer<'de>,
5143{
5144 match String::deserialize(deserializer)?.as_ref() {
5145 "ON" => Ok(true),
5146 "OFF" => Ok(false),
5147 other => Err(de::Error::invalid_value(
5148 Unexpected::Str(other),
5149 &"Value expected was either ON or OFF",
5150 )),
5151 }
5152}
5153
5154#[cfg_attr(feature = "debug", derive(Debug))]
5158#[cfg_attr(feature = "clone", derive(Clone))]
5159#[derive(Deserialize)]
5160pub struct Zigbee5055148p7 {
5161 pub brightness: f64,
5163 pub color_temp: f64,
5165 pub color_temp_startup: f64,
5167 pub linkquality: f64,
5169 pub power_on_behavior: Zigbee5055148p7Poweronbehavior,
5171 #[serde(deserialize_with = "zigbee5055148p7_state_deserializer")]
5174 pub state: bool,
5175 pub last_seen: Option<LastSeen>,
5177 pub elapsed: Option<u64>,
5179}
5180fn zigbee5055148p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5182where
5183 D: Deserializer<'de>,
5184{
5185 match String::deserialize(deserializer)?.as_ref() {
5186 "ON" => Ok(true),
5187 "OFF" => Ok(false),
5188 other => Err(de::Error::invalid_value(
5189 Unexpected::Str(other),
5190 &"Value expected was either ON or OFF",
5191 )),
5192 }
5193}
5194
5195#[cfg_attr(feature = "debug", derive(Debug))]
5199#[cfg_attr(feature = "clone", derive(Clone))]
5200#[derive(Deserialize)]
5201pub struct Zigbee5060730p7 {
5202 pub brightness: f64,
5204 pub color_temp: f64,
5206 pub color_temp_startup: f64,
5208 pub linkquality: f64,
5210 pub power_on_behavior: Zigbee5060730p7Poweronbehavior,
5212 #[serde(deserialize_with = "zigbee5060730p7_state_deserializer")]
5215 pub state: bool,
5216 pub last_seen: Option<LastSeen>,
5218 pub elapsed: Option<u64>,
5220}
5221fn zigbee5060730p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5223where
5224 D: Deserializer<'de>,
5225{
5226 match String::deserialize(deserializer)?.as_ref() {
5227 "ON" => Ok(true),
5228 "OFF" => Ok(false),
5229 other => Err(de::Error::invalid_value(
5230 Unexpected::Str(other),
5231 &"Value expected was either ON or OFF",
5232 )),
5233 }
5234}
5235
5236#[cfg_attr(feature = "debug", derive(Debug))]
5240#[cfg_attr(feature = "clone", derive(Clone))]
5241#[derive(Deserialize)]
5242pub struct Zigbee5060731p7 {
5243 pub brightness: f64,
5245 pub color_temp: f64,
5247 pub color_temp_startup: f64,
5249 pub linkquality: f64,
5251 pub power_on_behavior: Zigbee5060731p7Poweronbehavior,
5253 #[serde(deserialize_with = "zigbee5060731p7_state_deserializer")]
5256 pub state: bool,
5257 pub last_seen: Option<LastSeen>,
5259 pub elapsed: Option<u64>,
5261}
5262fn zigbee5060731p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5264where
5265 D: Deserializer<'de>,
5266{
5267 match String::deserialize(deserializer)?.as_ref() {
5268 "ON" => Ok(true),
5269 "OFF" => Ok(false),
5270 other => Err(de::Error::invalid_value(
5271 Unexpected::Str(other),
5272 &"Value expected was either ON or OFF",
5273 )),
5274 }
5275}
5276
5277#[cfg_attr(feature = "debug", derive(Debug))]
5281#[cfg_attr(feature = "clone", derive(Clone))]
5282#[derive(Deserialize)]
5283pub struct Zigbee5060830p7 {
5284 pub brightness: f64,
5286 pub color_temp: f64,
5288 pub color_temp_startup: f64,
5290 pub linkquality: f64,
5292 pub power_on_behavior: Zigbee5060830p7Poweronbehavior,
5294 #[serde(deserialize_with = "zigbee5060830p7_state_deserializer")]
5297 pub state: bool,
5298 pub last_seen: Option<LastSeen>,
5300 pub elapsed: Option<u64>,
5302}
5303fn zigbee5060830p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5305where
5306 D: Deserializer<'de>,
5307{
5308 match String::deserialize(deserializer)?.as_ref() {
5309 "ON" => Ok(true),
5310 "OFF" => Ok(false),
5311 other => Err(de::Error::invalid_value(
5312 Unexpected::Str(other),
5313 &"Value expected was either ON or OFF",
5314 )),
5315 }
5316}
5317
5318#[cfg_attr(feature = "debug", derive(Debug))]
5322#[cfg_attr(feature = "clone", derive(Clone))]
5323#[derive(Deserialize)]
5324pub struct Zigbee5060831p7 {
5325 pub brightness: f64,
5327 pub color_temp: f64,
5329 pub color_temp_startup: f64,
5331 pub linkquality: f64,
5333 pub power_on_behavior: Zigbee5060831p7Poweronbehavior,
5335 #[serde(deserialize_with = "zigbee5060831p7_state_deserializer")]
5338 pub state: bool,
5339 pub last_seen: Option<LastSeen>,
5341 pub elapsed: Option<u64>,
5343}
5344fn zigbee5060831p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5346where
5347 D: Deserializer<'de>,
5348{
5349 match String::deserialize(deserializer)?.as_ref() {
5350 "ON" => Ok(true),
5351 "OFF" => Ok(false),
5352 other => Err(de::Error::invalid_value(
5353 Unexpected::Str(other),
5354 &"Value expected was either ON or OFF",
5355 )),
5356 }
5357}
5358
5359#[cfg_attr(feature = "debug", derive(Debug))]
5363#[cfg_attr(feature = "clone", derive(Clone))]
5364#[derive(Deserialize)]
5365pub struct Zigbee5060930p7 {
5366 pub brightness: f64,
5368 pub color_temp: f64,
5370 pub color_temp_startup: f64,
5372 pub linkquality: f64,
5374 pub power_on_behavior: Zigbee5060930p7Poweronbehavior,
5376 #[serde(deserialize_with = "zigbee5060930p7_state_deserializer")]
5379 pub state: bool,
5380 pub last_seen: Option<LastSeen>,
5382 pub elapsed: Option<u64>,
5384}
5385fn zigbee5060930p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5387where
5388 D: Deserializer<'de>,
5389{
5390 match String::deserialize(deserializer)?.as_ref() {
5391 "ON" => Ok(true),
5392 "OFF" => Ok(false),
5393 other => Err(de::Error::invalid_value(
5394 Unexpected::Str(other),
5395 &"Value expected was either ON or OFF",
5396 )),
5397 }
5398}
5399
5400#[cfg_attr(feature = "debug", derive(Debug))]
5404#[cfg_attr(feature = "clone", derive(Clone))]
5405#[derive(Deserialize)]
5406pub struct Zigbee5060931p7 {
5407 pub brightness: f64,
5409 pub color_temp: f64,
5411 pub color_temp_startup: f64,
5413 pub linkquality: f64,
5415 pub power_on_behavior: Zigbee5060931p7Poweronbehavior,
5417 #[serde(deserialize_with = "zigbee5060931p7_state_deserializer")]
5420 pub state: bool,
5421 pub last_seen: Option<LastSeen>,
5423 pub elapsed: Option<u64>,
5425}
5426fn zigbee5060931p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5428where
5429 D: Deserializer<'de>,
5430{
5431 match String::deserialize(deserializer)?.as_ref() {
5432 "ON" => Ok(true),
5433 "OFF" => Ok(false),
5434 other => Err(de::Error::invalid_value(
5435 Unexpected::Str(other),
5436 &"Value expected was either ON or OFF",
5437 )),
5438 }
5439}
5440
5441#[cfg_attr(feature = "debug", derive(Debug))]
5445#[cfg_attr(feature = "clone", derive(Clone))]
5446#[derive(Deserialize)]
5447pub struct Zigbee5061030p7 {
5448 pub brightness: f64,
5450 pub color_temp: f64,
5452 pub color_temp_startup: f64,
5454 pub linkquality: f64,
5456 pub power_on_behavior: Zigbee5061030p7Poweronbehavior,
5458 #[serde(deserialize_with = "zigbee5061030p7_state_deserializer")]
5461 pub state: bool,
5462 pub last_seen: Option<LastSeen>,
5464 pub elapsed: Option<u64>,
5466}
5467fn zigbee5061030p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5469where
5470 D: Deserializer<'de>,
5471{
5472 match String::deserialize(deserializer)?.as_ref() {
5473 "ON" => Ok(true),
5474 "OFF" => Ok(false),
5475 other => Err(de::Error::invalid_value(
5476 Unexpected::Str(other),
5477 &"Value expected was either ON or OFF",
5478 )),
5479 }
5480}
5481
5482#[cfg_attr(feature = "debug", derive(Debug))]
5486#[cfg_attr(feature = "clone", derive(Clone))]
5487#[derive(Deserialize)]
5488pub struct Zigbee5061031p7 {
5489 pub brightness: f64,
5491 pub color_temp: f64,
5493 pub color_temp_startup: f64,
5495 pub linkquality: f64,
5497 pub power_on_behavior: Zigbee5061031p7Poweronbehavior,
5499 #[serde(deserialize_with = "zigbee5061031p7_state_deserializer")]
5502 pub state: bool,
5503 pub last_seen: Option<LastSeen>,
5505 pub elapsed: Option<u64>,
5507}
5508fn zigbee5061031p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5510where
5511 D: Deserializer<'de>,
5512{
5513 match String::deserialize(deserializer)?.as_ref() {
5514 "ON" => Ok(true),
5515 "OFF" => Ok(false),
5516 other => Err(de::Error::invalid_value(
5517 Unexpected::Str(other),
5518 &"Value expected was either ON or OFF",
5519 )),
5520 }
5521}
5522
5523#[cfg_attr(feature = "debug", derive(Debug))]
5527#[cfg_attr(feature = "clone", derive(Clone))]
5528#[derive(Deserialize)]
5529pub struct Zigbee5062131p7 {
5530 pub brightness: f64,
5532 pub color_temp: f64,
5534 pub color_temp_startup: f64,
5536 pub linkquality: f64,
5538 pub power_on_behavior: Zigbee5062131p7Poweronbehavior,
5540 #[serde(deserialize_with = "zigbee5062131p7_state_deserializer")]
5543 pub state: bool,
5544 pub last_seen: Option<LastSeen>,
5546 pub elapsed: Option<u64>,
5548}
5549fn zigbee5062131p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5551where
5552 D: Deserializer<'de>,
5553{
5554 match String::deserialize(deserializer)?.as_ref() {
5555 "ON" => Ok(true),
5556 "OFF" => Ok(false),
5557 other => Err(de::Error::invalid_value(
5558 Unexpected::Str(other),
5559 &"Value expected was either ON or OFF",
5560 )),
5561 }
5562}
5563
5564#[cfg_attr(feature = "debug", derive(Debug))]
5568#[cfg_attr(feature = "clone", derive(Clone))]
5569#[derive(Deserialize)]
5570pub struct Zigbee5062148p7 {
5571 pub brightness: f64,
5573 pub color_temp: f64,
5575 pub color_temp_startup: f64,
5577 pub linkquality: f64,
5579 pub power_on_behavior: Zigbee5062148p7Poweronbehavior,
5581 #[serde(deserialize_with = "zigbee5062148p7_state_deserializer")]
5584 pub state: bool,
5585 pub last_seen: Option<LastSeen>,
5587 pub elapsed: Option<u64>,
5589}
5590fn zigbee5062148p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5592where
5593 D: Deserializer<'de>,
5594{
5595 match String::deserialize(deserializer)?.as_ref() {
5596 "ON" => Ok(true),
5597 "OFF" => Ok(false),
5598 other => Err(de::Error::invalid_value(
5599 Unexpected::Str(other),
5600 &"Value expected was either ON or OFF",
5601 )),
5602 }
5603}
5604
5605#[cfg_attr(feature = "debug", derive(Debug))]
5609#[cfg_attr(feature = "clone", derive(Clone))]
5610#[derive(Deserialize)]
5611pub struct Zigbee5062231p7 {
5612 pub brightness: f64,
5614 pub color_temp: f64,
5616 pub color_temp_startup: f64,
5618 pub linkquality: f64,
5620 pub power_on_behavior: Zigbee5062231p7Poweronbehavior,
5622 #[serde(deserialize_with = "zigbee5062231p7_state_deserializer")]
5625 pub state: bool,
5626 pub last_seen: Option<LastSeen>,
5628 pub elapsed: Option<u64>,
5630}
5631fn zigbee5062231p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5633where
5634 D: Deserializer<'de>,
5635{
5636 match String::deserialize(deserializer)?.as_ref() {
5637 "ON" => Ok(true),
5638 "OFF" => Ok(false),
5639 other => Err(de::Error::invalid_value(
5640 Unexpected::Str(other),
5641 &"Value expected was either ON or OFF",
5642 )),
5643 }
5644}
5645
5646#[cfg_attr(feature = "debug", derive(Debug))]
5650#[cfg_attr(feature = "clone", derive(Clone))]
5651#[derive(Deserialize)]
5652pub struct Zigbee5062248p7 {
5653 pub brightness: f64,
5655 pub color_temp: f64,
5657 pub color_temp_startup: f64,
5659 pub linkquality: f64,
5661 pub power_on_behavior: Zigbee5062248p7Poweronbehavior,
5663 #[serde(deserialize_with = "zigbee5062248p7_state_deserializer")]
5666 pub state: bool,
5667 pub last_seen: Option<LastSeen>,
5669 pub elapsed: Option<u64>,
5671}
5672fn zigbee5062248p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5674where
5675 D: Deserializer<'de>,
5676{
5677 match String::deserialize(deserializer)?.as_ref() {
5678 "ON" => Ok(true),
5679 "OFF" => Ok(false),
5680 other => Err(de::Error::invalid_value(
5681 Unexpected::Str(other),
5682 &"Value expected was either ON or OFF",
5683 )),
5684 }
5685}
5686
5687#[cfg_attr(feature = "debug", derive(Debug))]
5691#[cfg_attr(feature = "clone", derive(Clone))]
5692#[derive(Deserialize)]
5693pub struct Zigbee5062331p7 {
5694 pub brightness: f64,
5696 pub color_temp: f64,
5698 pub color_temp_startup: f64,
5700 pub linkquality: f64,
5702 pub power_on_behavior: Zigbee5062331p7Poweronbehavior,
5704 #[serde(deserialize_with = "zigbee5062331p7_state_deserializer")]
5707 pub state: bool,
5708 pub last_seen: Option<LastSeen>,
5710 pub elapsed: Option<u64>,
5712}
5713fn zigbee5062331p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5715where
5716 D: Deserializer<'de>,
5717{
5718 match String::deserialize(deserializer)?.as_ref() {
5719 "ON" => Ok(true),
5720 "OFF" => Ok(false),
5721 other => Err(de::Error::invalid_value(
5722 Unexpected::Str(other),
5723 &"Value expected was either ON or OFF",
5724 )),
5725 }
5726}
5727
5728#[cfg_attr(feature = "debug", derive(Debug))]
5732#[cfg_attr(feature = "clone", derive(Clone))]
5733#[derive(Deserialize)]
5734pub struct Zigbee5062348p7 {
5735 pub brightness: f64,
5737 pub color_temp: f64,
5739 pub color_temp_startup: f64,
5741 pub linkquality: f64,
5743 pub power_on_behavior: Zigbee5062348p7Poweronbehavior,
5745 #[serde(deserialize_with = "zigbee5062348p7_state_deserializer")]
5748 pub state: bool,
5749 pub last_seen: Option<LastSeen>,
5751 pub elapsed: Option<u64>,
5753}
5754fn zigbee5062348p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5756where
5757 D: Deserializer<'de>,
5758{
5759 match String::deserialize(deserializer)?.as_ref() {
5760 "ON" => Ok(true),
5761 "OFF" => Ok(false),
5762 other => Err(de::Error::invalid_value(
5763 Unexpected::Str(other),
5764 &"Value expected was either ON or OFF",
5765 )),
5766 }
5767}
5768
5769#[cfg_attr(feature = "debug", derive(Debug))]
5773#[cfg_attr(feature = "clone", derive(Clone))]
5774#[derive(Deserialize)]
5775pub struct Zigbee5062431p7 {
5776 pub brightness: f64,
5778 pub color_temp: f64,
5780 pub color_temp_startup: f64,
5782 pub linkquality: f64,
5784 pub power_on_behavior: Zigbee5062431p7Poweronbehavior,
5786 #[serde(deserialize_with = "zigbee5062431p7_state_deserializer")]
5789 pub state: bool,
5790 pub last_seen: Option<LastSeen>,
5792 pub elapsed: Option<u64>,
5794}
5795fn zigbee5062431p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5797where
5798 D: Deserializer<'de>,
5799{
5800 match String::deserialize(deserializer)?.as_ref() {
5801 "ON" => Ok(true),
5802 "OFF" => Ok(false),
5803 other => Err(de::Error::invalid_value(
5804 Unexpected::Str(other),
5805 &"Value expected was either ON or OFF",
5806 )),
5807 }
5808}
5809
5810#[cfg_attr(feature = "debug", derive(Debug))]
5814#[cfg_attr(feature = "clone", derive(Clone))]
5815#[derive(Deserialize)]
5816pub struct Zigbee5062448p7 {
5817 pub brightness: f64,
5819 pub color_temp: f64,
5821 pub color_temp_startup: f64,
5823 pub linkquality: f64,
5825 pub power_on_behavior: Zigbee5062448p7Poweronbehavior,
5827 #[serde(deserialize_with = "zigbee5062448p7_state_deserializer")]
5830 pub state: bool,
5831 pub last_seen: Option<LastSeen>,
5833 pub elapsed: Option<u64>,
5835}
5836fn zigbee5062448p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5838where
5839 D: Deserializer<'de>,
5840{
5841 match String::deserialize(deserializer)?.as_ref() {
5842 "ON" => Ok(true),
5843 "OFF" => Ok(false),
5844 other => Err(de::Error::invalid_value(
5845 Unexpected::Str(other),
5846 &"Value expected was either ON or OFF",
5847 )),
5848 }
5849}
5850
5851#[cfg_attr(feature = "debug", derive(Debug))]
5855#[cfg_attr(feature = "clone", derive(Clone))]
5856#[derive(Deserialize)]
5857pub struct Zigbee5063130p7 {
5858 pub brightness: f64,
5860 pub color_temp: f64,
5862 pub color_temp_startup: f64,
5864 pub linkquality: f64,
5866 pub power_on_behavior: Zigbee5063130p7Poweronbehavior,
5868 #[serde(deserialize_with = "zigbee5063130p7_state_deserializer")]
5871 pub state: bool,
5872 pub last_seen: Option<LastSeen>,
5874 pub elapsed: Option<u64>,
5876}
5877fn zigbee5063130p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5879where
5880 D: Deserializer<'de>,
5881{
5882 match String::deserialize(deserializer)?.as_ref() {
5883 "ON" => Ok(true),
5884 "OFF" => Ok(false),
5885 other => Err(de::Error::invalid_value(
5886 Unexpected::Str(other),
5887 &"Value expected was either ON or OFF",
5888 )),
5889 }
5890}
5891
5892#[cfg_attr(feature = "debug", derive(Debug))]
5896#[cfg_attr(feature = "clone", derive(Clone))]
5897#[derive(Deserialize)]
5898pub struct Zigbee5063131p7 {
5899 pub brightness: f64,
5901 pub color_temp: f64,
5903 pub color_temp_startup: f64,
5905 pub linkquality: f64,
5907 pub power_on_behavior: Zigbee5063131p7Poweronbehavior,
5909 #[serde(deserialize_with = "zigbee5063131p7_state_deserializer")]
5912 pub state: bool,
5913 pub last_seen: Option<LastSeen>,
5915 pub elapsed: Option<u64>,
5917}
5918fn zigbee5063131p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5920where
5921 D: Deserializer<'de>,
5922{
5923 match String::deserialize(deserializer)?.as_ref() {
5924 "ON" => Ok(true),
5925 "OFF" => Ok(false),
5926 other => Err(de::Error::invalid_value(
5927 Unexpected::Str(other),
5928 &"Value expected was either ON or OFF",
5929 )),
5930 }
5931}
5932
5933#[cfg_attr(feature = "debug", derive(Debug))]
5937#[cfg_attr(feature = "clone", derive(Clone))]
5938#[derive(Deserialize)]
5939pub struct Zigbee5063230p7 {
5940 pub brightness: f64,
5942 pub color_temp: f64,
5944 pub color_temp_startup: f64,
5946 pub linkquality: f64,
5948 pub power_on_behavior: Zigbee5063230p7Poweronbehavior,
5950 #[serde(deserialize_with = "zigbee5063230p7_state_deserializer")]
5953 pub state: bool,
5954 pub last_seen: Option<LastSeen>,
5956 pub elapsed: Option<u64>,
5958}
5959fn zigbee5063230p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
5961where
5962 D: Deserializer<'de>,
5963{
5964 match String::deserialize(deserializer)?.as_ref() {
5965 "ON" => Ok(true),
5966 "OFF" => Ok(false),
5967 other => Err(de::Error::invalid_value(
5968 Unexpected::Str(other),
5969 &"Value expected was either ON or OFF",
5970 )),
5971 }
5972}
5973
5974#[cfg_attr(feature = "debug", derive(Debug))]
5978#[cfg_attr(feature = "clone", derive(Clone))]
5979#[derive(Deserialize)]
5980pub struct Zigbee5063231p7 {
5981 pub brightness: f64,
5983 pub color_temp: f64,
5985 pub color_temp_startup: f64,
5987 pub linkquality: f64,
5989 pub power_on_behavior: Zigbee5063231p7Poweronbehavior,
5991 #[serde(deserialize_with = "zigbee5063231p7_state_deserializer")]
5994 pub state: bool,
5995 pub last_seen: Option<LastSeen>,
5997 pub elapsed: Option<u64>,
5999}
6000fn zigbee5063231p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6002where
6003 D: Deserializer<'de>,
6004{
6005 match String::deserialize(deserializer)?.as_ref() {
6006 "ON" => Ok(true),
6007 "OFF" => Ok(false),
6008 other => Err(de::Error::invalid_value(
6009 Unexpected::Str(other),
6010 &"Value expected was either ON or OFF",
6011 )),
6012 }
6013}
6014
6015#[cfg_attr(feature = "debug", derive(Debug))]
6019#[cfg_attr(feature = "clone", derive(Clone))]
6020#[derive(Deserialize)]
6021pub struct Zigbee5063330p7 {
6022 pub brightness: f64,
6024 pub color_temp: f64,
6026 pub color_temp_startup: f64,
6028 pub linkquality: f64,
6030 pub power_on_behavior: Zigbee5063330p7Poweronbehavior,
6032 #[serde(deserialize_with = "zigbee5063330p7_state_deserializer")]
6035 pub state: bool,
6036 pub last_seen: Option<LastSeen>,
6038 pub elapsed: Option<u64>,
6040}
6041fn zigbee5063330p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6043where
6044 D: Deserializer<'de>,
6045{
6046 match String::deserialize(deserializer)?.as_ref() {
6047 "ON" => Ok(true),
6048 "OFF" => Ok(false),
6049 other => Err(de::Error::invalid_value(
6050 Unexpected::Str(other),
6051 &"Value expected was either ON or OFF",
6052 )),
6053 }
6054}
6055
6056#[cfg_attr(feature = "debug", derive(Debug))]
6060#[cfg_attr(feature = "clone", derive(Clone))]
6061#[derive(Deserialize)]
6062pub struct Zigbee5063331p7 {
6063 pub brightness: f64,
6065 pub color_temp: f64,
6067 pub color_temp_startup: f64,
6069 pub linkquality: f64,
6071 pub power_on_behavior: Zigbee5063331p7Poweronbehavior,
6073 #[serde(deserialize_with = "zigbee5063331p7_state_deserializer")]
6076 pub state: bool,
6077 pub last_seen: Option<LastSeen>,
6079 pub elapsed: Option<u64>,
6081}
6082fn zigbee5063331p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6084where
6085 D: Deserializer<'de>,
6086{
6087 match String::deserialize(deserializer)?.as_ref() {
6088 "ON" => Ok(true),
6089 "OFF" => Ok(false),
6090 other => Err(de::Error::invalid_value(
6091 Unexpected::Str(other),
6092 &"Value expected was either ON or OFF",
6093 )),
6094 }
6095}
6096
6097#[cfg_attr(feature = "debug", derive(Debug))]
6101#[cfg_attr(feature = "clone", derive(Clone))]
6102#[derive(Deserialize)]
6103pub struct Zigbee5063430p7 {
6104 pub brightness: f64,
6106 pub color_temp: f64,
6108 pub color_temp_startup: f64,
6110 pub linkquality: f64,
6112 pub power_on_behavior: Zigbee5063430p7Poweronbehavior,
6114 #[serde(deserialize_with = "zigbee5063430p7_state_deserializer")]
6117 pub state: bool,
6118 pub last_seen: Option<LastSeen>,
6120 pub elapsed: Option<u64>,
6122}
6123fn zigbee5063430p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6125where
6126 D: Deserializer<'de>,
6127{
6128 match String::deserialize(deserializer)?.as_ref() {
6129 "ON" => Ok(true),
6130 "OFF" => Ok(false),
6131 other => Err(de::Error::invalid_value(
6132 Unexpected::Str(other),
6133 &"Value expected was either ON or OFF",
6134 )),
6135 }
6136}
6137
6138#[cfg_attr(feature = "debug", derive(Debug))]
6142#[cfg_attr(feature = "clone", derive(Clone))]
6143#[derive(Deserialize)]
6144pub struct Zigbee5063431p7 {
6145 pub brightness: f64,
6147 pub color_temp: f64,
6149 pub color_temp_startup: f64,
6151 pub linkquality: f64,
6153 pub power_on_behavior: Zigbee5063431p7Poweronbehavior,
6155 #[serde(deserialize_with = "zigbee5063431p7_state_deserializer")]
6158 pub state: bool,
6159 pub last_seen: Option<LastSeen>,
6161 pub elapsed: Option<u64>,
6163}
6164fn zigbee5063431p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6166where
6167 D: Deserializer<'de>,
6168{
6169 match String::deserialize(deserializer)?.as_ref() {
6170 "ON" => Ok(true),
6171 "OFF" => Ok(false),
6172 other => Err(de::Error::invalid_value(
6173 Unexpected::Str(other),
6174 &"Value expected was either ON or OFF",
6175 )),
6176 }
6177}
6178
6179#[cfg_attr(feature = "debug", derive(Debug))]
6183#[cfg_attr(feature = "clone", derive(Clone))]
6184#[derive(Deserialize)]
6185pub struct Zigbee5110131h5 {
6186 pub brightness: f64,
6188 pub color_temp: f64,
6190 pub color_temp_startup: f64,
6192 pub linkquality: f64,
6194 pub power_on_behavior: Zigbee5110131h5Poweronbehavior,
6196 #[serde(deserialize_with = "zigbee5110131h5_state_deserializer")]
6199 pub state: bool,
6200 pub last_seen: Option<LastSeen>,
6202 pub elapsed: Option<u64>,
6204}
6205fn zigbee5110131h5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6207where
6208 D: Deserializer<'de>,
6209{
6210 match String::deserialize(deserializer)?.as_ref() {
6211 "ON" => Ok(true),
6212 "OFF" => Ok(false),
6213 other => Err(de::Error::invalid_value(
6214 Unexpected::Str(other),
6215 &"Value expected was either ON or OFF",
6216 )),
6217 }
6218}
6219
6220#[cfg_attr(feature = "debug", derive(Debug))]
6224#[cfg_attr(feature = "clone", derive(Clone))]
6225#[derive(Deserialize)]
6226pub struct Zigbee5110731h5 {
6227 pub brightness: f64,
6229 pub color_temp: f64,
6231 pub color_temp_startup: f64,
6233 pub linkquality: f64,
6235 pub power_on_behavior: Zigbee5110731h5Poweronbehavior,
6237 #[serde(deserialize_with = "zigbee5110731h5_state_deserializer")]
6240 pub state: bool,
6241 pub last_seen: Option<LastSeen>,
6243 pub elapsed: Option<u64>,
6245}
6246fn zigbee5110731h5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6248where
6249 D: Deserializer<'de>,
6250{
6251 match String::deserialize(deserializer)?.as_ref() {
6252 "ON" => Ok(true),
6253 "OFF" => Ok(false),
6254 other => Err(de::Error::invalid_value(
6255 Unexpected::Str(other),
6256 &"Value expected was either ON or OFF",
6257 )),
6258 }
6259}
6260
6261#[cfg_attr(feature = "debug", derive(Debug))]
6265#[cfg_attr(feature = "clone", derive(Clone))]
6266#[derive(Deserialize)]
6267pub struct Zigbee5111531h5 {
6268 pub brightness: f64,
6270 pub color_temp: f64,
6272 pub color_temp_startup: f64,
6274 pub linkquality: f64,
6276 pub power_on_behavior: Zigbee5111531h5Poweronbehavior,
6278 #[serde(deserialize_with = "zigbee5111531h5_state_deserializer")]
6281 pub state: bool,
6282 pub last_seen: Option<LastSeen>,
6284 pub elapsed: Option<u64>,
6286}
6287fn zigbee5111531h5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6289where
6290 D: Deserializer<'de>,
6291{
6292 match String::deserialize(deserializer)?.as_ref() {
6293 "ON" => Ok(true),
6294 "OFF" => Ok(false),
6295 other => Err(de::Error::invalid_value(
6296 Unexpected::Str(other),
6297 &"Value expected was either ON or OFF",
6298 )),
6299 }
6300}
6301
6302#[cfg_attr(feature = "debug", derive(Debug))]
6306#[cfg_attr(feature = "clone", derive(Clone))]
6307#[derive(Deserialize)]
6308pub struct Zigbee5309030p9 {
6309 pub brightness: f64,
6311 pub color_temp: f64,
6313 pub color_temp_startup: f64,
6315 pub linkquality: f64,
6317 pub power_on_behavior: Zigbee5309030p9Poweronbehavior,
6319 #[serde(deserialize_with = "zigbee5309030p9_state_deserializer")]
6322 pub state: bool,
6323 pub last_seen: Option<LastSeen>,
6325 pub elapsed: Option<u64>,
6327}
6328fn zigbee5309030p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6330where
6331 D: Deserializer<'de>,
6332{
6333 match String::deserialize(deserializer)?.as_ref() {
6334 "ON" => Ok(true),
6335 "OFF" => Ok(false),
6336 other => Err(de::Error::invalid_value(
6337 Unexpected::Str(other),
6338 &"Value expected was either ON or OFF",
6339 )),
6340 }
6341}
6342
6343#[cfg_attr(feature = "debug", derive(Debug))]
6347#[cfg_attr(feature = "clone", derive(Clone))]
6348#[derive(Deserialize)]
6349pub struct Zigbee5309031p8 {
6350 pub brightness: f64,
6352 pub color_temp: f64,
6354 pub color_temp_startup: f64,
6356 pub linkquality: f64,
6358 pub power_on_behavior: Zigbee5309031p8Poweronbehavior,
6360 #[serde(deserialize_with = "zigbee5309031p8_state_deserializer")]
6363 pub state: bool,
6364 pub last_seen: Option<LastSeen>,
6366 pub elapsed: Option<u64>,
6368}
6369fn zigbee5309031p8_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6371where
6372 D: Deserializer<'de>,
6373{
6374 match String::deserialize(deserializer)?.as_ref() {
6375 "ON" => Ok(true),
6376 "OFF" => Ok(false),
6377 other => Err(de::Error::invalid_value(
6378 Unexpected::Str(other),
6379 &"Value expected was either ON or OFF",
6380 )),
6381 }
6382}
6383
6384#[cfg_attr(feature = "debug", derive(Debug))]
6388#[cfg_attr(feature = "clone", derive(Clone))]
6389#[derive(Deserialize)]
6390pub struct Zigbee5309230p6 {
6391 pub brightness: f64,
6393 pub color_temp: f64,
6395 pub color_temp_startup: f64,
6397 pub linkquality: f64,
6399 pub power_on_behavior: Zigbee5309230p6Poweronbehavior,
6401 #[serde(deserialize_with = "zigbee5309230p6_state_deserializer")]
6404 pub state: bool,
6405 pub last_seen: Option<LastSeen>,
6407 pub elapsed: Option<u64>,
6409}
6410fn zigbee5309230p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6412where
6413 D: Deserializer<'de>,
6414{
6415 match String::deserialize(deserializer)?.as_ref() {
6416 "ON" => Ok(true),
6417 "OFF" => Ok(false),
6418 other => Err(de::Error::invalid_value(
6419 Unexpected::Str(other),
6420 &"Value expected was either ON or OFF",
6421 )),
6422 }
6423}
6424
6425#[cfg_attr(feature = "debug", derive(Debug))]
6429#[cfg_attr(feature = "clone", derive(Clone))]
6430#[derive(Deserialize)]
6431pub struct Zigbee5309331p6 {
6432 pub brightness: f64,
6434 pub color_temp: f64,
6436 pub color_temp_startup: f64,
6438 pub linkquality: f64,
6440 pub power_on_behavior: Zigbee5309331p6Poweronbehavior,
6442 #[serde(deserialize_with = "zigbee5309331p6_state_deserializer")]
6445 pub state: bool,
6446 pub last_seen: Option<LastSeen>,
6448 pub elapsed: Option<u64>,
6450}
6451fn zigbee5309331p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6453where
6454 D: Deserializer<'de>,
6455{
6456 match String::deserialize(deserializer)?.as_ref() {
6457 "ON" => Ok(true),
6458 "OFF" => Ok(false),
6459 other => Err(de::Error::invalid_value(
6460 Unexpected::Str(other),
6461 &"Value expected was either ON or OFF",
6462 )),
6463 }
6464}
6465
6466#[cfg_attr(feature = "debug", derive(Debug))]
6470#[cfg_attr(feature = "clone", derive(Clone))]
6471#[derive(Deserialize)]
6472pub struct Zigbee548727 {
6473 pub brightness: f64,
6475 pub color_temp: f64,
6477 pub color_temp_startup: f64,
6479 pub linkquality: f64,
6481 pub power_on_behavior: Zigbee548727Poweronbehavior,
6483 #[serde(deserialize_with = "zigbee548727_state_deserializer")]
6486 pub state: bool,
6487 pub last_seen: Option<LastSeen>,
6489 pub elapsed: Option<u64>,
6491}
6492fn zigbee548727_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6494where
6495 D: Deserializer<'de>,
6496{
6497 match String::deserialize(deserializer)?.as_ref() {
6498 "ON" => Ok(true),
6499 "OFF" => Ok(false),
6500 other => Err(de::Error::invalid_value(
6501 Unexpected::Str(other),
6502 &"Value expected was either ON or OFF",
6503 )),
6504 }
6505}
6506
6507#[cfg_attr(feature = "debug", derive(Debug))]
6511#[cfg_attr(feature = "clone", derive(Clone))]
6512#[derive(Deserialize)]
6513pub struct Zigbee5633030p6 {
6514 pub brightness: f64,
6516 pub color_temp: f64,
6518 pub color_temp_startup: f64,
6520 pub linkquality: f64,
6522 pub power_on_behavior: Zigbee5633030p6Poweronbehavior,
6524 #[serde(deserialize_with = "zigbee5633030p6_state_deserializer")]
6527 pub state: bool,
6528 pub last_seen: Option<LastSeen>,
6530 pub elapsed: Option<u64>,
6532}
6533fn zigbee5633030p6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6535where
6536 D: Deserializer<'de>,
6537{
6538 match String::deserialize(deserializer)?.as_ref() {
6539 "ON" => Ok(true),
6540 "OFF" => Ok(false),
6541 other => Err(de::Error::invalid_value(
6542 Unexpected::Str(other),
6543 &"Value expected was either ON or OFF",
6544 )),
6545 }
6546}
6547
6548#[cfg_attr(feature = "debug", derive(Debug))]
6552#[cfg_attr(feature = "clone", derive(Clone))]
6553#[derive(Deserialize)]
6554pub struct Zigbee5633031p9 {
6555 pub brightness: f64,
6557 pub color_temp: f64,
6559 pub color_temp_startup: f64,
6561 pub linkquality: f64,
6563 pub power_on_behavior: Zigbee5633031p9Poweronbehavior,
6565 #[serde(deserialize_with = "zigbee5633031p9_state_deserializer")]
6568 pub state: bool,
6569 pub last_seen: Option<LastSeen>,
6571 pub elapsed: Option<u64>,
6573}
6574fn zigbee5633031p9_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6576where
6577 D: Deserializer<'de>,
6578{
6579 match String::deserialize(deserializer)?.as_ref() {
6580 "ON" => Ok(true),
6581 "OFF" => Ok(false),
6582 other => Err(de::Error::invalid_value(
6583 Unexpected::Str(other),
6584 &"Value expected was either ON or OFF",
6585 )),
6586 }
6587}
6588
6589#[cfg_attr(feature = "debug", derive(Debug))]
6593#[cfg_attr(feature = "clone", derive(Clone))]
6594#[derive(Deserialize)]
6595pub struct Zigbee578526 {
6596 pub brightness: f64,
6598 pub color_temp: f64,
6600 pub color_temp_startup: f64,
6602 pub linkquality: f64,
6604 pub power_on_behavior: Zigbee578526Poweronbehavior,
6606 #[serde(deserialize_with = "zigbee578526_state_deserializer")]
6609 pub state: bool,
6610 pub last_seen: Option<LastSeen>,
6612 pub elapsed: Option<u64>,
6614}
6615fn zigbee578526_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6617where
6618 D: Deserializer<'de>,
6619{
6620 match String::deserialize(deserializer)?.as_ref() {
6621 "ON" => Ok(true),
6622 "OFF" => Ok(false),
6623 other => Err(de::Error::invalid_value(
6624 Unexpected::Str(other),
6625 &"Value expected was either ON or OFF",
6626 )),
6627 }
6628}
6629
6630#[cfg_attr(feature = "debug", derive(Debug))]
6634#[cfg_attr(feature = "clone", derive(Clone))]
6635#[derive(Deserialize)]
6636pub struct Zigbee579573 {
6637 pub brightness: f64,
6639 pub color_temp: f64,
6641 pub color_temp_startup: f64,
6643 pub linkquality: f64,
6645 pub power_on_behavior: Zigbee579573Poweronbehavior,
6647 #[serde(deserialize_with = "zigbee579573_state_deserializer")]
6650 pub state: bool,
6651 pub last_seen: Option<LastSeen>,
6653 pub elapsed: Option<u64>,
6655}
6656fn zigbee579573_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6658where
6659 D: Deserializer<'de>,
6660{
6661 match String::deserialize(deserializer)?.as_ref() {
6662 "ON" => Ok(true),
6663 "OFF" => Ok(false),
6664 other => Err(de::Error::invalid_value(
6665 Unexpected::Str(other),
6666 &"Value expected was either ON or OFF",
6667 )),
6668 }
6669}
6670
6671#[cfg_attr(feature = "debug", derive(Debug))]
6675#[cfg_attr(feature = "clone", derive(Clone))]
6676#[derive(Deserialize)]
6677pub struct Zigbee5900131c5 {
6678 pub brightness: f64,
6680 pub color_temp: f64,
6682 pub color_temp_startup: f64,
6684 pub linkquality: f64,
6686 pub power_on_behavior: Zigbee5900131c5Poweronbehavior,
6688 #[serde(deserialize_with = "zigbee5900131c5_state_deserializer")]
6691 pub state: bool,
6692 pub last_seen: Option<LastSeen>,
6694 pub elapsed: Option<u64>,
6696}
6697fn zigbee5900131c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6699where
6700 D: Deserializer<'de>,
6701{
6702 match String::deserialize(deserializer)?.as_ref() {
6703 "ON" => Ok(true),
6704 "OFF" => Ok(false),
6705 other => Err(de::Error::invalid_value(
6706 Unexpected::Str(other),
6707 &"Value expected was either ON or OFF",
6708 )),
6709 }
6710}
6711
6712#[cfg_attr(feature = "debug", derive(Debug))]
6716#[cfg_attr(feature = "clone", derive(Clone))]
6717#[derive(Deserialize)]
6718pub struct Zigbee5995111u5 {
6719 pub brightness: f64,
6721 pub color_temp: f64,
6723 pub color_temp_startup: f64,
6725 pub linkquality: f64,
6727 pub power_on_behavior: Zigbee5995111u5Poweronbehavior,
6729 #[serde(deserialize_with = "zigbee5995111u5_state_deserializer")]
6732 pub state: bool,
6733 pub last_seen: Option<LastSeen>,
6735 pub elapsed: Option<u64>,
6737}
6738fn zigbee5995111u5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6740where
6741 D: Deserializer<'de>,
6742{
6743 match String::deserialize(deserializer)?.as_ref() {
6744 "ON" => Ok(true),
6745 "OFF" => Ok(false),
6746 other => Err(de::Error::invalid_value(
6747 Unexpected::Str(other),
6748 &"Value expected was either ON or OFF",
6749 )),
6750 }
6751}
6752
6753#[cfg_attr(feature = "debug", derive(Debug))]
6757#[cfg_attr(feature = "clone", derive(Clone))]
6758#[derive(Deserialize)]
6759pub struct Zigbee5996311u5 {
6760 pub brightness: f64,
6762 pub color_temp: f64,
6764 pub color_temp_startup: f64,
6766 pub linkquality: f64,
6768 pub power_on_behavior: Zigbee5996311u5Poweronbehavior,
6770 #[serde(deserialize_with = "zigbee5996311u5_state_deserializer")]
6773 pub state: bool,
6774 pub last_seen: Option<LastSeen>,
6776 pub elapsed: Option<u64>,
6778}
6779fn zigbee5996311u5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6781where
6782 D: Deserializer<'de>,
6783{
6784 match String::deserialize(deserializer)?.as_ref() {
6785 "ON" => Ok(true),
6786 "OFF" => Ok(false),
6787 other => Err(de::Error::invalid_value(
6788 Unexpected::Str(other),
6789 &"Value expected was either ON or OFF",
6790 )),
6791 }
6792}
6793
6794#[cfg_attr(feature = "debug", derive(Debug))]
6798#[cfg_attr(feature = "clone", derive(Clone))]
6799#[derive(Deserialize)]
6800pub struct Zigbee5996411u5 {
6801 pub brightness: f64,
6803 pub color_temp: f64,
6805 pub color_temp_startup: f64,
6807 pub linkquality: f64,
6809 pub power_on_behavior: Zigbee5996411u5Poweronbehavior,
6811 #[serde(deserialize_with = "zigbee5996411u5_state_deserializer")]
6814 pub state: bool,
6815 pub last_seen: Option<LastSeen>,
6817 pub elapsed: Option<u64>,
6819}
6820fn zigbee5996411u5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6822where
6823 D: Deserializer<'de>,
6824{
6825 match String::deserialize(deserializer)?.as_ref() {
6826 "ON" => Ok(true),
6827 "OFF" => Ok(false),
6828 other => Err(de::Error::invalid_value(
6829 Unexpected::Str(other),
6830 &"Value expected was either ON or OFF",
6831 )),
6832 }
6833}
6834
6835#[cfg_attr(feature = "debug", derive(Debug))]
6839#[cfg_attr(feature = "clone", derive(Clone))]
6840#[derive(Deserialize)]
6841pub struct Zigbee5996511u5 {
6842 pub brightness: f64,
6844 pub color_temp: f64,
6846 pub color_temp_startup: f64,
6848 pub linkquality: f64,
6850 pub power_on_behavior: Zigbee5996511u5Poweronbehavior,
6852 #[serde(deserialize_with = "zigbee5996511u5_state_deserializer")]
6855 pub state: bool,
6856 pub last_seen: Option<LastSeen>,
6858 pub elapsed: Option<u64>,
6860}
6861fn zigbee5996511u5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6863where
6864 D: Deserializer<'de>,
6865{
6866 match String::deserialize(deserializer)?.as_ref() {
6867 "ON" => Ok(true),
6868 "OFF" => Ok(false),
6869 other => Err(de::Error::invalid_value(
6870 Unexpected::Str(other),
6871 &"Value expected was either ON or OFF",
6872 )),
6873 }
6874}
6875
6876#[cfg_attr(feature = "debug", derive(Debug))]
6880#[cfg_attr(feature = "clone", derive(Clone))]
6881#[derive(Deserialize)]
6882pub struct Zigbee5996611u5 {
6883 pub brightness: f64,
6885 pub color_temp: f64,
6887 pub color_temp_startup: f64,
6889 pub linkquality: f64,
6891 pub power_on_behavior: Zigbee5996611u5Poweronbehavior,
6893 #[serde(deserialize_with = "zigbee5996611u5_state_deserializer")]
6896 pub state: bool,
6897 pub last_seen: Option<LastSeen>,
6899 pub elapsed: Option<u64>,
6901}
6902fn zigbee5996611u5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6904where
6905 D: Deserializer<'de>,
6906{
6907 match String::deserialize(deserializer)?.as_ref() {
6908 "ON" => Ok(true),
6909 "OFF" => Ok(false),
6910 other => Err(de::Error::invalid_value(
6911 Unexpected::Str(other),
6912 &"Value expected was either ON or OFF",
6913 )),
6914 }
6915}
6916
6917#[cfg_attr(feature = "debug", derive(Debug))]
6921#[cfg_attr(feature = "clone", derive(Clone))]
6922#[derive(Deserialize)]
6923pub struct Zigbee6109231c5 {
6924 pub brightness: f64,
6926 pub color_temp: f64,
6928 pub color_temp_startup: f64,
6930 pub linkquality: f64,
6932 pub power_on_behavior: Zigbee6109231c5Poweronbehavior,
6934 #[serde(deserialize_with = "zigbee6109231c5_state_deserializer")]
6937 pub state: bool,
6938 pub last_seen: Option<LastSeen>,
6940 pub elapsed: Option<u64>,
6942}
6943fn zigbee6109231c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6945where
6946 D: Deserializer<'de>,
6947{
6948 match String::deserialize(deserializer)?.as_ref() {
6949 "ON" => Ok(true),
6950 "OFF" => Ok(false),
6951 other => Err(de::Error::invalid_value(
6952 Unexpected::Str(other),
6953 &"Value expected was either ON or OFF",
6954 )),
6955 }
6956}
6957
6958#[cfg_attr(feature = "debug", derive(Debug))]
6962#[cfg_attr(feature = "clone", derive(Clone))]
6963#[derive(Deserialize)]
6964pub struct Zigbee6109331c5 {
6965 pub brightness: f64,
6967 pub color_temp: f64,
6969 pub color_temp_startup: f64,
6971 pub linkquality: f64,
6973 pub power_on_behavior: Zigbee6109331c5Poweronbehavior,
6975 #[serde(deserialize_with = "zigbee6109331c5_state_deserializer")]
6978 pub state: bool,
6979 pub last_seen: Option<LastSeen>,
6981 pub elapsed: Option<u64>,
6983}
6984fn zigbee6109331c5_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
6986where
6987 D: Deserializer<'de>,
6988{
6989 match String::deserialize(deserializer)?.as_ref() {
6990 "ON" => Ok(true),
6991 "OFF" => Ok(false),
6992 other => Err(de::Error::invalid_value(
6993 Unexpected::Str(other),
6994 &"Value expected was either ON or OFF",
6995 )),
6996 }
6997}
6998
6999#[cfg_attr(feature = "debug", derive(Debug))]
7003#[cfg_attr(feature = "clone", derive(Clone))]
7004#[derive(Deserialize)]
7005pub struct Zigbee7099860ph {
7006 pub brightness: f64,
7008 pub linkquality: f64,
7010 pub power_on_behavior: Zigbee7099860phPoweronbehavior,
7012 #[serde(deserialize_with = "zigbee7099860ph_state_deserializer")]
7015 pub state: bool,
7016 pub last_seen: Option<LastSeen>,
7018 pub elapsed: Option<u64>,
7020}
7021fn zigbee7099860ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7023where
7024 D: Deserializer<'de>,
7025{
7026 match String::deserialize(deserializer)?.as_ref() {
7027 "ON" => Ok(true),
7028 "OFF" => Ok(false),
7029 other => Err(de::Error::invalid_value(
7030 Unexpected::Str(other),
7031 &"Value expected was either ON or OFF",
7032 )),
7033 }
7034}
7035
7036#[cfg_attr(feature = "debug", derive(Debug))]
7040#[cfg_attr(feature = "clone", derive(Clone))]
7041#[derive(Deserialize)]
7042pub struct Zigbee7099930ph {
7043 pub brightness: f64,
7045 pub linkquality: f64,
7047 pub power_on_behavior: Zigbee7099930phPoweronbehavior,
7049 #[serde(deserialize_with = "zigbee7099930ph_state_deserializer")]
7052 pub state: bool,
7053 pub last_seen: Option<LastSeen>,
7055 pub elapsed: Option<u64>,
7057}
7058fn zigbee7099930ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7060where
7061 D: Deserializer<'de>,
7062{
7063 match String::deserialize(deserializer)?.as_ref() {
7064 "ON" => Ok(true),
7065 "OFF" => Ok(false),
7066 other => Err(de::Error::invalid_value(
7067 Unexpected::Str(other),
7068 &"Value expected was either ON or OFF",
7069 )),
7070 }
7071}
7072
7073#[cfg_attr(feature = "debug", derive(Debug))]
7077#[cfg_attr(feature = "clone", derive(Clone))]
7078#[derive(Deserialize)]
7079pub struct Zigbee7121131pu7120031ph7120131ph7120231pu {
7080 pub brightness: f64,
7082 pub color_temp: f64,
7084 pub color_temp_startup: f64,
7086 pub linkquality: f64,
7088 pub power_on_behavior: Zigbee7121131pu7120031ph7120131ph7120231puPoweronbehavior,
7090 #[serde(deserialize_with = "zigbee7121131pu7120031ph7120131ph7120231pu_state_deserializer")]
7093 pub state: bool,
7094 pub last_seen: Option<LastSeen>,
7096 pub elapsed: Option<u64>,
7098}
7099fn zigbee7121131pu7120031ph7120131ph7120231pu_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7101where
7102 D: Deserializer<'de>,
7103{
7104 match String::deserialize(deserializer)?.as_ref() {
7105 "ON" => Ok(true),
7106 "OFF" => Ok(false),
7107 other => Err(de::Error::invalid_value(
7108 Unexpected::Str(other),
7109 &"Value expected was either ON or OFF",
7110 )),
7111 }
7112}
7113
7114#[cfg_attr(feature = "debug", derive(Debug))]
7118#[cfg_attr(feature = "clone", derive(Clone))]
7119#[derive(Deserialize)]
7120pub struct Zigbee7146060ph {
7121 pub brightness: f64,
7123 pub color_temp: f64,
7125 pub color_temp_startup: f64,
7127 pub linkquality: f64,
7129 pub power_on_behavior: Zigbee7146060phPoweronbehavior,
7131 #[serde(deserialize_with = "zigbee7146060ph_state_deserializer")]
7134 pub state: bool,
7135 pub last_seen: Option<LastSeen>,
7137 pub elapsed: Option<u64>,
7139}
7140fn zigbee7146060ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7142where
7143 D: Deserializer<'de>,
7144{
7145 match String::deserialize(deserializer)?.as_ref() {
7146 "ON" => Ok(true),
7147 "OFF" => Ok(false),
7148 other => Err(de::Error::invalid_value(
7149 Unexpected::Str(other),
7150 &"Value expected was either ON or OFF",
7151 )),
7152 }
7153}
7154
7155#[cfg_attr(feature = "debug", derive(Debug))]
7159#[cfg_attr(feature = "clone", derive(Clone))]
7160#[derive(Deserialize)]
7161pub struct Zigbee7199960ph {
7162 pub brightness: f64,
7164 pub linkquality: f64,
7166 pub power_on_behavior: Zigbee7199960phPoweronbehavior,
7168 #[serde(deserialize_with = "zigbee7199960ph_state_deserializer")]
7171 pub state: bool,
7172 pub last_seen: Option<LastSeen>,
7174 pub elapsed: Option<u64>,
7176}
7177fn zigbee7199960ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7179where
7180 D: Deserializer<'de>,
7181{
7182 match String::deserialize(deserializer)?.as_ref() {
7183 "ON" => Ok(true),
7184 "OFF" => Ok(false),
7185 other => Err(de::Error::invalid_value(
7186 Unexpected::Str(other),
7187 &"Value expected was either ON or OFF",
7188 )),
7189 }
7190}
7191
7192#[cfg_attr(feature = "debug", derive(Debug))]
7196#[cfg_attr(feature = "clone", derive(Clone))]
7197#[derive(Deserialize)]
7198pub struct Zigbee7299355ph {
7199 pub brightness: f64,
7201 pub linkquality: f64,
7203 pub power_on_behavior: Zigbee7299355phPoweronbehavior,
7205 #[serde(deserialize_with = "zigbee7299355ph_state_deserializer")]
7208 pub state: bool,
7209 pub last_seen: Option<LastSeen>,
7211 pub elapsed: Option<u64>,
7213}
7214fn zigbee7299355ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7216where
7217 D: Deserializer<'de>,
7218{
7219 match String::deserialize(deserializer)?.as_ref() {
7220 "ON" => Ok(true),
7221 "OFF" => Ok(false),
7222 other => Err(de::Error::invalid_value(
7223 Unexpected::Str(other),
7224 &"Value expected was either ON or OFF",
7225 )),
7226 }
7227}
7228
7229#[cfg_attr(feature = "debug", derive(Debug))]
7233#[cfg_attr(feature = "clone", derive(Clone))]
7234#[derive(Deserialize)]
7235pub struct Zigbee7299760ph {
7236 pub brightness: f64,
7238 pub linkquality: f64,
7240 pub power_on_behavior: Zigbee7299760phPoweronbehavior,
7242 #[serde(deserialize_with = "zigbee7299760ph_state_deserializer")]
7245 pub state: bool,
7246 pub last_seen: Option<LastSeen>,
7248 pub elapsed: Option<u64>,
7250}
7251fn zigbee7299760ph_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7253where
7254 D: Deserializer<'de>,
7255{
7256 match String::deserialize(deserializer)?.as_ref() {
7257 "ON" => Ok(true),
7258 "OFF" => Ok(false),
7259 other => Err(de::Error::invalid_value(
7260 Unexpected::Str(other),
7261 &"Value expected was either ON or OFF",
7262 )),
7263 }
7264}
7265
7266#[cfg_attr(feature = "debug", derive(Debug))]
7270#[cfg_attr(feature = "clone", derive(Clone))]
7271#[derive(Deserialize)]
7272pub struct Zigbee7531609 {
7273 pub brightness: f64,
7275 pub color_temp: f64,
7277 pub color_temp_startup: f64,
7279 pub linkquality: f64,
7281 pub power_on_behavior: Zigbee7531609Poweronbehavior,
7283 #[serde(deserialize_with = "zigbee7531609_state_deserializer")]
7286 pub state: bool,
7287 pub last_seen: Option<LastSeen>,
7289 pub elapsed: Option<u64>,
7291}
7292fn zigbee7531609_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7294where
7295 D: Deserializer<'de>,
7296{
7297 match String::deserialize(deserializer)?.as_ref() {
7298 "ON" => Ok(true),
7299 "OFF" => Ok(false),
7300 other => Err(de::Error::invalid_value(
7301 Unexpected::Str(other),
7302 &"Value expected was either ON or OFF",
7303 )),
7304 }
7305}
7306
7307#[cfg_attr(feature = "debug", derive(Debug))]
7311#[cfg_attr(feature = "clone", derive(Clone))]
7312#[derive(Deserialize)]
7313pub struct Zigbee7602031k6 {
7314 pub brightness: f64,
7316 pub color_temp: f64,
7318 pub color_temp_startup: f64,
7320 pub linkquality: f64,
7322 pub power_on_behavior: Zigbee7602031k6Poweronbehavior,
7324 #[serde(deserialize_with = "zigbee7602031k6_state_deserializer")]
7327 pub state: bool,
7328 pub last_seen: Option<LastSeen>,
7330 pub elapsed: Option<u64>,
7332}
7333fn zigbee7602031k6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7335where
7336 D: Deserializer<'de>,
7337{
7338 match String::deserialize(deserializer)?.as_ref() {
7339 "ON" => Ok(true),
7340 "OFF" => Ok(false),
7341 other => Err(de::Error::invalid_value(
7342 Unexpected::Str(other),
7343 &"Value expected was either ON or OFF",
7344 )),
7345 }
7346}
7347
7348#[cfg_attr(feature = "debug", derive(Debug))]
7352#[cfg_attr(feature = "clone", derive(Clone))]
7353#[derive(Deserialize)]
7354pub struct Zigbee7602031n6 {
7355 pub brightness: f64,
7357 pub color_temp: f64,
7359 pub color_temp_startup: f64,
7361 pub linkquality: f64,
7363 pub power_on_behavior: Zigbee7602031n6Poweronbehavior,
7365 #[serde(deserialize_with = "zigbee7602031n6_state_deserializer")]
7368 pub state: bool,
7369 pub last_seen: Option<LastSeen>,
7371 pub elapsed: Option<u64>,
7373}
7374fn zigbee7602031n6_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7376where
7377 D: Deserializer<'de>,
7378{
7379 match String::deserialize(deserializer)?.as_ref() {
7380 "ON" => Ok(true),
7381 "OFF" => Ok(false),
7382 other => Err(de::Error::invalid_value(
7383 Unexpected::Str(other),
7384 &"Value expected was either ON or OFF",
7385 )),
7386 }
7387}
7388
7389#[cfg_attr(feature = "debug", derive(Debug))]
7393#[cfg_attr(feature = "clone", derive(Clone))]
7394#[derive(Deserialize)]
7395pub struct Zigbee7602031p7 {
7396 pub brightness: f64,
7398 pub color_temp: f64,
7400 pub color_temp_startup: f64,
7402 pub linkquality: f64,
7404 pub power_on_behavior: Zigbee7602031p7Poweronbehavior,
7406 #[serde(deserialize_with = "zigbee7602031p7_state_deserializer")]
7409 pub state: bool,
7410 pub last_seen: Option<LastSeen>,
7412 pub elapsed: Option<u64>,
7414}
7415fn zigbee7602031p7_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7417where
7418 D: Deserializer<'de>,
7419{
7420 match String::deserialize(deserializer)?.as_ref() {
7421 "ON" => Ok(true),
7422 "OFF" => Ok(false),
7423 other => Err(de::Error::invalid_value(
7424 Unexpected::Str(other),
7425 &"Value expected was either ON or OFF",
7426 )),
7427 }
7428}
7429
7430#[cfg_attr(feature = "debug", derive(Debug))]
7434#[cfg_attr(feature = "clone", derive(Clone))]
7435#[derive(Deserialize)]
7436pub struct Zigbee800094 {
7437 pub brightness: f64,
7439 pub color_temp: f64,
7441 pub color_temp_startup: f64,
7443 pub linkquality: f64,
7445 pub power_on_behavior: Zigbee800094Poweronbehavior,
7447 #[serde(deserialize_with = "zigbee800094_state_deserializer")]
7450 pub state: bool,
7451 pub last_seen: Option<LastSeen>,
7453 pub elapsed: Option<u64>,
7455}
7456fn zigbee800094_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7458where
7459 D: Deserializer<'de>,
7460{
7461 match String::deserialize(deserializer)?.as_ref() {
7462 "ON" => Ok(true),
7463 "OFF" => Ok(false),
7464 other => Err(de::Error::invalid_value(
7465 Unexpected::Str(other),
7466 &"Value expected was either ON or OFF",
7467 )),
7468 }
7469}
7470
7471#[cfg_attr(feature = "debug", derive(Debug))]
7475#[cfg_attr(feature = "clone", derive(Clone))]
7476#[derive(Deserialize)]
7477pub struct Zigbee801480 {
7478 pub brightness: f64,
7480 pub color_temp: f64,
7482 pub color_temp_startup: f64,
7484 pub linkquality: f64,
7486 pub power_on_behavior: Zigbee801480Poweronbehavior,
7488 #[serde(deserialize_with = "zigbee801480_state_deserializer")]
7491 pub state: bool,
7492 pub last_seen: Option<LastSeen>,
7494 pub elapsed: Option<u64>,
7496}
7497fn zigbee801480_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7499where
7500 D: Deserializer<'de>,
7501{
7502 match String::deserialize(deserializer)?.as_ref() {
7503 "ON" => Ok(true),
7504 "OFF" => Ok(false),
7505 other => Err(de::Error::invalid_value(
7506 Unexpected::Str(other),
7507 &"Value expected was either ON or OFF",
7508 )),
7509 }
7510}
7511
7512#[cfg_attr(feature = "debug", derive(Debug))]
7516#[cfg_attr(feature = "clone", derive(Clone))]
7517#[derive(Deserialize)]
7518pub struct Zigbee8718696153055 {
7519 pub brightness: f64,
7521 pub linkquality: f64,
7523 pub power_on_behavior: Zigbee8718696153055Poweronbehavior,
7525 #[serde(deserialize_with = "zigbee8718696153055_state_deserializer")]
7528 pub state: bool,
7529 pub last_seen: Option<LastSeen>,
7531 pub elapsed: Option<u64>,
7533}
7534fn zigbee8718696153055_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7536where
7537 D: Deserializer<'de>,
7538{
7539 match String::deserialize(deserializer)?.as_ref() {
7540 "ON" => Ok(true),
7541 "OFF" => Ok(false),
7542 other => Err(de::Error::invalid_value(
7543 Unexpected::Str(other),
7544 &"Value expected was either ON or OFF",
7545 )),
7546 }
7547}
7548
7549#[cfg_attr(feature = "debug", derive(Debug))]
7553#[cfg_attr(feature = "clone", derive(Clone))]
7554#[derive(Deserialize)]
7555pub struct Zigbee8718696153062 {
7556 pub brightness: f64,
7558 pub linkquality: f64,
7560 pub power_on_behavior: Zigbee8718696153062Poweronbehavior,
7562 #[serde(deserialize_with = "zigbee8718696153062_state_deserializer")]
7565 pub state: bool,
7566 pub last_seen: Option<LastSeen>,
7568 pub elapsed: Option<u64>,
7570}
7571fn zigbee8718696153062_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7573where
7574 D: Deserializer<'de>,
7575{
7576 match String::deserialize(deserializer)?.as_ref() {
7577 "ON" => Ok(true),
7578 "OFF" => Ok(false),
7579 other => Err(de::Error::invalid_value(
7580 Unexpected::Str(other),
7581 &"Value expected was either ON or OFF",
7582 )),
7583 }
7584}
7585
7586#[cfg_attr(feature = "debug", derive(Debug))]
7590#[cfg_attr(feature = "clone", derive(Clone))]
7591#[derive(Deserialize)]
7592pub struct Zigbee8718696166079 {
7593 pub brightness: f64,
7595 pub linkquality: f64,
7597 pub power_on_behavior: Zigbee8718696166079Poweronbehavior,
7599 #[serde(deserialize_with = "zigbee8718696166079_state_deserializer")]
7602 pub state: bool,
7603 pub last_seen: Option<LastSeen>,
7605 pub elapsed: Option<u64>,
7607}
7608fn zigbee8718696166079_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7610where
7611 D: Deserializer<'de>,
7612{
7613 match String::deserialize(deserializer)?.as_ref() {
7614 "ON" => Ok(true),
7615 "OFF" => Ok(false),
7616 other => Err(de::Error::invalid_value(
7617 Unexpected::Str(other),
7618 &"Value expected was either ON or OFF",
7619 )),
7620 }
7621}
7622
7623#[cfg_attr(feature = "debug", derive(Debug))]
7627#[cfg_attr(feature = "clone", derive(Clone))]
7628#[derive(Deserialize)]
7629pub struct Zigbee8718696167991 {
7630 pub brightness: f64,
7632 pub color_temp: f64,
7634 pub color_temp_startup: f64,
7636 pub linkquality: f64,
7638 pub power_on_behavior: Zigbee8718696167991Poweronbehavior,
7640 #[serde(deserialize_with = "zigbee8718696167991_state_deserializer")]
7643 pub state: bool,
7644 pub last_seen: Option<LastSeen>,
7646 pub elapsed: Option<u64>,
7648}
7649fn zigbee8718696167991_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7651where
7652 D: Deserializer<'de>,
7653{
7654 match String::deserialize(deserializer)?.as_ref() {
7655 "ON" => Ok(true),
7656 "OFF" => Ok(false),
7657 other => Err(de::Error::invalid_value(
7658 Unexpected::Str(other),
7659 &"Value expected was either ON or OFF",
7660 )),
7661 }
7662}
7663
7664#[cfg_attr(feature = "debug", derive(Debug))]
7668#[cfg_attr(feature = "clone", derive(Clone))]
7669#[derive(Deserialize)]
7670pub struct Zigbee8718696170557 {
7671 pub brightness: f64,
7673 pub color_temp: f64,
7675 pub color_temp_startup: f64,
7677 pub linkquality: f64,
7679 pub power_on_behavior: Zigbee8718696170557Poweronbehavior,
7681 #[serde(deserialize_with = "zigbee8718696170557_state_deserializer")]
7684 pub state: bool,
7685 pub last_seen: Option<LastSeen>,
7687 pub elapsed: Option<u64>,
7689}
7690fn zigbee8718696170557_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7692where
7693 D: Deserializer<'de>,
7694{
7695 match String::deserialize(deserializer)?.as_ref() {
7696 "ON" => Ok(true),
7697 "OFF" => Ok(false),
7698 other => Err(de::Error::invalid_value(
7699 Unexpected::Str(other),
7700 &"Value expected was either ON or OFF",
7701 )),
7702 }
7703}
7704
7705#[cfg_attr(feature = "debug", derive(Debug))]
7709#[cfg_attr(feature = "clone", derive(Clone))]
7710#[derive(Deserialize)]
7711pub struct Zigbee8718696170625 {
7712 pub brightness: f64,
7714 pub linkquality: f64,
7716 pub power_on_behavior: Zigbee8718696170625Poweronbehavior,
7718 #[serde(deserialize_with = "zigbee8718696170625_state_deserializer")]
7721 pub state: bool,
7722 pub last_seen: Option<LastSeen>,
7724 pub elapsed: Option<u64>,
7726}
7727fn zigbee8718696170625_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7729where
7730 D: Deserializer<'de>,
7731{
7732 match String::deserialize(deserializer)?.as_ref() {
7733 "ON" => Ok(true),
7734 "OFF" => Ok(false),
7735 other => Err(de::Error::invalid_value(
7736 Unexpected::Str(other),
7737 &"Value expected was either ON or OFF",
7738 )),
7739 }
7740}
7741
7742#[cfg_attr(feature = "debug", derive(Debug))]
7746#[cfg_attr(feature = "clone", derive(Clone))]
7747#[derive(Deserialize)]
7748pub struct Zigbee8718696170656 {
7749 pub brightness: f64,
7751 pub linkquality: f64,
7753 pub power_on_behavior: Zigbee8718696170656Poweronbehavior,
7755 #[serde(deserialize_with = "zigbee8718696170656_state_deserializer")]
7758 pub state: bool,
7759 pub last_seen: Option<LastSeen>,
7761 pub elapsed: Option<u64>,
7763}
7764fn zigbee8718696170656_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7766where
7767 D: Deserializer<'de>,
7768{
7769 match String::deserialize(deserializer)?.as_ref() {
7770 "ON" => Ok(true),
7771 "OFF" => Ok(false),
7772 other => Err(de::Error::invalid_value(
7773 Unexpected::Str(other),
7774 &"Value expected was either ON or OFF",
7775 )),
7776 }
7777}
7778
7779#[cfg_attr(feature = "debug", derive(Debug))]
7783#[cfg_attr(feature = "clone", derive(Clone))]
7784#[derive(Deserialize)]
7785pub struct Zigbee8718696174548 {
7786 pub brightness: f64,
7788 pub color_temp: f64,
7790 pub color_temp_startup: f64,
7792 pub linkquality: f64,
7794 pub power_on_behavior: Zigbee8718696174548Poweronbehavior,
7796 #[serde(deserialize_with = "zigbee8718696174548_state_deserializer")]
7799 pub state: bool,
7800 pub last_seen: Option<LastSeen>,
7802 pub elapsed: Option<u64>,
7804}
7805fn zigbee8718696174548_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7807where
7808 D: Deserializer<'de>,
7809{
7810 match String::deserialize(deserializer)?.as_ref() {
7811 "ON" => Ok(true),
7812 "OFF" => Ok(false),
7813 other => Err(de::Error::invalid_value(
7814 Unexpected::Str(other),
7815 &"Value expected was either ON or OFF",
7816 )),
7817 }
7818}
7819
7820#[cfg_attr(feature = "debug", derive(Debug))]
7824#[cfg_attr(feature = "clone", derive(Clone))]
7825#[derive(Deserialize)]
7826pub struct Zigbee8718696175798 {
7827 pub brightness: f64,
7829 pub color_temp: f64,
7831 pub color_temp_startup: f64,
7833 pub linkquality: f64,
7835 pub power_on_behavior: Zigbee8718696175798Poweronbehavior,
7837 #[serde(deserialize_with = "zigbee8718696175798_state_deserializer")]
7840 pub state: bool,
7841 pub last_seen: Option<LastSeen>,
7843 pub elapsed: Option<u64>,
7845}
7846fn zigbee8718696175798_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7848where
7849 D: Deserializer<'de>,
7850{
7851 match String::deserialize(deserializer)?.as_ref() {
7852 "ON" => Ok(true),
7853 "OFF" => Ok(false),
7854 other => Err(de::Error::invalid_value(
7855 Unexpected::Str(other),
7856 &"Value expected was either ON or OFF",
7857 )),
7858 }
7859}
7860
7861#[cfg_attr(feature = "debug", derive(Debug))]
7865#[cfg_attr(feature = "clone", derive(Clone))]
7866#[derive(Deserialize)]
7867pub struct Zigbee8718696449691 {
7868 pub brightness: f64,
7870 pub linkquality: f64,
7872 pub power_on_behavior: Zigbee8718696449691Poweronbehavior,
7874 #[serde(deserialize_with = "zigbee8718696449691_state_deserializer")]
7877 pub state: bool,
7878 pub last_seen: Option<LastSeen>,
7880 pub elapsed: Option<u64>,
7882}
7883fn zigbee8718696449691_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7885where
7886 D: Deserializer<'de>,
7887{
7888 match String::deserialize(deserializer)?.as_ref() {
7889 "ON" => Ok(true),
7890 "OFF" => Ok(false),
7891 other => Err(de::Error::invalid_value(
7892 Unexpected::Str(other),
7893 &"Value expected was either ON or OFF",
7894 )),
7895 }
7896}
7897
7898#[cfg_attr(feature = "debug", derive(Debug))]
7902#[cfg_attr(feature = "clone", derive(Clone))]
7903#[derive(Deserialize)]
7904pub struct Zigbee8718696485880 {
7905 pub brightness: f64,
7907 pub color_temp: f64,
7909 pub color_temp_startup: f64,
7911 pub linkquality: f64,
7913 pub power_on_behavior: Zigbee8718696485880Poweronbehavior,
7915 #[serde(deserialize_with = "zigbee8718696485880_state_deserializer")]
7918 pub state: bool,
7919 pub last_seen: Option<LastSeen>,
7921 pub elapsed: Option<u64>,
7923}
7924fn zigbee8718696485880_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7926where
7927 D: Deserializer<'de>,
7928{
7929 match String::deserialize(deserializer)?.as_ref() {
7930 "ON" => Ok(true),
7931 "OFF" => Ok(false),
7932 other => Err(de::Error::invalid_value(
7933 Unexpected::Str(other),
7934 &"Value expected was either ON or OFF",
7935 )),
7936 }
7937}
7938
7939#[cfg_attr(feature = "debug", derive(Debug))]
7943#[cfg_attr(feature = "clone", derive(Clone))]
7944#[derive(Deserialize)]
7945pub struct Zigbee8718696548738 {
7946 pub brightness: f64,
7948 pub color_temp: f64,
7950 pub color_temp_startup: f64,
7952 pub linkquality: f64,
7954 pub power_on_behavior: Zigbee8718696548738Poweronbehavior,
7956 #[serde(deserialize_with = "zigbee8718696548738_state_deserializer")]
7959 pub state: bool,
7960 pub last_seen: Option<LastSeen>,
7962 pub elapsed: Option<u64>,
7964}
7965fn zigbee8718696548738_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
7967where
7968 D: Deserializer<'de>,
7969{
7970 match String::deserialize(deserializer)?.as_ref() {
7971 "ON" => Ok(true),
7972 "OFF" => Ok(false),
7973 other => Err(de::Error::invalid_value(
7974 Unexpected::Str(other),
7975 &"Value expected was either ON or OFF",
7976 )),
7977 }
7978}
7979
7980#[cfg_attr(feature = "debug", derive(Debug))]
7984#[cfg_attr(feature = "clone", derive(Clone))]
7985#[derive(Deserialize)]
7986pub struct Zigbee8718696598283 {
7987 pub brightness: f64,
7989 pub color_temp: f64,
7991 pub color_temp_startup: f64,
7993 pub linkquality: f64,
7995 pub power_on_behavior: Zigbee8718696598283Poweronbehavior,
7997 #[serde(deserialize_with = "zigbee8718696598283_state_deserializer")]
8000 pub state: bool,
8001 pub last_seen: Option<LastSeen>,
8003 pub elapsed: Option<u64>,
8005}
8006fn zigbee8718696598283_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8008where
8009 D: Deserializer<'de>,
8010{
8011 match String::deserialize(deserializer)?.as_ref() {
8012 "ON" => Ok(true),
8013 "OFF" => Ok(false),
8014 other => Err(de::Error::invalid_value(
8015 Unexpected::Str(other),
8016 &"Value expected was either ON or OFF",
8017 )),
8018 }
8019}
8020
8021#[cfg_attr(feature = "debug", derive(Debug))]
8025#[cfg_attr(feature = "clone", derive(Clone))]
8026#[derive(Deserialize)]
8027pub struct Zigbee8718696695203 {
8028 pub brightness: f64,
8030 pub color_temp: f64,
8032 pub color_temp_startup: f64,
8034 pub linkquality: f64,
8036 pub power_on_behavior: Zigbee8718696695203Poweronbehavior,
8038 #[serde(deserialize_with = "zigbee8718696695203_state_deserializer")]
8041 pub state: bool,
8042 pub last_seen: Option<LastSeen>,
8044 pub elapsed: Option<u64>,
8046}
8047fn zigbee8718696695203_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8049where
8050 D: Deserializer<'de>,
8051{
8052 match String::deserialize(deserializer)?.as_ref() {
8053 "ON" => Ok(true),
8054 "OFF" => Ok(false),
8055 other => Err(de::Error::invalid_value(
8056 Unexpected::Str(other),
8057 &"Value expected was either ON or OFF",
8058 )),
8059 }
8060}
8061
8062#[cfg_attr(feature = "debug", derive(Debug))]
8066#[cfg_attr(feature = "clone", derive(Clone))]
8067#[derive(Deserialize)]
8068pub struct Zigbee8718699673147 {
8069 pub brightness: f64,
8071 pub linkquality: f64,
8073 pub power_on_behavior: Zigbee8718699673147Poweronbehavior,
8075 #[serde(deserialize_with = "zigbee8718699673147_state_deserializer")]
8078 pub state: bool,
8079 pub last_seen: Option<LastSeen>,
8081 pub elapsed: Option<u64>,
8083}
8084fn zigbee8718699673147_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8086where
8087 D: Deserializer<'de>,
8088{
8089 match String::deserialize(deserializer)?.as_ref() {
8090 "ON" => Ok(true),
8091 "OFF" => Ok(false),
8092 other => Err(de::Error::invalid_value(
8093 Unexpected::Str(other),
8094 &"Value expected was either ON or OFF",
8095 )),
8096 }
8097}
8098
8099#[cfg_attr(feature = "debug", derive(Debug))]
8103#[cfg_attr(feature = "clone", derive(Clone))]
8104#[derive(Deserialize)]
8105pub struct Zigbee8718699688820 {
8106 pub brightness: f64,
8108 pub linkquality: f64,
8110 pub power_on_behavior: Zigbee8718699688820Poweronbehavior,
8112 #[serde(deserialize_with = "zigbee8718699688820_state_deserializer")]
8115 pub state: bool,
8116 pub last_seen: Option<LastSeen>,
8118 pub elapsed: Option<u64>,
8120}
8121fn zigbee8718699688820_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8123where
8124 D: Deserializer<'de>,
8125{
8126 match String::deserialize(deserializer)?.as_ref() {
8127 "ON" => Ok(true),
8128 "OFF" => Ok(false),
8129 other => Err(de::Error::invalid_value(
8130 Unexpected::Str(other),
8131 &"Value expected was either ON or OFF",
8132 )),
8133 }
8134}
8135
8136#[cfg_attr(feature = "debug", derive(Debug))]
8140#[cfg_attr(feature = "clone", derive(Clone))]
8141#[derive(Deserialize)]
8142pub struct Zigbee8718699688882 {
8143 pub brightness: f64,
8145 pub linkquality: f64,
8147 pub power_on_behavior: Zigbee8718699688882Poweronbehavior,
8149 #[serde(deserialize_with = "zigbee8718699688882_state_deserializer")]
8152 pub state: bool,
8153 pub last_seen: Option<LastSeen>,
8155 pub elapsed: Option<u64>,
8157}
8158fn zigbee8718699688882_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8160where
8161 D: Deserializer<'de>,
8162{
8163 match String::deserialize(deserializer)?.as_ref() {
8164 "ON" => Ok(true),
8165 "OFF" => Ok(false),
8166 other => Err(de::Error::invalid_value(
8167 Unexpected::Str(other),
8168 &"Value expected was either ON or OFF",
8169 )),
8170 }
8171}
8172
8173#[cfg_attr(feature = "debug", derive(Debug))]
8177#[cfg_attr(feature = "clone", derive(Clone))]
8178#[derive(Deserialize)]
8179pub struct Zigbee8718699689308 {
8180 pub linkquality: f64,
8182 #[serde(deserialize_with = "zigbee8718699689308_state_deserializer")]
8185 pub state: bool,
8186 pub last_seen: Option<LastSeen>,
8188 pub elapsed: Option<u64>,
8190}
8191fn zigbee8718699689308_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8193where
8194 D: Deserializer<'de>,
8195{
8196 match String::deserialize(deserializer)?.as_ref() {
8197 "ON" => Ok(true),
8198 "OFF" => Ok(false),
8199 other => Err(de::Error::invalid_value(
8200 Unexpected::Str(other),
8201 &"Value expected was either ON or OFF",
8202 )),
8203 }
8204}
8205
8206#[cfg_attr(feature = "debug", derive(Debug))]
8210#[cfg_attr(feature = "clone", derive(Clone))]
8211#[derive(Deserialize)]
8212pub struct Zigbee8718699693985 {
8213 pub action: Zigbee8718699693985Action,
8215 pub battery: f64,
8217 pub linkquality: f64,
8219 pub last_seen: Option<LastSeen>,
8221 pub elapsed: Option<u64>,
8223}#[cfg_attr(feature = "debug", derive(Debug))]
8227#[cfg_attr(feature = "clone", derive(Clone))]
8228#[derive(Deserialize)]
8229pub struct Zigbee8718699703424 {
8230 pub brightness: f64,
8232 pub color_temp: f64,
8234 pub color_temp_startup: f64,
8236 pub linkquality: f64,
8238 pub power_on_behavior: Zigbee8718699703424Poweronbehavior,
8240 #[serde(deserialize_with = "zigbee8718699703424_state_deserializer")]
8243 pub state: bool,
8244 pub last_seen: Option<LastSeen>,
8246 pub elapsed: Option<u64>,
8248}
8249fn zigbee8718699703424_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8251where
8252 D: Deserializer<'de>,
8253{
8254 match String::deserialize(deserializer)?.as_ref() {
8255 "ON" => Ok(true),
8256 "OFF" => Ok(false),
8257 other => Err(de::Error::invalid_value(
8258 Unexpected::Str(other),
8259 &"Value expected was either ON or OFF",
8260 )),
8261 }
8262}
8263
8264#[cfg_attr(feature = "debug", derive(Debug))]
8268#[cfg_attr(feature = "clone", derive(Clone))]
8269#[derive(Deserialize)]
8270pub struct Zigbee8719514279131 {
8271 pub brightness: f64,
8273 pub linkquality: f64,
8275 pub power_on_behavior: Zigbee8719514279131Poweronbehavior,
8277 #[serde(deserialize_with = "zigbee8719514279131_state_deserializer")]
8280 pub state: bool,
8281 pub last_seen: Option<LastSeen>,
8283 pub elapsed: Option<u64>,
8285}
8286fn zigbee8719514279131_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8288where
8289 D: Deserializer<'de>,
8290{
8291 match String::deserialize(deserializer)?.as_ref() {
8292 "ON" => Ok(true),
8293 "OFF" => Ok(false),
8294 other => Err(de::Error::invalid_value(
8295 Unexpected::Str(other),
8296 &"Value expected was either ON or OFF",
8297 )),
8298 }
8299}
8300
8301#[cfg_attr(feature = "debug", derive(Debug))]
8305#[cfg_attr(feature = "clone", derive(Clone))]
8306#[derive(Deserialize)]
8307pub struct Zigbee8719514279155 {
8308 pub brightness: f64,
8310 pub linkquality: f64,
8312 pub power_on_behavior: Zigbee8719514279155Poweronbehavior,
8314 #[serde(deserialize_with = "zigbee8719514279155_state_deserializer")]
8317 pub state: bool,
8318 pub last_seen: Option<LastSeen>,
8320 pub elapsed: Option<u64>,
8322}
8323fn zigbee8719514279155_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8325where
8326 D: Deserializer<'de>,
8327{
8328 match String::deserialize(deserializer)?.as_ref() {
8329 "ON" => Ok(true),
8330 "OFF" => Ok(false),
8331 other => Err(de::Error::invalid_value(
8332 Unexpected::Str(other),
8333 &"Value expected was either ON or OFF",
8334 )),
8335 }
8336}
8337
8338#[cfg_attr(feature = "debug", derive(Debug))]
8342#[cfg_attr(feature = "clone", derive(Clone))]
8343#[derive(Deserialize)]
8344pub struct Zigbee8719514279193 {
8345 pub brightness: f64,
8347 pub linkquality: f64,
8349 pub power_on_behavior: Zigbee8719514279193Poweronbehavior,
8351 #[serde(deserialize_with = "zigbee8719514279193_state_deserializer")]
8354 pub state: bool,
8355 pub last_seen: Option<LastSeen>,
8357 pub elapsed: Option<u64>,
8359}
8360fn zigbee8719514279193_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8362where
8363 D: Deserializer<'de>,
8364{
8365 match String::deserialize(deserializer)?.as_ref() {
8366 "ON" => Ok(true),
8367 "OFF" => Ok(false),
8368 other => Err(de::Error::invalid_value(
8369 Unexpected::Str(other),
8370 &"Value expected was either ON or OFF",
8371 )),
8372 }
8373}
8374
8375#[cfg_attr(feature = "debug", derive(Debug))]
8379#[cfg_attr(feature = "clone", derive(Clone))]
8380#[derive(Deserialize)]
8381pub struct Zigbee8719514301443 {
8382 pub brightness: f64,
8384 pub color_temp: f64,
8386 pub color_temp_startup: f64,
8388 pub linkquality: f64,
8390 pub power_on_behavior: Zigbee8719514301443Poweronbehavior,
8392 #[serde(deserialize_with = "zigbee8719514301443_state_deserializer")]
8395 pub state: bool,
8396 pub last_seen: Option<LastSeen>,
8398 pub elapsed: Option<u64>,
8400}
8401fn zigbee8719514301443_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8403where
8404 D: Deserializer<'de>,
8405{
8406 match String::deserialize(deserializer)?.as_ref() {
8407 "ON" => Ok(true),
8408 "OFF" => Ok(false),
8409 other => Err(de::Error::invalid_value(
8410 Unexpected::Str(other),
8411 &"Value expected was either ON or OFF",
8412 )),
8413 }
8414}
8415
8416#[cfg_attr(feature = "debug", derive(Debug))]
8420#[cfg_attr(feature = "clone", derive(Clone))]
8421#[derive(Deserialize)]
8422pub struct Zigbee8719514301481 {
8423 pub brightness: f64,
8425 pub color_temp: f64,
8427 pub color_temp_startup: f64,
8429 pub linkquality: f64,
8431 pub power_on_behavior: Zigbee8719514301481Poweronbehavior,
8433 #[serde(deserialize_with = "zigbee8719514301481_state_deserializer")]
8436 pub state: bool,
8437 pub last_seen: Option<LastSeen>,
8439 pub elapsed: Option<u64>,
8441}
8442fn zigbee8719514301481_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8444where
8445 D: Deserializer<'de>,
8446{
8447 match String::deserialize(deserializer)?.as_ref() {
8448 "ON" => Ok(true),
8449 "OFF" => Ok(false),
8450 other => Err(de::Error::invalid_value(
8451 Unexpected::Str(other),
8452 &"Value expected was either ON or OFF",
8453 )),
8454 }
8455}
8456
8457#[cfg_attr(feature = "debug", derive(Debug))]
8461#[cfg_attr(feature = "clone", derive(Clone))]
8462#[derive(Deserialize)]
8463pub struct Zigbee8719514301528 {
8464 pub brightness: f64,
8466 pub color_temp: f64,
8468 pub color_temp_startup: f64,
8470 pub linkquality: f64,
8472 pub power_on_behavior: Zigbee8719514301528Poweronbehavior,
8474 #[serde(deserialize_with = "zigbee8719514301528_state_deserializer")]
8477 pub state: bool,
8478 pub last_seen: Option<LastSeen>,
8480 pub elapsed: Option<u64>,
8482}
8483fn zigbee8719514301528_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8485where
8486 D: Deserializer<'de>,
8487{
8488 match String::deserialize(deserializer)?.as_ref() {
8489 "ON" => Ok(true),
8490 "OFF" => Ok(false),
8491 other => Err(de::Error::invalid_value(
8492 Unexpected::Str(other),
8493 &"Value expected was either ON or OFF",
8494 )),
8495 }
8496}
8497
8498#[cfg_attr(feature = "debug", derive(Debug))]
8502#[cfg_attr(feature = "clone", derive(Clone))]
8503#[derive(Deserialize)]
8504pub struct Zigbee8719514301542 {
8505 pub brightness: f64,
8507 pub color_temp: f64,
8509 pub color_temp_startup: f64,
8511 pub linkquality: f64,
8513 pub power_on_behavior: Zigbee8719514301542Poweronbehavior,
8515 #[serde(deserialize_with = "zigbee8719514301542_state_deserializer")]
8518 pub state: bool,
8519 pub last_seen: Option<LastSeen>,
8521 pub elapsed: Option<u64>,
8523}
8524fn zigbee8719514301542_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8526where
8527 D: Deserializer<'de>,
8528{
8529 match String::deserialize(deserializer)?.as_ref() {
8530 "ON" => Ok(true),
8531 "OFF" => Ok(false),
8532 other => Err(de::Error::invalid_value(
8533 Unexpected::Str(other),
8534 &"Value expected was either ON or OFF",
8535 )),
8536 }
8537}
8538
8539#[cfg_attr(feature = "debug", derive(Debug))]
8543#[cfg_attr(feature = "clone", derive(Clone))]
8544#[derive(Deserialize)]
8545pub struct Zigbee8719514302235 {
8546 pub brightness: f64,
8548 pub linkquality: f64,
8550 pub power_on_behavior: Zigbee8719514302235Poweronbehavior,
8552 #[serde(deserialize_with = "zigbee8719514302235_state_deserializer")]
8555 pub state: bool,
8556 pub last_seen: Option<LastSeen>,
8558 pub elapsed: Option<u64>,
8560}
8561fn zigbee8719514302235_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8563where
8564 D: Deserializer<'de>,
8565{
8566 match String::deserialize(deserializer)?.as_ref() {
8567 "ON" => Ok(true),
8568 "OFF" => Ok(false),
8569 other => Err(de::Error::invalid_value(
8570 Unexpected::Str(other),
8571 &"Value expected was either ON or OFF",
8572 )),
8573 }
8574}
8575
8576#[cfg_attr(feature = "debug", derive(Debug))]
8580#[cfg_attr(feature = "clone", derive(Clone))]
8581#[derive(Deserialize)]
8582pub struct Zigbee8719514328242 {
8583 pub brightness: f64,
8585 pub color_temp: f64,
8587 pub color_temp_startup: f64,
8589 pub linkquality: f64,
8591 pub power_on_behavior: Zigbee8719514328242Poweronbehavior,
8593 #[serde(deserialize_with = "zigbee8719514328242_state_deserializer")]
8596 pub state: bool,
8597 pub last_seen: Option<LastSeen>,
8599 pub elapsed: Option<u64>,
8601}
8602fn zigbee8719514328242_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8604where
8605 D: Deserializer<'de>,
8606{
8607 match String::deserialize(deserializer)?.as_ref() {
8608 "ON" => Ok(true),
8609 "OFF" => Ok(false),
8610 other => Err(de::Error::invalid_value(
8611 Unexpected::Str(other),
8612 &"Value expected was either ON or OFF",
8613 )),
8614 }
8615}
8616
8617#[cfg_attr(feature = "debug", derive(Debug))]
8621#[cfg_attr(feature = "clone", derive(Clone))]
8622#[derive(Deserialize)]
8623pub struct Zigbee8719514338142 {
8624 pub brightness: f64,
8626 pub color_temp: f64,
8628 pub color_temp_startup: f64,
8630 pub linkquality: f64,
8632 pub power_on_behavior: Zigbee8719514338142Poweronbehavior,
8634 #[serde(deserialize_with = "zigbee8719514338142_state_deserializer")]
8637 pub state: bool,
8638 pub last_seen: Option<LastSeen>,
8640 pub elapsed: Option<u64>,
8642}
8643fn zigbee8719514338142_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8645where
8646 D: Deserializer<'de>,
8647{
8648 match String::deserialize(deserializer)?.as_ref() {
8649 "ON" => Ok(true),
8650 "OFF" => Ok(false),
8651 other => Err(de::Error::invalid_value(
8652 Unexpected::Str(other),
8653 &"Value expected was either ON or OFF",
8654 )),
8655 }
8656}
8657
8658#[cfg_attr(feature = "debug", derive(Debug))]
8662#[cfg_attr(feature = "clone", derive(Clone))]
8663#[derive(Deserialize)]
8664pub struct Zigbee8719514338524 {
8665 pub brightness: f64,
8667 pub color_temp: f64,
8669 pub color_temp_startup: f64,
8671 pub linkquality: f64,
8673 pub power_on_behavior: Zigbee8719514338524Poweronbehavior,
8675 #[serde(deserialize_with = "zigbee8719514338524_state_deserializer")]
8678 pub state: bool,
8679 pub last_seen: Option<LastSeen>,
8681 pub elapsed: Option<u64>,
8683}
8684fn zigbee8719514338524_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8686where
8687 D: Deserializer<'de>,
8688{
8689 match String::deserialize(deserializer)?.as_ref() {
8690 "ON" => Ok(true),
8691 "OFF" => Ok(false),
8692 other => Err(de::Error::invalid_value(
8693 Unexpected::Str(other),
8694 &"Value expected was either ON or OFF",
8695 )),
8696 }
8697}
8698
8699#[cfg_attr(feature = "debug", derive(Debug))]
8703#[cfg_attr(feature = "clone", derive(Clone))]
8704#[derive(Deserialize)]
8705pub struct Zigbee871951433908 {
8706 pub brightness: f64,
8708 pub color_temp: f64,
8710 pub color_temp_startup: f64,
8712 pub linkquality: f64,
8714 pub power_on_behavior: Zigbee871951433908Poweronbehavior,
8716 #[serde(deserialize_with = "zigbee871951433908_state_deserializer")]
8719 pub state: bool,
8720 pub last_seen: Option<LastSeen>,
8722 pub elapsed: Option<u64>,
8724}
8725fn zigbee871951433908_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8727where
8728 D: Deserializer<'de>,
8729{
8730 match String::deserialize(deserializer)?.as_ref() {
8731 "ON" => Ok(true),
8732 "OFF" => Ok(false),
8733 other => Err(de::Error::invalid_value(
8734 Unexpected::Str(other),
8735 &"Value expected was either ON or OFF",
8736 )),
8737 }
8738}
8739
8740#[cfg_attr(feature = "debug", derive(Debug))]
8744#[cfg_attr(feature = "clone", derive(Clone))]
8745#[derive(Deserialize)]
8746pub struct Zigbee8719514339125 {
8747 pub brightness: f64,
8749 pub color_temp: f64,
8751 pub color_temp_startup: f64,
8753 pub linkquality: f64,
8755 pub power_on_behavior: Zigbee8719514339125Poweronbehavior,
8757 #[serde(deserialize_with = "zigbee8719514339125_state_deserializer")]
8760 pub state: bool,
8761 pub last_seen: Option<LastSeen>,
8763 pub elapsed: Option<u64>,
8765}
8766fn zigbee8719514339125_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8768where
8769 D: Deserializer<'de>,
8770{
8771 match String::deserialize(deserializer)?.as_ref() {
8772 "ON" => Ok(true),
8773 "OFF" => Ok(false),
8774 other => Err(de::Error::invalid_value(
8775 Unexpected::Str(other),
8776 &"Value expected was either ON or OFF",
8777 )),
8778 }
8779}
8780
8781#[cfg_attr(feature = "debug", derive(Debug))]
8785#[cfg_attr(feature = "clone", derive(Clone))]
8786#[derive(Deserialize)]
8787pub struct Zigbee8719514339163 {
8788 pub brightness: f64,
8790 pub color_temp: f64,
8792 pub color_temp_startup: f64,
8794 pub linkquality: f64,
8796 pub power_on_behavior: Zigbee8719514339163Poweronbehavior,
8798 #[serde(deserialize_with = "zigbee8719514339163_state_deserializer")]
8801 pub state: bool,
8802 pub last_seen: Option<LastSeen>,
8804 pub elapsed: Option<u64>,
8806}
8807fn zigbee8719514339163_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8809where
8810 D: Deserializer<'de>,
8811{
8812 match String::deserialize(deserializer)?.as_ref() {
8813 "ON" => Ok(true),
8814 "OFF" => Ok(false),
8815 other => Err(de::Error::invalid_value(
8816 Unexpected::Str(other),
8817 &"Value expected was either ON or OFF",
8818 )),
8819 }
8820}
8821
8822#[cfg_attr(feature = "debug", derive(Debug))]
8826#[cfg_attr(feature = "clone", derive(Clone))]
8827#[derive(Deserialize)]
8828pub struct Zigbee8719514342361 {
8829 pub linkquality: f64,
8831 #[serde(deserialize_with = "zigbee8719514342361_state_deserializer")]
8834 pub state: bool,
8835 pub last_seen: Option<LastSeen>,
8837 pub elapsed: Option<u64>,
8839}
8840fn zigbee8719514342361_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8842where
8843 D: Deserializer<'de>,
8844{
8845 match String::deserialize(deserializer)?.as_ref() {
8846 "ON" => Ok(true),
8847 "OFF" => Ok(false),
8848 other => Err(de::Error::invalid_value(
8849 Unexpected::Str(other),
8850 &"Value expected was either ON or OFF",
8851 )),
8852 }
8853}
8854
8855#[cfg_attr(feature = "debug", derive(Debug))]
8859#[cfg_attr(feature = "clone", derive(Clone))]
8860#[derive(Deserialize)]
8861pub struct Zigbee8719514344723 {
8862 pub brightness: f64,
8864 pub color_temp: f64,
8866 pub color_temp_startup: f64,
8868 pub linkquality: f64,
8870 pub power_on_behavior: Zigbee8719514344723Poweronbehavior,
8872 #[serde(deserialize_with = "zigbee8719514344723_state_deserializer")]
8875 pub state: bool,
8876 pub last_seen: Option<LastSeen>,
8878 pub elapsed: Option<u64>,
8880}
8881fn zigbee8719514344723_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8883where
8884 D: Deserializer<'de>,
8885{
8886 match String::deserialize(deserializer)?.as_ref() {
8887 "ON" => Ok(true),
8888 "OFF" => Ok(false),
8889 other => Err(de::Error::invalid_value(
8890 Unexpected::Str(other),
8891 &"Value expected was either ON or OFF",
8892 )),
8893 }
8894}
8895
8896#[cfg_attr(feature = "debug", derive(Debug))]
8900#[cfg_attr(feature = "clone", derive(Clone))]
8901#[derive(Deserialize)]
8902pub struct Zigbee8719514382350 {
8903 pub brightness: f64,
8905 pub color_temp: f64,
8907 pub color_temp_startup: f64,
8909 pub linkquality: f64,
8911 pub power_on_behavior: Zigbee8719514382350Poweronbehavior,
8913 #[serde(deserialize_with = "zigbee8719514382350_state_deserializer")]
8916 pub state: bool,
8917 pub last_seen: Option<LastSeen>,
8919 pub elapsed: Option<u64>,
8921}
8922fn zigbee8719514382350_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8924where
8925 D: Deserializer<'de>,
8926{
8927 match String::deserialize(deserializer)?.as_ref() {
8928 "ON" => Ok(true),
8929 "OFF" => Ok(false),
8930 other => Err(de::Error::invalid_value(
8931 Unexpected::Str(other),
8932 &"Value expected was either ON or OFF",
8933 )),
8934 }
8935}
8936
8937#[cfg_attr(feature = "debug", derive(Debug))]
8941#[cfg_attr(feature = "clone", derive(Clone))]
8942#[derive(Deserialize)]
8943pub struct Zigbee8719514392830 {
8944 pub brightness: f64,
8946 pub color_temp: f64,
8948 pub color_temp_startup: f64,
8950 pub linkquality: f64,
8952 pub power_on_behavior: Zigbee8719514392830Poweronbehavior,
8954 #[serde(deserialize_with = "zigbee8719514392830_state_deserializer")]
8957 pub state: bool,
8958 pub last_seen: Option<LastSeen>,
8960 pub elapsed: Option<u64>,
8962}
8963fn zigbee8719514392830_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
8965where
8966 D: Deserializer<'de>,
8967{
8968 match String::deserialize(deserializer)?.as_ref() {
8969 "ON" => Ok(true),
8970 "OFF" => Ok(false),
8971 other => Err(de::Error::invalid_value(
8972 Unexpected::Str(other),
8973 &"Value expected was either ON or OFF",
8974 )),
8975 }
8976}
8977
8978#[cfg_attr(feature = "debug", derive(Debug))]
8982#[cfg_attr(feature = "clone", derive(Clone))]
8983#[derive(Deserialize)]
8984pub struct Zigbee87195144409378719514440999 {
8985 pub action: Zigbee87195144409378719514440999Action,
8987 pub battery: f64,
8989 pub linkquality: f64,
8991 pub last_seen: Option<LastSeen>,
8993 pub elapsed: Option<u64>,
8995}#[cfg_attr(feature = "debug", derive(Debug))]
8999#[cfg_attr(feature = "clone", derive(Clone))]
9000#[derive(Deserialize)]
9001pub struct Zigbee915005106701 {
9002 pub brightness: f64,
9004 pub color_temp: f64,
9006 pub color_temp_startup: f64,
9008 pub linkquality: f64,
9010 pub power_on_behavior: Zigbee915005106701Poweronbehavior,
9012 #[serde(deserialize_with = "zigbee915005106701_state_deserializer")]
9015 pub state: bool,
9016 pub last_seen: Option<LastSeen>,
9018 pub elapsed: Option<u64>,
9020}
9021fn zigbee915005106701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9023where
9024 D: Deserializer<'de>,
9025{
9026 match String::deserialize(deserializer)?.as_ref() {
9027 "ON" => Ok(true),
9028 "OFF" => Ok(false),
9029 other => Err(de::Error::invalid_value(
9030 Unexpected::Str(other),
9031 &"Value expected was either ON or OFF",
9032 )),
9033 }
9034}
9035
9036#[cfg_attr(feature = "debug", derive(Debug))]
9040#[cfg_attr(feature = "clone", derive(Clone))]
9041#[derive(Deserialize)]
9042pub struct Zigbee915005587401 {
9043 pub brightness: f64,
9045 pub color_temp: f64,
9047 pub color_temp_startup: f64,
9049 pub linkquality: f64,
9051 pub power_on_behavior: Zigbee915005587401Poweronbehavior,
9053 #[serde(deserialize_with = "zigbee915005587401_state_deserializer")]
9056 pub state: bool,
9057 pub last_seen: Option<LastSeen>,
9059 pub elapsed: Option<u64>,
9061}
9062fn zigbee915005587401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9064where
9065 D: Deserializer<'de>,
9066{
9067 match String::deserialize(deserializer)?.as_ref() {
9068 "ON" => Ok(true),
9069 "OFF" => Ok(false),
9070 other => Err(de::Error::invalid_value(
9071 Unexpected::Str(other),
9072 &"Value expected was either ON or OFF",
9073 )),
9074 }
9075}
9076
9077#[cfg_attr(feature = "debug", derive(Debug))]
9081#[cfg_attr(feature = "clone", derive(Clone))]
9082#[derive(Deserialize)]
9083pub struct Zigbee915005733701 {
9084 pub brightness: f64,
9086 pub color_temp: f64,
9088 pub color_temp_startup: f64,
9090 pub linkquality: f64,
9092 pub power_on_behavior: Zigbee915005733701Poweronbehavior,
9094 #[serde(deserialize_with = "zigbee915005733701_state_deserializer")]
9097 pub state: bool,
9098 pub last_seen: Option<LastSeen>,
9100 pub elapsed: Option<u64>,
9102}
9103fn zigbee915005733701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9105where
9106 D: Deserializer<'de>,
9107{
9108 match String::deserialize(deserializer)?.as_ref() {
9109 "ON" => Ok(true),
9110 "OFF" => Ok(false),
9111 other => Err(de::Error::invalid_value(
9112 Unexpected::Str(other),
9113 &"Value expected was either ON or OFF",
9114 )),
9115 }
9116}
9117
9118#[cfg_attr(feature = "debug", derive(Debug))]
9122#[cfg_attr(feature = "clone", derive(Clone))]
9123#[derive(Deserialize)]
9124pub struct Zigbee915005916901 {
9125 pub brightness: f64,
9127 pub color_temp: f64,
9129 pub color_temp_startup: f64,
9131 pub linkquality: f64,
9133 pub power_on_behavior: Zigbee915005916901Poweronbehavior,
9135 #[serde(deserialize_with = "zigbee915005916901_state_deserializer")]
9138 pub state: bool,
9139 pub last_seen: Option<LastSeen>,
9141 pub elapsed: Option<u64>,
9143}
9144fn zigbee915005916901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9146where
9147 D: Deserializer<'de>,
9148{
9149 match String::deserialize(deserializer)?.as_ref() {
9150 "ON" => Ok(true),
9151 "OFF" => Ok(false),
9152 other => Err(de::Error::invalid_value(
9153 Unexpected::Str(other),
9154 &"Value expected was either ON or OFF",
9155 )),
9156 }
9157}
9158
9159#[cfg_attr(feature = "debug", derive(Debug))]
9163#[cfg_attr(feature = "clone", derive(Clone))]
9164#[derive(Deserialize)]
9165pub struct Zigbee915005986901 {
9166 pub brightness: f64,
9168 pub color_temp: f64,
9170 pub color_temp_startup: f64,
9172 pub linkquality: f64,
9174 pub power_on_behavior: Zigbee915005986901Poweronbehavior,
9176 #[serde(deserialize_with = "zigbee915005986901_state_deserializer")]
9179 pub state: bool,
9180 pub last_seen: Option<LastSeen>,
9182 pub elapsed: Option<u64>,
9184}
9185fn zigbee915005986901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9187where
9188 D: Deserializer<'de>,
9189{
9190 match String::deserialize(deserializer)?.as_ref() {
9191 "ON" => Ok(true),
9192 "OFF" => Ok(false),
9193 other => Err(de::Error::invalid_value(
9194 Unexpected::Str(other),
9195 &"Value expected was either ON or OFF",
9196 )),
9197 }
9198}
9199
9200#[cfg_attr(feature = "debug", derive(Debug))]
9204#[cfg_attr(feature = "clone", derive(Clone))]
9205#[derive(Deserialize)]
9206pub struct Zigbee915005987001 {
9207 pub brightness: f64,
9209 pub color_temp: f64,
9211 pub color_temp_startup: f64,
9213 pub linkquality: f64,
9215 pub power_on_behavior: Zigbee915005987001Poweronbehavior,
9217 #[serde(deserialize_with = "zigbee915005987001_state_deserializer")]
9220 pub state: bool,
9221 pub last_seen: Option<LastSeen>,
9223 pub elapsed: Option<u64>,
9225}
9226fn zigbee915005987001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9228where
9229 D: Deserializer<'de>,
9230{
9231 match String::deserialize(deserializer)?.as_ref() {
9232 "ON" => Ok(true),
9233 "OFF" => Ok(false),
9234 other => Err(de::Error::invalid_value(
9235 Unexpected::Str(other),
9236 &"Value expected was either ON or OFF",
9237 )),
9238 }
9239}
9240
9241#[cfg_attr(feature = "debug", derive(Debug))]
9245#[cfg_attr(feature = "clone", derive(Clone))]
9246#[derive(Deserialize)]
9247pub struct Zigbee915005987101 {
9248 pub brightness: f64,
9250 pub color_temp: f64,
9252 pub color_temp_startup: f64,
9254 pub linkquality: f64,
9256 pub power_on_behavior: Zigbee915005987101Poweronbehavior,
9258 #[serde(deserialize_with = "zigbee915005987101_state_deserializer")]
9261 pub state: bool,
9262 pub last_seen: Option<LastSeen>,
9264 pub elapsed: Option<u64>,
9266}
9267fn zigbee915005987101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9269where
9270 D: Deserializer<'de>,
9271{
9272 match String::deserialize(deserializer)?.as_ref() {
9273 "ON" => Ok(true),
9274 "OFF" => Ok(false),
9275 other => Err(de::Error::invalid_value(
9276 Unexpected::Str(other),
9277 &"Value expected was either ON or OFF",
9278 )),
9279 }
9280}
9281
9282#[cfg_attr(feature = "debug", derive(Debug))]
9286#[cfg_attr(feature = "clone", derive(Clone))]
9287#[derive(Deserialize)]
9288pub struct Zigbee915005987301 {
9289 pub brightness: f64,
9291 pub color_temp: f64,
9293 pub color_temp_startup: f64,
9295 pub linkquality: f64,
9297 pub power_on_behavior: Zigbee915005987301Poweronbehavior,
9299 #[serde(deserialize_with = "zigbee915005987301_state_deserializer")]
9302 pub state: bool,
9303 pub last_seen: Option<LastSeen>,
9305 pub elapsed: Option<u64>,
9307}
9308fn zigbee915005987301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9310where
9311 D: Deserializer<'de>,
9312{
9313 match String::deserialize(deserializer)?.as_ref() {
9314 "ON" => Ok(true),
9315 "OFF" => Ok(false),
9316 other => Err(de::Error::invalid_value(
9317 Unexpected::Str(other),
9318 &"Value expected was either ON or OFF",
9319 )),
9320 }
9321}
9322
9323#[cfg_attr(feature = "debug", derive(Debug))]
9327#[cfg_attr(feature = "clone", derive(Clone))]
9328#[derive(Deserialize)]
9329pub struct Zigbee915005987401 {
9330 pub brightness: f64,
9332 pub color_temp: f64,
9334 pub color_temp_startup: f64,
9336 pub linkquality: f64,
9338 pub power_on_behavior: Zigbee915005987401Poweronbehavior,
9340 #[serde(deserialize_with = "zigbee915005987401_state_deserializer")]
9343 pub state: bool,
9344 pub last_seen: Option<LastSeen>,
9346 pub elapsed: Option<u64>,
9348}
9349fn zigbee915005987401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9351where
9352 D: Deserializer<'de>,
9353{
9354 match String::deserialize(deserializer)?.as_ref() {
9355 "ON" => Ok(true),
9356 "OFF" => Ok(false),
9357 other => Err(de::Error::invalid_value(
9358 Unexpected::Str(other),
9359 &"Value expected was either ON or OFF",
9360 )),
9361 }
9362}
9363
9364#[cfg_attr(feature = "debug", derive(Debug))]
9368#[cfg_attr(feature = "clone", derive(Clone))]
9369#[derive(Deserialize)]
9370pub struct Zigbee915005987501 {
9371 pub brightness: f64,
9373 pub color_temp: f64,
9375 pub color_temp_startup: f64,
9377 pub linkquality: f64,
9379 pub power_on_behavior: Zigbee915005987501Poweronbehavior,
9381 #[serde(deserialize_with = "zigbee915005987501_state_deserializer")]
9384 pub state: bool,
9385 pub last_seen: Option<LastSeen>,
9387 pub elapsed: Option<u64>,
9389}
9390fn zigbee915005987501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9392where
9393 D: Deserializer<'de>,
9394{
9395 match String::deserialize(deserializer)?.as_ref() {
9396 "ON" => Ok(true),
9397 "OFF" => Ok(false),
9398 other => Err(de::Error::invalid_value(
9399 Unexpected::Str(other),
9400 &"Value expected was either ON or OFF",
9401 )),
9402 }
9403}
9404
9405#[cfg_attr(feature = "debug", derive(Debug))]
9409#[cfg_attr(feature = "clone", derive(Clone))]
9410#[derive(Deserialize)]
9411pub struct Zigbee915005987601 {
9412 pub brightness: f64,
9414 pub color_temp: f64,
9416 pub color_temp_startup: f64,
9418 pub linkquality: f64,
9420 pub power_on_behavior: Zigbee915005987601Poweronbehavior,
9422 #[serde(deserialize_with = "zigbee915005987601_state_deserializer")]
9425 pub state: bool,
9426 pub last_seen: Option<LastSeen>,
9428 pub elapsed: Option<u64>,
9430}
9431fn zigbee915005987601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9433where
9434 D: Deserializer<'de>,
9435{
9436 match String::deserialize(deserializer)?.as_ref() {
9437 "ON" => Ok(true),
9438 "OFF" => Ok(false),
9439 other => Err(de::Error::invalid_value(
9440 Unexpected::Str(other),
9441 &"Value expected was either ON or OFF",
9442 )),
9443 }
9444}
9445
9446#[cfg_attr(feature = "debug", derive(Debug))]
9450#[cfg_attr(feature = "clone", derive(Clone))]
9451#[derive(Deserialize)]
9452pub struct Zigbee915005987701 {
9453 pub brightness: f64,
9455 pub color_temp: f64,
9457 pub color_temp_startup: f64,
9459 pub linkquality: f64,
9461 pub power_on_behavior: Zigbee915005987701Poweronbehavior,
9463 #[serde(deserialize_with = "zigbee915005987701_state_deserializer")]
9466 pub state: bool,
9467 pub last_seen: Option<LastSeen>,
9469 pub elapsed: Option<u64>,
9471}
9472fn zigbee915005987701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9474where
9475 D: Deserializer<'de>,
9476{
9477 match String::deserialize(deserializer)?.as_ref() {
9478 "ON" => Ok(true),
9479 "OFF" => Ok(false),
9480 other => Err(de::Error::invalid_value(
9481 Unexpected::Str(other),
9482 &"Value expected was either ON or OFF",
9483 )),
9484 }
9485}
9486
9487#[cfg_attr(feature = "debug", derive(Debug))]
9491#[cfg_attr(feature = "clone", derive(Clone))]
9492#[derive(Deserialize)]
9493pub struct Zigbee915005987901 {
9494 pub brightness: f64,
9496 pub color_temp: f64,
9498 pub color_temp_startup: f64,
9500 pub linkquality: f64,
9502 pub power_on_behavior: Zigbee915005987901Poweronbehavior,
9504 #[serde(deserialize_with = "zigbee915005987901_state_deserializer")]
9507 pub state: bool,
9508 pub last_seen: Option<LastSeen>,
9510 pub elapsed: Option<u64>,
9512}
9513fn zigbee915005987901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9515where
9516 D: Deserializer<'de>,
9517{
9518 match String::deserialize(deserializer)?.as_ref() {
9519 "ON" => Ok(true),
9520 "OFF" => Ok(false),
9521 other => Err(de::Error::invalid_value(
9522 Unexpected::Str(other),
9523 &"Value expected was either ON or OFF",
9524 )),
9525 }
9526}
9527
9528#[cfg_attr(feature = "debug", derive(Debug))]
9532#[cfg_attr(feature = "clone", derive(Clone))]
9533#[derive(Deserialize)]
9534pub struct Zigbee915005988101 {
9535 pub brightness: f64,
9537 pub color_temp: f64,
9539 pub color_temp_startup: f64,
9541 pub linkquality: f64,
9543 pub power_on_behavior: Zigbee915005988101Poweronbehavior,
9545 #[serde(deserialize_with = "zigbee915005988101_state_deserializer")]
9548 pub state: bool,
9549 pub last_seen: Option<LastSeen>,
9551 pub elapsed: Option<u64>,
9553}
9554fn zigbee915005988101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9556where
9557 D: Deserializer<'de>,
9558{
9559 match String::deserialize(deserializer)?.as_ref() {
9560 "ON" => Ok(true),
9561 "OFF" => Ok(false),
9562 other => Err(de::Error::invalid_value(
9563 Unexpected::Str(other),
9564 &"Value expected was either ON or OFF",
9565 )),
9566 }
9567}
9568
9569#[cfg_attr(feature = "debug", derive(Debug))]
9573#[cfg_attr(feature = "clone", derive(Clone))]
9574#[derive(Deserialize)]
9575pub struct Zigbee915005988401 {
9576 pub brightness: f64,
9578 pub color_temp: f64,
9580 pub color_temp_startup: f64,
9582 pub linkquality: f64,
9584 pub power_on_behavior: Zigbee915005988401Poweronbehavior,
9586 #[serde(deserialize_with = "zigbee915005988401_state_deserializer")]
9589 pub state: bool,
9590 pub last_seen: Option<LastSeen>,
9592 pub elapsed: Option<u64>,
9594}
9595fn zigbee915005988401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9597where
9598 D: Deserializer<'de>,
9599{
9600 match String::deserialize(deserializer)?.as_ref() {
9601 "ON" => Ok(true),
9602 "OFF" => Ok(false),
9603 other => Err(de::Error::invalid_value(
9604 Unexpected::Str(other),
9605 &"Value expected was either ON or OFF",
9606 )),
9607 }
9608}
9609
9610#[cfg_attr(feature = "debug", derive(Debug))]
9614#[cfg_attr(feature = "clone", derive(Clone))]
9615#[derive(Deserialize)]
9616pub struct Zigbee915005988501 {
9617 pub brightness: f64,
9619 pub color_temp: f64,
9621 pub color_temp_startup: f64,
9623 pub linkquality: f64,
9625 pub power_on_behavior: Zigbee915005988501Poweronbehavior,
9627 #[serde(deserialize_with = "zigbee915005988501_state_deserializer")]
9630 pub state: bool,
9631 pub last_seen: Option<LastSeen>,
9633 pub elapsed: Option<u64>,
9635}
9636fn zigbee915005988501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9638where
9639 D: Deserializer<'de>,
9640{
9641 match String::deserialize(deserializer)?.as_ref() {
9642 "ON" => Ok(true),
9643 "OFF" => Ok(false),
9644 other => Err(de::Error::invalid_value(
9645 Unexpected::Str(other),
9646 &"Value expected was either ON or OFF",
9647 )),
9648 }
9649}
9650
9651#[cfg_attr(feature = "debug", derive(Debug))]
9655#[cfg_attr(feature = "clone", derive(Clone))]
9656#[derive(Deserialize)]
9657pub struct Zigbee915005996401 {
9658 pub brightness: f64,
9660 pub color_temp: f64,
9662 pub color_temp_startup: f64,
9664 pub linkquality: f64,
9666 pub power_on_behavior: Zigbee915005996401Poweronbehavior,
9668 #[serde(deserialize_with = "zigbee915005996401_state_deserializer")]
9671 pub state: bool,
9672 pub last_seen: Option<LastSeen>,
9674 pub elapsed: Option<u64>,
9676}
9677fn zigbee915005996401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9679where
9680 D: Deserializer<'de>,
9681{
9682 match String::deserialize(deserializer)?.as_ref() {
9683 "ON" => Ok(true),
9684 "OFF" => Ok(false),
9685 other => Err(de::Error::invalid_value(
9686 Unexpected::Str(other),
9687 &"Value expected was either ON or OFF",
9688 )),
9689 }
9690}
9691
9692#[cfg_attr(feature = "debug", derive(Debug))]
9696#[cfg_attr(feature = "clone", derive(Clone))]
9697#[derive(Deserialize)]
9698pub struct Zigbee915005996601 {
9699 pub brightness: f64,
9701 pub color_temp: f64,
9703 pub color_temp_startup: f64,
9705 pub linkquality: f64,
9707 pub power_on_behavior: Zigbee915005996601Poweronbehavior,
9709 #[serde(deserialize_with = "zigbee915005996601_state_deserializer")]
9712 pub state: bool,
9713 pub last_seen: Option<LastSeen>,
9715 pub elapsed: Option<u64>,
9717}
9718fn zigbee915005996601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9720where
9721 D: Deserializer<'de>,
9722{
9723 match String::deserialize(deserializer)?.as_ref() {
9724 "ON" => Ok(true),
9725 "OFF" => Ok(false),
9726 other => Err(de::Error::invalid_value(
9727 Unexpected::Str(other),
9728 &"Value expected was either ON or OFF",
9729 )),
9730 }
9731}
9732
9733#[cfg_attr(feature = "debug", derive(Debug))]
9737#[cfg_attr(feature = "clone", derive(Clone))]
9738#[derive(Deserialize)]
9739pub struct Zigbee915005996701 {
9740 pub brightness: f64,
9742 pub color_temp: f64,
9744 pub color_temp_startup: f64,
9746 pub linkquality: f64,
9748 pub power_on_behavior: Zigbee915005996701Poweronbehavior,
9750 #[serde(deserialize_with = "zigbee915005996701_state_deserializer")]
9753 pub state: bool,
9754 pub last_seen: Option<LastSeen>,
9756 pub elapsed: Option<u64>,
9758}
9759fn zigbee915005996701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9761where
9762 D: Deserializer<'de>,
9763{
9764 match String::deserialize(deserializer)?.as_ref() {
9765 "ON" => Ok(true),
9766 "OFF" => Ok(false),
9767 other => Err(de::Error::invalid_value(
9768 Unexpected::Str(other),
9769 &"Value expected was either ON or OFF",
9770 )),
9771 }
9772}
9773
9774#[cfg_attr(feature = "debug", derive(Debug))]
9778#[cfg_attr(feature = "clone", derive(Clone))]
9779#[derive(Deserialize)]
9780pub struct Zigbee915005996901 {
9781 pub brightness: f64,
9783 pub color_temp: f64,
9785 pub color_temp_startup: f64,
9787 pub linkquality: f64,
9789 pub power_on_behavior: Zigbee915005996901Poweronbehavior,
9791 #[serde(deserialize_with = "zigbee915005996901_state_deserializer")]
9794 pub state: bool,
9795 pub last_seen: Option<LastSeen>,
9797 pub elapsed: Option<u64>,
9799}
9800fn zigbee915005996901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9802where
9803 D: Deserializer<'de>,
9804{
9805 match String::deserialize(deserializer)?.as_ref() {
9806 "ON" => Ok(true),
9807 "OFF" => Ok(false),
9808 other => Err(de::Error::invalid_value(
9809 Unexpected::Str(other),
9810 &"Value expected was either ON or OFF",
9811 )),
9812 }
9813}
9814
9815#[cfg_attr(feature = "debug", derive(Debug))]
9819#[cfg_attr(feature = "clone", derive(Clone))]
9820#[derive(Deserialize)]
9821pub struct Zigbee915005997001 {
9822 pub brightness: f64,
9824 pub color_temp: f64,
9826 pub color_temp_startup: f64,
9828 pub linkquality: f64,
9830 pub power_on_behavior: Zigbee915005997001Poweronbehavior,
9832 #[serde(deserialize_with = "zigbee915005997001_state_deserializer")]
9835 pub state: bool,
9836 pub last_seen: Option<LastSeen>,
9838 pub elapsed: Option<u64>,
9840}
9841fn zigbee915005997001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9843where
9844 D: Deserializer<'de>,
9845{
9846 match String::deserialize(deserializer)?.as_ref() {
9847 "ON" => Ok(true),
9848 "OFF" => Ok(false),
9849 other => Err(de::Error::invalid_value(
9850 Unexpected::Str(other),
9851 &"Value expected was either ON or OFF",
9852 )),
9853 }
9854}
9855
9856#[cfg_attr(feature = "debug", derive(Debug))]
9860#[cfg_attr(feature = "clone", derive(Clone))]
9861#[derive(Deserialize)]
9862pub struct Zigbee915005997301 {
9863 pub brightness: f64,
9865 pub color_temp: f64,
9867 pub color_temp_startup: f64,
9869 pub linkquality: f64,
9871 pub power_on_behavior: Zigbee915005997301Poweronbehavior,
9873 #[serde(deserialize_with = "zigbee915005997301_state_deserializer")]
9876 pub state: bool,
9877 pub last_seen: Option<LastSeen>,
9879 pub elapsed: Option<u64>,
9881}
9882fn zigbee915005997301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9884where
9885 D: Deserializer<'de>,
9886{
9887 match String::deserialize(deserializer)?.as_ref() {
9888 "ON" => Ok(true),
9889 "OFF" => Ok(false),
9890 other => Err(de::Error::invalid_value(
9891 Unexpected::Str(other),
9892 &"Value expected was either ON or OFF",
9893 )),
9894 }
9895}
9896
9897#[cfg_attr(feature = "debug", derive(Debug))]
9901#[cfg_attr(feature = "clone", derive(Clone))]
9902#[derive(Deserialize)]
9903pub struct Zigbee915005997501 {
9904 pub brightness: f64,
9906 pub color_temp: f64,
9908 pub color_temp_startup: f64,
9910 pub linkquality: f64,
9912 pub power_on_behavior: Zigbee915005997501Poweronbehavior,
9914 #[serde(deserialize_with = "zigbee915005997501_state_deserializer")]
9917 pub state: bool,
9918 pub last_seen: Option<LastSeen>,
9920 pub elapsed: Option<u64>,
9922}
9923fn zigbee915005997501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9925where
9926 D: Deserializer<'de>,
9927{
9928 match String::deserialize(deserializer)?.as_ref() {
9929 "ON" => Ok(true),
9930 "OFF" => Ok(false),
9931 other => Err(de::Error::invalid_value(
9932 Unexpected::Str(other),
9933 &"Value expected was either ON or OFF",
9934 )),
9935 }
9936}
9937
9938#[cfg_attr(feature = "debug", derive(Debug))]
9942#[cfg_attr(feature = "clone", derive(Clone))]
9943#[derive(Deserialize)]
9944pub struct Zigbee915005997601 {
9945 pub brightness: f64,
9947 pub color_temp: f64,
9949 pub color_temp_startup: f64,
9951 pub linkquality: f64,
9953 pub power_on_behavior: Zigbee915005997601Poweronbehavior,
9955 #[serde(deserialize_with = "zigbee915005997601_state_deserializer")]
9958 pub state: bool,
9959 pub last_seen: Option<LastSeen>,
9961 pub elapsed: Option<u64>,
9963}
9964fn zigbee915005997601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
9966where
9967 D: Deserializer<'de>,
9968{
9969 match String::deserialize(deserializer)?.as_ref() {
9970 "ON" => Ok(true),
9971 "OFF" => Ok(false),
9972 other => Err(de::Error::invalid_value(
9973 Unexpected::Str(other),
9974 &"Value expected was either ON or OFF",
9975 )),
9976 }
9977}
9978
9979#[cfg_attr(feature = "debug", derive(Debug))]
9983#[cfg_attr(feature = "clone", derive(Clone))]
9984#[derive(Deserialize)]
9985pub struct Zigbee915005997701 {
9986 pub brightness: f64,
9988 pub color_temp: f64,
9990 pub color_temp_startup: f64,
9992 pub linkquality: f64,
9994 pub power_on_behavior: Zigbee915005997701Poweronbehavior,
9996 #[serde(deserialize_with = "zigbee915005997701_state_deserializer")]
9999 pub state: bool,
10000 pub last_seen: Option<LastSeen>,
10002 pub elapsed: Option<u64>,
10004}
10005fn zigbee915005997701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10007where
10008 D: Deserializer<'de>,
10009{
10010 match String::deserialize(deserializer)?.as_ref() {
10011 "ON" => Ok(true),
10012 "OFF" => Ok(false),
10013 other => Err(de::Error::invalid_value(
10014 Unexpected::Str(other),
10015 &"Value expected was either ON or OFF",
10016 )),
10017 }
10018}
10019
10020#[cfg_attr(feature = "debug", derive(Debug))]
10024#[cfg_attr(feature = "clone", derive(Clone))]
10025#[derive(Deserialize)]
10026pub struct Zigbee915005997801 {
10027 pub brightness: f64,
10029 pub color_temp: f64,
10031 pub color_temp_startup: f64,
10033 pub linkquality: f64,
10035 pub power_on_behavior: Zigbee915005997801Poweronbehavior,
10037 #[serde(deserialize_with = "zigbee915005997801_state_deserializer")]
10040 pub state: bool,
10041 pub last_seen: Option<LastSeen>,
10043 pub elapsed: Option<u64>,
10045}
10046fn zigbee915005997801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10048where
10049 D: Deserializer<'de>,
10050{
10051 match String::deserialize(deserializer)?.as_ref() {
10052 "ON" => Ok(true),
10053 "OFF" => Ok(false),
10054 other => Err(de::Error::invalid_value(
10055 Unexpected::Str(other),
10056 &"Value expected was either ON or OFF",
10057 )),
10058 }
10059}
10060
10061#[cfg_attr(feature = "debug", derive(Debug))]
10065#[cfg_attr(feature = "clone", derive(Clone))]
10066#[derive(Deserialize)]
10067pub struct Zigbee915005997901 {
10068 pub brightness: f64,
10070 pub color_temp: f64,
10072 pub color_temp_startup: f64,
10074 pub linkquality: f64,
10076 pub power_on_behavior: Zigbee915005997901Poweronbehavior,
10078 #[serde(deserialize_with = "zigbee915005997901_state_deserializer")]
10081 pub state: bool,
10082 pub last_seen: Option<LastSeen>,
10084 pub elapsed: Option<u64>,
10086}
10087fn zigbee915005997901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10089where
10090 D: Deserializer<'de>,
10091{
10092 match String::deserialize(deserializer)?.as_ref() {
10093 "ON" => Ok(true),
10094 "OFF" => Ok(false),
10095 other => Err(de::Error::invalid_value(
10096 Unexpected::Str(other),
10097 &"Value expected was either ON or OFF",
10098 )),
10099 }
10100}
10101
10102#[cfg_attr(feature = "debug", derive(Debug))]
10106#[cfg_attr(feature = "clone", derive(Clone))]
10107#[derive(Deserialize)]
10108pub struct Zigbee915005998001 {
10109 pub brightness: f64,
10111 pub color_temp: f64,
10113 pub color_temp_startup: f64,
10115 pub linkquality: f64,
10117 pub power_on_behavior: Zigbee915005998001Poweronbehavior,
10119 #[serde(deserialize_with = "zigbee915005998001_state_deserializer")]
10122 pub state: bool,
10123 pub last_seen: Option<LastSeen>,
10125 pub elapsed: Option<u64>,
10127}
10128fn zigbee915005998001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10130where
10131 D: Deserializer<'de>,
10132{
10133 match String::deserialize(deserializer)?.as_ref() {
10134 "ON" => Ok(true),
10135 "OFF" => Ok(false),
10136 other => Err(de::Error::invalid_value(
10137 Unexpected::Str(other),
10138 &"Value expected was either ON or OFF",
10139 )),
10140 }
10141}
10142
10143#[cfg_attr(feature = "debug", derive(Debug))]
10147#[cfg_attr(feature = "clone", derive(Clone))]
10148#[derive(Deserialize)]
10149pub struct Zigbee915005998101 {
10150 pub brightness: f64,
10152 pub color_temp: f64,
10154 pub color_temp_startup: f64,
10156 pub linkquality: f64,
10158 pub power_on_behavior: Zigbee915005998101Poweronbehavior,
10160 #[serde(deserialize_with = "zigbee915005998101_state_deserializer")]
10163 pub state: bool,
10164 pub last_seen: Option<LastSeen>,
10166 pub elapsed: Option<u64>,
10168}
10169fn zigbee915005998101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10171where
10172 D: Deserializer<'de>,
10173{
10174 match String::deserialize(deserializer)?.as_ref() {
10175 "ON" => Ok(true),
10176 "OFF" => Ok(false),
10177 other => Err(de::Error::invalid_value(
10178 Unexpected::Str(other),
10179 &"Value expected was either ON or OFF",
10180 )),
10181 }
10182}
10183
10184#[cfg_attr(feature = "debug", derive(Debug))]
10188#[cfg_attr(feature = "clone", derive(Clone))]
10189#[derive(Deserialize)]
10190pub struct Zigbee915005998201 {
10191 pub brightness: f64,
10193 pub color_temp: f64,
10195 pub color_temp_startup: f64,
10197 pub linkquality: f64,
10199 pub power_on_behavior: Zigbee915005998201Poweronbehavior,
10201 #[serde(deserialize_with = "zigbee915005998201_state_deserializer")]
10204 pub state: bool,
10205 pub last_seen: Option<LastSeen>,
10207 pub elapsed: Option<u64>,
10209}
10210fn zigbee915005998201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10212where
10213 D: Deserializer<'de>,
10214{
10215 match String::deserialize(deserializer)?.as_ref() {
10216 "ON" => Ok(true),
10217 "OFF" => Ok(false),
10218 other => Err(de::Error::invalid_value(
10219 Unexpected::Str(other),
10220 &"Value expected was either ON or OFF",
10221 )),
10222 }
10223}
10224
10225#[cfg_attr(feature = "debug", derive(Debug))]
10229#[cfg_attr(feature = "clone", derive(Clone))]
10230#[derive(Deserialize)]
10231pub struct Zigbee9290002579a {
10232 pub brightness: f64,
10234 pub color_temp: f64,
10236 pub color_temp_startup: f64,
10238 pub linkquality: f64,
10240 pub power_on_behavior: Zigbee9290002579aPoweronbehavior,
10242 #[serde(deserialize_with = "zigbee9290002579a_state_deserializer")]
10245 pub state: bool,
10246 pub last_seen: Option<LastSeen>,
10248 pub elapsed: Option<u64>,
10250}
10251fn zigbee9290002579a_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10253where
10254 D: Deserializer<'de>,
10255{
10256 match String::deserialize(deserializer)?.as_ref() {
10257 "ON" => Ok(true),
10258 "OFF" => Ok(false),
10259 other => Err(de::Error::invalid_value(
10260 Unexpected::Str(other),
10261 &"Value expected was either ON or OFF",
10262 )),
10263 }
10264}
10265
10266#[cfg_attr(feature = "debug", derive(Debug))]
10270#[cfg_attr(feature = "clone", derive(Clone))]
10271#[derive(Deserialize)]
10272pub struct Zigbee9290011370 {
10273 pub brightness: f64,
10275 pub linkquality: f64,
10277 pub power_on_behavior: Zigbee9290011370Poweronbehavior,
10279 #[serde(deserialize_with = "zigbee9290011370_state_deserializer")]
10282 pub state: bool,
10283 pub last_seen: Option<LastSeen>,
10285 pub elapsed: Option<u64>,
10287}
10288fn zigbee9290011370_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10290where
10291 D: Deserializer<'de>,
10292{
10293 match String::deserialize(deserializer)?.as_ref() {
10294 "ON" => Ok(true),
10295 "OFF" => Ok(false),
10296 other => Err(de::Error::invalid_value(
10297 Unexpected::Str(other),
10298 &"Value expected was either ON or OFF",
10299 )),
10300 }
10301}
10302
10303#[cfg_attr(feature = "debug", derive(Debug))]
10307#[cfg_attr(feature = "clone", derive(Clone))]
10308#[derive(Deserialize)]
10309pub struct Zigbee9290011370b {
10310 pub brightness: f64,
10312 pub linkquality: f64,
10314 pub power_on_behavior: Zigbee9290011370bPoweronbehavior,
10316 #[serde(deserialize_with = "zigbee9290011370b_state_deserializer")]
10319 pub state: bool,
10320 pub last_seen: Option<LastSeen>,
10322 pub elapsed: Option<u64>,
10324}
10325fn zigbee9290011370b_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10327where
10328 D: Deserializer<'de>,
10329{
10330 match String::deserialize(deserializer)?.as_ref() {
10331 "ON" => Ok(true),
10332 "OFF" => Ok(false),
10333 other => Err(de::Error::invalid_value(
10334 Unexpected::Str(other),
10335 &"Value expected was either ON or OFF",
10336 )),
10337 }
10338}
10339
10340#[cfg_attr(feature = "debug", derive(Debug))]
10344#[cfg_attr(feature = "clone", derive(Clone))]
10345#[derive(Deserialize)]
10346pub struct Zigbee9290011998b {
10347 pub brightness: f64,
10349 pub color_temp: f64,
10351 pub color_temp_startup: f64,
10353 pub linkquality: f64,
10355 pub power_on_behavior: Zigbee9290011998bPoweronbehavior,
10357 #[serde(deserialize_with = "zigbee9290011998b_state_deserializer")]
10360 pub state: bool,
10361 pub last_seen: Option<LastSeen>,
10363 pub elapsed: Option<u64>,
10365}
10366fn zigbee9290011998b_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10368where
10369 D: Deserializer<'de>,
10370{
10371 match String::deserialize(deserializer)?.as_ref() {
10372 "ON" => Ok(true),
10373 "OFF" => Ok(false),
10374 other => Err(de::Error::invalid_value(
10375 Unexpected::Str(other),
10376 &"Value expected was either ON or OFF",
10377 )),
10378 }
10379}
10380
10381#[cfg_attr(feature = "debug", derive(Debug))]
10385#[cfg_attr(feature = "clone", derive(Clone))]
10386#[derive(Deserialize)]
10387pub struct Zigbee9290012573a {
10388 pub brightness: f64,
10390 pub color_temp: f64,
10392 pub color_temp_startup: f64,
10394 pub linkquality: f64,
10396 pub power_on_behavior: Zigbee9290012573aPoweronbehavior,
10398 #[serde(deserialize_with = "zigbee9290012573a_state_deserializer")]
10401 pub state: bool,
10402 pub last_seen: Option<LastSeen>,
10404 pub elapsed: Option<u64>,
10406}
10407fn zigbee9290012573a_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10409where
10410 D: Deserializer<'de>,
10411{
10412 match String::deserialize(deserializer)?.as_ref() {
10413 "ON" => Ok(true),
10414 "OFF" => Ok(false),
10415 other => Err(de::Error::invalid_value(
10416 Unexpected::Str(other),
10417 &"Value expected was either ON or OFF",
10418 )),
10419 }
10420}
10421
10422#[cfg_attr(feature = "debug", derive(Debug))]
10426#[cfg_attr(feature = "clone", derive(Clone))]
10427#[derive(Deserialize)]
10428pub struct Zigbee9290012607 {
10429 pub battery: f64,
10431 pub illuminance: f64,
10433 pub illuminance_lux: f64,
10435 pub led_indication: bool,
10438 pub linkquality: f64,
10440 pub motion_sensitivity: Zigbee9290012607Motionsensitivity,
10441 pub occupancy: bool,
10444 pub occupancy_timeout: f64,
10445 pub temperature: f64,
10447 pub last_seen: Option<LastSeen>,
10449 pub elapsed: Option<u64>,
10451}#[cfg_attr(feature = "debug", derive(Debug))]
10455#[cfg_attr(feature = "clone", derive(Clone))]
10456#[derive(Deserialize)]
10457pub struct Zigbee9290018187b {
10458 pub brightness: f64,
10460 pub color_temp: f64,
10462 pub color_temp_startup: f64,
10464 pub linkquality: f64,
10466 pub power_on_behavior: Zigbee9290018187bPoweronbehavior,
10468 #[serde(deserialize_with = "zigbee9290018187b_state_deserializer")]
10471 pub state: bool,
10472 pub last_seen: Option<LastSeen>,
10474 pub elapsed: Option<u64>,
10476}
10477fn zigbee9290018187b_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10479where
10480 D: Deserializer<'de>,
10481{
10482 match String::deserialize(deserializer)?.as_ref() {
10483 "ON" => Ok(true),
10484 "OFF" => Ok(false),
10485 other => Err(de::Error::invalid_value(
10486 Unexpected::Str(other),
10487 &"Value expected was either ON or OFF",
10488 )),
10489 }
10490}
10491
10492#[cfg_attr(feature = "debug", derive(Debug))]
10496#[cfg_attr(feature = "clone", derive(Clone))]
10497#[derive(Deserialize)]
10498pub struct Zigbee9290018189 {
10499 pub brightness: f64,
10501 pub linkquality: f64,
10503 pub power_on_behavior: Zigbee9290018189Poweronbehavior,
10505 #[serde(deserialize_with = "zigbee9290018189_state_deserializer")]
10508 pub state: bool,
10509 pub last_seen: Option<LastSeen>,
10511 pub elapsed: Option<u64>,
10513}
10514fn zigbee9290018189_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10516where
10517 D: Deserializer<'de>,
10518{
10519 match String::deserialize(deserializer)?.as_ref() {
10520 "ON" => Ok(true),
10521 "OFF" => Ok(false),
10522 other => Err(de::Error::invalid_value(
10523 Unexpected::Str(other),
10524 &"Value expected was either ON or OFF",
10525 )),
10526 }
10527}
10528
10529#[cfg_attr(feature = "debug", derive(Debug))]
10533#[cfg_attr(feature = "clone", derive(Clone))]
10534#[derive(Deserialize)]
10535pub struct Zigbee9290018194 {
10536 pub brightness: f64,
10538 pub linkquality: f64,
10540 pub power_on_behavior: Zigbee9290018194Poweronbehavior,
10542 #[serde(deserialize_with = "zigbee9290018194_state_deserializer")]
10545 pub state: bool,
10546 pub last_seen: Option<LastSeen>,
10548 pub elapsed: Option<u64>,
10550}
10551fn zigbee9290018194_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10553where
10554 D: Deserializer<'de>,
10555{
10556 match String::deserialize(deserializer)?.as_ref() {
10557 "ON" => Ok(true),
10558 "OFF" => Ok(false),
10559 other => Err(de::Error::invalid_value(
10560 Unexpected::Str(other),
10561 &"Value expected was either ON or OFF",
10562 )),
10563 }
10564}
10565
10566#[cfg_attr(feature = "debug", derive(Debug))]
10570#[cfg_attr(feature = "clone", derive(Clone))]
10571#[derive(Deserialize)]
10572pub struct Zigbee9290018195 {
10573 pub brightness: f64,
10575 pub linkquality: f64,
10577 pub power_on_behavior: Zigbee9290018195Poweronbehavior,
10579 #[serde(deserialize_with = "zigbee9290018195_state_deserializer")]
10582 pub state: bool,
10583 pub last_seen: Option<LastSeen>,
10585 pub elapsed: Option<u64>,
10587}
10588fn zigbee9290018195_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10590where
10591 D: Deserializer<'de>,
10592{
10593 match String::deserialize(deserializer)?.as_ref() {
10594 "ON" => Ok(true),
10595 "OFF" => Ok(false),
10596 other => Err(de::Error::invalid_value(
10597 Unexpected::Str(other),
10598 &"Value expected was either ON or OFF",
10599 )),
10600 }
10601}
10602
10603#[cfg_attr(feature = "debug", derive(Debug))]
10607#[cfg_attr(feature = "clone", derive(Clone))]
10608#[derive(Deserialize)]
10609pub struct Zigbee9290018215 {
10610 pub brightness: f64,
10612 pub linkquality: f64,
10614 pub power_on_behavior: Zigbee9290018215Poweronbehavior,
10616 #[serde(deserialize_with = "zigbee9290018215_state_deserializer")]
10619 pub state: bool,
10620 pub last_seen: Option<LastSeen>,
10622 pub elapsed: Option<u64>,
10624}
10625fn zigbee9290018215_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10627where
10628 D: Deserializer<'de>,
10629{
10630 match String::deserialize(deserializer)?.as_ref() {
10631 "ON" => Ok(true),
10632 "OFF" => Ok(false),
10633 other => Err(de::Error::invalid_value(
10634 Unexpected::Str(other),
10635 &"Value expected was either ON or OFF",
10636 )),
10637 }
10638}
10639
10640#[cfg_attr(feature = "debug", derive(Debug))]
10644#[cfg_attr(feature = "clone", derive(Clone))]
10645#[derive(Deserialize)]
10646pub struct Zigbee9290018216 {
10647 pub brightness: f64,
10649 pub linkquality: f64,
10651 pub power_on_behavior: Zigbee9290018216Poweronbehavior,
10653 #[serde(deserialize_with = "zigbee9290018216_state_deserializer")]
10656 pub state: bool,
10657 pub last_seen: Option<LastSeen>,
10659 pub elapsed: Option<u64>,
10661}
10662fn zigbee9290018216_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10664where
10665 D: Deserializer<'de>,
10666{
10667 match String::deserialize(deserializer)?.as_ref() {
10668 "ON" => Ok(true),
10669 "OFF" => Ok(false),
10670 other => Err(de::Error::invalid_value(
10671 Unexpected::Str(other),
10672 &"Value expected was either ON or OFF",
10673 )),
10674 }
10675}
10676
10677#[cfg_attr(feature = "debug", derive(Debug))]
10681#[cfg_attr(feature = "clone", derive(Clone))]
10682#[derive(Deserialize)]
10683pub struct Zigbee929001821618 {
10684 pub brightness: f64,
10686 pub linkquality: f64,
10688 pub power_on_behavior: Zigbee929001821618Poweronbehavior,
10690 #[serde(deserialize_with = "zigbee929001821618_state_deserializer")]
10693 pub state: bool,
10694 pub last_seen: Option<LastSeen>,
10696 pub elapsed: Option<u64>,
10698}
10699fn zigbee929001821618_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10701where
10702 D: Deserializer<'de>,
10703{
10704 match String::deserialize(deserializer)?.as_ref() {
10705 "ON" => Ok(true),
10706 "OFF" => Ok(false),
10707 other => Err(de::Error::invalid_value(
10708 Unexpected::Str(other),
10709 &"Value expected was either ON or OFF",
10710 )),
10711 }
10712}
10713
10714#[cfg_attr(feature = "debug", derive(Debug))]
10718#[cfg_attr(feature = "clone", derive(Clone))]
10719#[derive(Deserialize)]
10720pub struct Zigbee9290018217 {
10721 pub brightness: f64,
10723 pub linkquality: f64,
10725 pub power_on_behavior: Zigbee9290018217Poweronbehavior,
10727 #[serde(deserialize_with = "zigbee9290018217_state_deserializer")]
10730 pub state: bool,
10731 pub last_seen: Option<LastSeen>,
10733 pub elapsed: Option<u64>,
10735}
10736fn zigbee9290018217_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10738where
10739 D: Deserializer<'de>,
10740{
10741 match String::deserialize(deserializer)?.as_ref() {
10742 "ON" => Ok(true),
10743 "OFF" => Ok(false),
10744 other => Err(de::Error::invalid_value(
10745 Unexpected::Str(other),
10746 &"Value expected was either ON or OFF",
10747 )),
10748 }
10749}
10750
10751#[cfg_attr(feature = "debug", derive(Debug))]
10755#[cfg_attr(feature = "clone", derive(Clone))]
10756#[derive(Deserialize)]
10757pub struct Zigbee9290018609 {
10758 pub brightness: f64,
10760 pub linkquality: f64,
10762 pub power_on_behavior: Zigbee9290018609Poweronbehavior,
10764 #[serde(deserialize_with = "zigbee9290018609_state_deserializer")]
10767 pub state: bool,
10768 pub last_seen: Option<LastSeen>,
10770 pub elapsed: Option<u64>,
10772}
10773fn zigbee9290018609_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10775where
10776 D: Deserializer<'de>,
10777{
10778 match String::deserialize(deserializer)?.as_ref() {
10779 "ON" => Ok(true),
10780 "OFF" => Ok(false),
10781 other => Err(de::Error::invalid_value(
10782 Unexpected::Str(other),
10783 &"Value expected was either ON or OFF",
10784 )),
10785 }
10786}
10787
10788#[cfg_attr(feature = "debug", derive(Debug))]
10792#[cfg_attr(feature = "clone", derive(Clone))]
10793#[derive(Deserialize)]
10794pub struct Zigbee929001953101 {
10795 pub brightness: f64,
10797 pub color_temp: f64,
10799 pub color_temp_startup: f64,
10801 pub linkquality: f64,
10803 pub power_on_behavior: Zigbee929001953101Poweronbehavior,
10805 #[serde(deserialize_with = "zigbee929001953101_state_deserializer")]
10808 pub state: bool,
10809 pub last_seen: Option<LastSeen>,
10811 pub elapsed: Option<u64>,
10813}
10814fn zigbee929001953101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10816where
10817 D: Deserializer<'de>,
10818{
10819 match String::deserialize(deserializer)?.as_ref() {
10820 "ON" => Ok(true),
10821 "OFF" => Ok(false),
10822 other => Err(de::Error::invalid_value(
10823 Unexpected::Str(other),
10824 &"Value expected was either ON or OFF",
10825 )),
10826 }
10827}
10828
10829#[cfg_attr(feature = "debug", derive(Debug))]
10833#[cfg_attr(feature = "clone", derive(Clone))]
10834#[derive(Deserialize)]
10835pub struct Zigbee9290019532 {
10836 pub brightness: f64,
10838 pub color_temp: f64,
10840 pub color_temp_startup: f64,
10842 pub linkquality: f64,
10844 pub power_on_behavior: Zigbee9290019532Poweronbehavior,
10846 #[serde(deserialize_with = "zigbee9290019532_state_deserializer")]
10849 pub state: bool,
10850 pub last_seen: Option<LastSeen>,
10852 pub elapsed: Option<u64>,
10854}
10855fn zigbee9290019532_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10857where
10858 D: Deserializer<'de>,
10859{
10860 match String::deserialize(deserializer)?.as_ref() {
10861 "ON" => Ok(true),
10862 "OFF" => Ok(false),
10863 other => Err(de::Error::invalid_value(
10864 Unexpected::Str(other),
10865 &"Value expected was either ON or OFF",
10866 )),
10867 }
10868}
10869
10870#[cfg_attr(feature = "debug", derive(Debug))]
10874#[cfg_attr(feature = "clone", derive(Clone))]
10875#[derive(Deserialize)]
10876pub struct Zigbee9290019533 {
10877 pub brightness: f64,
10879 pub color_temp: f64,
10881 pub color_temp_startup: f64,
10883 pub linkquality: f64,
10885 pub power_on_behavior: Zigbee9290019533Poweronbehavior,
10887 #[serde(deserialize_with = "zigbee9290019533_state_deserializer")]
10890 pub state: bool,
10891 pub last_seen: Option<LastSeen>,
10893 pub elapsed: Option<u64>,
10895}
10896fn zigbee9290019533_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10898where
10899 D: Deserializer<'de>,
10900{
10901 match String::deserialize(deserializer)?.as_ref() {
10902 "ON" => Ok(true),
10903 "OFF" => Ok(false),
10904 other => Err(de::Error::invalid_value(
10905 Unexpected::Str(other),
10906 &"Value expected was either ON or OFF",
10907 )),
10908 }
10909}
10910
10911#[cfg_attr(feature = "debug", derive(Debug))]
10915#[cfg_attr(feature = "clone", derive(Clone))]
10916#[derive(Deserialize)]
10917pub struct Zigbee929001953301 {
10918 pub brightness: f64,
10920 pub color_temp: f64,
10922 pub color_temp_startup: f64,
10924 pub linkquality: f64,
10926 pub power_on_behavior: Zigbee929001953301Poweronbehavior,
10928 #[serde(deserialize_with = "zigbee929001953301_state_deserializer")]
10931 pub state: bool,
10932 pub last_seen: Option<LastSeen>,
10934 pub elapsed: Option<u64>,
10936}
10937fn zigbee929001953301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10939where
10940 D: Deserializer<'de>,
10941{
10942 match String::deserialize(deserializer)?.as_ref() {
10943 "ON" => Ok(true),
10944 "OFF" => Ok(false),
10945 other => Err(de::Error::invalid_value(
10946 Unexpected::Str(other),
10947 &"Value expected was either ON or OFF",
10948 )),
10949 }
10950}
10951
10952#[cfg_attr(feature = "debug", derive(Debug))]
10956#[cfg_attr(feature = "clone", derive(Clone))]
10957#[derive(Deserialize)]
10958pub struct Zigbee9290019534 {
10959 pub brightness: f64,
10961 pub color_temp: f64,
10963 pub color_temp_startup: f64,
10965 pub linkquality: f64,
10967 pub power_on_behavior: Zigbee9290019534Poweronbehavior,
10969 #[serde(deserialize_with = "zigbee9290019534_state_deserializer")]
10972 pub state: bool,
10973 pub last_seen: Option<LastSeen>,
10975 pub elapsed: Option<u64>,
10977}
10978fn zigbee9290019534_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
10980where
10981 D: Deserializer<'de>,
10982{
10983 match String::deserialize(deserializer)?.as_ref() {
10984 "ON" => Ok(true),
10985 "OFF" => Ok(false),
10986 other => Err(de::Error::invalid_value(
10987 Unexpected::Str(other),
10988 &"Value expected was either ON or OFF",
10989 )),
10990 }
10991}
10992
10993#[cfg_attr(feature = "debug", derive(Debug))]
10997#[cfg_attr(feature = "clone", derive(Clone))]
10998#[derive(Deserialize)]
10999pub struct Zigbee9290019536 {
11000 pub brightness: f64,
11002 pub linkquality: f64,
11004 pub power_on_behavior: Zigbee9290019536Poweronbehavior,
11006 #[serde(deserialize_with = "zigbee9290019536_state_deserializer")]
11009 pub state: bool,
11010 pub last_seen: Option<LastSeen>,
11012 pub elapsed: Option<u64>,
11014}
11015fn zigbee9290019536_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11017where
11018 D: Deserializer<'de>,
11019{
11020 match String::deserialize(deserializer)?.as_ref() {
11021 "ON" => Ok(true),
11022 "OFF" => Ok(false),
11023 other => Err(de::Error::invalid_value(
11024 Unexpected::Str(other),
11025 &"Value expected was either ON or OFF",
11026 )),
11027 }
11028}
11029
11030#[cfg_attr(feature = "debug", derive(Debug))]
11034#[cfg_attr(feature = "clone", derive(Clone))]
11035#[derive(Deserialize)]
11036pub struct Zigbee9290019758 {
11037 pub battery: f64,
11039 pub illuminance: f64,
11041 pub illuminance_lux: f64,
11043 pub led_indication: bool,
11046 pub linkquality: f64,
11048 pub motion_sensitivity: Zigbee9290019758Motionsensitivity,
11049 pub occupancy: bool,
11052 pub occupancy_timeout: f64,
11053 pub temperature: f64,
11055 pub last_seen: Option<LastSeen>,
11057 pub elapsed: Option<u64>,
11059}#[cfg_attr(feature = "debug", derive(Debug))]
11063#[cfg_attr(feature = "clone", derive(Clone))]
11064#[derive(Deserialize)]
11065pub struct Zigbee929002039801 {
11066 pub brightness: f64,
11068 pub linkquality: f64,
11070 pub power_on_behavior: Zigbee929002039801Poweronbehavior,
11072 #[serde(deserialize_with = "zigbee929002039801_state_deserializer")]
11075 pub state: bool,
11076 pub last_seen: Option<LastSeen>,
11078 pub elapsed: Option<u64>,
11080}
11081fn zigbee929002039801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11083where
11084 D: Deserializer<'de>,
11085{
11086 match String::deserialize(deserializer)?.as_ref() {
11087 "ON" => Ok(true),
11088 "OFF" => Ok(false),
11089 other => Err(de::Error::invalid_value(
11090 Unexpected::Str(other),
11091 &"Value expected was either ON or OFF",
11092 )),
11093 }
11094}
11095
11096#[cfg_attr(feature = "debug", derive(Debug))]
11100#[cfg_attr(feature = "clone", derive(Clone))]
11101#[derive(Deserialize)]
11102pub struct Zigbee9290020399 {
11103 pub brightness: f64,
11105 pub linkquality: f64,
11107 pub power_on_behavior: Zigbee9290020399Poweronbehavior,
11109 #[serde(deserialize_with = "zigbee9290020399_state_deserializer")]
11112 pub state: bool,
11113 pub last_seen: Option<LastSeen>,
11115 pub elapsed: Option<u64>,
11117}
11118fn zigbee9290020399_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11120where
11121 D: Deserializer<'de>,
11122{
11123 match String::deserialize(deserializer)?.as_ref() {
11124 "ON" => Ok(true),
11125 "OFF" => Ok(false),
11126 other => Err(de::Error::invalid_value(
11127 Unexpected::Str(other),
11128 &"Value expected was either ON or OFF",
11129 )),
11130 }
11131}
11132
11133#[cfg_attr(feature = "debug", derive(Debug))]
11137#[cfg_attr(feature = "clone", derive(Clone))]
11138#[derive(Deserialize)]
11139pub struct Zigbee9290020400 {
11140 pub brightness: f64,
11142 pub linkquality: f64,
11144 pub power_on_behavior: Zigbee9290020400Poweronbehavior,
11146 #[serde(deserialize_with = "zigbee9290020400_state_deserializer")]
11149 pub state: bool,
11150 pub last_seen: Option<LastSeen>,
11152 pub elapsed: Option<u64>,
11154}
11155fn zigbee9290020400_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11157where
11158 D: Deserializer<'de>,
11159{
11160 match String::deserialize(deserializer)?.as_ref() {
11161 "ON" => Ok(true),
11162 "OFF" => Ok(false),
11163 other => Err(de::Error::invalid_value(
11164 Unexpected::Str(other),
11165 &"Value expected was either ON or OFF",
11166 )),
11167 }
11168}
11169
11170#[cfg_attr(feature = "debug", derive(Debug))]
11174#[cfg_attr(feature = "clone", derive(Clone))]
11175#[derive(Deserialize)]
11176pub struct Zigbee9290022166 {
11177 pub brightness: f64,
11179 pub color_temp: f64,
11181 pub color_temp_startup: f64,
11183 pub linkquality: f64,
11185 pub power_on_behavior: Zigbee9290022166Poweronbehavior,
11187 #[serde(deserialize_with = "zigbee9290022166_state_deserializer")]
11190 pub state: bool,
11191 pub last_seen: Option<LastSeen>,
11193 pub elapsed: Option<u64>,
11195}
11196fn zigbee9290022166_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11198where
11199 D: Deserializer<'de>,
11200{
11201 match String::deserialize(deserializer)?.as_ref() {
11202 "ON" => Ok(true),
11203 "OFF" => Ok(false),
11204 other => Err(de::Error::invalid_value(
11205 Unexpected::Str(other),
11206 &"Value expected was either ON or OFF",
11207 )),
11208 }
11209}
11210
11211#[cfg_attr(feature = "debug", derive(Debug))]
11215#[cfg_attr(feature = "clone", derive(Clone))]
11216#[derive(Deserialize)]
11217pub struct Zigbee9290022167 {
11218 pub brightness: f64,
11220 pub color_temp: f64,
11222 pub color_temp_startup: f64,
11224 pub linkquality: f64,
11226 pub power_on_behavior: Zigbee9290022167Poweronbehavior,
11228 #[serde(deserialize_with = "zigbee9290022167_state_deserializer")]
11231 pub state: bool,
11232 pub last_seen: Option<LastSeen>,
11234 pub elapsed: Option<u64>,
11236}
11237fn zigbee9290022167_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11239where
11240 D: Deserializer<'de>,
11241{
11242 match String::deserialize(deserializer)?.as_ref() {
11243 "ON" => Ok(true),
11244 "OFF" => Ok(false),
11245 other => Err(de::Error::invalid_value(
11246 Unexpected::Str(other),
11247 &"Value expected was either ON or OFF",
11248 )),
11249 }
11250}
11251
11252#[cfg_attr(feature = "debug", derive(Debug))]
11256#[cfg_attr(feature = "clone", derive(Clone))]
11257#[derive(Deserialize)]
11258pub struct Zigbee9290022169 {
11259 pub brightness: f64,
11261 pub color_temp: f64,
11263 pub color_temp_startup: f64,
11265 pub linkquality: f64,
11267 pub power_on_behavior: Zigbee9290022169Poweronbehavior,
11269 #[serde(deserialize_with = "zigbee9290022169_state_deserializer")]
11272 pub state: bool,
11273 pub last_seen: Option<LastSeen>,
11275 pub elapsed: Option<u64>,
11277}
11278fn zigbee9290022169_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11280where
11281 D: Deserializer<'de>,
11282{
11283 match String::deserialize(deserializer)?.as_ref() {
11284 "ON" => Ok(true),
11285 "OFF" => Ok(false),
11286 other => Err(de::Error::invalid_value(
11287 Unexpected::Str(other),
11288 &"Value expected was either ON or OFF",
11289 )),
11290 }
11291}
11292
11293#[cfg_attr(feature = "debug", derive(Debug))]
11297#[cfg_attr(feature = "clone", derive(Clone))]
11298#[derive(Deserialize)]
11299pub struct Zigbee9290022266a {
11300 pub brightness: f64,
11302 pub color_temp: f64,
11304 pub color_temp_startup: f64,
11306 pub linkquality: f64,
11308 pub power_on_behavior: Zigbee9290022266aPoweronbehavior,
11310 #[serde(deserialize_with = "zigbee9290022266a_state_deserializer")]
11313 pub state: bool,
11314 pub last_seen: Option<LastSeen>,
11316 pub elapsed: Option<u64>,
11318}
11319fn zigbee9290022266a_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11321where
11322 D: Deserializer<'de>,
11323{
11324 match String::deserialize(deserializer)?.as_ref() {
11325 "ON" => Ok(true),
11326 "OFF" => Ok(false),
11327 other => Err(de::Error::invalid_value(
11328 Unexpected::Str(other),
11329 &"Value expected was either ON or OFF",
11330 )),
11331 }
11332}
11333
11334#[cfg_attr(feature = "debug", derive(Debug))]
11338#[cfg_attr(feature = "clone", derive(Clone))]
11339#[derive(Deserialize)]
11340pub struct Zigbee9290022267 {
11341 pub brightness: f64,
11343 pub color_temp: f64,
11345 pub color_temp_startup: f64,
11347 pub linkquality: f64,
11349 pub power_on_behavior: Zigbee9290022267Poweronbehavior,
11351 #[serde(deserialize_with = "zigbee9290022267_state_deserializer")]
11354 pub state: bool,
11355 pub last_seen: Option<LastSeen>,
11357 pub elapsed: Option<u64>,
11359}
11360fn zigbee9290022267_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11362where
11363 D: Deserializer<'de>,
11364{
11365 match String::deserialize(deserializer)?.as_ref() {
11366 "ON" => Ok(true),
11367 "OFF" => Ok(false),
11368 other => Err(de::Error::invalid_value(
11369 Unexpected::Str(other),
11370 &"Value expected was either ON or OFF",
11371 )),
11372 }
11373}
11374
11375#[cfg_attr(feature = "debug", derive(Debug))]
11379#[cfg_attr(feature = "clone", derive(Clone))]
11380#[derive(Deserialize)]
11381pub struct Zigbee9290022267a {
11382 pub brightness: f64,
11384 pub color_temp: f64,
11386 pub color_temp_startup: f64,
11388 pub linkquality: f64,
11390 pub power_on_behavior: Zigbee9290022267aPoweronbehavior,
11392 #[serde(deserialize_with = "zigbee9290022267a_state_deserializer")]
11395 pub state: bool,
11396 pub last_seen: Option<LastSeen>,
11398 pub elapsed: Option<u64>,
11400}
11401fn zigbee9290022267a_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11403where
11404 D: Deserializer<'de>,
11405{
11406 match String::deserialize(deserializer)?.as_ref() {
11407 "ON" => Ok(true),
11408 "OFF" => Ok(false),
11409 other => Err(de::Error::invalid_value(
11410 Unexpected::Str(other),
11411 &"Value expected was either ON or OFF",
11412 )),
11413 }
11414}
11415
11416#[cfg_attr(feature = "debug", derive(Debug))]
11420#[cfg_attr(feature = "clone", derive(Clone))]
11421#[derive(Deserialize)]
11422pub struct Zigbee9290022268 {
11423 pub brightness: f64,
11425 pub linkquality: f64,
11427 pub power_on_behavior: Zigbee9290022268Poweronbehavior,
11429 #[serde(deserialize_with = "zigbee9290022268_state_deserializer")]
11432 pub state: bool,
11433 pub last_seen: Option<LastSeen>,
11435 pub elapsed: Option<u64>,
11437}
11438fn zigbee9290022268_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11440where
11441 D: Deserializer<'de>,
11442{
11443 match String::deserialize(deserializer)?.as_ref() {
11444 "ON" => Ok(true),
11445 "OFF" => Ok(false),
11446 other => Err(de::Error::invalid_value(
11447 Unexpected::Str(other),
11448 &"Value expected was either ON or OFF",
11449 )),
11450 }
11451}
11452
11453#[cfg_attr(feature = "debug", derive(Debug))]
11457#[cfg_attr(feature = "clone", derive(Clone))]
11458#[derive(Deserialize)]
11459pub struct Zigbee929002240401 {
11460 pub linkquality: f64,
11462 #[serde(deserialize_with = "zigbee929002240401_state_deserializer")]
11465 pub state: bool,
11466 pub last_seen: Option<LastSeen>,
11468 pub elapsed: Option<u64>,
11470}
11471fn zigbee929002240401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11473where
11474 D: Deserializer<'de>,
11475{
11476 match String::deserialize(deserializer)?.as_ref() {
11477 "ON" => Ok(true),
11478 "OFF" => Ok(false),
11479 other => Err(de::Error::invalid_value(
11480 Unexpected::Str(other),
11481 &"Value expected was either ON or OFF",
11482 )),
11483 }
11484}
11485
11486#[cfg_attr(feature = "debug", derive(Debug))]
11490#[cfg_attr(feature = "clone", derive(Clone))]
11491#[derive(Deserialize)]
11492pub struct Zigbee9290022408 {
11493 pub linkquality: f64,
11495 #[serde(deserialize_with = "zigbee9290022408_state_deserializer")]
11498 pub state: bool,
11499 pub last_seen: Option<LastSeen>,
11501 pub elapsed: Option<u64>,
11503}
11504fn zigbee9290022408_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11506where
11507 D: Deserializer<'de>,
11508{
11509 match String::deserialize(deserializer)?.as_ref() {
11510 "ON" => Ok(true),
11511 "OFF" => Ok(false),
11512 other => Err(de::Error::invalid_value(
11513 Unexpected::Str(other),
11514 &"Value expected was either ON or OFF",
11515 )),
11516 }
11517}
11518
11519#[cfg_attr(feature = "debug", derive(Debug))]
11523#[cfg_attr(feature = "clone", derive(Clone))]
11524#[derive(Deserialize)]
11525pub struct Zigbee9290022411 {
11526 pub brightness: f64,
11528 pub linkquality: f64,
11530 pub power_on_behavior: Zigbee9290022411Poweronbehavior,
11532 #[serde(deserialize_with = "zigbee9290022411_state_deserializer")]
11535 pub state: bool,
11536 pub last_seen: Option<LastSeen>,
11538 pub elapsed: Option<u64>,
11540}
11541fn zigbee9290022411_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11543where
11544 D: Deserializer<'de>,
11545{
11546 match String::deserialize(deserializer)?.as_ref() {
11547 "ON" => Ok(true),
11548 "OFF" => Ok(false),
11549 other => Err(de::Error::invalid_value(
11550 Unexpected::Str(other),
11551 &"Value expected was either ON or OFF",
11552 )),
11553 }
11554}
11555
11556#[cfg_attr(feature = "debug", derive(Debug))]
11560#[cfg_attr(feature = "clone", derive(Clone))]
11561#[derive(Deserialize)]
11562pub struct Zigbee929002241201 {
11563 pub brightness: f64,
11565 pub linkquality: f64,
11567 pub power_on_behavior: Zigbee929002241201Poweronbehavior,
11569 #[serde(deserialize_with = "zigbee929002241201_state_deserializer")]
11572 pub state: bool,
11573 pub last_seen: Option<LastSeen>,
11575 pub elapsed: Option<u64>,
11577}
11578fn zigbee929002241201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11580where
11581 D: Deserializer<'de>,
11582{
11583 match String::deserialize(deserializer)?.as_ref() {
11584 "ON" => Ok(true),
11585 "OFF" => Ok(false),
11586 other => Err(de::Error::invalid_value(
11587 Unexpected::Str(other),
11588 &"Value expected was either ON or OFF",
11589 )),
11590 }
11591}
11592
11593#[cfg_attr(feature = "debug", derive(Debug))]
11597#[cfg_attr(feature = "clone", derive(Clone))]
11598#[derive(Deserialize)]
11599pub struct Zigbee9290022415 {
11600 pub brightness: f64,
11602 pub linkquality: f64,
11604 pub power_on_behavior: Zigbee9290022415Poweronbehavior,
11606 #[serde(deserialize_with = "zigbee9290022415_state_deserializer")]
11609 pub state: bool,
11610 pub last_seen: Option<LastSeen>,
11612 pub elapsed: Option<u64>,
11614}
11615fn zigbee9290022415_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11617where
11618 D: Deserializer<'de>,
11619{
11620 match String::deserialize(deserializer)?.as_ref() {
11621 "ON" => Ok(true),
11622 "OFF" => Ok(false),
11623 other => Err(de::Error::invalid_value(
11624 Unexpected::Str(other),
11625 &"Value expected was either ON or OFF",
11626 )),
11627 }
11628}
11629
11630#[cfg_attr(feature = "debug", derive(Debug))]
11634#[cfg_attr(feature = "clone", derive(Clone))]
11635#[derive(Deserialize)]
11636pub struct Zigbee929002277501 {
11637 pub brightness: f64,
11639 pub linkquality: f64,
11641 pub power_on_behavior: Zigbee929002277501Poweronbehavior,
11643 #[serde(deserialize_with = "zigbee929002277501_state_deserializer")]
11646 pub state: bool,
11647 pub last_seen: Option<LastSeen>,
11649 pub elapsed: Option<u64>,
11651}
11652fn zigbee929002277501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11654where
11655 D: Deserializer<'de>,
11656{
11657 match String::deserialize(deserializer)?.as_ref() {
11658 "ON" => Ok(true),
11659 "OFF" => Ok(false),
11660 other => Err(de::Error::invalid_value(
11661 Unexpected::Str(other),
11662 &"Value expected was either ON or OFF",
11663 )),
11664 }
11665}
11666
11667#[cfg_attr(feature = "debug", derive(Debug))]
11671#[cfg_attr(feature = "clone", derive(Clone))]
11672#[derive(Deserialize)]
11673pub struct Zigbee9290022890 {
11674 pub brightness: f64,
11676 pub color_temp: f64,
11678 pub color_temp_startup: f64,
11680 pub linkquality: f64,
11682 pub power_on_behavior: Zigbee9290022890Poweronbehavior,
11684 #[serde(deserialize_with = "zigbee9290022890_state_deserializer")]
11687 pub state: bool,
11688 pub last_seen: Option<LastSeen>,
11690 pub elapsed: Option<u64>,
11692}
11693fn zigbee9290022890_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11695where
11696 D: Deserializer<'de>,
11697{
11698 match String::deserialize(deserializer)?.as_ref() {
11699 "ON" => Ok(true),
11700 "OFF" => Ok(false),
11701 other => Err(de::Error::invalid_value(
11702 Unexpected::Str(other),
11703 &"Value expected was either ON or OFF",
11704 )),
11705 }
11706}
11707
11708#[cfg_attr(feature = "debug", derive(Debug))]
11712#[cfg_attr(feature = "clone", derive(Clone))]
11713#[derive(Deserialize)]
11714pub struct Zigbee9290022891 {
11715 pub brightness: f64,
11717 pub color_temp: f64,
11719 pub color_temp_startup: f64,
11721 pub linkquality: f64,
11723 pub power_on_behavior: Zigbee9290022891Poweronbehavior,
11725 #[serde(deserialize_with = "zigbee9290022891_state_deserializer")]
11728 pub state: bool,
11729 pub last_seen: Option<LastSeen>,
11731 pub elapsed: Option<u64>,
11733}
11734fn zigbee9290022891_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11736where
11737 D: Deserializer<'de>,
11738{
11739 match String::deserialize(deserializer)?.as_ref() {
11740 "ON" => Ok(true),
11741 "OFF" => Ok(false),
11742 other => Err(de::Error::invalid_value(
11743 Unexpected::Str(other),
11744 &"Value expected was either ON or OFF",
11745 )),
11746 }
11747}
11748
11749#[cfg_attr(feature = "debug", derive(Debug))]
11753#[cfg_attr(feature = "clone", derive(Clone))]
11754#[derive(Deserialize)]
11755pub struct Zigbee929002294101 {
11756 pub brightness: f64,
11758 pub color_temp: f64,
11760 pub color_temp_startup: f64,
11762 pub linkquality: f64,
11764 pub power_on_behavior: Zigbee929002294101Poweronbehavior,
11766 #[serde(deserialize_with = "zigbee929002294101_state_deserializer")]
11769 pub state: bool,
11770 pub last_seen: Option<LastSeen>,
11772 pub elapsed: Option<u64>,
11774}
11775fn zigbee929002294101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11777where
11778 D: Deserializer<'de>,
11779{
11780 match String::deserialize(deserializer)?.as_ref() {
11781 "ON" => Ok(true),
11782 "OFF" => Ok(false),
11783 other => Err(de::Error::invalid_value(
11784 Unexpected::Str(other),
11785 &"Value expected was either ON or OFF",
11786 )),
11787 }
11788}
11789
11790#[cfg_attr(feature = "debug", derive(Debug))]
11794#[cfg_attr(feature = "clone", derive(Clone))]
11795#[derive(Deserialize)]
11796pub struct Zigbee929002294102 {
11797 pub brightness: f64,
11799 pub linkquality: f64,
11801 pub power_on_behavior: Zigbee929002294102Poweronbehavior,
11803 #[serde(deserialize_with = "zigbee929002294102_state_deserializer")]
11806 pub state: bool,
11807 pub last_seen: Option<LastSeen>,
11809 pub elapsed: Option<u64>,
11811}
11812fn zigbee929002294102_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11814where
11815 D: Deserializer<'de>,
11816{
11817 match String::deserialize(deserializer)?.as_ref() {
11818 "ON" => Ok(true),
11819 "OFF" => Ok(false),
11820 other => Err(de::Error::invalid_value(
11821 Unexpected::Str(other),
11822 &"Value expected was either ON or OFF",
11823 )),
11824 }
11825}
11826
11827#[cfg_attr(feature = "debug", derive(Debug))]
11831#[cfg_attr(feature = "clone", derive(Clone))]
11832#[derive(Deserialize)]
11833pub struct Zigbee929002294203 {
11834 pub brightness: f64,
11836 pub color_temp: f64,
11838 pub color_temp_startup: f64,
11840 pub linkquality: f64,
11842 pub power_on_behavior: Zigbee929002294203Poweronbehavior,
11844 #[serde(deserialize_with = "zigbee929002294203_state_deserializer")]
11847 pub state: bool,
11848 pub last_seen: Option<LastSeen>,
11850 pub elapsed: Option<u64>,
11852}
11853fn zigbee929002294203_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11855where
11856 D: Deserializer<'de>,
11857{
11858 match String::deserialize(deserializer)?.as_ref() {
11859 "ON" => Ok(true),
11860 "OFF" => Ok(false),
11861 other => Err(de::Error::invalid_value(
11862 Unexpected::Str(other),
11863 &"Value expected was either ON or OFF",
11864 )),
11865 }
11866}
11867
11868#[cfg_attr(feature = "debug", derive(Debug))]
11872#[cfg_attr(feature = "clone", derive(Clone))]
11873#[derive(Deserialize)]
11874pub struct Zigbee9290022943 {
11875 pub brightness: f64,
11877 pub color_temp: f64,
11879 pub color_temp_startup: f64,
11881 pub linkquality: f64,
11883 pub power_on_behavior: Zigbee9290022943Poweronbehavior,
11885 #[serde(deserialize_with = "zigbee9290022943_state_deserializer")]
11888 pub state: bool,
11889 pub last_seen: Option<LastSeen>,
11891 pub elapsed: Option<u64>,
11893}
11894fn zigbee9290022943_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11896where
11897 D: Deserializer<'de>,
11898{
11899 match String::deserialize(deserializer)?.as_ref() {
11900 "ON" => Ok(true),
11901 "OFF" => Ok(false),
11902 other => Err(de::Error::invalid_value(
11903 Unexpected::Str(other),
11904 &"Value expected was either ON or OFF",
11905 )),
11906 }
11907}
11908
11909#[cfg_attr(feature = "debug", derive(Debug))]
11913#[cfg_attr(feature = "clone", derive(Clone))]
11914#[derive(Deserialize)]
11915pub struct Zigbee9290022944 {
11916 pub brightness: f64,
11918 pub color_temp: f64,
11920 pub color_temp_startup: f64,
11922 pub linkquality: f64,
11924 pub power_on_behavior: Zigbee9290022944Poweronbehavior,
11926 #[serde(deserialize_with = "zigbee9290022944_state_deserializer")]
11929 pub state: bool,
11930 pub last_seen: Option<LastSeen>,
11932 pub elapsed: Option<u64>,
11934}
11935fn zigbee9290022944_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11937where
11938 D: Deserializer<'de>,
11939{
11940 match String::deserialize(deserializer)?.as_ref() {
11941 "ON" => Ok(true),
11942 "OFF" => Ok(false),
11943 other => Err(de::Error::invalid_value(
11944 Unexpected::Str(other),
11945 &"Value expected was either ON or OFF",
11946 )),
11947 }
11948}
11949
11950#[cfg_attr(feature = "debug", derive(Debug))]
11954#[cfg_attr(feature = "clone", derive(Clone))]
11955#[derive(Deserialize)]
11956pub struct Zigbee9290023349 {
11957 pub brightness: f64,
11959 pub linkquality: f64,
11961 pub power_on_behavior: Zigbee9290023349Poweronbehavior,
11963 #[serde(deserialize_with = "zigbee9290023349_state_deserializer")]
11966 pub state: bool,
11967 pub last_seen: Option<LastSeen>,
11969 pub elapsed: Option<u64>,
11971}
11972fn zigbee9290023349_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
11974where
11975 D: Deserializer<'de>,
11976{
11977 match String::deserialize(deserializer)?.as_ref() {
11978 "ON" => Ok(true),
11979 "OFF" => Ok(false),
11980 other => Err(de::Error::invalid_value(
11981 Unexpected::Str(other),
11982 &"Value expected was either ON or OFF",
11983 )),
11984 }
11985}
11986
11987#[cfg_attr(feature = "debug", derive(Debug))]
11991#[cfg_attr(feature = "clone", derive(Clone))]
11992#[derive(Deserialize)]
11993pub struct Zigbee929002335001 {
11994 pub brightness: f64,
11996 pub linkquality: f64,
11998 pub power_on_behavior: Zigbee929002335001Poweronbehavior,
12000 #[serde(deserialize_with = "zigbee929002335001_state_deserializer")]
12003 pub state: bool,
12004 pub last_seen: Option<LastSeen>,
12006 pub elapsed: Option<u64>,
12008}
12009fn zigbee929002335001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12011where
12012 D: Deserializer<'de>,
12013{
12014 match String::deserialize(deserializer)?.as_ref() {
12015 "ON" => Ok(true),
12016 "OFF" => Ok(false),
12017 other => Err(de::Error::invalid_value(
12018 Unexpected::Str(other),
12019 &"Value expected was either ON or OFF",
12020 )),
12021 }
12022}
12023
12024#[cfg_attr(feature = "debug", derive(Debug))]
12028#[cfg_attr(feature = "clone", derive(Clone))]
12029#[derive(Deserialize)]
12030pub struct Zigbee9290023351 {
12031 pub brightness: f64,
12033 pub linkquality: f64,
12035 pub power_on_behavior: Zigbee9290023351Poweronbehavior,
12037 #[serde(deserialize_with = "zigbee9290023351_state_deserializer")]
12040 pub state: bool,
12041 pub last_seen: Option<LastSeen>,
12043 pub elapsed: Option<u64>,
12045}
12046fn zigbee9290023351_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12048where
12049 D: Deserializer<'de>,
12050{
12051 match String::deserialize(deserializer)?.as_ref() {
12052 "ON" => Ok(true),
12053 "OFF" => Ok(false),
12054 other => Err(de::Error::invalid_value(
12055 Unexpected::Str(other),
12056 &"Value expected was either ON or OFF",
12057 )),
12058 }
12059}
12060
12061#[cfg_attr(feature = "debug", derive(Debug))]
12065#[cfg_attr(feature = "clone", derive(Clone))]
12066#[derive(Deserialize)]
12067pub struct Zigbee929002335105 {
12068 pub brightness: f64,
12070 pub color_temp: f64,
12072 pub color_temp_startup: f64,
12074 pub linkquality: f64,
12076 pub power_on_behavior: Zigbee929002335105Poweronbehavior,
12078 #[serde(deserialize_with = "zigbee929002335105_state_deserializer")]
12081 pub state: bool,
12082 pub last_seen: Option<LastSeen>,
12084 pub elapsed: Option<u64>,
12086}
12087fn zigbee929002335105_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12089where
12090 D: Deserializer<'de>,
12091{
12092 match String::deserialize(deserializer)?.as_ref() {
12093 "ON" => Ok(true),
12094 "OFF" => Ok(false),
12095 other => Err(de::Error::invalid_value(
12096 Unexpected::Str(other),
12097 &"Value expected was either ON or OFF",
12098 )),
12099 }
12100}
12101
12102#[cfg_attr(feature = "debug", derive(Debug))]
12106#[cfg_attr(feature = "clone", derive(Clone))]
12107#[derive(Deserialize)]
12108pub struct Zigbee929002375901 {
12109 pub brightness: f64,
12111 pub color_temp: f64,
12113 pub color_temp_startup: f64,
12115 pub linkquality: f64,
12117 pub power_on_behavior: Zigbee929002375901Poweronbehavior,
12119 #[serde(deserialize_with = "zigbee929002375901_state_deserializer")]
12122 pub state: bool,
12123 pub last_seen: Option<LastSeen>,
12125 pub elapsed: Option<u64>,
12127}
12128fn zigbee929002375901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12130where
12131 D: Deserializer<'de>,
12132{
12133 match String::deserialize(deserializer)?.as_ref() {
12134 "ON" => Ok(true),
12135 "OFF" => Ok(false),
12136 other => Err(de::Error::invalid_value(
12137 Unexpected::Str(other),
12138 &"Value expected was either ON or OFF",
12139 )),
12140 }
12141}
12142
12143#[cfg_attr(feature = "debug", derive(Debug))]
12147#[cfg_attr(feature = "clone", derive(Clone))]
12148#[derive(Deserialize)]
12149pub struct Zigbee929002376001 {
12150 pub brightness: f64,
12152 pub color_temp: f64,
12154 pub color_temp_startup: f64,
12156 pub linkquality: f64,
12158 pub power_on_behavior: Zigbee929002376001Poweronbehavior,
12160 #[serde(deserialize_with = "zigbee929002376001_state_deserializer")]
12163 pub state: bool,
12164 pub last_seen: Option<LastSeen>,
12166 pub elapsed: Option<u64>,
12168}
12169fn zigbee929002376001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12171where
12172 D: Deserializer<'de>,
12173{
12174 match String::deserialize(deserializer)?.as_ref() {
12175 "ON" => Ok(true),
12176 "OFF" => Ok(false),
12177 other => Err(de::Error::invalid_value(
12178 Unexpected::Str(other),
12179 &"Value expected was either ON or OFF",
12180 )),
12181 }
12182}
12183
12184#[cfg_attr(feature = "debug", derive(Debug))]
12188#[cfg_attr(feature = "clone", derive(Clone))]
12189#[derive(Deserialize)]
12190pub struct Zigbee929002376101 {
12191 pub brightness: f64,
12193 pub color_temp: f64,
12195 pub color_temp_startup: f64,
12197 pub linkquality: f64,
12199 pub power_on_behavior: Zigbee929002376101Poweronbehavior,
12201 #[serde(deserialize_with = "zigbee929002376101_state_deserializer")]
12204 pub state: bool,
12205 pub last_seen: Option<LastSeen>,
12207 pub elapsed: Option<u64>,
12209}
12210fn zigbee929002376101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12212where
12213 D: Deserializer<'de>,
12214{
12215 match String::deserialize(deserializer)?.as_ref() {
12216 "ON" => Ok(true),
12217 "OFF" => Ok(false),
12218 other => Err(de::Error::invalid_value(
12219 Unexpected::Str(other),
12220 &"Value expected was either ON or OFF",
12221 )),
12222 }
12223}
12224
12225#[cfg_attr(feature = "debug", derive(Debug))]
12229#[cfg_attr(feature = "clone", derive(Clone))]
12230#[derive(Deserialize)]
12231pub struct Zigbee929002376201 {
12232 pub brightness: f64,
12234 pub color_temp: f64,
12236 pub color_temp_startup: f64,
12238 pub linkquality: f64,
12240 pub power_on_behavior: Zigbee929002376201Poweronbehavior,
12242 #[serde(deserialize_with = "zigbee929002376201_state_deserializer")]
12245 pub state: bool,
12246 pub last_seen: Option<LastSeen>,
12248 pub elapsed: Option<u64>,
12250}
12251fn zigbee929002376201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12253where
12254 D: Deserializer<'de>,
12255{
12256 match String::deserialize(deserializer)?.as_ref() {
12257 "ON" => Ok(true),
12258 "OFF" => Ok(false),
12259 other => Err(de::Error::invalid_value(
12260 Unexpected::Str(other),
12261 &"Value expected was either ON or OFF",
12262 )),
12263 }
12264}
12265
12266#[cfg_attr(feature = "debug", derive(Debug))]
12270#[cfg_attr(feature = "clone", derive(Clone))]
12271#[derive(Deserialize)]
12272pub struct Zigbee929002376301 {
12273 pub brightness: f64,
12275 pub color_temp: f64,
12277 pub color_temp_startup: f64,
12279 pub linkquality: f64,
12281 pub power_on_behavior: Zigbee929002376301Poweronbehavior,
12283 #[serde(deserialize_with = "zigbee929002376301_state_deserializer")]
12286 pub state: bool,
12287 pub last_seen: Option<LastSeen>,
12289 pub elapsed: Option<u64>,
12291}
12292fn zigbee929002376301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12294where
12295 D: Deserializer<'de>,
12296{
12297 match String::deserialize(deserializer)?.as_ref() {
12298 "ON" => Ok(true),
12299 "OFF" => Ok(false),
12300 other => Err(de::Error::invalid_value(
12301 Unexpected::Str(other),
12302 &"Value expected was either ON or OFF",
12303 )),
12304 }
12305}
12306
12307#[cfg_attr(feature = "debug", derive(Debug))]
12311#[cfg_attr(feature = "clone", derive(Clone))]
12312#[derive(Deserialize)]
12313pub struct Zigbee929002376401 {
12314 pub brightness: f64,
12316 pub color_temp: f64,
12318 pub color_temp_startup: f64,
12320 pub linkquality: f64,
12322 pub power_on_behavior: Zigbee929002376401Poweronbehavior,
12324 #[serde(deserialize_with = "zigbee929002376401_state_deserializer")]
12327 pub state: bool,
12328 pub last_seen: Option<LastSeen>,
12330 pub elapsed: Option<u64>,
12332}
12333fn zigbee929002376401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12335where
12336 D: Deserializer<'de>,
12337{
12338 match String::deserialize(deserializer)?.as_ref() {
12339 "ON" => Ok(true),
12340 "OFF" => Ok(false),
12341 other => Err(de::Error::invalid_value(
12342 Unexpected::Str(other),
12343 &"Value expected was either ON or OFF",
12344 )),
12345 }
12346}
12347
12348#[cfg_attr(feature = "debug", derive(Debug))]
12352#[cfg_attr(feature = "clone", derive(Clone))]
12353#[derive(Deserialize)]
12354pub struct Zigbee929002376501 {
12355 pub brightness: f64,
12357 pub color_temp: f64,
12359 pub color_temp_startup: f64,
12361 pub linkquality: f64,
12363 pub power_on_behavior: Zigbee929002376501Poweronbehavior,
12365 #[serde(deserialize_with = "zigbee929002376501_state_deserializer")]
12368 pub state: bool,
12369 pub last_seen: Option<LastSeen>,
12371 pub elapsed: Option<u64>,
12373}
12374fn zigbee929002376501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12376where
12377 D: Deserializer<'de>,
12378{
12379 match String::deserialize(deserializer)?.as_ref() {
12380 "ON" => Ok(true),
12381 "OFF" => Ok(false),
12382 other => Err(de::Error::invalid_value(
12383 Unexpected::Str(other),
12384 &"Value expected was either ON or OFF",
12385 )),
12386 }
12387}
12388
12389#[cfg_attr(feature = "debug", derive(Debug))]
12393#[cfg_attr(feature = "clone", derive(Clone))]
12394#[derive(Deserialize)]
12395pub struct Zigbee929002376701 {
12396 pub brightness: f64,
12398 pub color_temp: f64,
12400 pub color_temp_startup: f64,
12402 pub linkquality: f64,
12404 pub power_on_behavior: Zigbee929002376701Poweronbehavior,
12406 #[serde(deserialize_with = "zigbee929002376701_state_deserializer")]
12409 pub state: bool,
12410 pub last_seen: Option<LastSeen>,
12412 pub elapsed: Option<u64>,
12414}
12415fn zigbee929002376701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12417where
12418 D: Deserializer<'de>,
12419{
12420 match String::deserialize(deserializer)?.as_ref() {
12421 "ON" => Ok(true),
12422 "OFF" => Ok(false),
12423 other => Err(de::Error::invalid_value(
12424 Unexpected::Str(other),
12425 &"Value expected was either ON or OFF",
12426 )),
12427 }
12428}
12429
12430#[cfg_attr(feature = "debug", derive(Debug))]
12434#[cfg_attr(feature = "clone", derive(Clone))]
12435#[derive(Deserialize)]
12436pub struct Zigbee929002376703 {
12437 pub brightness: f64,
12439 pub color_temp: f64,
12441 pub color_temp_startup: f64,
12443 pub linkquality: f64,
12445 pub power_on_behavior: Zigbee929002376703Poweronbehavior,
12447 #[serde(deserialize_with = "zigbee929002376703_state_deserializer")]
12450 pub state: bool,
12451 pub last_seen: Option<LastSeen>,
12453 pub elapsed: Option<u64>,
12455}
12456fn zigbee929002376703_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12458where
12459 D: Deserializer<'de>,
12460{
12461 match String::deserialize(deserializer)?.as_ref() {
12462 "ON" => Ok(true),
12463 "OFF" => Ok(false),
12464 other => Err(de::Error::invalid_value(
12465 Unexpected::Str(other),
12466 &"Value expected was either ON or OFF",
12467 )),
12468 }
12469}
12470
12471#[cfg_attr(feature = "debug", derive(Debug))]
12475#[cfg_attr(feature = "clone", derive(Clone))]
12476#[derive(Deserialize)]
12477pub struct Zigbee929002376801 {
12478 pub brightness: f64,
12480 pub color_temp: f64,
12482 pub color_temp_startup: f64,
12484 pub linkquality: f64,
12486 pub power_on_behavior: Zigbee929002376801Poweronbehavior,
12488 #[serde(deserialize_with = "zigbee929002376801_state_deserializer")]
12491 pub state: bool,
12492 pub last_seen: Option<LastSeen>,
12494 pub elapsed: Option<u64>,
12496}
12497fn zigbee929002376801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12499where
12500 D: Deserializer<'de>,
12501{
12502 match String::deserialize(deserializer)?.as_ref() {
12503 "ON" => Ok(true),
12504 "OFF" => Ok(false),
12505 other => Err(de::Error::invalid_value(
12506 Unexpected::Str(other),
12507 &"Value expected was either ON or OFF",
12508 )),
12509 }
12510}
12511
12512#[cfg_attr(feature = "debug", derive(Debug))]
12516#[cfg_attr(feature = "clone", derive(Clone))]
12517#[derive(Deserialize)]
12518pub struct Zigbee929002376803 {
12519 pub brightness: f64,
12521 pub color_temp: f64,
12523 pub color_temp_startup: f64,
12525 pub linkquality: f64,
12527 pub power_on_behavior: Zigbee929002376803Poweronbehavior,
12529 #[serde(deserialize_with = "zigbee929002376803_state_deserializer")]
12532 pub state: bool,
12533 pub last_seen: Option<LastSeen>,
12535 pub elapsed: Option<u64>,
12537}
12538fn zigbee929002376803_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12540where
12541 D: Deserializer<'de>,
12542{
12543 match String::deserialize(deserializer)?.as_ref() {
12544 "ON" => Ok(true),
12545 "OFF" => Ok(false),
12546 other => Err(de::Error::invalid_value(
12547 Unexpected::Str(other),
12548 &"Value expected was either ON or OFF",
12549 )),
12550 }
12551}
12552
12553#[cfg_attr(feature = "debug", derive(Debug))]
12557#[cfg_attr(feature = "clone", derive(Clone))]
12558#[derive(Deserialize)]
12559pub struct Zigbee929002376901 {
12560 pub brightness: f64,
12562 pub color_temp: f64,
12564 pub color_temp_startup: f64,
12566 pub linkquality: f64,
12568 pub power_on_behavior: Zigbee929002376901Poweronbehavior,
12570 #[serde(deserialize_with = "zigbee929002376901_state_deserializer")]
12573 pub state: bool,
12574 pub last_seen: Option<LastSeen>,
12576 pub elapsed: Option<u64>,
12578}
12579fn zigbee929002376901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12581where
12582 D: Deserializer<'de>,
12583{
12584 match String::deserialize(deserializer)?.as_ref() {
12585 "ON" => Ok(true),
12586 "OFF" => Ok(false),
12587 other => Err(de::Error::invalid_value(
12588 Unexpected::Str(other),
12589 &"Value expected was either ON or OFF",
12590 )),
12591 }
12592}
12593
12594#[cfg_attr(feature = "debug", derive(Debug))]
12598#[cfg_attr(feature = "clone", derive(Clone))]
12599#[derive(Deserialize)]
12600pub struct Zigbee929002398602 {
12601 pub action: Zigbee929002398602Action,
12603 pub battery: f64,
12605 pub linkquality: f64,
12607 pub last_seen: Option<LastSeen>,
12609 pub elapsed: Option<u64>,
12611}#[cfg_attr(feature = "debug", derive(Debug))]
12615#[cfg_attr(feature = "clone", derive(Clone))]
12616#[derive(Deserialize)]
12617pub struct Zigbee929002401201 {
12618 pub brightness: f64,
12620 pub color_temp: f64,
12622 pub color_temp_startup: f64,
12624 pub linkquality: f64,
12626 pub power_on_behavior: Zigbee929002401201Poweronbehavior,
12628 #[serde(deserialize_with = "zigbee929002401201_state_deserializer")]
12631 pub state: bool,
12632 pub last_seen: Option<LastSeen>,
12634 pub elapsed: Option<u64>,
12636}
12637fn zigbee929002401201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12639where
12640 D: Deserializer<'de>,
12641{
12642 match String::deserialize(deserializer)?.as_ref() {
12643 "ON" => Ok(true),
12644 "OFF" => Ok(false),
12645 other => Err(de::Error::invalid_value(
12646 Unexpected::Str(other),
12647 &"Value expected was either ON or OFF",
12648 )),
12649 }
12650}
12651
12652#[cfg_attr(feature = "debug", derive(Debug))]
12656#[cfg_attr(feature = "clone", derive(Clone))]
12657#[derive(Deserialize)]
12658pub struct Zigbee929002422702 {
12659 pub brightness: f64,
12661 pub color_temp: f64,
12663 pub color_temp_startup: f64,
12665 pub linkquality: f64,
12667 pub power_on_behavior: Zigbee929002422702Poweronbehavior,
12669 #[serde(deserialize_with = "zigbee929002422702_state_deserializer")]
12672 pub state: bool,
12673 pub last_seen: Option<LastSeen>,
12675 pub elapsed: Option<u64>,
12677}
12678fn zigbee929002422702_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12680where
12681 D: Deserializer<'de>,
12682{
12683 match String::deserialize(deserializer)?.as_ref() {
12684 "ON" => Ok(true),
12685 "OFF" => Ok(false),
12686 other => Err(de::Error::invalid_value(
12687 Unexpected::Str(other),
12688 &"Value expected was either ON or OFF",
12689 )),
12690 }
12691}
12692
12693#[cfg_attr(feature = "debug", derive(Debug))]
12697#[cfg_attr(feature = "clone", derive(Clone))]
12698#[derive(Deserialize)]
12699pub struct Zigbee929002422801 {
12700 pub brightness: f64,
12702 pub color_temp: f64,
12704 pub color_temp_startup: f64,
12706 pub linkquality: f64,
12708 pub power_on_behavior: Zigbee929002422801Poweronbehavior,
12710 #[serde(deserialize_with = "zigbee929002422801_state_deserializer")]
12713 pub state: bool,
12714 pub last_seen: Option<LastSeen>,
12716 pub elapsed: Option<u64>,
12718}
12719fn zigbee929002422801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12721where
12722 D: Deserializer<'de>,
12723{
12724 match String::deserialize(deserializer)?.as_ref() {
12725 "ON" => Ok(true),
12726 "OFF" => Ok(false),
12727 other => Err(de::Error::invalid_value(
12728 Unexpected::Str(other),
12729 &"Value expected was either ON or OFF",
12730 )),
12731 }
12732}
12733
12734#[cfg_attr(feature = "debug", derive(Debug))]
12738#[cfg_attr(feature = "clone", derive(Clone))]
12739#[derive(Deserialize)]
12740pub struct Zigbee929002422901 {
12741 pub brightness: f64,
12743 pub color_temp: f64,
12745 pub color_temp_startup: f64,
12747 pub linkquality: f64,
12749 pub power_on_behavior: Zigbee929002422901Poweronbehavior,
12751 #[serde(deserialize_with = "zigbee929002422901_state_deserializer")]
12754 pub state: bool,
12755 pub last_seen: Option<LastSeen>,
12757 pub elapsed: Option<u64>,
12759}
12760fn zigbee929002422901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12762where
12763 D: Deserializer<'de>,
12764{
12765 match String::deserialize(deserializer)?.as_ref() {
12766 "ON" => Ok(true),
12767 "OFF" => Ok(false),
12768 other => Err(de::Error::invalid_value(
12769 Unexpected::Str(other),
12770 &"Value expected was either ON or OFF",
12771 )),
12772 }
12773}
12774
12775#[cfg_attr(feature = "debug", derive(Debug))]
12779#[cfg_attr(feature = "clone", derive(Clone))]
12780#[derive(Deserialize)]
12781pub struct Zigbee9290024406 {
12782 pub brightness: f64,
12784 pub linkquality: f64,
12786 pub power_on_behavior: Zigbee9290024406Poweronbehavior,
12788 #[serde(deserialize_with = "zigbee9290024406_state_deserializer")]
12791 pub state: bool,
12792 pub last_seen: Option<LastSeen>,
12794 pub elapsed: Option<u64>,
12796}
12797fn zigbee9290024406_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12799where
12800 D: Deserializer<'de>,
12801{
12802 match String::deserialize(deserializer)?.as_ref() {
12803 "ON" => Ok(true),
12804 "OFF" => Ok(false),
12805 other => Err(de::Error::invalid_value(
12806 Unexpected::Str(other),
12807 &"Value expected was either ON or OFF",
12808 )),
12809 }
12810}
12811
12812#[cfg_attr(feature = "debug", derive(Debug))]
12816#[cfg_attr(feature = "clone", derive(Clone))]
12817#[derive(Deserialize)]
12818pub struct Zigbee9290024426 {
12819 pub linkquality: f64,
12821 #[serde(deserialize_with = "zigbee9290024426_state_deserializer")]
12824 pub state: bool,
12825 pub last_seen: Option<LastSeen>,
12827 pub elapsed: Option<u64>,
12829}
12830fn zigbee9290024426_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12832where
12833 D: Deserializer<'de>,
12834{
12835 match String::deserialize(deserializer)?.as_ref() {
12836 "ON" => Ok(true),
12837 "OFF" => Ok(false),
12838 other => Err(de::Error::invalid_value(
12839 Unexpected::Str(other),
12840 &"Value expected was either ON or OFF",
12841 )),
12842 }
12843}
12844
12845#[cfg_attr(feature = "debug", derive(Debug))]
12849#[cfg_attr(feature = "clone", derive(Clone))]
12850#[derive(Deserialize)]
12851pub struct Zigbee92900244777 {
12852 pub brightness: f64,
12854 pub color_temp: f64,
12856 pub color_temp_startup: f64,
12858 pub linkquality: f64,
12860 pub power_on_behavior: Zigbee92900244777Poweronbehavior,
12862 #[serde(deserialize_with = "zigbee92900244777_state_deserializer")]
12865 pub state: bool,
12866 pub last_seen: Option<LastSeen>,
12868 pub elapsed: Option<u64>,
12870}
12871fn zigbee92900244777_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12873where
12874 D: Deserializer<'de>,
12875{
12876 match String::deserialize(deserializer)?.as_ref() {
12877 "ON" => Ok(true),
12878 "OFF" => Ok(false),
12879 other => Err(de::Error::invalid_value(
12880 Unexpected::Str(other),
12881 &"Value expected was either ON or OFF",
12882 )),
12883 }
12884}
12885
12886#[cfg_attr(feature = "debug", derive(Debug))]
12890#[cfg_attr(feature = "clone", derive(Clone))]
12891#[derive(Deserialize)]
12892pub struct Zigbee929002459201 {
12893 pub brightness: f64,
12895 pub linkquality: f64,
12897 pub power_on_behavior: Zigbee929002459201Poweronbehavior,
12899 #[serde(deserialize_with = "zigbee929002459201_state_deserializer")]
12902 pub state: bool,
12903 pub last_seen: Option<LastSeen>,
12905 pub elapsed: Option<u64>,
12907}
12908fn zigbee929002459201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12910where
12911 D: Deserializer<'de>,
12912{
12913 match String::deserialize(deserializer)?.as_ref() {
12914 "ON" => Ok(true),
12915 "OFF" => Ok(false),
12916 other => Err(de::Error::invalid_value(
12917 Unexpected::Str(other),
12918 &"Value expected was either ON or OFF",
12919 )),
12920 }
12921}
12922
12923#[cfg_attr(feature = "debug", derive(Debug))]
12927#[cfg_attr(feature = "clone", derive(Clone))]
12928#[derive(Deserialize)]
12929pub struct Zigbee9290024683 {
12930 pub brightness: f64,
12932 pub color_temp: f64,
12934 pub color_temp_startup: f64,
12936 pub linkquality: f64,
12938 pub power_on_behavior: Zigbee9290024683Poweronbehavior,
12940 #[serde(deserialize_with = "zigbee9290024683_state_deserializer")]
12943 pub state: bool,
12944 pub last_seen: Option<LastSeen>,
12946 pub elapsed: Option<u64>,
12948}
12949fn zigbee9290024683_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12951where
12952 D: Deserializer<'de>,
12953{
12954 match String::deserialize(deserializer)?.as_ref() {
12955 "ON" => Ok(true),
12956 "OFF" => Ok(false),
12957 other => Err(de::Error::invalid_value(
12958 Unexpected::Str(other),
12959 &"Value expected was either ON or OFF",
12960 )),
12961 }
12962}
12963
12964#[cfg_attr(feature = "debug", derive(Debug))]
12968#[cfg_attr(feature = "clone", derive(Clone))]
12969#[derive(Deserialize)]
12970pub struct Zigbee9290024684 {
12971 pub brightness: f64,
12973 pub color_temp: f64,
12975 pub color_temp_startup: f64,
12977 pub linkquality: f64,
12979 pub power_on_behavior: Zigbee9290024684Poweronbehavior,
12981 #[serde(deserialize_with = "zigbee9290024684_state_deserializer")]
12984 pub state: bool,
12985 pub last_seen: Option<LastSeen>,
12987 pub elapsed: Option<u64>,
12989}
12990fn zigbee9290024684_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
12992where
12993 D: Deserializer<'de>,
12994{
12995 match String::deserialize(deserializer)?.as_ref() {
12996 "ON" => Ok(true),
12997 "OFF" => Ok(false),
12998 other => Err(de::Error::invalid_value(
12999 Unexpected::Str(other),
13000 &"Value expected was either ON or OFF",
13001 )),
13002 }
13003}
13004
13005#[cfg_attr(feature = "debug", derive(Debug))]
13009#[cfg_attr(feature = "clone", derive(Clone))]
13010#[derive(Deserialize)]
13011pub struct Zigbee9290024687 {
13012 pub brightness: f64,
13014 pub color_temp: f64,
13016 pub color_temp_startup: f64,
13018 pub linkquality: f64,
13020 pub power_on_behavior: Zigbee9290024687Poweronbehavior,
13022 #[serde(deserialize_with = "zigbee9290024687_state_deserializer")]
13025 pub state: bool,
13026 pub last_seen: Option<LastSeen>,
13028 pub elapsed: Option<u64>,
13030}
13031fn zigbee9290024687_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13033where
13034 D: Deserializer<'de>,
13035{
13036 match String::deserialize(deserializer)?.as_ref() {
13037 "ON" => Ok(true),
13038 "OFF" => Ok(false),
13039 other => Err(de::Error::invalid_value(
13040 Unexpected::Str(other),
13041 &"Value expected was either ON or OFF",
13042 )),
13043 }
13044}
13045
13046#[cfg_attr(feature = "debug", derive(Debug))]
13050#[cfg_attr(feature = "clone", derive(Clone))]
13051#[derive(Deserialize)]
13052pub struct Zigbee9290024688 {
13053 pub brightness: f64,
13055 pub color_temp: f64,
13057 pub color_temp_startup: f64,
13059 pub linkquality: f64,
13061 pub power_on_behavior: Zigbee9290024688Poweronbehavior,
13063 #[serde(deserialize_with = "zigbee9290024688_state_deserializer")]
13066 pub state: bool,
13067 pub last_seen: Option<LastSeen>,
13069 pub elapsed: Option<u64>,
13071}
13072fn zigbee9290024688_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13074where
13075 D: Deserializer<'de>,
13076{
13077 match String::deserialize(deserializer)?.as_ref() {
13078 "ON" => Ok(true),
13079 "OFF" => Ok(false),
13080 other => Err(de::Error::invalid_value(
13081 Unexpected::Str(other),
13082 &"Value expected was either ON or OFF",
13083 )),
13084 }
13085}
13086
13087#[cfg_attr(feature = "debug", derive(Debug))]
13091#[cfg_attr(feature = "clone", derive(Clone))]
13092#[derive(Deserialize)]
13093pub struct Zigbee9290024691 {
13094 pub brightness: f64,
13096 pub linkquality: f64,
13098 pub power_on_behavior: Zigbee9290024691Poweronbehavior,
13100 #[serde(deserialize_with = "zigbee9290024691_state_deserializer")]
13103 pub state: bool,
13104 pub last_seen: Option<LastSeen>,
13106 pub elapsed: Option<u64>,
13108}
13109fn zigbee9290024691_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13111where
13112 D: Deserializer<'de>,
13113{
13114 match String::deserialize(deserializer)?.as_ref() {
13115 "ON" => Ok(true),
13116 "OFF" => Ok(false),
13117 other => Err(de::Error::invalid_value(
13118 Unexpected::Str(other),
13119 &"Value expected was either ON or OFF",
13120 )),
13121 }
13122}
13123
13124#[cfg_attr(feature = "debug", derive(Debug))]
13128#[cfg_attr(feature = "clone", derive(Clone))]
13129#[derive(Deserialize)]
13130pub struct Zigbee9290024691a {
13131 pub brightness: f64,
13133 pub linkquality: f64,
13135 pub power_on_behavior: Zigbee9290024691aPoweronbehavior,
13137 #[serde(deserialize_with = "zigbee9290024691a_state_deserializer")]
13140 pub state: bool,
13141 pub last_seen: Option<LastSeen>,
13143 pub elapsed: Option<u64>,
13145}
13146fn zigbee9290024691a_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13148where
13149 D: Deserializer<'de>,
13150{
13151 match String::deserialize(deserializer)?.as_ref() {
13152 "ON" => Ok(true),
13153 "OFF" => Ok(false),
13154 other => Err(de::Error::invalid_value(
13155 Unexpected::Str(other),
13156 &"Value expected was either ON or OFF",
13157 )),
13158 }
13159}
13160
13161#[cfg_attr(feature = "debug", derive(Debug))]
13165#[cfg_attr(feature = "clone", derive(Clone))]
13166#[derive(Deserialize)]
13167pub struct Zigbee929002469202 {
13168 pub brightness: f64,
13170 pub linkquality: f64,
13172 pub power_on_behavior: Zigbee929002469202Poweronbehavior,
13174 #[serde(deserialize_with = "zigbee929002469202_state_deserializer")]
13177 pub state: bool,
13178 pub last_seen: Option<LastSeen>,
13180 pub elapsed: Option<u64>,
13182}
13183fn zigbee929002469202_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13185where
13186 D: Deserializer<'de>,
13187{
13188 match String::deserialize(deserializer)?.as_ref() {
13189 "ON" => Ok(true),
13190 "OFF" => Ok(false),
13191 other => Err(de::Error::invalid_value(
13192 Unexpected::Str(other),
13193 &"Value expected was either ON or OFF",
13194 )),
13195 }
13196}
13197
13198#[cfg_attr(feature = "debug", derive(Debug))]
13202#[cfg_attr(feature = "clone", derive(Clone))]
13203#[derive(Deserialize)]
13204pub struct Zigbee929002469216 {
13205 pub brightness: f64,
13207 pub linkquality: f64,
13209 pub power_on_behavior: Zigbee929002469216Poweronbehavior,
13211 #[serde(deserialize_with = "zigbee929002469216_state_deserializer")]
13214 pub state: bool,
13215 pub last_seen: Option<LastSeen>,
13217 pub elapsed: Option<u64>,
13219}
13220fn zigbee929002469216_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13222where
13223 D: Deserializer<'de>,
13224{
13225 match String::deserialize(deserializer)?.as_ref() {
13226 "ON" => Ok(true),
13227 "OFF" => Ok(false),
13228 other => Err(de::Error::invalid_value(
13229 Unexpected::Str(other),
13230 &"Value expected was either ON or OFF",
13231 )),
13232 }
13233}
13234
13235#[cfg_attr(feature = "debug", derive(Debug))]
13239#[cfg_attr(feature = "clone", derive(Clone))]
13240#[derive(Deserialize)]
13241pub struct Zigbee9290024693 {
13242 pub brightness: f64,
13244 pub linkquality: f64,
13246 pub power_on_behavior: Zigbee9290024693Poweronbehavior,
13248 #[serde(deserialize_with = "zigbee9290024693_state_deserializer")]
13251 pub state: bool,
13252 pub last_seen: Option<LastSeen>,
13254 pub elapsed: Option<u64>,
13256}
13257fn zigbee9290024693_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13259where
13260 D: Deserializer<'de>,
13261{
13262 match String::deserialize(deserializer)?.as_ref() {
13263 "ON" => Ok(true),
13264 "OFF" => Ok(false),
13265 other => Err(de::Error::invalid_value(
13266 Unexpected::Str(other),
13267 &"Value expected was either ON or OFF",
13268 )),
13269 }
13270}
13271
13272#[cfg_attr(feature = "debug", derive(Debug))]
13276#[cfg_attr(feature = "clone", derive(Clone))]
13277#[derive(Deserialize)]
13278pub struct Zigbee929002471601 {
13279 pub brightness: f64,
13281 pub color_temp: f64,
13283 pub color_temp_startup: f64,
13285 pub linkquality: f64,
13287 pub power_on_behavior: Zigbee929002471601Poweronbehavior,
13289 #[serde(deserialize_with = "zigbee929002471601_state_deserializer")]
13292 pub state: bool,
13293 pub last_seen: Option<LastSeen>,
13295 pub elapsed: Option<u64>,
13297}
13298fn zigbee929002471601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13300where
13301 D: Deserializer<'de>,
13302{
13303 match String::deserialize(deserializer)?.as_ref() {
13304 "ON" => Ok(true),
13305 "OFF" => Ok(false),
13306 other => Err(de::Error::invalid_value(
13307 Unexpected::Str(other),
13308 &"Value expected was either ON or OFF",
13309 )),
13310 }
13311}
13312
13313#[cfg_attr(feature = "debug", derive(Debug))]
13317#[cfg_attr(feature = "clone", derive(Clone))]
13318#[derive(Deserialize)]
13319pub struct Zigbee9290024717 {
13320 pub brightness: f64,
13322 pub color_temp: f64,
13324 pub color_temp_startup: f64,
13326 pub linkquality: f64,
13328 pub power_on_behavior: Zigbee9290024717Poweronbehavior,
13330 #[serde(deserialize_with = "zigbee9290024717_state_deserializer")]
13333 pub state: bool,
13334 pub last_seen: Option<LastSeen>,
13336 pub elapsed: Option<u64>,
13338}
13339fn zigbee9290024717_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13341where
13342 D: Deserializer<'de>,
13343{
13344 match String::deserialize(deserializer)?.as_ref() {
13345 "ON" => Ok(true),
13346 "OFF" => Ok(false),
13347 other => Err(de::Error::invalid_value(
13348 Unexpected::Str(other),
13349 &"Value expected was either ON or OFF",
13350 )),
13351 }
13352}
13353
13354#[cfg_attr(feature = "debug", derive(Debug))]
13358#[cfg_attr(feature = "clone", derive(Clone))]
13359#[derive(Deserialize)]
13360pub struct Zigbee929002471901 {
13361 pub brightness: f64,
13363 pub color_temp: f64,
13365 pub color_temp_startup: f64,
13367 pub linkquality: f64,
13369 pub power_on_behavior: Zigbee929002471901Poweronbehavior,
13371 #[serde(deserialize_with = "zigbee929002471901_state_deserializer")]
13374 pub state: bool,
13375 pub last_seen: Option<LastSeen>,
13377 pub elapsed: Option<u64>,
13379}
13380fn zigbee929002471901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13382where
13383 D: Deserializer<'de>,
13384{
13385 match String::deserialize(deserializer)?.as_ref() {
13386 "ON" => Ok(true),
13387 "OFF" => Ok(false),
13388 other => Err(de::Error::invalid_value(
13389 Unexpected::Str(other),
13390 &"Value expected was either ON or OFF",
13391 )),
13392 }
13393}
13394
13395#[cfg_attr(feature = "debug", derive(Debug))]
13399#[cfg_attr(feature = "clone", derive(Clone))]
13400#[derive(Deserialize)]
13401pub struct Zigbee929002477901 {
13402 pub brightness: f64,
13404 pub color_temp: f64,
13406 pub color_temp_startup: f64,
13408 pub linkquality: f64,
13410 pub power_on_behavior: Zigbee929002477901Poweronbehavior,
13412 #[serde(deserialize_with = "zigbee929002477901_state_deserializer")]
13415 pub state: bool,
13416 pub last_seen: Option<LastSeen>,
13418 pub elapsed: Option<u64>,
13420}
13421fn zigbee929002477901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13423where
13424 D: Deserializer<'de>,
13425{
13426 match String::deserialize(deserializer)?.as_ref() {
13427 "ON" => Ok(true),
13428 "OFF" => Ok(false),
13429 other => Err(de::Error::invalid_value(
13430 Unexpected::Str(other),
13431 &"Value expected was either ON or OFF",
13432 )),
13433 }
13434}
13435
13436#[cfg_attr(feature = "debug", derive(Debug))]
13440#[cfg_attr(feature = "clone", derive(Clone))]
13441#[derive(Deserialize)]
13442pub struct Zigbee9290024782 {
13443 pub brightness: f64,
13445 pub linkquality: f64,
13447 pub power_on_behavior: Zigbee9290024782Poweronbehavior,
13449 #[serde(deserialize_with = "zigbee9290024782_state_deserializer")]
13452 pub state: bool,
13453 pub last_seen: Option<LastSeen>,
13455 pub elapsed: Option<u64>,
13457}
13458fn zigbee9290024782_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13460where
13461 D: Deserializer<'de>,
13462{
13463 match String::deserialize(deserializer)?.as_ref() {
13464 "ON" => Ok(true),
13465 "OFF" => Ok(false),
13466 other => Err(de::Error::invalid_value(
13467 Unexpected::Str(other),
13468 &"Value expected was either ON or OFF",
13469 )),
13470 }
13471}
13472
13473#[cfg_attr(feature = "debug", derive(Debug))]
13477#[cfg_attr(feature = "clone", derive(Clone))]
13478#[derive(Deserialize)]
13479pub struct Zigbee9290024783 {
13480 pub brightness: f64,
13482 pub color_temp: f64,
13484 pub color_temp_startup: f64,
13486 pub linkquality: f64,
13488 pub power_on_behavior: Zigbee9290024783Poweronbehavior,
13490 #[serde(deserialize_with = "zigbee9290024783_state_deserializer")]
13493 pub state: bool,
13494 pub last_seen: Option<LastSeen>,
13496 pub elapsed: Option<u64>,
13498}
13499fn zigbee9290024783_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13501where
13502 D: Deserializer<'de>,
13503{
13504 match String::deserialize(deserializer)?.as_ref() {
13505 "ON" => Ok(true),
13506 "OFF" => Ok(false),
13507 other => Err(de::Error::invalid_value(
13508 Unexpected::Str(other),
13509 &"Value expected was either ON or OFF",
13510 )),
13511 }
13512}
13513
13514#[cfg_attr(feature = "debug", derive(Debug))]
13518#[cfg_attr(feature = "clone", derive(Clone))]
13519#[derive(Deserialize)]
13520pub struct Zigbee929002478401 {
13521 pub brightness: f64,
13523 pub color_temp: f64,
13525 pub color_temp_startup: f64,
13527 pub linkquality: f64,
13529 pub power_on_behavior: Zigbee929002478401Poweronbehavior,
13531 #[serde(deserialize_with = "zigbee929002478401_state_deserializer")]
13534 pub state: bool,
13535 pub last_seen: Option<LastSeen>,
13537 pub elapsed: Option<u64>,
13539}
13540fn zigbee929002478401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13542where
13543 D: Deserializer<'de>,
13544{
13545 match String::deserialize(deserializer)?.as_ref() {
13546 "ON" => Ok(true),
13547 "OFF" => Ok(false),
13548 other => Err(de::Error::invalid_value(
13549 Unexpected::Str(other),
13550 &"Value expected was either ON or OFF",
13551 )),
13552 }
13553}
13554
13555#[cfg_attr(feature = "debug", derive(Debug))]
13559#[cfg_attr(feature = "clone", derive(Clone))]
13560#[derive(Deserialize)]
13561pub struct Zigbee9290024785 {
13562 pub brightness: f64,
13564 pub color_temp: f64,
13566 pub color_temp_startup: f64,
13568 pub linkquality: f64,
13570 pub power_on_behavior: Zigbee9290024785Poweronbehavior,
13572 #[serde(deserialize_with = "zigbee9290024785_state_deserializer")]
13575 pub state: bool,
13576 pub last_seen: Option<LastSeen>,
13578 pub elapsed: Option<u64>,
13580}
13581fn zigbee9290024785_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13583where
13584 D: Deserializer<'de>,
13585{
13586 match String::deserialize(deserializer)?.as_ref() {
13587 "ON" => Ok(true),
13588 "OFF" => Ok(false),
13589 other => Err(de::Error::invalid_value(
13590 Unexpected::Str(other),
13591 &"Value expected was either ON or OFF",
13592 )),
13593 }
13594}
13595
13596#[cfg_attr(feature = "debug", derive(Debug))]
13600#[cfg_attr(feature = "clone", derive(Clone))]
13601#[derive(Deserialize)]
13602pub struct Zigbee9290024796 {
13603 pub brightness: f64,
13605 pub linkquality: f64,
13607 pub power_on_behavior: Zigbee9290024796Poweronbehavior,
13609 #[serde(deserialize_with = "zigbee9290024796_state_deserializer")]
13612 pub state: bool,
13613 pub last_seen: Option<LastSeen>,
13615 pub elapsed: Option<u64>,
13617}
13618fn zigbee9290024796_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13620where
13621 D: Deserializer<'de>,
13622{
13623 match String::deserialize(deserializer)?.as_ref() {
13624 "ON" => Ok(true),
13625 "OFF" => Ok(false),
13626 other => Err(de::Error::invalid_value(
13627 Unexpected::Str(other),
13628 &"Value expected was either ON or OFF",
13629 )),
13630 }
13631}
13632
13633#[cfg_attr(feature = "debug", derive(Debug))]
13637#[cfg_attr(feature = "clone", derive(Clone))]
13638#[derive(Deserialize)]
13639pub struct Zigbee9290024896 {
13640 pub brightness: f64,
13642 pub color_temp: f64,
13644 pub color_temp_startup: f64,
13646 pub linkquality: f64,
13648 pub power_on_behavior: Zigbee9290024896Poweronbehavior,
13650 #[serde(deserialize_with = "zigbee9290024896_state_deserializer")]
13653 pub state: bool,
13654 pub last_seen: Option<LastSeen>,
13656 pub elapsed: Option<u64>,
13658}
13659fn zigbee9290024896_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13661where
13662 D: Deserializer<'de>,
13663{
13664 match String::deserialize(deserializer)?.as_ref() {
13665 "ON" => Ok(true),
13666 "OFF" => Ok(false),
13667 other => Err(de::Error::invalid_value(
13668 Unexpected::Str(other),
13669 &"Value expected was either ON or OFF",
13670 )),
13671 }
13672}
13673
13674#[cfg_attr(feature = "debug", derive(Debug))]
13678#[cfg_attr(feature = "clone", derive(Clone))]
13679#[derive(Deserialize)]
13680pub struct Zigbee929002966401 {
13681 pub brightness: f64,
13683 pub color_temp: f64,
13685 pub color_temp_startup: f64,
13687 pub linkquality: f64,
13689 pub power_on_behavior: Zigbee929002966401Poweronbehavior,
13691 #[serde(deserialize_with = "zigbee929002966401_state_deserializer")]
13694 pub state: bool,
13695 pub last_seen: Option<LastSeen>,
13697 pub elapsed: Option<u64>,
13699}
13700fn zigbee929002966401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13702where
13703 D: Deserializer<'de>,
13704{
13705 match String::deserialize(deserializer)?.as_ref() {
13706 "ON" => Ok(true),
13707 "OFF" => Ok(false),
13708 other => Err(de::Error::invalid_value(
13709 Unexpected::Str(other),
13710 &"Value expected was either ON or OFF",
13711 )),
13712 }
13713}
13714
13715#[cfg_attr(feature = "debug", derive(Debug))]
13719#[cfg_attr(feature = "clone", derive(Clone))]
13720#[derive(Deserialize)]
13721pub struct Zigbee929002966501 {
13722 pub brightness: f64,
13724 pub color_temp: f64,
13726 pub color_temp_startup: f64,
13728 pub linkquality: f64,
13730 pub power_on_behavior: Zigbee929002966501Poweronbehavior,
13732 #[serde(deserialize_with = "zigbee929002966501_state_deserializer")]
13735 pub state: bool,
13736 pub last_seen: Option<LastSeen>,
13738 pub elapsed: Option<u64>,
13740}
13741fn zigbee929002966501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13743where
13744 D: Deserializer<'de>,
13745{
13746 match String::deserialize(deserializer)?.as_ref() {
13747 "ON" => Ok(true),
13748 "OFF" => Ok(false),
13749 other => Err(de::Error::invalid_value(
13750 Unexpected::Str(other),
13751 &"Value expected was either ON or OFF",
13752 )),
13753 }
13754}
13755
13756#[cfg_attr(feature = "debug", derive(Debug))]
13760#[cfg_attr(feature = "clone", derive(Clone))]
13761#[derive(Deserialize)]
13762pub struct Zigbee9290029808 {
13763 pub brightness: f64,
13765 pub color_temp: f64,
13767 pub color_temp_startup: f64,
13769 pub linkquality: f64,
13771 pub power_on_behavior: Zigbee9290029808Poweronbehavior,
13773 #[serde(deserialize_with = "zigbee9290029808_state_deserializer")]
13776 pub state: bool,
13777 pub last_seen: Option<LastSeen>,
13779 pub elapsed: Option<u64>,
13781}
13782fn zigbee9290029808_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13784where
13785 D: Deserializer<'de>,
13786{
13787 match String::deserialize(deserializer)?.as_ref() {
13788 "ON" => Ok(true),
13789 "OFF" => Ok(false),
13790 other => Err(de::Error::invalid_value(
13791 Unexpected::Str(other),
13792 &"Value expected was either ON or OFF",
13793 )),
13794 }
13795}
13796
13797#[cfg_attr(feature = "debug", derive(Debug))]
13801#[cfg_attr(feature = "clone", derive(Clone))]
13802#[derive(Deserialize)]
13803pub struct Zigbee929002980901 {
13804 pub brightness: f64,
13806 pub color_temp: f64,
13808 pub color_temp_startup: f64,
13810 pub linkquality: f64,
13812 pub power_on_behavior: Zigbee929002980901Poweronbehavior,
13814 #[serde(deserialize_with = "zigbee929002980901_state_deserializer")]
13817 pub state: bool,
13818 pub last_seen: Option<LastSeen>,
13820 pub elapsed: Option<u64>,
13822}
13823fn zigbee929002980901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13825where
13826 D: Deserializer<'de>,
13827{
13828 match String::deserialize(deserializer)?.as_ref() {
13829 "ON" => Ok(true),
13830 "OFF" => Ok(false),
13831 other => Err(de::Error::invalid_value(
13832 Unexpected::Str(other),
13833 &"Value expected was either ON or OFF",
13834 )),
13835 }
13836}
13837
13838#[cfg_attr(feature = "debug", derive(Debug))]
13842#[cfg_attr(feature = "clone", derive(Clone))]
13843#[derive(Deserialize)]
13844pub struct Zigbee929002994901 {
13845 pub brightness: f64,
13847 pub color_temp: f64,
13849 pub color_temp_startup: f64,
13851 pub linkquality: f64,
13853 pub power_on_behavior: Zigbee929002994901Poweronbehavior,
13855 #[serde(deserialize_with = "zigbee929002994901_state_deserializer")]
13858 pub state: bool,
13859 pub last_seen: Option<LastSeen>,
13861 pub elapsed: Option<u64>,
13863}
13864fn zigbee929002994901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13866where
13867 D: Deserializer<'de>,
13868{
13869 match String::deserialize(deserializer)?.as_ref() {
13870 "ON" => Ok(true),
13871 "OFF" => Ok(false),
13872 other => Err(de::Error::invalid_value(
13873 Unexpected::Str(other),
13874 &"Value expected was either ON or OFF",
13875 )),
13876 }
13877}
13878
13879#[cfg_attr(feature = "debug", derive(Debug))]
13883#[cfg_attr(feature = "clone", derive(Clone))]
13884#[derive(Deserialize)]
13885pub struct Zigbee929003017102 {
13886 pub action: Zigbee929003017102Action,
13888 pub battery: f64,
13890 pub device_mode: Zigbee929003017102Devicemode,
13891 pub linkquality: f64,
13893 pub last_seen: Option<LastSeen>,
13895 pub elapsed: Option<u64>,
13897}#[cfg_attr(feature = "debug", derive(Debug))]
13901#[cfg_attr(feature = "clone", derive(Clone))]
13902#[derive(Deserialize)]
13903pub struct Zigbee9290030211 {
13904 pub brightness: f64,
13906 pub linkquality: f64,
13908 pub power_on_behavior: Zigbee9290030211Poweronbehavior,
13910 #[serde(deserialize_with = "zigbee9290030211_state_deserializer")]
13913 pub state: bool,
13914 pub last_seen: Option<LastSeen>,
13916 pub elapsed: Option<u64>,
13918}
13919fn zigbee9290030211_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13921where
13922 D: Deserializer<'de>,
13923{
13924 match String::deserialize(deserializer)?.as_ref() {
13925 "ON" => Ok(true),
13926 "OFF" => Ok(false),
13927 other => Err(de::Error::invalid_value(
13928 Unexpected::Str(other),
13929 &"Value expected was either ON or OFF",
13930 )),
13931 }
13932}
13933
13934#[cfg_attr(feature = "debug", derive(Debug))]
13938#[cfg_attr(feature = "clone", derive(Clone))]
13939#[derive(Deserialize)]
13940pub struct Zigbee929003021301 {
13941 pub brightness: f64,
13943 pub linkquality: f64,
13945 pub power_on_behavior: Zigbee929003021301Poweronbehavior,
13947 #[serde(deserialize_with = "zigbee929003021301_state_deserializer")]
13950 pub state: bool,
13951 pub last_seen: Option<LastSeen>,
13953 pub elapsed: Option<u64>,
13955}
13956fn zigbee929003021301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13958where
13959 D: Deserializer<'de>,
13960{
13961 match String::deserialize(deserializer)?.as_ref() {
13962 "ON" => Ok(true),
13963 "OFF" => Ok(false),
13964 other => Err(de::Error::invalid_value(
13965 Unexpected::Str(other),
13966 &"Value expected was either ON or OFF",
13967 )),
13968 }
13969}
13970
13971#[cfg_attr(feature = "debug", derive(Debug))]
13975#[cfg_attr(feature = "clone", derive(Clone))]
13976#[derive(Deserialize)]
13977pub struct Zigbee929003045201 {
13978 pub brightness: f64,
13980 pub color_temp: f64,
13982 pub color_temp_startup: f64,
13984 pub linkquality: f64,
13986 pub power_on_behavior: Zigbee929003045201Poweronbehavior,
13988 #[serde(deserialize_with = "zigbee929003045201_state_deserializer")]
13991 pub state: bool,
13992 pub last_seen: Option<LastSeen>,
13994 pub elapsed: Option<u64>,
13996}
13997fn zigbee929003045201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
13999where
14000 D: Deserializer<'de>,
14001{
14002 match String::deserialize(deserializer)?.as_ref() {
14003 "ON" => Ok(true),
14004 "OFF" => Ok(false),
14005 other => Err(de::Error::invalid_value(
14006 Unexpected::Str(other),
14007 &"Value expected was either ON or OFF",
14008 )),
14009 }
14010}
14011
14012#[cfg_attr(feature = "debug", derive(Debug))]
14016#[cfg_attr(feature = "clone", derive(Clone))]
14017#[derive(Deserialize)]
14018pub struct Zigbee929003045301 {
14019 pub brightness: f64,
14021 pub color_temp: f64,
14023 pub color_temp_startup: f64,
14025 pub linkquality: f64,
14027 pub power_on_behavior: Zigbee929003045301Poweronbehavior,
14029 #[serde(deserialize_with = "zigbee929003045301_state_deserializer")]
14032 pub state: bool,
14033 pub last_seen: Option<LastSeen>,
14035 pub elapsed: Option<u64>,
14037}
14038fn zigbee929003045301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14040where
14041 D: Deserializer<'de>,
14042{
14043 match String::deserialize(deserializer)?.as_ref() {
14044 "ON" => Ok(true),
14045 "OFF" => Ok(false),
14046 other => Err(de::Error::invalid_value(
14047 Unexpected::Str(other),
14048 &"Value expected was either ON or OFF",
14049 )),
14050 }
14051}
14052
14053#[cfg_attr(feature = "debug", derive(Debug))]
14057#[cfg_attr(feature = "clone", derive(Clone))]
14058#[derive(Deserialize)]
14059pub struct Zigbee929003045401 {
14060 pub brightness: f64,
14062 pub color_temp: f64,
14064 pub color_temp_startup: f64,
14066 pub linkquality: f64,
14068 pub power_on_behavior: Zigbee929003045401Poweronbehavior,
14070 #[serde(deserialize_with = "zigbee929003045401_state_deserializer")]
14073 pub state: bool,
14074 pub last_seen: Option<LastSeen>,
14076 pub elapsed: Option<u64>,
14078}
14079fn zigbee929003045401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14081where
14082 D: Deserializer<'de>,
14083{
14084 match String::deserialize(deserializer)?.as_ref() {
14085 "ON" => Ok(true),
14086 "OFF" => Ok(false),
14087 other => Err(de::Error::invalid_value(
14088 Unexpected::Str(other),
14089 &"Value expected was either ON or OFF",
14090 )),
14091 }
14092}
14093
14094#[cfg_attr(feature = "debug", derive(Debug))]
14098#[cfg_attr(feature = "clone", derive(Clone))]
14099#[derive(Deserialize)]
14100pub struct Zigbee929003045501 {
14101 pub brightness: f64,
14103 pub color_temp: f64,
14105 pub color_temp_startup: f64,
14107 pub linkquality: f64,
14109 pub power_on_behavior: Zigbee929003045501Poweronbehavior,
14111 #[serde(deserialize_with = "zigbee929003045501_state_deserializer")]
14114 pub state: bool,
14115 pub last_seen: Option<LastSeen>,
14117 pub elapsed: Option<u64>,
14119}
14120fn zigbee929003045501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14122where
14123 D: Deserializer<'de>,
14124{
14125 match String::deserialize(deserializer)?.as_ref() {
14126 "ON" => Ok(true),
14127 "OFF" => Ok(false),
14128 other => Err(de::Error::invalid_value(
14129 Unexpected::Str(other),
14130 &"Value expected was either ON or OFF",
14131 )),
14132 }
14133}
14134
14135#[cfg_attr(feature = "debug", derive(Debug))]
14139#[cfg_attr(feature = "clone", derive(Clone))]
14140#[derive(Deserialize)]
14141pub struct Zigbee929003045901 {
14142 pub brightness: f64,
14144 pub color_temp: f64,
14146 pub color_temp_startup: f64,
14148 pub linkquality: f64,
14150 pub power_on_behavior: Zigbee929003045901Poweronbehavior,
14152 #[serde(deserialize_with = "zigbee929003045901_state_deserializer")]
14155 pub state: bool,
14156 pub last_seen: Option<LastSeen>,
14158 pub elapsed: Option<u64>,
14160}
14161fn zigbee929003045901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14163where
14164 D: Deserializer<'de>,
14165{
14166 match String::deserialize(deserializer)?.as_ref() {
14167 "ON" => Ok(true),
14168 "OFF" => Ok(false),
14169 other => Err(de::Error::invalid_value(
14170 Unexpected::Str(other),
14171 &"Value expected was either ON or OFF",
14172 )),
14173 }
14174}
14175
14176#[cfg_attr(feature = "debug", derive(Debug))]
14180#[cfg_attr(feature = "clone", derive(Clone))]
14181#[derive(Deserialize)]
14182pub struct Zigbee929003046201 {
14183 pub brightness: f64,
14185 pub color_temp: f64,
14187 pub color_temp_startup: f64,
14189 pub linkquality: f64,
14191 pub power_on_behavior: Zigbee929003046201Poweronbehavior,
14193 #[serde(deserialize_with = "zigbee929003046201_state_deserializer")]
14196 pub state: bool,
14197 pub last_seen: Option<LastSeen>,
14199 pub elapsed: Option<u64>,
14201}
14202fn zigbee929003046201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14204where
14205 D: Deserializer<'de>,
14206{
14207 match String::deserialize(deserializer)?.as_ref() {
14208 "ON" => Ok(true),
14209 "OFF" => Ok(false),
14210 other => Err(de::Error::invalid_value(
14211 Unexpected::Str(other),
14212 &"Value expected was either ON or OFF",
14213 )),
14214 }
14215}
14216
14217#[cfg_attr(feature = "debug", derive(Debug))]
14221#[cfg_attr(feature = "clone", derive(Clone))]
14222#[derive(Deserialize)]
14223pub struct Zigbee929003047001 {
14224 pub brightness: f64,
14226 pub color_temp: f64,
14228 pub color_temp_startup: f64,
14230 pub linkquality: f64,
14232 pub power_on_behavior: Zigbee929003047001Poweronbehavior,
14234 #[serde(deserialize_with = "zigbee929003047001_state_deserializer")]
14237 pub state: bool,
14238 pub last_seen: Option<LastSeen>,
14240 pub elapsed: Option<u64>,
14242}
14243fn zigbee929003047001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14245where
14246 D: Deserializer<'de>,
14247{
14248 match String::deserialize(deserializer)?.as_ref() {
14249 "ON" => Ok(true),
14250 "OFF" => Ok(false),
14251 other => Err(de::Error::invalid_value(
14252 Unexpected::Str(other),
14253 &"Value expected was either ON or OFF",
14254 )),
14255 }
14256}
14257
14258#[cfg_attr(feature = "debug", derive(Debug))]
14262#[cfg_attr(feature = "clone", derive(Clone))]
14263#[derive(Deserialize)]
14264pub struct Zigbee929003047101 {
14265 pub brightness: f64,
14267 pub color_temp: f64,
14269 pub color_temp_startup: f64,
14271 pub linkquality: f64,
14273 pub power_on_behavior: Zigbee929003047101Poweronbehavior,
14275 #[serde(deserialize_with = "zigbee929003047101_state_deserializer")]
14278 pub state: bool,
14279 pub last_seen: Option<LastSeen>,
14281 pub elapsed: Option<u64>,
14283}
14284fn zigbee929003047101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14286where
14287 D: Deserializer<'de>,
14288{
14289 match String::deserialize(deserializer)?.as_ref() {
14290 "ON" => Ok(true),
14291 "OFF" => Ok(false),
14292 other => Err(de::Error::invalid_value(
14293 Unexpected::Str(other),
14294 &"Value expected was either ON or OFF",
14295 )),
14296 }
14297}
14298
14299#[cfg_attr(feature = "debug", derive(Debug))]
14303#[cfg_attr(feature = "clone", derive(Clone))]
14304#[derive(Deserialize)]
14305pub struct Zigbee929003047401 {
14306 pub brightness: f64,
14308 pub color_temp: f64,
14310 pub color_temp_startup: f64,
14312 pub linkquality: f64,
14314 pub power_on_behavior: Zigbee929003047401Poweronbehavior,
14316 #[serde(deserialize_with = "zigbee929003047401_state_deserializer")]
14319 pub state: bool,
14320 pub last_seen: Option<LastSeen>,
14322 pub elapsed: Option<u64>,
14324}
14325fn zigbee929003047401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14327where
14328 D: Deserializer<'de>,
14329{
14330 match String::deserialize(deserializer)?.as_ref() {
14331 "ON" => Ok(true),
14332 "OFF" => Ok(false),
14333 other => Err(de::Error::invalid_value(
14334 Unexpected::Str(other),
14335 &"Value expected was either ON or OFF",
14336 )),
14337 }
14338}
14339
14340#[cfg_attr(feature = "debug", derive(Debug))]
14344#[cfg_attr(feature = "clone", derive(Clone))]
14345#[derive(Deserialize)]
14346pub struct Zigbee929003047501 {
14347 pub brightness: f64,
14349 pub color_temp: f64,
14351 pub color_temp_startup: f64,
14353 pub linkquality: f64,
14355 pub power_on_behavior: Zigbee929003047501Poweronbehavior,
14357 #[serde(deserialize_with = "zigbee929003047501_state_deserializer")]
14360 pub state: bool,
14361 pub last_seen: Option<LastSeen>,
14363 pub elapsed: Option<u64>,
14365}
14366fn zigbee929003047501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14368where
14369 D: Deserializer<'de>,
14370{
14371 match String::deserialize(deserializer)?.as_ref() {
14372 "ON" => Ok(true),
14373 "OFF" => Ok(false),
14374 other => Err(de::Error::invalid_value(
14375 Unexpected::Str(other),
14376 &"Value expected was either ON or OFF",
14377 )),
14378 }
14379}
14380
14381#[cfg_attr(feature = "debug", derive(Debug))]
14385#[cfg_attr(feature = "clone", derive(Clone))]
14386#[derive(Deserialize)]
14387pub struct Zigbee929003047601 {
14388 pub brightness: f64,
14390 pub color_temp: f64,
14392 pub color_temp_startup: f64,
14394 pub linkquality: f64,
14396 pub power_on_behavior: Zigbee929003047601Poweronbehavior,
14398 #[serde(deserialize_with = "zigbee929003047601_state_deserializer")]
14401 pub state: bool,
14402 pub last_seen: Option<LastSeen>,
14404 pub elapsed: Option<u64>,
14406}
14407fn zigbee929003047601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14409where
14410 D: Deserializer<'de>,
14411{
14412 match String::deserialize(deserializer)?.as_ref() {
14413 "ON" => Ok(true),
14414 "OFF" => Ok(false),
14415 other => Err(de::Error::invalid_value(
14416 Unexpected::Str(other),
14417 &"Value expected was either ON or OFF",
14418 )),
14419 }
14420}
14421
14422#[cfg_attr(feature = "debug", derive(Debug))]
14426#[cfg_attr(feature = "clone", derive(Clone))]
14427#[derive(Deserialize)]
14428pub struct Zigbee929003050601 {
14429 pub linkquality: f64,
14431 #[serde(deserialize_with = "zigbee929003050601_state_deserializer")]
14434 pub state: bool,
14435 pub last_seen: Option<LastSeen>,
14437 pub elapsed: Option<u64>,
14439}
14440fn zigbee929003050601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14442where
14443 D: Deserializer<'de>,
14444{
14445 match String::deserialize(deserializer)?.as_ref() {
14446 "ON" => Ok(true),
14447 "OFF" => Ok(false),
14448 other => Err(de::Error::invalid_value(
14449 Unexpected::Str(other),
14450 &"Value expected was either ON or OFF",
14451 )),
14452 }
14453}
14454
14455#[cfg_attr(feature = "debug", derive(Debug))]
14459#[cfg_attr(feature = "clone", derive(Clone))]
14460#[derive(Deserialize)]
14461pub struct Zigbee9290030509 {
14462 pub linkquality: f64,
14464 #[serde(deserialize_with = "zigbee9290030509_state_deserializer")]
14467 pub state: bool,
14468 pub last_seen: Option<LastSeen>,
14470 pub elapsed: Option<u64>,
14472}
14473fn zigbee9290030509_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14475where
14476 D: Deserializer<'de>,
14477{
14478 match String::deserialize(deserializer)?.as_ref() {
14479 "ON" => Ok(true),
14480 "OFF" => Ok(false),
14481 other => Err(de::Error::invalid_value(
14482 Unexpected::Str(other),
14483 &"Value expected was either ON or OFF",
14484 )),
14485 }
14486}
14487
14488#[cfg_attr(feature = "debug", derive(Debug))]
14492#[cfg_attr(feature = "clone", derive(Clone))]
14493#[derive(Deserialize)]
14494pub struct Zigbee9290030514 {
14495 pub brightness: f64,
14497 pub linkquality: f64,
14499 pub power_on_behavior: Zigbee9290030514Poweronbehavior,
14501 #[serde(deserialize_with = "zigbee9290030514_state_deserializer")]
14504 pub state: bool,
14505 pub last_seen: Option<LastSeen>,
14507 pub elapsed: Option<u64>,
14509}
14510fn zigbee9290030514_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14512where
14513 D: Deserializer<'de>,
14514{
14515 match String::deserialize(deserializer)?.as_ref() {
14516 "ON" => Ok(true),
14517 "OFF" => Ok(false),
14518 other => Err(de::Error::invalid_value(
14519 Unexpected::Str(other),
14520 &"Value expected was either ON or OFF",
14521 )),
14522 }
14523}
14524
14525#[cfg_attr(feature = "debug", derive(Debug))]
14529#[cfg_attr(feature = "clone", derive(Clone))]
14530#[derive(Deserialize)]
14531pub struct Zigbee9290030517 {
14532 pub brightness: f64,
14534 pub color_temp: f64,
14536 pub color_temp_startup: f64,
14538 pub linkquality: f64,
14540 pub power_on_behavior: Zigbee9290030517Poweronbehavior,
14542 #[serde(deserialize_with = "zigbee9290030517_state_deserializer")]
14545 pub state: bool,
14546 pub last_seen: Option<LastSeen>,
14548 pub elapsed: Option<u64>,
14550}
14551fn zigbee9290030517_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14553where
14554 D: Deserializer<'de>,
14555{
14556 match String::deserialize(deserializer)?.as_ref() {
14557 "ON" => Ok(true),
14558 "OFF" => Ok(false),
14559 other => Err(de::Error::invalid_value(
14560 Unexpected::Str(other),
14561 &"Value expected was either ON or OFF",
14562 )),
14563 }
14564}
14565
14566#[cfg_attr(feature = "debug", derive(Debug))]
14570#[cfg_attr(feature = "clone", derive(Clone))]
14571#[derive(Deserialize)]
14572pub struct Zigbee9290030521 {
14573 pub brightness: f64,
14575 pub linkquality: f64,
14577 pub power_on_behavior: Zigbee9290030521Poweronbehavior,
14579 #[serde(deserialize_with = "zigbee9290030521_state_deserializer")]
14582 pub state: bool,
14583 pub last_seen: Option<LastSeen>,
14585 pub elapsed: Option<u64>,
14587}
14588fn zigbee9290030521_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14590where
14591 D: Deserializer<'de>,
14592{
14593 match String::deserialize(deserializer)?.as_ref() {
14594 "ON" => Ok(true),
14595 "OFF" => Ok(false),
14596 other => Err(de::Error::invalid_value(
14597 Unexpected::Str(other),
14598 &"Value expected was either ON or OFF",
14599 )),
14600 }
14601}
14602
14603#[cfg_attr(feature = "debug", derive(Debug))]
14607#[cfg_attr(feature = "clone", derive(Clone))]
14608#[derive(Deserialize)]
14609pub struct Zigbee9290030523 {
14610 pub brightness: f64,
14612 pub linkquality: f64,
14614 pub power_on_behavior: Zigbee9290030523Poweronbehavior,
14616 #[serde(deserialize_with = "zigbee9290030523_state_deserializer")]
14619 pub state: bool,
14620 pub last_seen: Option<LastSeen>,
14622 pub elapsed: Option<u64>,
14624}
14625fn zigbee9290030523_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14627where
14628 D: Deserializer<'de>,
14629{
14630 match String::deserialize(deserializer)?.as_ref() {
14631 "ON" => Ok(true),
14632 "OFF" => Ok(false),
14633 other => Err(de::Error::invalid_value(
14634 Unexpected::Str(other),
14635 &"Value expected was either ON or OFF",
14636 )),
14637 }
14638}
14639
14640#[cfg_attr(feature = "debug", derive(Debug))]
14644#[cfg_attr(feature = "clone", derive(Clone))]
14645#[derive(Deserialize)]
14646pub struct Zigbee929003052601 {
14647 pub brightness: f64,
14649 pub color_temp: f64,
14651 pub color_temp_startup: f64,
14653 pub linkquality: f64,
14655 pub power_on_behavior: Zigbee929003052601Poweronbehavior,
14657 #[serde(deserialize_with = "zigbee929003052601_state_deserializer")]
14660 pub state: bool,
14661 pub last_seen: Option<LastSeen>,
14663 pub elapsed: Option<u64>,
14665}
14666fn zigbee929003052601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14668where
14669 D: Deserializer<'de>,
14670{
14671 match String::deserialize(deserializer)?.as_ref() {
14672 "ON" => Ok(true),
14673 "OFF" => Ok(false),
14674 other => Err(de::Error::invalid_value(
14675 Unexpected::Str(other),
14676 &"Value expected was either ON or OFF",
14677 )),
14678 }
14679}
14680
14681#[cfg_attr(feature = "debug", derive(Debug))]
14685#[cfg_attr(feature = "clone", derive(Clone))]
14686#[derive(Deserialize)]
14687pub struct Zigbee929003052901 {
14688 pub brightness: f64,
14690 pub color_temp: f64,
14692 pub color_temp_startup: f64,
14694 pub linkquality: f64,
14696 pub power_on_behavior: Zigbee929003052901Poweronbehavior,
14698 #[serde(deserialize_with = "zigbee929003052901_state_deserializer")]
14701 pub state: bool,
14702 pub last_seen: Option<LastSeen>,
14704 pub elapsed: Option<u64>,
14706}
14707fn zigbee929003052901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14709where
14710 D: Deserializer<'de>,
14711{
14712 match String::deserialize(deserializer)?.as_ref() {
14713 "ON" => Ok(true),
14714 "OFF" => Ok(false),
14715 other => Err(de::Error::invalid_value(
14716 Unexpected::Str(other),
14717 &"Value expected was either ON or OFF",
14718 )),
14719 }
14720}
14721
14722#[cfg_attr(feature = "debug", derive(Debug))]
14726#[cfg_attr(feature = "clone", derive(Clone))]
14727#[derive(Deserialize)]
14728pub struct Zigbee929003053001 {
14729 pub brightness: f64,
14731 pub color_temp: f64,
14733 pub color_temp_startup: f64,
14735 pub linkquality: f64,
14737 pub power_on_behavior: Zigbee929003053001Poweronbehavior,
14739 #[serde(deserialize_with = "zigbee929003053001_state_deserializer")]
14742 pub state: bool,
14743 pub last_seen: Option<LastSeen>,
14745 pub elapsed: Option<u64>,
14747}
14748fn zigbee929003053001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14750where
14751 D: Deserializer<'de>,
14752{
14753 match String::deserialize(deserializer)?.as_ref() {
14754 "ON" => Ok(true),
14755 "OFF" => Ok(false),
14756 other => Err(de::Error::invalid_value(
14757 Unexpected::Str(other),
14758 &"Value expected was either ON or OFF",
14759 )),
14760 }
14761}
14762
14763#[cfg_attr(feature = "debug", derive(Debug))]
14767#[cfg_attr(feature = "clone", derive(Clone))]
14768#[derive(Deserialize)]
14769pub struct Zigbee929003053201 {
14770 pub brightness: f64,
14772 pub color_temp: f64,
14774 pub color_temp_startup: f64,
14776 pub linkquality: f64,
14778 pub power_on_behavior: Zigbee929003053201Poweronbehavior,
14780 #[serde(deserialize_with = "zigbee929003053201_state_deserializer")]
14783 pub state: bool,
14784 pub last_seen: Option<LastSeen>,
14786 pub elapsed: Option<u64>,
14788}
14789fn zigbee929003053201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14791where
14792 D: Deserializer<'de>,
14793{
14794 match String::deserialize(deserializer)?.as_ref() {
14795 "ON" => Ok(true),
14796 "OFF" => Ok(false),
14797 other => Err(de::Error::invalid_value(
14798 Unexpected::Str(other),
14799 &"Value expected was either ON or OFF",
14800 )),
14801 }
14802}
14803
14804#[cfg_attr(feature = "debug", derive(Debug))]
14808#[cfg_attr(feature = "clone", derive(Clone))]
14809#[derive(Deserialize)]
14810pub struct Zigbee929003054001 {
14811 pub brightness: f64,
14813 pub color_temp: f64,
14815 pub color_temp_startup: f64,
14817 pub linkquality: f64,
14819 pub power_on_behavior: Zigbee929003054001Poweronbehavior,
14821 #[serde(deserialize_with = "zigbee929003054001_state_deserializer")]
14824 pub state: bool,
14825 pub last_seen: Option<LastSeen>,
14827 pub elapsed: Option<u64>,
14829}
14830fn zigbee929003054001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14832where
14833 D: Deserializer<'de>,
14834{
14835 match String::deserialize(deserializer)?.as_ref() {
14836 "ON" => Ok(true),
14837 "OFF" => Ok(false),
14838 other => Err(de::Error::invalid_value(
14839 Unexpected::Str(other),
14840 &"Value expected was either ON or OFF",
14841 )),
14842 }
14843}
14844
14845#[cfg_attr(feature = "debug", derive(Debug))]
14849#[cfg_attr(feature = "clone", derive(Clone))]
14850#[derive(Deserialize)]
14851pub struct Zigbee929003054101 {
14852 pub brightness: f64,
14854 pub color_temp: f64,
14856 pub color_temp_startup: f64,
14858 pub linkquality: f64,
14860 pub power_on_behavior: Zigbee929003054101Poweronbehavior,
14862 #[serde(deserialize_with = "zigbee929003054101_state_deserializer")]
14865 pub state: bool,
14866 pub last_seen: Option<LastSeen>,
14868 pub elapsed: Option<u64>,
14870}
14871fn zigbee929003054101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14873where
14874 D: Deserializer<'de>,
14875{
14876 match String::deserialize(deserializer)?.as_ref() {
14877 "ON" => Ok(true),
14878 "OFF" => Ok(false),
14879 other => Err(de::Error::invalid_value(
14880 Unexpected::Str(other),
14881 &"Value expected was either ON or OFF",
14882 )),
14883 }
14884}
14885
14886#[cfg_attr(feature = "debug", derive(Debug))]
14890#[cfg_attr(feature = "clone", derive(Clone))]
14891#[derive(Deserialize)]
14892pub struct Zigbee929003054301 {
14893 pub brightness: f64,
14895 pub color_temp: f64,
14897 pub color_temp_startup: f64,
14899 pub linkquality: f64,
14901 pub power_on_behavior: Zigbee929003054301Poweronbehavior,
14903 #[serde(deserialize_with = "zigbee929003054301_state_deserializer")]
14906 pub state: bool,
14907 pub last_seen: Option<LastSeen>,
14909 pub elapsed: Option<u64>,
14911}
14912fn zigbee929003054301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14914where
14915 D: Deserializer<'de>,
14916{
14917 match String::deserialize(deserializer)?.as_ref() {
14918 "ON" => Ok(true),
14919 "OFF" => Ok(false),
14920 other => Err(de::Error::invalid_value(
14921 Unexpected::Str(other),
14922 &"Value expected was either ON or OFF",
14923 )),
14924 }
14925}
14926
14927#[cfg_attr(feature = "debug", derive(Debug))]
14931#[cfg_attr(feature = "clone", derive(Clone))]
14932#[derive(Deserialize)]
14933pub struct Zigbee929003054501 {
14934 pub brightness: f64,
14936 pub color_temp: f64,
14938 pub color_temp_startup: f64,
14940 pub linkquality: f64,
14942 pub power_on_behavior: Zigbee929003054501Poweronbehavior,
14944 #[serde(deserialize_with = "zigbee929003054501_state_deserializer")]
14947 pub state: bool,
14948 pub last_seen: Option<LastSeen>,
14950 pub elapsed: Option<u64>,
14952}
14953fn zigbee929003054501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14955where
14956 D: Deserializer<'de>,
14957{
14958 match String::deserialize(deserializer)?.as_ref() {
14959 "ON" => Ok(true),
14960 "OFF" => Ok(false),
14961 other => Err(de::Error::invalid_value(
14962 Unexpected::Str(other),
14963 &"Value expected was either ON or OFF",
14964 )),
14965 }
14966}
14967
14968#[cfg_attr(feature = "debug", derive(Debug))]
14972#[cfg_attr(feature = "clone", derive(Clone))]
14973#[derive(Deserialize)]
14974pub struct Zigbee929003054601 {
14975 pub brightness: f64,
14977 pub color_temp: f64,
14979 pub color_temp_startup: f64,
14981 pub linkquality: f64,
14983 pub power_on_behavior: Zigbee929003054601Poweronbehavior,
14985 #[serde(deserialize_with = "zigbee929003054601_state_deserializer")]
14988 pub state: bool,
14989 pub last_seen: Option<LastSeen>,
14991 pub elapsed: Option<u64>,
14993}
14994fn zigbee929003054601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
14996where
14997 D: Deserializer<'de>,
14998{
14999 match String::deserialize(deserializer)?.as_ref() {
15000 "ON" => Ok(true),
15001 "OFF" => Ok(false),
15002 other => Err(de::Error::invalid_value(
15003 Unexpected::Str(other),
15004 &"Value expected was either ON or OFF",
15005 )),
15006 }
15007}
15008
15009#[cfg_attr(feature = "debug", derive(Debug))]
15013#[cfg_attr(feature = "clone", derive(Clone))]
15014#[derive(Deserialize)]
15015pub struct Zigbee929003054701 {
15016 pub brightness: f64,
15018 pub color_temp: f64,
15020 pub color_temp_startup: f64,
15022 pub linkquality: f64,
15024 pub power_on_behavior: Zigbee929003054701Poweronbehavior,
15026 #[serde(deserialize_with = "zigbee929003054701_state_deserializer")]
15029 pub state: bool,
15030 pub last_seen: Option<LastSeen>,
15032 pub elapsed: Option<u64>,
15034}
15035fn zigbee929003054701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15037where
15038 D: Deserializer<'de>,
15039{
15040 match String::deserialize(deserializer)?.as_ref() {
15041 "ON" => Ok(true),
15042 "OFF" => Ok(false),
15043 other => Err(de::Error::invalid_value(
15044 Unexpected::Str(other),
15045 &"Value expected was either ON or OFF",
15046 )),
15047 }
15048}
15049
15050#[cfg_attr(feature = "debug", derive(Debug))]
15054#[cfg_attr(feature = "clone", derive(Clone))]
15055#[derive(Deserialize)]
15056pub struct Zigbee929003054801 {
15057 pub brightness: f64,
15059 pub color_temp: f64,
15061 pub color_temp_startup: f64,
15063 pub linkquality: f64,
15065 pub power_on_behavior: Zigbee929003054801Poweronbehavior,
15067 #[serde(deserialize_with = "zigbee929003054801_state_deserializer")]
15070 pub state: bool,
15071 pub last_seen: Option<LastSeen>,
15073 pub elapsed: Option<u64>,
15075}
15076fn zigbee929003054801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15078where
15079 D: Deserializer<'de>,
15080{
15081 match String::deserialize(deserializer)?.as_ref() {
15082 "ON" => Ok(true),
15083 "OFF" => Ok(false),
15084 other => Err(de::Error::invalid_value(
15085 Unexpected::Str(other),
15086 &"Value expected was either ON or OFF",
15087 )),
15088 }
15089}
15090
15091#[cfg_attr(feature = "debug", derive(Debug))]
15095#[cfg_attr(feature = "clone", derive(Clone))]
15096#[derive(Deserialize)]
15097pub struct Zigbee929003055201 {
15098 pub brightness: f64,
15100 pub color_temp: f64,
15102 pub color_temp_startup: f64,
15104 pub linkquality: f64,
15106 pub power_on_behavior: Zigbee929003055201Poweronbehavior,
15108 #[serde(deserialize_with = "zigbee929003055201_state_deserializer")]
15111 pub state: bool,
15112 pub last_seen: Option<LastSeen>,
15114 pub elapsed: Option<u64>,
15116}
15117fn zigbee929003055201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15119where
15120 D: Deserializer<'de>,
15121{
15122 match String::deserialize(deserializer)?.as_ref() {
15123 "ON" => Ok(true),
15124 "OFF" => Ok(false),
15125 other => Err(de::Error::invalid_value(
15126 Unexpected::Str(other),
15127 &"Value expected was either ON or OFF",
15128 )),
15129 }
15130}
15131
15132#[cfg_attr(feature = "debug", derive(Debug))]
15136#[cfg_attr(feature = "clone", derive(Clone))]
15137#[derive(Deserialize)]
15138pub struct Zigbee929003055401 {
15139 pub brightness: f64,
15141 pub color_temp: f64,
15143 pub color_temp_startup: f64,
15145 pub linkquality: f64,
15147 pub power_on_behavior: Zigbee929003055401Poweronbehavior,
15149 #[serde(deserialize_with = "zigbee929003055401_state_deserializer")]
15152 pub state: bool,
15153 pub last_seen: Option<LastSeen>,
15155 pub elapsed: Option<u64>,
15157}
15158fn zigbee929003055401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15160where
15161 D: Deserializer<'de>,
15162{
15163 match String::deserialize(deserializer)?.as_ref() {
15164 "ON" => Ok(true),
15165 "OFF" => Ok(false),
15166 other => Err(de::Error::invalid_value(
15167 Unexpected::Str(other),
15168 &"Value expected was either ON or OFF",
15169 )),
15170 }
15171}
15172
15173#[cfg_attr(feature = "debug", derive(Debug))]
15177#[cfg_attr(feature = "clone", derive(Clone))]
15178#[derive(Deserialize)]
15179pub struct Zigbee929003055501 {
15180 pub brightness: f64,
15182 pub color_temp: f64,
15184 pub color_temp_startup: f64,
15186 pub linkquality: f64,
15188 pub power_on_behavior: Zigbee929003055501Poweronbehavior,
15190 #[serde(deserialize_with = "zigbee929003055501_state_deserializer")]
15193 pub state: bool,
15194 pub last_seen: Option<LastSeen>,
15196 pub elapsed: Option<u64>,
15198}
15199fn zigbee929003055501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15201where
15202 D: Deserializer<'de>,
15203{
15204 match String::deserialize(deserializer)?.as_ref() {
15205 "ON" => Ok(true),
15206 "OFF" => Ok(false),
15207 other => Err(de::Error::invalid_value(
15208 Unexpected::Str(other),
15209 &"Value expected was either ON or OFF",
15210 )),
15211 }
15212}
15213
15214#[cfg_attr(feature = "debug", derive(Debug))]
15218#[cfg_attr(feature = "clone", derive(Clone))]
15219#[derive(Deserialize)]
15220pub struct Zigbee929003055701 {
15221 pub brightness: f64,
15223 pub color_temp: f64,
15225 pub color_temp_startup: f64,
15227 pub linkquality: f64,
15229 pub power_on_behavior: Zigbee929003055701Poweronbehavior,
15231 #[serde(deserialize_with = "zigbee929003055701_state_deserializer")]
15234 pub state: bool,
15235 pub last_seen: Option<LastSeen>,
15237 pub elapsed: Option<u64>,
15239}
15240fn zigbee929003055701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15242where
15243 D: Deserializer<'de>,
15244{
15245 match String::deserialize(deserializer)?.as_ref() {
15246 "ON" => Ok(true),
15247 "OFF" => Ok(false),
15248 other => Err(de::Error::invalid_value(
15249 Unexpected::Str(other),
15250 &"Value expected was either ON or OFF",
15251 )),
15252 }
15253}
15254
15255#[cfg_attr(feature = "debug", derive(Debug))]
15259#[cfg_attr(feature = "clone", derive(Clone))]
15260#[derive(Deserialize)]
15261pub struct Zigbee929003055801 {
15262 pub brightness: f64,
15264 pub color_temp: f64,
15266 pub color_temp_startup: f64,
15268 pub linkquality: f64,
15270 pub power_on_behavior: Zigbee929003055801Poweronbehavior,
15272 #[serde(deserialize_with = "zigbee929003055801_state_deserializer")]
15275 pub state: bool,
15276 pub last_seen: Option<LastSeen>,
15278 pub elapsed: Option<u64>,
15280}
15281fn zigbee929003055801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15283where
15284 D: Deserializer<'de>,
15285{
15286 match String::deserialize(deserializer)?.as_ref() {
15287 "ON" => Ok(true),
15288 "OFF" => Ok(false),
15289 other => Err(de::Error::invalid_value(
15290 Unexpected::Str(other),
15291 &"Value expected was either ON or OFF",
15292 )),
15293 }
15294}
15295
15296#[cfg_attr(feature = "debug", derive(Debug))]
15300#[cfg_attr(feature = "clone", derive(Clone))]
15301#[derive(Deserialize)]
15302pub struct Zigbee929003055901 {
15303 pub brightness: f64,
15305 pub color_temp: f64,
15307 pub color_temp_startup: f64,
15309 pub linkquality: f64,
15311 pub power_on_behavior: Zigbee929003055901Poweronbehavior,
15313 #[serde(deserialize_with = "zigbee929003055901_state_deserializer")]
15316 pub state: bool,
15317 pub last_seen: Option<LastSeen>,
15319 pub elapsed: Option<u64>,
15321}
15322fn zigbee929003055901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15324where
15325 D: Deserializer<'de>,
15326{
15327 match String::deserialize(deserializer)?.as_ref() {
15328 "ON" => Ok(true),
15329 "OFF" => Ok(false),
15330 other => Err(de::Error::invalid_value(
15331 Unexpected::Str(other),
15332 &"Value expected was either ON or OFF",
15333 )),
15334 }
15335}
15336
15337#[cfg_attr(feature = "debug", derive(Debug))]
15341#[cfg_attr(feature = "clone", derive(Clone))]
15342#[derive(Deserialize)]
15343pub struct Zigbee929003056001 {
15344 pub brightness: f64,
15346 pub color_temp: f64,
15348 pub color_temp_startup: f64,
15350 pub linkquality: f64,
15352 pub power_on_behavior: Zigbee929003056001Poweronbehavior,
15354 #[serde(deserialize_with = "zigbee929003056001_state_deserializer")]
15357 pub state: bool,
15358 pub last_seen: Option<LastSeen>,
15360 pub elapsed: Option<u64>,
15362}
15363fn zigbee929003056001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15365where
15366 D: Deserializer<'de>,
15367{
15368 match String::deserialize(deserializer)?.as_ref() {
15369 "ON" => Ok(true),
15370 "OFF" => Ok(false),
15371 other => Err(de::Error::invalid_value(
15372 Unexpected::Str(other),
15373 &"Value expected was either ON or OFF",
15374 )),
15375 }
15376}
15377
15378#[cfg_attr(feature = "debug", derive(Debug))]
15382#[cfg_attr(feature = "clone", derive(Clone))]
15383#[derive(Deserialize)]
15384pub struct Zigbee929003056701 {
15385 pub brightness: f64,
15387 pub color_temp: f64,
15389 pub color_temp_startup: f64,
15391 pub linkquality: f64,
15393 pub power_on_behavior: Zigbee929003056701Poweronbehavior,
15395 #[serde(deserialize_with = "zigbee929003056701_state_deserializer")]
15398 pub state: bool,
15399 pub last_seen: Option<LastSeen>,
15401 pub elapsed: Option<u64>,
15403}
15404fn zigbee929003056701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15406where
15407 D: Deserializer<'de>,
15408{
15409 match String::deserialize(deserializer)?.as_ref() {
15410 "ON" => Ok(true),
15411 "OFF" => Ok(false),
15412 other => Err(de::Error::invalid_value(
15413 Unexpected::Str(other),
15414 &"Value expected was either ON or OFF",
15415 )),
15416 }
15417}
15418
15419#[cfg_attr(feature = "debug", derive(Debug))]
15423#[cfg_attr(feature = "clone", derive(Clone))]
15424#[derive(Deserialize)]
15425pub struct Zigbee929003056901 {
15426 pub brightness: f64,
15428 pub color_temp: f64,
15430 pub color_temp_startup: f64,
15432 pub linkquality: f64,
15434 pub power_on_behavior: Zigbee929003056901Poweronbehavior,
15436 #[serde(deserialize_with = "zigbee929003056901_state_deserializer")]
15439 pub state: bool,
15440 pub last_seen: Option<LastSeen>,
15442 pub elapsed: Option<u64>,
15444}
15445fn zigbee929003056901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15447where
15448 D: Deserializer<'de>,
15449{
15450 match String::deserialize(deserializer)?.as_ref() {
15451 "ON" => Ok(true),
15452 "OFF" => Ok(false),
15453 other => Err(de::Error::invalid_value(
15454 Unexpected::Str(other),
15455 &"Value expected was either ON or OFF",
15456 )),
15457 }
15458}
15459
15460#[cfg_attr(feature = "debug", derive(Debug))]
15464#[cfg_attr(feature = "clone", derive(Clone))]
15465#[derive(Deserialize)]
15466pub struct Zigbee9290030674 {
15467 pub battery: f64,
15469 pub illuminance: f64,
15471 pub illuminance_lux: f64,
15473 pub led_indication: bool,
15476 pub linkquality: f64,
15478 pub motion_sensitivity: Zigbee9290030674Motionsensitivity,
15479 pub occupancy: bool,
15482 pub occupancy_timeout: f64,
15483 pub temperature: f64,
15485 pub last_seen: Option<LastSeen>,
15487 pub elapsed: Option<u64>,
15489}#[cfg_attr(feature = "debug", derive(Debug))]
15493#[cfg_attr(feature = "clone", derive(Clone))]
15494#[derive(Deserialize)]
15495pub struct Zigbee9290030675 {
15496 pub battery: f64,
15498 pub illuminance: f64,
15500 pub illuminance_lux: f64,
15502 pub led_indication: bool,
15505 pub linkquality: f64,
15507 pub motion_sensitivity: Zigbee9290030675Motionsensitivity,
15508 pub occupancy: bool,
15511 pub occupancy_timeout: f64,
15512 pub temperature: f64,
15514 pub last_seen: Option<LastSeen>,
15516 pub elapsed: Option<u64>,
15518}#[cfg_attr(feature = "debug", derive(Debug))]
15522#[cfg_attr(feature = "clone", derive(Clone))]
15523#[derive(Deserialize)]
15524pub struct Zigbee929003074701 {
15525 pub brightness: f64,
15527 pub color_temp: f64,
15529 pub color_temp_startup: f64,
15531 pub linkquality: f64,
15533 pub power_on_behavior: Zigbee929003074701Poweronbehavior,
15535 #[serde(deserialize_with = "zigbee929003074701_state_deserializer")]
15538 pub state: bool,
15539 pub last_seen: Option<LastSeen>,
15541 pub elapsed: Option<u64>,
15543}
15544fn zigbee929003074701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15546where
15547 D: Deserializer<'de>,
15548{
15549 match String::deserialize(deserializer)?.as_ref() {
15550 "ON" => Ok(true),
15551 "OFF" => Ok(false),
15552 other => Err(de::Error::invalid_value(
15553 Unexpected::Str(other),
15554 &"Value expected was either ON or OFF",
15555 )),
15556 }
15557}
15558
15559#[cfg_attr(feature = "debug", derive(Debug))]
15563#[cfg_attr(feature = "clone", derive(Clone))]
15564#[derive(Deserialize)]
15565pub struct Zigbee929003074801 {
15566 pub brightness: f64,
15568 pub color_temp: f64,
15570 pub color_temp_startup: f64,
15572 pub linkquality: f64,
15574 pub power_on_behavior: Zigbee929003074801Poweronbehavior,
15576 #[serde(deserialize_with = "zigbee929003074801_state_deserializer")]
15579 pub state: bool,
15580 pub last_seen: Option<LastSeen>,
15582 pub elapsed: Option<u64>,
15584}
15585fn zigbee929003074801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15587where
15588 D: Deserializer<'de>,
15589{
15590 match String::deserialize(deserializer)?.as_ref() {
15591 "ON" => Ok(true),
15592 "OFF" => Ok(false),
15593 other => Err(de::Error::invalid_value(
15594 Unexpected::Str(other),
15595 &"Value expected was either ON or OFF",
15596 )),
15597 }
15598}
15599
15600#[cfg_attr(feature = "debug", derive(Debug))]
15604#[cfg_attr(feature = "clone", derive(Clone))]
15605#[derive(Deserialize)]
15606pub struct Zigbee929003089301 {
15607 pub brightness: f64,
15609 pub color_temp: f64,
15611 pub color_temp_startup: f64,
15613 pub linkquality: f64,
15615 pub power_on_behavior: Zigbee929003089301Poweronbehavior,
15617 #[serde(deserialize_with = "zigbee929003089301_state_deserializer")]
15620 pub state: bool,
15621 pub last_seen: Option<LastSeen>,
15623 pub elapsed: Option<u64>,
15625}
15626fn zigbee929003089301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15628where
15629 D: Deserializer<'de>,
15630{
15631 match String::deserialize(deserializer)?.as_ref() {
15632 "ON" => Ok(true),
15633 "OFF" => Ok(false),
15634 other => Err(de::Error::invalid_value(
15635 Unexpected::Str(other),
15636 &"Value expected was either ON or OFF",
15637 )),
15638 }
15639}
15640
15641#[cfg_attr(feature = "debug", derive(Debug))]
15645#[cfg_attr(feature = "clone", derive(Clone))]
15646#[derive(Deserialize)]
15647pub struct Zigbee929003098601 {
15648 pub brightness: f64,
15650 pub color_temp: f64,
15652 pub color_temp_startup: f64,
15654 pub linkquality: f64,
15656 pub power_on_behavior: Zigbee929003098601Poweronbehavior,
15658 #[serde(deserialize_with = "zigbee929003098601_state_deserializer")]
15661 pub state: bool,
15662 pub last_seen: Option<LastSeen>,
15664 pub elapsed: Option<u64>,
15666}
15667fn zigbee929003098601_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15669where
15670 D: Deserializer<'de>,
15671{
15672 match String::deserialize(deserializer)?.as_ref() {
15673 "ON" => Ok(true),
15674 "OFF" => Ok(false),
15675 other => Err(de::Error::invalid_value(
15676 Unexpected::Str(other),
15677 &"Value expected was either ON or OFF",
15678 )),
15679 }
15680}
15681
15682#[cfg_attr(feature = "debug", derive(Debug))]
15686#[cfg_attr(feature = "clone", derive(Clone))]
15687#[derive(Deserialize)]
15688pub struct Zigbee929003098901 {
15689 pub brightness: f64,
15691 pub linkquality: f64,
15693 pub power_on_behavior: Zigbee929003098901Poweronbehavior,
15695 #[serde(deserialize_with = "zigbee929003098901_state_deserializer")]
15698 pub state: bool,
15699 pub last_seen: Option<LastSeen>,
15701 pub elapsed: Option<u64>,
15703}
15704fn zigbee929003098901_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15706where
15707 D: Deserializer<'de>,
15708{
15709 match String::deserialize(deserializer)?.as_ref() {
15710 "ON" => Ok(true),
15711 "OFF" => Ok(false),
15712 other => Err(de::Error::invalid_value(
15713 Unexpected::Str(other),
15714 &"Value expected was either ON or OFF",
15715 )),
15716 }
15717}
15718
15719#[cfg_attr(feature = "debug", derive(Debug))]
15723#[cfg_attr(feature = "clone", derive(Clone))]
15724#[derive(Deserialize)]
15725pub struct Zigbee929003099001 {
15726 pub brightness: f64,
15728 pub color_temp: f64,
15730 pub color_temp_startup: f64,
15732 pub linkquality: f64,
15734 pub power_on_behavior: Zigbee929003099001Poweronbehavior,
15736 #[serde(deserialize_with = "zigbee929003099001_state_deserializer")]
15739 pub state: bool,
15740 pub last_seen: Option<LastSeen>,
15742 pub elapsed: Option<u64>,
15744}
15745fn zigbee929003099001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15747where
15748 D: Deserializer<'de>,
15749{
15750 match String::deserialize(deserializer)?.as_ref() {
15751 "ON" => Ok(true),
15752 "OFF" => Ok(false),
15753 other => Err(de::Error::invalid_value(
15754 Unexpected::Str(other),
15755 &"Value expected was either ON or OFF",
15756 )),
15757 }
15758}
15759
15760#[cfg_attr(feature = "debug", derive(Debug))]
15764#[cfg_attr(feature = "clone", derive(Clone))]
15765#[derive(Deserialize)]
15766pub struct Zigbee929003099101 {
15767 pub brightness: f64,
15769 pub color_temp: f64,
15771 pub color_temp_startup: f64,
15773 pub linkquality: f64,
15775 pub power_on_behavior: Zigbee929003099101Poweronbehavior,
15777 #[serde(deserialize_with = "zigbee929003099101_state_deserializer")]
15780 pub state: bool,
15781 pub last_seen: Option<LastSeen>,
15783 pub elapsed: Option<u64>,
15785}
15786fn zigbee929003099101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15788where
15789 D: Deserializer<'de>,
15790{
15791 match String::deserialize(deserializer)?.as_ref() {
15792 "ON" => Ok(true),
15793 "OFF" => Ok(false),
15794 other => Err(de::Error::invalid_value(
15795 Unexpected::Str(other),
15796 &"Value expected was either ON or OFF",
15797 )),
15798 }
15799}
15800
15801#[cfg_attr(feature = "debug", derive(Debug))]
15805#[cfg_attr(feature = "clone", derive(Clone))]
15806#[derive(Deserialize)]
15807pub struct Zigbee929003099301 {
15808 pub brightness: f64,
15810 pub color_temp: f64,
15812 pub color_temp_startup: f64,
15814 pub linkquality: f64,
15816 pub power_on_behavior: Zigbee929003099301Poweronbehavior,
15818 #[serde(deserialize_with = "zigbee929003099301_state_deserializer")]
15821 pub state: bool,
15822 pub last_seen: Option<LastSeen>,
15824 pub elapsed: Option<u64>,
15826}
15827fn zigbee929003099301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15829where
15830 D: Deserializer<'de>,
15831{
15832 match String::deserialize(deserializer)?.as_ref() {
15833 "ON" => Ok(true),
15834 "OFF" => Ok(false),
15835 other => Err(de::Error::invalid_value(
15836 Unexpected::Str(other),
15837 &"Value expected was either ON or OFF",
15838 )),
15839 }
15840}
15841
15842#[cfg_attr(feature = "debug", derive(Debug))]
15846#[cfg_attr(feature = "clone", derive(Clone))]
15847#[derive(Deserialize)]
15848pub struct Zigbee929003115801 {
15849 pub brightness: f64,
15851 pub color_temp: f64,
15853 pub color_temp_startup: f64,
15855 pub linkquality: f64,
15857 pub power_on_behavior: Zigbee929003115801Poweronbehavior,
15859 #[serde(deserialize_with = "zigbee929003115801_state_deserializer")]
15862 pub state: bool,
15863 pub last_seen: Option<LastSeen>,
15865 pub elapsed: Option<u64>,
15867}
15868fn zigbee929003115801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15870where
15871 D: Deserializer<'de>,
15872{
15873 match String::deserialize(deserializer)?.as_ref() {
15874 "ON" => Ok(true),
15875 "OFF" => Ok(false),
15876 other => Err(de::Error::invalid_value(
15877 Unexpected::Str(other),
15878 &"Value expected was either ON or OFF",
15879 )),
15880 }
15881}
15882
15883#[cfg_attr(feature = "debug", derive(Debug))]
15887#[cfg_attr(feature = "clone", derive(Clone))]
15888#[derive(Deserialize)]
15889pub struct Zigbee929003116201 {
15890 pub brightness: f64,
15892 pub color_temp: f64,
15894 pub color_temp_startup: f64,
15896 pub linkquality: f64,
15898 pub power_on_behavior: Zigbee929003116201Poweronbehavior,
15900 #[serde(deserialize_with = "zigbee929003116201_state_deserializer")]
15903 pub state: bool,
15904 pub last_seen: Option<LastSeen>,
15906 pub elapsed: Option<u64>,
15908}
15909fn zigbee929003116201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15911where
15912 D: Deserializer<'de>,
15913{
15914 match String::deserialize(deserializer)?.as_ref() {
15915 "ON" => Ok(true),
15916 "OFF" => Ok(false),
15917 other => Err(de::Error::invalid_value(
15918 Unexpected::Str(other),
15919 &"Value expected was either ON or OFF",
15920 )),
15921 }
15922}
15923
15924#[cfg_attr(feature = "debug", derive(Debug))]
15928#[cfg_attr(feature = "clone", derive(Clone))]
15929#[derive(Deserialize)]
15930pub struct Zigbee929003117101 {
15931 pub brightness: f64,
15933 pub color_temp: f64,
15935 pub color_temp_startup: f64,
15937 pub linkquality: f64,
15939 pub power_on_behavior: Zigbee929003117101Poweronbehavior,
15941 #[serde(deserialize_with = "zigbee929003117101_state_deserializer")]
15944 pub state: bool,
15945 pub last_seen: Option<LastSeen>,
15947 pub elapsed: Option<u64>,
15949}
15950fn zigbee929003117101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15952where
15953 D: Deserializer<'de>,
15954{
15955 match String::deserialize(deserializer)?.as_ref() {
15956 "ON" => Ok(true),
15957 "OFF" => Ok(false),
15958 other => Err(de::Error::invalid_value(
15959 Unexpected::Str(other),
15960 &"Value expected was either ON or OFF",
15961 )),
15962 }
15963}
15964
15965#[cfg_attr(feature = "debug", derive(Debug))]
15969#[cfg_attr(feature = "clone", derive(Clone))]
15970#[derive(Deserialize)]
15971pub struct Zigbee929003117201 {
15972 pub brightness: f64,
15974 pub color_temp: f64,
15976 pub color_temp_startup: f64,
15978 pub linkquality: f64,
15980 pub power_on_behavior: Zigbee929003117201Poweronbehavior,
15982 #[serde(deserialize_with = "zigbee929003117201_state_deserializer")]
15985 pub state: bool,
15986 pub last_seen: Option<LastSeen>,
15988 pub elapsed: Option<u64>,
15990}
15991fn zigbee929003117201_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
15993where
15994 D: Deserializer<'de>,
15995{
15996 match String::deserialize(deserializer)?.as_ref() {
15997 "ON" => Ok(true),
15998 "OFF" => Ok(false),
15999 other => Err(de::Error::invalid_value(
16000 Unexpected::Str(other),
16001 &"Value expected was either ON or OFF",
16002 )),
16003 }
16004}
16005
16006#[cfg_attr(feature = "debug", derive(Debug))]
16010#[cfg_attr(feature = "clone", derive(Clone))]
16011#[derive(Deserialize)]
16012pub struct Zigbee929003117301 {
16013 pub brightness: f64,
16015 pub color_temp: f64,
16017 pub color_temp_startup: f64,
16019 pub linkquality: f64,
16021 pub power_on_behavior: Zigbee929003117301Poweronbehavior,
16023 #[serde(deserialize_with = "zigbee929003117301_state_deserializer")]
16026 pub state: bool,
16027 pub last_seen: Option<LastSeen>,
16029 pub elapsed: Option<u64>,
16031}
16032fn zigbee929003117301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16034where
16035 D: Deserializer<'de>,
16036{
16037 match String::deserialize(deserializer)?.as_ref() {
16038 "ON" => Ok(true),
16039 "OFF" => Ok(false),
16040 other => Err(de::Error::invalid_value(
16041 Unexpected::Str(other),
16042 &"Value expected was either ON or OFF",
16043 )),
16044 }
16045}
16046
16047#[cfg_attr(feature = "debug", derive(Debug))]
16051#[cfg_attr(feature = "clone", derive(Clone))]
16052#[derive(Deserialize)]
16053pub struct Zigbee929003117401 {
16054 pub brightness: f64,
16056 pub color_temp: f64,
16058 pub color_temp_startup: f64,
16060 pub linkquality: f64,
16062 pub power_on_behavior: Zigbee929003117401Poweronbehavior,
16064 #[serde(deserialize_with = "zigbee929003117401_state_deserializer")]
16067 pub state: bool,
16068 pub last_seen: Option<LastSeen>,
16070 pub elapsed: Option<u64>,
16072}
16073fn zigbee929003117401_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16075where
16076 D: Deserializer<'de>,
16077{
16078 match String::deserialize(deserializer)?.as_ref() {
16079 "ON" => Ok(true),
16080 "OFF" => Ok(false),
16081 other => Err(de::Error::invalid_value(
16082 Unexpected::Str(other),
16083 &"Value expected was either ON or OFF",
16084 )),
16085 }
16086}
16087
16088#[cfg_attr(feature = "debug", derive(Debug))]
16092#[cfg_attr(feature = "clone", derive(Clone))]
16093#[derive(Deserialize)]
16094pub struct Zigbee929003117701 {
16095 pub brightness: f64,
16097 pub color_temp: f64,
16099 pub color_temp_startup: f64,
16101 pub linkquality: f64,
16103 pub power_on_behavior: Zigbee929003117701Poweronbehavior,
16105 #[serde(deserialize_with = "zigbee929003117701_state_deserializer")]
16108 pub state: bool,
16109 pub last_seen: Option<LastSeen>,
16111 pub elapsed: Option<u64>,
16113}
16114fn zigbee929003117701_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16116where
16117 D: Deserializer<'de>,
16118{
16119 match String::deserialize(deserializer)?.as_ref() {
16120 "ON" => Ok(true),
16121 "OFF" => Ok(false),
16122 other => Err(de::Error::invalid_value(
16123 Unexpected::Str(other),
16124 &"Value expected was either ON or OFF",
16125 )),
16126 }
16127}
16128
16129#[cfg_attr(feature = "debug", derive(Debug))]
16133#[cfg_attr(feature = "clone", derive(Clone))]
16134#[derive(Deserialize)]
16135pub struct Zigbee929003117801 {
16136 pub brightness: f64,
16138 pub color_temp: f64,
16140 pub color_temp_startup: f64,
16142 pub linkquality: f64,
16144 pub power_on_behavior: Zigbee929003117801Poweronbehavior,
16146 #[serde(deserialize_with = "zigbee929003117801_state_deserializer")]
16149 pub state: bool,
16150 pub last_seen: Option<LastSeen>,
16152 pub elapsed: Option<u64>,
16154}
16155fn zigbee929003117801_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16157where
16158 D: Deserializer<'de>,
16159{
16160 match String::deserialize(deserializer)?.as_ref() {
16161 "ON" => Ok(true),
16162 "OFF" => Ok(false),
16163 other => Err(de::Error::invalid_value(
16164 Unexpected::Str(other),
16165 &"Value expected was either ON or OFF",
16166 )),
16167 }
16168}
16169
16170#[cfg_attr(feature = "debug", derive(Debug))]
16174#[cfg_attr(feature = "clone", derive(Clone))]
16175#[derive(Deserialize)]
16176pub struct Zigbee929003128501 {
16177 pub brightness: f64,
16179 pub color_temp: f64,
16181 pub color_temp_startup: f64,
16183 pub linkquality: f64,
16185 pub power_on_behavior: Zigbee929003128501Poweronbehavior,
16187 #[serde(deserialize_with = "zigbee929003128501_state_deserializer")]
16190 pub state: bool,
16191 pub last_seen: Option<LastSeen>,
16193 pub elapsed: Option<u64>,
16195}
16196fn zigbee929003128501_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16198where
16199 D: Deserializer<'de>,
16200{
16201 match String::deserialize(deserializer)?.as_ref() {
16202 "ON" => Ok(true),
16203 "OFF" => Ok(false),
16204 other => Err(de::Error::invalid_value(
16205 Unexpected::Str(other),
16206 &"Value expected was either ON or OFF",
16207 )),
16208 }
16209}
16210
16211#[cfg_attr(feature = "debug", derive(Debug))]
16215#[cfg_attr(feature = "clone", derive(Clone))]
16216#[derive(Deserialize)]
16217pub struct Zigbee9290031345 {
16218 pub brightness: f64,
16220 pub color_temp: f64,
16222 pub color_temp_startup: f64,
16224 pub linkquality: f64,
16226 pub power_on_behavior: Zigbee9290031345Poweronbehavior,
16228 #[serde(deserialize_with = "zigbee9290031345_state_deserializer")]
16231 pub state: bool,
16232 pub last_seen: Option<LastSeen>,
16234 pub elapsed: Option<u64>,
16236}
16237fn zigbee9290031345_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16239where
16240 D: Deserializer<'de>,
16241{
16242 match String::deserialize(deserializer)?.as_ref() {
16243 "ON" => Ok(true),
16244 "OFF" => Ok(false),
16245 other => Err(de::Error::invalid_value(
16246 Unexpected::Str(other),
16247 &"Value expected was either ON or OFF",
16248 )),
16249 }
16250}
16251
16252#[cfg_attr(feature = "debug", derive(Debug))]
16256#[cfg_attr(feature = "clone", derive(Clone))]
16257#[derive(Deserialize)]
16258pub struct Zigbee9290031346 {
16259 pub brightness: f64,
16261 pub color_temp: f64,
16263 pub color_temp_startup: f64,
16265 pub linkquality: f64,
16267 pub power_on_behavior: Zigbee9290031346Poweronbehavior,
16269 #[serde(deserialize_with = "zigbee9290031346_state_deserializer")]
16272 pub state: bool,
16273 pub last_seen: Option<LastSeen>,
16275 pub elapsed: Option<u64>,
16277}
16278fn zigbee9290031346_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16280where
16281 D: Deserializer<'de>,
16282{
16283 match String::deserialize(deserializer)?.as_ref() {
16284 "ON" => Ok(true),
16285 "OFF" => Ok(false),
16286 other => Err(de::Error::invalid_value(
16287 Unexpected::Str(other),
16288 &"Value expected was either ON or OFF",
16289 )),
16290 }
16291}
16292
16293#[cfg_attr(feature = "debug", derive(Debug))]
16297#[cfg_attr(feature = "clone", derive(Clone))]
16298#[derive(Deserialize)]
16299pub struct Zigbee9290031451 {
16300 pub brightness: f64,
16302 pub color_temp: f64,
16304 pub color_temp_startup: f64,
16306 pub linkquality: f64,
16308 pub power_on_behavior: Zigbee9290031451Poweronbehavior,
16310 #[serde(deserialize_with = "zigbee9290031451_state_deserializer")]
16313 pub state: bool,
16314 pub last_seen: Option<LastSeen>,
16316 pub elapsed: Option<u64>,
16318}
16319fn zigbee9290031451_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16321where
16322 D: Deserializer<'de>,
16323{
16324 match String::deserialize(deserializer)?.as_ref() {
16325 "ON" => Ok(true),
16326 "OFF" => Ok(false),
16327 other => Err(de::Error::invalid_value(
16328 Unexpected::Str(other),
16329 &"Value expected was either ON or OFF",
16330 )),
16331 }
16332}
16333
16334#[cfg_attr(feature = "debug", derive(Debug))]
16338#[cfg_attr(feature = "clone", derive(Clone))]
16339#[derive(Deserialize)]
16340pub struct Zigbee9290031452 {
16341 pub brightness: f64,
16343 pub color_temp: f64,
16345 pub color_temp_startup: f64,
16347 pub linkquality: f64,
16349 pub power_on_behavior: Zigbee9290031452Poweronbehavior,
16351 #[serde(deserialize_with = "zigbee9290031452_state_deserializer")]
16354 pub state: bool,
16355 pub last_seen: Option<LastSeen>,
16357 pub elapsed: Option<u64>,
16359}
16360fn zigbee9290031452_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16362where
16363 D: Deserializer<'de>,
16364{
16365 match String::deserialize(deserializer)?.as_ref() {
16366 "ON" => Ok(true),
16367 "OFF" => Ok(false),
16368 other => Err(de::Error::invalid_value(
16369 Unexpected::Str(other),
16370 &"Value expected was either ON or OFF",
16371 )),
16372 }
16373}
16374
16375#[cfg_attr(feature = "debug", derive(Debug))]
16379#[cfg_attr(feature = "clone", derive(Clone))]
16380#[derive(Deserialize)]
16381pub struct Zigbee929003516101 {
16382 pub brightness: f64,
16384 pub color_temp: f64,
16386 pub color_temp_startup: f64,
16388 pub linkquality: f64,
16390 pub power_on_behavior: Zigbee929003516101Poweronbehavior,
16392 #[serde(deserialize_with = "zigbee929003516101_state_deserializer")]
16395 pub state: bool,
16396 pub last_seen: Option<LastSeen>,
16398 pub elapsed: Option<u64>,
16400}
16401fn zigbee929003516101_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16403where
16404 D: Deserializer<'de>,
16405{
16406 match String::deserialize(deserializer)?.as_ref() {
16407 "ON" => Ok(true),
16408 "OFF" => Ok(false),
16409 other => Err(de::Error::invalid_value(
16410 Unexpected::Str(other),
16411 &"Value expected was either ON or OFF",
16412 )),
16413 }
16414}
16415
16416#[cfg_attr(feature = "debug", derive(Debug))]
16420#[cfg_attr(feature = "clone", derive(Clone))]
16421#[derive(Deserialize)]
16422pub struct Zigbee929003526301 {
16423 pub brightness: f64,
16425 pub color_temp: f64,
16427 pub color_temp_startup: f64,
16429 pub linkquality: f64,
16431 pub power_on_behavior: Zigbee929003526301Poweronbehavior,
16433 #[serde(deserialize_with = "zigbee929003526301_state_deserializer")]
16436 pub state: bool,
16437 pub last_seen: Option<LastSeen>,
16439 pub elapsed: Option<u64>,
16441}
16442fn zigbee929003526301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16444where
16445 D: Deserializer<'de>,
16446{
16447 match String::deserialize(deserializer)?.as_ref() {
16448 "ON" => Ok(true),
16449 "OFF" => Ok(false),
16450 other => Err(de::Error::invalid_value(
16451 Unexpected::Str(other),
16452 &"Value expected was either ON or OFF",
16453 )),
16454 }
16455}
16456
16457#[cfg_attr(feature = "debug", derive(Debug))]
16461#[cfg_attr(feature = "clone", derive(Clone))]
16462#[derive(Deserialize)]
16463pub struct Zigbee929003531702 {
16464 pub brightness: f64,
16466 pub color_temp: f64,
16468 pub color_temp_startup: f64,
16470 pub linkquality: f64,
16472 pub power_on_behavior: Zigbee929003531702Poweronbehavior,
16474 #[serde(deserialize_with = "zigbee929003531702_state_deserializer")]
16477 pub state: bool,
16478 pub last_seen: Option<LastSeen>,
16480 pub elapsed: Option<u64>,
16482}
16483fn zigbee929003531702_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16485where
16486 D: Deserializer<'de>,
16487{
16488 match String::deserialize(deserializer)?.as_ref() {
16489 "ON" => Ok(true),
16490 "OFF" => Ok(false),
16491 other => Err(de::Error::invalid_value(
16492 Unexpected::Str(other),
16493 &"Value expected was either ON or OFF",
16494 )),
16495 }
16496}
16497
16498#[cfg_attr(feature = "debug", derive(Debug))]
16502#[cfg_attr(feature = "clone", derive(Clone))]
16503#[derive(Deserialize)]
16504pub struct Zigbee929003535301 {
16505 pub brightness: f64,
16507 pub color_temp: f64,
16509 pub color_temp_startup: f64,
16511 pub linkquality: f64,
16513 pub power_on_behavior: Zigbee929003535301Poweronbehavior,
16515 #[serde(deserialize_with = "zigbee929003535301_state_deserializer")]
16518 pub state: bool,
16519 pub last_seen: Option<LastSeen>,
16521 pub elapsed: Option<u64>,
16523}
16524fn zigbee929003535301_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16526where
16527 D: Deserializer<'de>,
16528{
16529 match String::deserialize(deserializer)?.as_ref() {
16530 "ON" => Ok(true),
16531 "OFF" => Ok(false),
16532 other => Err(de::Error::invalid_value(
16533 Unexpected::Str(other),
16534 &"Value expected was either ON or OFF",
16535 )),
16536 }
16537}
16538
16539#[cfg_attr(feature = "debug", derive(Debug))]
16543#[cfg_attr(feature = "clone", derive(Clone))]
16544#[derive(Deserialize)]
16545pub struct Zigbee929003553001 {
16546 pub brightness: f64,
16548 pub color_temp: f64,
16550 pub color_temp_startup: f64,
16552 pub linkquality: f64,
16554 pub power_on_behavior: Zigbee929003553001Poweronbehavior,
16556 #[serde(deserialize_with = "zigbee929003553001_state_deserializer")]
16559 pub state: bool,
16560 pub last_seen: Option<LastSeen>,
16562 pub elapsed: Option<u64>,
16564}
16565fn zigbee929003553001_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16567where
16568 D: Deserializer<'de>,
16569{
16570 match String::deserialize(deserializer)?.as_ref() {
16571 "ON" => Ok(true),
16572 "OFF" => Ok(false),
16573 other => Err(de::Error::invalid_value(
16574 Unexpected::Str(other),
16575 &"Value expected was either ON or OFF",
16576 )),
16577 }
16578}
16579
16580#[cfg_attr(feature = "debug", derive(Debug))]
16584#[cfg_attr(feature = "clone", derive(Clone))]
16585#[derive(Deserialize)]
16586pub struct ZigbeeLwg004 {
16587 pub brightness: f64,
16589 pub linkquality: f64,
16591 pub power_on_behavior: ZigbeeLwg004Poweronbehavior,
16593 #[serde(deserialize_with = "zigbeelwg004_state_deserializer")]
16596 pub state: bool,
16597 pub last_seen: Option<LastSeen>,
16599 pub elapsed: Option<u64>,
16601}
16602fn zigbeelwg004_state_deserializer<'de, D>(deserializer: D) -> Result<bool, D::Error>
16604where
16605 D: Deserializer<'de>,
16606{
16607 match String::deserialize(deserializer)?.as_ref() {
16608 "ON" => Ok(true),
16609 "OFF" => Ok(false),
16610 other => Err(de::Error::invalid_value(
16611 Unexpected::Str(other),
16612 &"Value expected was either ON or OFF",
16613 )),
16614 }
16615}
16616
16617
16618#[cfg_attr(feature = "debug", derive(Debug))]
16619#[cfg_attr(feature = "clone", derive(Clone))]
16620#[derive(Deserialize, PartialEq)]
16621pub enum Zigbee046677476816Poweronbehavior {
16622 #[serde(rename = "off")]
16623 Off,
16624 #[serde(rename = "on")]
16625 On,
16626 #[serde(rename = "previous")]
16627 Previous,
16628 #[serde(rename = "toggle")]
16629 Toggle,
16630}
16631#[cfg_attr(feature = "debug", derive(Debug))]
16632#[cfg_attr(feature = "clone", derive(Clone))]
16633#[derive(Deserialize, PartialEq)]
16634pub enum Zigbee046677551780Poweronbehavior {
16635 #[serde(rename = "off")]
16636 Off,
16637 #[serde(rename = "on")]
16638 On,
16639 #[serde(rename = "previous")]
16640 Previous,
16641 #[serde(rename = "toggle")]
16642 Toggle,
16643}
16644#[cfg_attr(feature = "debug", derive(Debug))]
16645#[cfg_attr(feature = "clone", derive(Clone))]
16646#[derive(Deserialize, PartialEq)]
16647pub enum Zigbee046677562229Poweronbehavior {
16648 #[serde(rename = "off")]
16649 Off,
16650 #[serde(rename = "on")]
16651 On,
16652 #[serde(rename = "previous")]
16653 Previous,
16654 #[serde(rename = "toggle")]
16655 Toggle,
16656}
16657#[cfg_attr(feature = "debug", derive(Debug))]
16658#[cfg_attr(feature = "clone", derive(Clone))]
16659#[derive(Deserialize, PartialEq)]
16660pub enum Zigbee046677577957Poweronbehavior {
16661 #[serde(rename = "off")]
16662 Off,
16663 #[serde(rename = "on")]
16664 On,
16665 #[serde(rename = "previous")]
16666 Previous,
16667 #[serde(rename = "toggle")]
16668 Toggle,
16669}
16670#[cfg_attr(feature = "debug", derive(Debug))]
16671#[cfg_attr(feature = "clone", derive(Clone))]
16672#[derive(Deserialize, PartialEq)]
16673pub enum Zigbee046677578138Poweronbehavior {
16674 #[serde(rename = "off")]
16675 Off,
16676 #[serde(rename = "on")]
16677 On,
16678 #[serde(rename = "previous")]
16679 Previous,
16680 #[serde(rename = "toggle")]
16681 Toggle,
16682}
16683#[cfg_attr(feature = "debug", derive(Debug))]
16684#[cfg_attr(feature = "clone", derive(Clone))]
16685#[derive(Deserialize, PartialEq)]
16686pub enum Zigbee046677803087Poweronbehavior {
16687 #[serde(rename = "off")]
16688 Off,
16689 #[serde(rename = "on")]
16690 On,
16691 #[serde(rename = "previous")]
16692 Previous,
16693 #[serde(rename = "toggle")]
16694 Toggle,
16695}
16696#[cfg_attr(feature = "debug", derive(Debug))]
16697#[cfg_attr(feature = "clone", derive(Clone))]
16698#[derive(Deserialize, PartialEq)]
16699pub enum Zigbee1740193p0Poweronbehavior {
16700 #[serde(rename = "off")]
16701 Off,
16702 #[serde(rename = "on")]
16703 On,
16704 #[serde(rename = "previous")]
16705 Previous,
16706 #[serde(rename = "toggle")]
16707 Toggle,
16708}
16709#[cfg_attr(feature = "debug", derive(Debug))]
16710#[cfg_attr(feature = "clone", derive(Clone))]
16711#[derive(Deserialize, PartialEq)]
16712pub enum Zigbee1740293p0Poweronbehavior {
16713 #[serde(rename = "off")]
16714 Off,
16715 #[serde(rename = "on")]
16716 On,
16717 #[serde(rename = "previous")]
16718 Previous,
16719 #[serde(rename = "toggle")]
16720 Toggle,
16721}
16722#[cfg_attr(feature = "debug", derive(Debug))]
16723#[cfg_attr(feature = "clone", derive(Clone))]
16724#[derive(Deserialize, PartialEq)]
16725pub enum Zigbee1741530p7Poweronbehavior {
16726 #[serde(rename = "off")]
16727 Off,
16728 #[serde(rename = "on")]
16729 On,
16730 #[serde(rename = "previous")]
16731 Previous,
16732 #[serde(rename = "toggle")]
16733 Toggle,
16734}
16735#[cfg_attr(feature = "debug", derive(Debug))]
16736#[cfg_attr(feature = "clone", derive(Clone))]
16737#[derive(Deserialize, PartialEq)]
16738pub enum Zigbee1741730v7Poweronbehavior {
16739 #[serde(rename = "off")]
16740 Off,
16741 #[serde(rename = "on")]
16742 On,
16743 #[serde(rename = "previous")]
16744 Previous,
16745 #[serde(rename = "toggle")]
16746 Toggle,
16747}
16748#[cfg_attr(feature = "debug", derive(Debug))]
16749#[cfg_attr(feature = "clone", derive(Clone))]
16750#[derive(Deserialize, PartialEq)]
16751pub enum Zigbee1741830p7Poweronbehavior {
16752 #[serde(rename = "off")]
16753 Off,
16754 #[serde(rename = "on")]
16755 On,
16756 #[serde(rename = "previous")]
16757 Previous,
16758 #[serde(rename = "toggle")]
16759 Toggle,
16760}
16761#[cfg_attr(feature = "debug", derive(Debug))]
16762#[cfg_attr(feature = "clone", derive(Clone))]
16763#[derive(Deserialize, PartialEq)]
16764pub enum Zigbee1741930v7Poweronbehavior {
16765 #[serde(rename = "off")]
16766 Off,
16767 #[serde(rename = "on")]
16768 On,
16769 #[serde(rename = "previous")]
16770 Previous,
16771 #[serde(rename = "toggle")]
16772 Toggle,
16773}
16774#[cfg_attr(feature = "debug", derive(Debug))]
16775#[cfg_attr(feature = "clone", derive(Clone))]
16776#[derive(Deserialize, PartialEq)]
16777pub enum Zigbee1742030p7Poweronbehavior {
16778 #[serde(rename = "off")]
16779 Off,
16780 #[serde(rename = "on")]
16781 On,
16782 #[serde(rename = "previous")]
16783 Previous,
16784 #[serde(rename = "toggle")]
16785 Toggle,
16786}
16787#[cfg_attr(feature = "debug", derive(Debug))]
16788#[cfg_attr(feature = "clone", derive(Clone))]
16789#[derive(Deserialize, PartialEq)]
16790pub enum Zigbee1742330p7Poweronbehavior {
16791 #[serde(rename = "off")]
16792 Off,
16793 #[serde(rename = "on")]
16794 On,
16795 #[serde(rename = "previous")]
16796 Previous,
16797 #[serde(rename = "toggle")]
16798 Toggle,
16799}
16800#[cfg_attr(feature = "debug", derive(Debug))]
16801#[cfg_attr(feature = "clone", derive(Clone))]
16802#[derive(Deserialize, PartialEq)]
16803pub enum Zigbee1742830p7Poweronbehavior {
16804 #[serde(rename = "off")]
16805 Off,
16806 #[serde(rename = "on")]
16807 On,
16808 #[serde(rename = "previous")]
16809 Previous,
16810 #[serde(rename = "toggle")]
16811 Toggle,
16812}
16813#[cfg_attr(feature = "debug", derive(Debug))]
16814#[cfg_attr(feature = "clone", derive(Clone))]
16815#[derive(Deserialize, PartialEq)]
16816pub enum Zigbee1742930p7Poweronbehavior {
16817 #[serde(rename = "off")]
16818 Off,
16819 #[serde(rename = "on")]
16820 On,
16821 #[serde(rename = "previous")]
16822 Previous,
16823 #[serde(rename = "toggle")]
16824 Toggle,
16825}
16826#[cfg_attr(feature = "debug", derive(Debug))]
16827#[cfg_attr(feature = "clone", derive(Clone))]
16828#[derive(Deserialize, PartialEq)]
16829pub enum Zigbee1743030p7Poweronbehavior {
16830 #[serde(rename = "off")]
16831 Off,
16832 #[serde(rename = "on")]
16833 On,
16834 #[serde(rename = "previous")]
16835 Previous,
16836 #[serde(rename = "toggle")]
16837 Toggle,
16838}
16839#[cfg_attr(feature = "debug", derive(Debug))]
16840#[cfg_attr(feature = "clone", derive(Clone))]
16841#[derive(Deserialize, PartialEq)]
16842pub enum Zigbee1743130p7Poweronbehavior {
16843 #[serde(rename = "off")]
16844 Off,
16845 #[serde(rename = "on")]
16846 On,
16847 #[serde(rename = "previous")]
16848 Previous,
16849 #[serde(rename = "toggle")]
16850 Toggle,
16851}
16852#[cfg_attr(feature = "debug", derive(Debug))]
16853#[cfg_attr(feature = "clone", derive(Clone))]
16854#[derive(Deserialize, PartialEq)]
16855pub enum Zigbee1743230p7Poweronbehavior {
16856 #[serde(rename = "off")]
16857 Off,
16858 #[serde(rename = "on")]
16859 On,
16860 #[serde(rename = "previous")]
16861 Previous,
16862 #[serde(rename = "toggle")]
16863 Toggle,
16864}
16865#[cfg_attr(feature = "debug", derive(Debug))]
16866#[cfg_attr(feature = "clone", derive(Clone))]
16867#[derive(Deserialize, PartialEq)]
16868pub enum Zigbee1743430p7Poweronbehavior {
16869 #[serde(rename = "off")]
16870 Off,
16871 #[serde(rename = "on")]
16872 On,
16873 #[serde(rename = "previous")]
16874 Previous,
16875 #[serde(rename = "toggle")]
16876 Toggle,
16877}
16878#[cfg_attr(feature = "debug", derive(Debug))]
16879#[cfg_attr(feature = "clone", derive(Clone))]
16880#[derive(Deserialize, PartialEq)]
16881pub enum Zigbee1743530p7Poweronbehavior {
16882 #[serde(rename = "off")]
16883 Off,
16884 #[serde(rename = "on")]
16885 On,
16886 #[serde(rename = "previous")]
16887 Previous,
16888 #[serde(rename = "toggle")]
16889 Toggle,
16890}
16891#[cfg_attr(feature = "debug", derive(Debug))]
16892#[cfg_attr(feature = "clone", derive(Clone))]
16893#[derive(Deserialize, PartialEq)]
16894pub enum Zigbee1743630p7Poweronbehavior {
16895 #[serde(rename = "off")]
16896 Off,
16897 #[serde(rename = "on")]
16898 On,
16899 #[serde(rename = "previous")]
16900 Previous,
16901 #[serde(rename = "toggle")]
16902 Toggle,
16903}
16904#[cfg_attr(feature = "debug", derive(Debug))]
16905#[cfg_attr(feature = "clone", derive(Clone))]
16906#[derive(Deserialize, PartialEq)]
16907pub enum Zigbee1743730p7Poweronbehavior {
16908 #[serde(rename = "off")]
16909 Off,
16910 #[serde(rename = "on")]
16911 On,
16912 #[serde(rename = "previous")]
16913 Previous,
16914 #[serde(rename = "toggle")]
16915 Toggle,
16916}
16917#[cfg_attr(feature = "debug", derive(Debug))]
16918#[cfg_attr(feature = "clone", derive(Clone))]
16919#[derive(Deserialize, PartialEq)]
16920pub enum Zigbee1743830p7Poweronbehavior {
16921 #[serde(rename = "off")]
16922 Off,
16923 #[serde(rename = "on")]
16924 On,
16925 #[serde(rename = "previous")]
16926 Previous,
16927 #[serde(rename = "toggle")]
16928 Toggle,
16929}
16930#[cfg_attr(feature = "debug", derive(Debug))]
16931#[cfg_attr(feature = "clone", derive(Clone))]
16932#[derive(Deserialize, PartialEq)]
16933pub enum Zigbee1743830v7Poweronbehavior {
16934 #[serde(rename = "off")]
16935 Off,
16936 #[serde(rename = "on")]
16937 On,
16938 #[serde(rename = "previous")]
16939 Previous,
16940 #[serde(rename = "toggle")]
16941 Toggle,
16942}
16943#[cfg_attr(feature = "debug", derive(Debug))]
16944#[cfg_attr(feature = "clone", derive(Clone))]
16945#[derive(Deserialize, PartialEq)]
16946pub enum Zigbee1743930p7Poweronbehavior {
16947 #[serde(rename = "off")]
16948 Off,
16949 #[serde(rename = "on")]
16950 On,
16951 #[serde(rename = "previous")]
16952 Previous,
16953 #[serde(rename = "toggle")]
16954 Toggle,
16955}
16956#[cfg_attr(feature = "debug", derive(Debug))]
16957#[cfg_attr(feature = "clone", derive(Clone))]
16958#[derive(Deserialize, PartialEq)]
16959pub enum Zigbee1744130p7Poweronbehavior {
16960 #[serde(rename = "off")]
16961 Off,
16962 #[serde(rename = "on")]
16963 On,
16964 #[serde(rename = "previous")]
16965 Previous,
16966 #[serde(rename = "toggle")]
16967 Toggle,
16968}
16969#[cfg_attr(feature = "debug", derive(Debug))]
16970#[cfg_attr(feature = "clone", derive(Clone))]
16971#[derive(Deserialize, PartialEq)]
16972pub enum Zigbee1745130p7Poweronbehavior {
16973 #[serde(rename = "off")]
16974 Off,
16975 #[serde(rename = "on")]
16976 On,
16977 #[serde(rename = "previous")]
16978 Previous,
16979 #[serde(rename = "toggle")]
16980 Toggle,
16981}
16982#[cfg_attr(feature = "debug", derive(Debug))]
16983#[cfg_attr(feature = "clone", derive(Clone))]
16984#[derive(Deserialize, PartialEq)]
16985pub enum Zigbee1745430p7Poweronbehavior {
16986 #[serde(rename = "off")]
16987 Off,
16988 #[serde(rename = "on")]
16989 On,
16990 #[serde(rename = "previous")]
16991 Previous,
16992 #[serde(rename = "toggle")]
16993 Toggle,
16994}
16995#[cfg_attr(feature = "debug", derive(Debug))]
16996#[cfg_attr(feature = "clone", derive(Clone))]
16997#[derive(Deserialize, PartialEq)]
16998pub enum Zigbee1745530p7Poweronbehavior {
16999 #[serde(rename = "off")]
17000 Off,
17001 #[serde(rename = "on")]
17002 On,
17003 #[serde(rename = "previous")]
17004 Previous,
17005 #[serde(rename = "toggle")]
17006 Toggle,
17007}
17008#[cfg_attr(feature = "debug", derive(Debug))]
17009#[cfg_attr(feature = "clone", derive(Clone))]
17010#[derive(Deserialize, PartialEq)]
17011pub enum Zigbee1745630p7Poweronbehavior {
17012 #[serde(rename = "off")]
17013 Off,
17014 #[serde(rename = "on")]
17015 On,
17016 #[serde(rename = "previous")]
17017 Previous,
17018 #[serde(rename = "toggle")]
17019 Toggle,
17020}
17021#[cfg_attr(feature = "debug", derive(Debug))]
17022#[cfg_attr(feature = "clone", derive(Clone))]
17023#[derive(Deserialize, PartialEq)]
17024pub enum Zigbee1745730v7Poweronbehavior {
17025 #[serde(rename = "off")]
17026 Off,
17027 #[serde(rename = "on")]
17028 On,
17029 #[serde(rename = "previous")]
17030 Previous,
17031 #[serde(rename = "toggle")]
17032 Toggle,
17033}
17034#[cfg_attr(feature = "debug", derive(Debug))]
17035#[cfg_attr(feature = "clone", derive(Clone))]
17036#[derive(Deserialize, PartialEq)]
17037pub enum Zigbee1745930p7Poweronbehavior {
17038 #[serde(rename = "off")]
17039 Off,
17040 #[serde(rename = "on")]
17041 On,
17042 #[serde(rename = "previous")]
17043 Previous,
17044 #[serde(rename = "toggle")]
17045 Toggle,
17046}
17047#[cfg_attr(feature = "debug", derive(Debug))]
17048#[cfg_attr(feature = "clone", derive(Clone))]
17049#[derive(Deserialize, PartialEq)]
17050pub enum Zigbee1746130p7Poweronbehavior {
17051 #[serde(rename = "off")]
17052 Off,
17053 #[serde(rename = "on")]
17054 On,
17055 #[serde(rename = "previous")]
17056 Previous,
17057 #[serde(rename = "toggle")]
17058 Toggle,
17059}
17060#[cfg_attr(feature = "debug", derive(Debug))]
17061#[cfg_attr(feature = "clone", derive(Clone))]
17062#[derive(Deserialize, PartialEq)]
17063pub enum Zigbee1746230v7Poweronbehavior {
17064 #[serde(rename = "off")]
17065 Off,
17066 #[serde(rename = "on")]
17067 On,
17068 #[serde(rename = "previous")]
17069 Previous,
17070 #[serde(rename = "toggle")]
17071 Toggle,
17072}
17073#[cfg_attr(feature = "debug", derive(Debug))]
17074#[cfg_attr(feature = "clone", derive(Clone))]
17075#[derive(Deserialize, PartialEq)]
17076pub enum Zigbee1746330p7Poweronbehavior {
17077 #[serde(rename = "off")]
17078 Off,
17079 #[serde(rename = "on")]
17080 On,
17081 #[serde(rename = "previous")]
17082 Previous,
17083 #[serde(rename = "toggle")]
17084 Toggle,
17085}
17086#[cfg_attr(feature = "debug", derive(Debug))]
17087#[cfg_attr(feature = "clone", derive(Clone))]
17088#[derive(Deserialize, PartialEq)]
17089pub enum Zigbee1746430p7Poweronbehavior {
17090 #[serde(rename = "off")]
17091 Off,
17092 #[serde(rename = "on")]
17093 On,
17094 #[serde(rename = "previous")]
17095 Previous,
17096 #[serde(rename = "toggle")]
17097 Toggle,
17098}
17099#[cfg_attr(feature = "debug", derive(Debug))]
17100#[cfg_attr(feature = "clone", derive(Clone))]
17101#[derive(Deserialize, PartialEq)]
17102pub enum Zigbee1746447p7Poweronbehavior {
17103 #[serde(rename = "off")]
17104 Off,
17105 #[serde(rename = "on")]
17106 On,
17107 #[serde(rename = "previous")]
17108 Previous,
17109 #[serde(rename = "toggle")]
17110 Toggle,
17111}
17112#[cfg_attr(feature = "debug", derive(Debug))]
17113#[cfg_attr(feature = "clone", derive(Clone))]
17114#[derive(Deserialize, PartialEq)]
17115pub enum Zigbee1746530p7Poweronbehavior {
17116 #[serde(rename = "off")]
17117 Off,
17118 #[serde(rename = "on")]
17119 On,
17120 #[serde(rename = "previous")]
17121 Previous,
17122 #[serde(rename = "toggle")]
17123 Toggle,
17124}
17125#[cfg_attr(feature = "debug", derive(Debug))]
17126#[cfg_attr(feature = "clone", derive(Clone))]
17127#[derive(Deserialize, PartialEq)]
17128pub enum Zigbee1746547p7Poweronbehavior {
17129 #[serde(rename = "off")]
17130 Off,
17131 #[serde(rename = "on")]
17132 On,
17133 #[serde(rename = "previous")]
17134 Previous,
17135 #[serde(rename = "toggle")]
17136 Toggle,
17137}
17138#[cfg_attr(feature = "debug", derive(Debug))]
17139#[cfg_attr(feature = "clone", derive(Clone))]
17140#[derive(Deserialize, PartialEq)]
17141pub enum Zigbee1746630p7Poweronbehavior {
17142 #[serde(rename = "off")]
17143 Off,
17144 #[serde(rename = "on")]
17145 On,
17146 #[serde(rename = "previous")]
17147 Previous,
17148 #[serde(rename = "toggle")]
17149 Toggle,
17150}
17151#[cfg_attr(feature = "debug", derive(Debug))]
17152#[cfg_attr(feature = "clone", derive(Clone))]
17153#[derive(Deserialize, PartialEq)]
17154pub enum Zigbee1746630v7Poweronbehavior {
17155 #[serde(rename = "off")]
17156 Off,
17157 #[serde(rename = "on")]
17158 On,
17159 #[serde(rename = "previous")]
17160 Previous,
17161 #[serde(rename = "toggle")]
17162 Toggle,
17163}
17164#[cfg_attr(feature = "debug", derive(Debug))]
17165#[cfg_attr(feature = "clone", derive(Clone))]
17166#[derive(Deserialize, PartialEq)]
17167pub enum Zigbee1746730v7Poweronbehavior {
17168 #[serde(rename = "off")]
17169 Off,
17170 #[serde(rename = "on")]
17171 On,
17172 #[serde(rename = "previous")]
17173 Previous,
17174 #[serde(rename = "toggle")]
17175 Toggle,
17176}
17177#[cfg_attr(feature = "debug", derive(Debug))]
17178#[cfg_attr(feature = "clone", derive(Clone))]
17179#[derive(Deserialize, PartialEq)]
17180pub enum Zigbee3115331phPoweronbehavior {
17181 #[serde(rename = "off")]
17182 Off,
17183 #[serde(rename = "on")]
17184 On,
17185 #[serde(rename = "previous")]
17186 Previous,
17187 #[serde(rename = "toggle")]
17188 Toggle,
17189}
17190#[cfg_attr(feature = "debug", derive(Debug))]
17191#[cfg_attr(feature = "clone", derive(Clone))]
17192#[derive(Deserialize, PartialEq)]
17193pub enum Zigbee3216131p5Poweronbehavior {
17194 #[serde(rename = "off")]
17195 Off,
17196 #[serde(rename = "on")]
17197 On,
17198 #[serde(rename = "previous")]
17199 Previous,
17200 #[serde(rename = "toggle")]
17201 Toggle,
17202}
17203#[cfg_attr(feature = "debug", derive(Debug))]
17204#[cfg_attr(feature = "clone", derive(Clone))]
17205#[derive(Deserialize, PartialEq)]
17206pub enum Zigbee3216131p6Poweronbehavior {
17207 #[serde(rename = "off")]
17208 Off,
17209 #[serde(rename = "on")]
17210 On,
17211 #[serde(rename = "previous")]
17212 Previous,
17213 #[serde(rename = "toggle")]
17214 Toggle,
17215}
17216#[cfg_attr(feature = "debug", derive(Debug))]
17217#[cfg_attr(feature = "clone", derive(Clone))]
17218#[derive(Deserialize, PartialEq)]
17219pub enum Zigbee3216231p5Poweronbehavior {
17220 #[serde(rename = "off")]
17221 Off,
17222 #[serde(rename = "on")]
17223 On,
17224 #[serde(rename = "previous")]
17225 Previous,
17226 #[serde(rename = "toggle")]
17227 Toggle,
17228}
17229#[cfg_attr(feature = "debug", derive(Debug))]
17230#[cfg_attr(feature = "clone", derive(Clone))]
17231#[derive(Deserialize, PartialEq)]
17232pub enum Zigbee3216231p6Poweronbehavior {
17233 #[serde(rename = "off")]
17234 Off,
17235 #[serde(rename = "on")]
17236 On,
17237 #[serde(rename = "previous")]
17238 Previous,
17239 #[serde(rename = "toggle")]
17240 Toggle,
17241}
17242#[cfg_attr(feature = "debug", derive(Debug))]
17243#[cfg_attr(feature = "clone", derive(Clone))]
17244#[derive(Deserialize, PartialEq)]
17245pub enum Zigbee3216331p5Poweronbehavior {
17246 #[serde(rename = "off")]
17247 Off,
17248 #[serde(rename = "on")]
17249 On,
17250 #[serde(rename = "previous")]
17251 Previous,
17252 #[serde(rename = "toggle")]
17253 Toggle,
17254}
17255#[cfg_attr(feature = "debug", derive(Debug))]
17256#[cfg_attr(feature = "clone", derive(Clone))]
17257#[derive(Deserialize, PartialEq)]
17258pub enum Zigbee3216331p6Poweronbehavior {
17259 #[serde(rename = "off")]
17260 Off,
17261 #[serde(rename = "on")]
17262 On,
17263 #[serde(rename = "previous")]
17264 Previous,
17265 #[serde(rename = "toggle")]
17266 Toggle,
17267}
17268#[cfg_attr(feature = "debug", derive(Debug))]
17269#[cfg_attr(feature = "clone", derive(Clone))]
17270#[derive(Deserialize, PartialEq)]
17271pub enum Zigbee3216431p5Poweronbehavior {
17272 #[serde(rename = "off")]
17273 Off,
17274 #[serde(rename = "on")]
17275 On,
17276 #[serde(rename = "previous")]
17277 Previous,
17278 #[serde(rename = "toggle")]
17279 Toggle,
17280}
17281#[cfg_attr(feature = "debug", derive(Debug))]
17282#[cfg_attr(feature = "clone", derive(Clone))]
17283#[derive(Deserialize, PartialEq)]
17284pub enum Zigbee3216431p6Poweronbehavior {
17285 #[serde(rename = "off")]
17286 Off,
17287 #[serde(rename = "on")]
17288 On,
17289 #[serde(rename = "previous")]
17290 Previous,
17291 #[serde(rename = "toggle")]
17292 Toggle,
17293}
17294#[cfg_attr(feature = "debug", derive(Debug))]
17295#[cfg_attr(feature = "clone", derive(Clone))]
17296#[derive(Deserialize, PartialEq)]
17297pub enum Zigbee324131092621Action {
17298 #[serde(rename = "down_hold")]
17299 DownHold,
17300 #[serde(rename = "down_hold_release")]
17301 DownHoldRelease,
17302 #[serde(rename = "down_press")]
17303 DownPress,
17304 #[serde(rename = "off_hold")]
17305 OffHold,
17306 #[serde(rename = "off_hold_release")]
17307 OffHoldRelease,
17308 #[serde(rename = "off_press")]
17309 OffPress,
17310 #[serde(rename = "on_hold")]
17311 OnHold,
17312 #[serde(rename = "on_hold_release")]
17313 OnHoldRelease,
17314 #[serde(rename = "on_press")]
17315 OnPress,
17316 #[serde(rename = "up_hold")]
17317 UpHold,
17318 #[serde(rename = "up_hold_release")]
17319 UpHoldRelease,
17320 #[serde(rename = "up_press")]
17321 UpPress,
17322}
17323#[cfg_attr(feature = "debug", derive(Debug))]
17324#[cfg_attr(feature = "clone", derive(Clone))]
17325#[derive(Deserialize, PartialEq)]
17326pub enum Zigbee3261030p6Poweronbehavior {
17327 #[serde(rename = "off")]
17328 Off,
17329 #[serde(rename = "on")]
17330 On,
17331 #[serde(rename = "previous")]
17332 Previous,
17333 #[serde(rename = "toggle")]
17334 Toggle,
17335}
17336#[cfg_attr(feature = "debug", derive(Debug))]
17337#[cfg_attr(feature = "clone", derive(Clone))]
17338#[derive(Deserialize, PartialEq)]
17339pub enum Zigbee3261030p7Poweronbehavior {
17340 #[serde(rename = "off")]
17341 Off,
17342 #[serde(rename = "on")]
17343 On,
17344 #[serde(rename = "previous")]
17345 Previous,
17346 #[serde(rename = "toggle")]
17347 Toggle,
17348}
17349#[cfg_attr(feature = "debug", derive(Debug))]
17350#[cfg_attr(feature = "clone", derive(Clone))]
17351#[derive(Deserialize, PartialEq)]
17352pub enum Zigbee3261031p6Poweronbehavior {
17353 #[serde(rename = "off")]
17354 Off,
17355 #[serde(rename = "on")]
17356 On,
17357 #[serde(rename = "previous")]
17358 Previous,
17359 #[serde(rename = "toggle")]
17360 Toggle,
17361}
17362#[cfg_attr(feature = "debug", derive(Debug))]
17363#[cfg_attr(feature = "clone", derive(Clone))]
17364#[derive(Deserialize, PartialEq)]
17365pub enum Zigbee3261048p6Poweronbehavior {
17366 #[serde(rename = "off")]
17367 Off,
17368 #[serde(rename = "on")]
17369 On,
17370 #[serde(rename = "previous")]
17371 Previous,
17372 #[serde(rename = "toggle")]
17373 Toggle,
17374}
17375#[cfg_attr(feature = "debug", derive(Debug))]
17376#[cfg_attr(feature = "clone", derive(Clone))]
17377#[derive(Deserialize, PartialEq)]
17378pub enum Zigbee3261330p6Poweronbehavior {
17379 #[serde(rename = "off")]
17380 Off,
17381 #[serde(rename = "on")]
17382 On,
17383 #[serde(rename = "previous")]
17384 Previous,
17385 #[serde(rename = "toggle")]
17386 Toggle,
17387}
17388#[cfg_attr(feature = "debug", derive(Debug))]
17389#[cfg_attr(feature = "clone", derive(Clone))]
17390#[derive(Deserialize, PartialEq)]
17391pub enum Zigbee3261331p6Poweronbehavior {
17392 #[serde(rename = "off")]
17393 Off,
17394 #[serde(rename = "on")]
17395 On,
17396 #[serde(rename = "previous")]
17397 Previous,
17398 #[serde(rename = "toggle")]
17399 Toggle,
17400}
17401#[cfg_attr(feature = "debug", derive(Debug))]
17402#[cfg_attr(feature = "clone", derive(Clone))]
17403#[derive(Deserialize, PartialEq)]
17404pub enum Zigbee3261331p7Poweronbehavior {
17405 #[serde(rename = "off")]
17406 Off,
17407 #[serde(rename = "on")]
17408 On,
17409 #[serde(rename = "previous")]
17410 Previous,
17411 #[serde(rename = "toggle")]
17412 Toggle,
17413}
17414#[cfg_attr(feature = "debug", derive(Debug))]
17415#[cfg_attr(feature = "clone", derive(Clone))]
17416#[derive(Deserialize, PartialEq)]
17417pub enum Zigbee3261348p6Poweronbehavior {
17418 #[serde(rename = "off")]
17419 Off,
17420 #[serde(rename = "on")]
17421 On,
17422 #[serde(rename = "previous")]
17423 Previous,
17424 #[serde(rename = "toggle")]
17425 Toggle,
17426}
17427#[cfg_attr(feature = "debug", derive(Debug))]
17428#[cfg_attr(feature = "clone", derive(Clone))]
17429#[derive(Deserialize, PartialEq)]
17430pub enum Zigbee3306431p7Poweronbehavior {
17431 #[serde(rename = "off")]
17432 Off,
17433 #[serde(rename = "on")]
17434 On,
17435 #[serde(rename = "previous")]
17436 Previous,
17437 #[serde(rename = "toggle")]
17438 Toggle,
17439}
17440#[cfg_attr(feature = "debug", derive(Debug))]
17441#[cfg_attr(feature = "clone", derive(Clone))]
17442#[derive(Deserialize, PartialEq)]
17443pub enum Zigbee33850000Poweronbehavior {
17444 #[serde(rename = "off")]
17445 Off,
17446 #[serde(rename = "on")]
17447 On,
17448 #[serde(rename = "previous")]
17449 Previous,
17450 #[serde(rename = "toggle")]
17451 Toggle,
17452}
17453#[cfg_attr(feature = "debug", derive(Debug))]
17454#[cfg_attr(feature = "clone", derive(Clone))]
17455#[derive(Deserialize, PartialEq)]
17456pub enum Zigbee3402831p7Poweronbehavior {
17457 #[serde(rename = "off")]
17458 Off,
17459 #[serde(rename = "on")]
17460 On,
17461 #[serde(rename = "previous")]
17462 Previous,
17463 #[serde(rename = "toggle")]
17464 Toggle,
17465}
17466#[cfg_attr(feature = "debug", derive(Debug))]
17467#[cfg_attr(feature = "clone", derive(Clone))]
17468#[derive(Deserialize, PartialEq)]
17469pub enum Zigbee3417511p9Poweronbehavior {
17470 #[serde(rename = "off")]
17471 Off,
17472 #[serde(rename = "on")]
17473 On,
17474 #[serde(rename = "previous")]
17475 Previous,
17476 #[serde(rename = "toggle")]
17477 Toggle,
17478}
17479#[cfg_attr(feature = "debug", derive(Debug))]
17480#[cfg_attr(feature = "clone", derive(Clone))]
17481#[derive(Deserialize, PartialEq)]
17482pub enum Zigbee3417711p6Poweronbehavior {
17483 #[serde(rename = "off")]
17484 Off,
17485 #[serde(rename = "on")]
17486 On,
17487 #[serde(rename = "previous")]
17488 Previous,
17489 #[serde(rename = "toggle")]
17490 Toggle,
17491}
17492#[cfg_attr(feature = "debug", derive(Debug))]
17493#[cfg_attr(feature = "clone", derive(Clone))]
17494#[derive(Deserialize, PartialEq)]
17495pub enum Zigbee3417831p6Poweronbehavior {
17496 #[serde(rename = "off")]
17497 Off,
17498 #[serde(rename = "on")]
17499 On,
17500 #[serde(rename = "previous")]
17501 Previous,
17502 #[serde(rename = "toggle")]
17503 Toggle,
17504}
17505#[cfg_attr(feature = "debug", derive(Debug))]
17506#[cfg_attr(feature = "clone", derive(Clone))]
17507#[derive(Deserialize, PartialEq)]
17508pub enum Zigbee3417931p6Poweronbehavior {
17509 #[serde(rename = "off")]
17510 Off,
17511 #[serde(rename = "on")]
17512 On,
17513 #[serde(rename = "previous")]
17514 Previous,
17515 #[serde(rename = "toggle")]
17516 Toggle,
17517}
17518#[cfg_attr(feature = "debug", derive(Debug))]
17519#[cfg_attr(feature = "clone", derive(Clone))]
17520#[derive(Deserialize, PartialEq)]
17521pub enum Zigbee3418031p6Poweronbehavior {
17522 #[serde(rename = "off")]
17523 Off,
17524 #[serde(rename = "on")]
17525 On,
17526 #[serde(rename = "previous")]
17527 Previous,
17528 #[serde(rename = "toggle")]
17529 Toggle,
17530}
17531#[cfg_attr(feature = "debug", derive(Debug))]
17532#[cfg_attr(feature = "clone", derive(Clone))]
17533#[derive(Deserialize, PartialEq)]
17534pub enum Zigbee3418131p6Poweronbehavior {
17535 #[serde(rename = "off")]
17536 Off,
17537 #[serde(rename = "on")]
17538 On,
17539 #[serde(rename = "previous")]
17540 Previous,
17541 #[serde(rename = "toggle")]
17542 Toggle,
17543}
17544#[cfg_attr(feature = "debug", derive(Debug))]
17545#[cfg_attr(feature = "clone", derive(Clone))]
17546#[derive(Deserialize, PartialEq)]
17547pub enum Zigbee3418331p6Poweronbehavior {
17548 #[serde(rename = "off")]
17549 Off,
17550 #[serde(rename = "on")]
17551 On,
17552 #[serde(rename = "previous")]
17553 Previous,
17554 #[serde(rename = "toggle")]
17555 Toggle,
17556}
17557#[cfg_attr(feature = "debug", derive(Debug))]
17558#[cfg_attr(feature = "clone", derive(Clone))]
17559#[derive(Deserialize, PartialEq)]
17560pub enum Zigbee3418411p6Poweronbehavior {
17561 #[serde(rename = "off")]
17562 Off,
17563 #[serde(rename = "on")]
17564 On,
17565 #[serde(rename = "previous")]
17566 Previous,
17567 #[serde(rename = "toggle")]
17568 Toggle,
17569}
17570#[cfg_attr(feature = "debug", derive(Debug))]
17571#[cfg_attr(feature = "clone", derive(Clone))]
17572#[derive(Deserialize, PartialEq)]
17573pub enum Zigbee3418631p6Poweronbehavior {
17574 #[serde(rename = "off")]
17575 Off,
17576 #[serde(rename = "on")]
17577 On,
17578 #[serde(rename = "previous")]
17579 Previous,
17580 #[serde(rename = "toggle")]
17581 Toggle,
17582}
17583#[cfg_attr(feature = "debug", derive(Debug))]
17584#[cfg_attr(feature = "clone", derive(Clone))]
17585#[derive(Deserialize, PartialEq)]
17586pub enum Zigbee3418931p6Poweronbehavior {
17587 #[serde(rename = "off")]
17588 Off,
17589 #[serde(rename = "on")]
17590 On,
17591 #[serde(rename = "previous")]
17592 Previous,
17593 #[serde(rename = "toggle")]
17594 Toggle,
17595}
17596#[cfg_attr(feature = "debug", derive(Debug))]
17597#[cfg_attr(feature = "clone", derive(Clone))]
17598#[derive(Deserialize, PartialEq)]
17599pub enum Zigbee3435011p7Poweronbehavior {
17600 #[serde(rename = "off")]
17601 Off,
17602 #[serde(rename = "on")]
17603 On,
17604 #[serde(rename = "previous")]
17605 Previous,
17606 #[serde(rename = "toggle")]
17607 Toggle,
17608}
17609#[cfg_attr(feature = "debug", derive(Debug))]
17610#[cfg_attr(feature = "clone", derive(Clone))]
17611#[derive(Deserialize, PartialEq)]
17612pub enum Zigbee3435731p7Poweronbehavior {
17613 #[serde(rename = "off")]
17614 Off,
17615 #[serde(rename = "on")]
17616 On,
17617 #[serde(rename = "previous")]
17618 Previous,
17619 #[serde(rename = "toggle")]
17620 Toggle,
17621}
17622#[cfg_attr(feature = "debug", derive(Debug))]
17623#[cfg_attr(feature = "clone", derive(Clone))]
17624#[derive(Deserialize, PartialEq)]
17625pub enum Zigbee4023330p6Poweronbehavior {
17626 #[serde(rename = "off")]
17627 Off,
17628 #[serde(rename = "on")]
17629 On,
17630 #[serde(rename = "previous")]
17631 Previous,
17632 #[serde(rename = "toggle")]
17633 Toggle,
17634}
17635#[cfg_attr(feature = "debug", derive(Debug))]
17636#[cfg_attr(feature = "clone", derive(Clone))]
17637#[derive(Deserialize, PartialEq)]
17638pub enum Zigbee4023330p7Poweronbehavior {
17639 #[serde(rename = "off")]
17640 Off,
17641 #[serde(rename = "on")]
17642 On,
17643 #[serde(rename = "previous")]
17644 Previous,
17645 #[serde(rename = "toggle")]
17646 Toggle,
17647}
17648#[cfg_attr(feature = "debug", derive(Debug))]
17649#[cfg_attr(feature = "clone", derive(Clone))]
17650#[derive(Deserialize, PartialEq)]
17651pub enum Zigbee4023331p6Poweronbehavior {
17652 #[serde(rename = "off")]
17653 Off,
17654 #[serde(rename = "on")]
17655 On,
17656 #[serde(rename = "previous")]
17657 Previous,
17658 #[serde(rename = "toggle")]
17659 Toggle,
17660}
17661#[cfg_attr(feature = "debug", derive(Debug))]
17662#[cfg_attr(feature = "clone", derive(Clone))]
17663#[derive(Deserialize, PartialEq)]
17664pub enum Zigbee4033930p6Poweronbehavior {
17665 #[serde(rename = "off")]
17666 Off,
17667 #[serde(rename = "on")]
17668 On,
17669 #[serde(rename = "previous")]
17670 Previous,
17671 #[serde(rename = "toggle")]
17672 Toggle,
17673}
17674#[cfg_attr(feature = "debug", derive(Debug))]
17675#[cfg_attr(feature = "clone", derive(Clone))]
17676#[derive(Deserialize, PartialEq)]
17677pub enum Zigbee4033930p7Poweronbehavior {
17678 #[serde(rename = "off")]
17679 Off,
17680 #[serde(rename = "on")]
17681 On,
17682 #[serde(rename = "previous")]
17683 Previous,
17684 #[serde(rename = "toggle")]
17685 Toggle,
17686}
17687#[cfg_attr(feature = "debug", derive(Debug))]
17688#[cfg_attr(feature = "clone", derive(Clone))]
17689#[derive(Deserialize, PartialEq)]
17690pub enum Zigbee4034030p6Poweronbehavior {
17691 #[serde(rename = "off")]
17692 Off,
17693 #[serde(rename = "on")]
17694 On,
17695 #[serde(rename = "previous")]
17696 Previous,
17697 #[serde(rename = "toggle")]
17698 Toggle,
17699}
17700#[cfg_attr(feature = "debug", derive(Debug))]
17701#[cfg_attr(feature = "clone", derive(Clone))]
17702#[derive(Deserialize, PartialEq)]
17703pub enum Zigbee4034031p6Poweronbehavior {
17704 #[serde(rename = "off")]
17705 Off,
17706 #[serde(rename = "on")]
17707 On,
17708 #[serde(rename = "previous")]
17709 Previous,
17710 #[serde(rename = "toggle")]
17711 Toggle,
17712}
17713#[cfg_attr(feature = "debug", derive(Debug))]
17714#[cfg_attr(feature = "clone", derive(Clone))]
17715#[derive(Deserialize, PartialEq)]
17716pub enum Zigbee4034031p7Poweronbehavior {
17717 #[serde(rename = "off")]
17718 Off,
17719 #[serde(rename = "on")]
17720 On,
17721 #[serde(rename = "previous")]
17722 Previous,
17723 #[serde(rename = "toggle")]
17724 Toggle,
17725}
17726#[cfg_attr(feature = "debug", derive(Debug))]
17727#[cfg_attr(feature = "clone", derive(Clone))]
17728#[derive(Deserialize, PartialEq)]
17729pub enum Zigbee4076130p6Poweronbehavior {
17730 #[serde(rename = "off")]
17731 Off,
17732 #[serde(rename = "on")]
17733 On,
17734 #[serde(rename = "previous")]
17735 Previous,
17736 #[serde(rename = "toggle")]
17737 Toggle,
17738}
17739#[cfg_attr(feature = "debug", derive(Debug))]
17740#[cfg_attr(feature = "clone", derive(Clone))]
17741#[derive(Deserialize, PartialEq)]
17742pub enum Zigbee4076131p6Poweronbehavior {
17743 #[serde(rename = "off")]
17744 Off,
17745 #[serde(rename = "on")]
17746 On,
17747 #[serde(rename = "previous")]
17748 Previous,
17749 #[serde(rename = "toggle")]
17750 Toggle,
17751}
17752#[cfg_attr(feature = "debug", derive(Debug))]
17753#[cfg_attr(feature = "clone", derive(Clone))]
17754#[derive(Deserialize, PartialEq)]
17755pub enum Zigbee4080148p7Poweronbehavior {
17756 #[serde(rename = "off")]
17757 Off,
17758 #[serde(rename = "on")]
17759 On,
17760 #[serde(rename = "previous")]
17761 Previous,
17762 #[serde(rename = "toggle")]
17763 Toggle,
17764}
17765#[cfg_attr(feature = "debug", derive(Debug))]
17766#[cfg_attr(feature = "clone", derive(Clone))]
17767#[derive(Deserialize, PartialEq)]
17768pub enum Zigbee4080148p9Poweronbehavior {
17769 #[serde(rename = "off")]
17770 Off,
17771 #[serde(rename = "on")]
17772 On,
17773 #[serde(rename = "previous")]
17774 Previous,
17775 #[serde(rename = "toggle")]
17776 Toggle,
17777}
17778#[cfg_attr(feature = "debug", derive(Debug))]
17779#[cfg_attr(feature = "clone", derive(Clone))]
17780#[derive(Deserialize, PartialEq)]
17781pub enum Zigbee4080148u9Poweronbehavior {
17782 #[serde(rename = "off")]
17783 Off,
17784 #[serde(rename = "on")]
17785 On,
17786 #[serde(rename = "previous")]
17787 Previous,
17788 #[serde(rename = "toggle")]
17789 Toggle,
17790}
17791#[cfg_attr(feature = "debug", derive(Debug))]
17792#[cfg_attr(feature = "clone", derive(Clone))]
17793#[derive(Deserialize, PartialEq)]
17794pub enum Zigbee4080248p7Poweronbehavior {
17795 #[serde(rename = "off")]
17796 Off,
17797 #[serde(rename = "on")]
17798 On,
17799 #[serde(rename = "previous")]
17800 Previous,
17801 #[serde(rename = "toggle")]
17802 Toggle,
17803}
17804#[cfg_attr(feature = "debug", derive(Debug))]
17805#[cfg_attr(feature = "clone", derive(Clone))]
17806#[derive(Deserialize, PartialEq)]
17807pub enum Zigbee4080248p9Poweronbehavior {
17808 #[serde(rename = "off")]
17809 Off,
17810 #[serde(rename = "on")]
17811 On,
17812 #[serde(rename = "previous")]
17813 Previous,
17814 #[serde(rename = "toggle")]
17815 Toggle,
17816}
17817#[cfg_attr(feature = "debug", derive(Debug))]
17818#[cfg_attr(feature = "clone", derive(Clone))]
17819#[derive(Deserialize, PartialEq)]
17820pub enum Zigbee4080248u9Poweronbehavior {
17821 #[serde(rename = "off")]
17822 Off,
17823 #[serde(rename = "on")]
17824 On,
17825 #[serde(rename = "previous")]
17826 Previous,
17827 #[serde(rename = "toggle")]
17828 Toggle,
17829}
17830#[cfg_attr(feature = "debug", derive(Debug))]
17831#[cfg_attr(feature = "clone", derive(Clone))]
17832#[derive(Deserialize, PartialEq)]
17833pub enum Zigbee4090130p7Poweronbehavior {
17834 #[serde(rename = "off")]
17835 Off,
17836 #[serde(rename = "on")]
17837 On,
17838 #[serde(rename = "previous")]
17839 Previous,
17840 #[serde(rename = "toggle")]
17841 Toggle,
17842}
17843#[cfg_attr(feature = "debug", derive(Debug))]
17844#[cfg_attr(feature = "clone", derive(Clone))]
17845#[derive(Deserialize, PartialEq)]
17846pub enum Zigbee4090130p9Poweronbehavior {
17847 #[serde(rename = "off")]
17848 Off,
17849 #[serde(rename = "on")]
17850 On,
17851 #[serde(rename = "previous")]
17852 Previous,
17853 #[serde(rename = "toggle")]
17854 Toggle,
17855}
17856#[cfg_attr(feature = "debug", derive(Debug))]
17857#[cfg_attr(feature = "clone", derive(Clone))]
17858#[derive(Deserialize, PartialEq)]
17859pub enum Zigbee4090230p9Poweronbehavior {
17860 #[serde(rename = "off")]
17861 Off,
17862 #[serde(rename = "on")]
17863 On,
17864 #[serde(rename = "previous")]
17865 Previous,
17866 #[serde(rename = "toggle")]
17867 Toggle,
17868}
17869#[cfg_attr(feature = "debug", derive(Debug))]
17870#[cfg_attr(feature = "clone", derive(Clone))]
17871#[derive(Deserialize, PartialEq)]
17872pub enum Zigbee4090231p9Poweronbehavior {
17873 #[serde(rename = "off")]
17874 Off,
17875 #[serde(rename = "on")]
17876 On,
17877 #[serde(rename = "previous")]
17878 Previous,
17879 #[serde(rename = "toggle")]
17880 Toggle,
17881}
17882#[cfg_attr(feature = "debug", derive(Debug))]
17883#[cfg_attr(feature = "clone", derive(Clone))]
17884#[derive(Deserialize, PartialEq)]
17885pub enum Zigbee4090330p9Poweronbehavior {
17886 #[serde(rename = "off")]
17887 Off,
17888 #[serde(rename = "on")]
17889 On,
17890 #[serde(rename = "previous")]
17891 Previous,
17892 #[serde(rename = "toggle")]
17893 Toggle,
17894}
17895#[cfg_attr(feature = "debug", derive(Debug))]
17896#[cfg_attr(feature = "clone", derive(Clone))]
17897#[derive(Deserialize, PartialEq)]
17898pub enum Zigbee4090331p9Poweronbehavior {
17899 #[serde(rename = "off")]
17900 Off,
17901 #[serde(rename = "on")]
17902 On,
17903 #[serde(rename = "previous")]
17904 Previous,
17905 #[serde(rename = "toggle")]
17906 Toggle,
17907}
17908#[cfg_attr(feature = "debug", derive(Debug))]
17909#[cfg_attr(feature = "clone", derive(Clone))]
17910#[derive(Deserialize, PartialEq)]
17911pub enum Zigbee4090431p9Poweronbehavior {
17912 #[serde(rename = "off")]
17913 Off,
17914 #[serde(rename = "on")]
17915 On,
17916 #[serde(rename = "previous")]
17917 Previous,
17918 #[serde(rename = "toggle")]
17919 Toggle,
17920}
17921#[cfg_attr(feature = "debug", derive(Debug))]
17922#[cfg_attr(feature = "clone", derive(Clone))]
17923#[derive(Deserialize, PartialEq)]
17924pub enum Zigbee4090531p7Poweronbehavior {
17925 #[serde(rename = "off")]
17926 Off,
17927 #[serde(rename = "on")]
17928 On,
17929 #[serde(rename = "previous")]
17930 Previous,
17931 #[serde(rename = "toggle")]
17932 Toggle,
17933}
17934#[cfg_attr(feature = "debug", derive(Debug))]
17935#[cfg_attr(feature = "clone", derive(Clone))]
17936#[derive(Deserialize, PartialEq)]
17937pub enum Zigbee4090531p9Poweronbehavior {
17938 #[serde(rename = "off")]
17939 Off,
17940 #[serde(rename = "on")]
17941 On,
17942 #[serde(rename = "previous")]
17943 Previous,
17944 #[serde(rename = "toggle")]
17945 Toggle,
17946}
17947#[cfg_attr(feature = "debug", derive(Debug))]
17948#[cfg_attr(feature = "clone", derive(Clone))]
17949#[derive(Deserialize, PartialEq)]
17950pub enum Zigbee4090631p7Poweronbehavior {
17951 #[serde(rename = "off")]
17952 Off,
17953 #[serde(rename = "on")]
17954 On,
17955 #[serde(rename = "previous")]
17956 Previous,
17957 #[serde(rename = "toggle")]
17958 Toggle,
17959}
17960#[cfg_attr(feature = "debug", derive(Debug))]
17961#[cfg_attr(feature = "clone", derive(Clone))]
17962#[derive(Deserialize, PartialEq)]
17963pub enum Zigbee4090631p9Poweronbehavior {
17964 #[serde(rename = "off")]
17965 Off,
17966 #[serde(rename = "on")]
17967 On,
17968 #[serde(rename = "previous")]
17969 Previous,
17970 #[serde(rename = "toggle")]
17971 Toggle,
17972}
17973#[cfg_attr(feature = "debug", derive(Debug))]
17974#[cfg_attr(feature = "clone", derive(Clone))]
17975#[derive(Deserialize, PartialEq)]
17976pub enum Zigbee4096730p6Poweronbehavior {
17977 #[serde(rename = "off")]
17978 Off,
17979 #[serde(rename = "on")]
17980 On,
17981 #[serde(rename = "previous")]
17982 Previous,
17983 #[serde(rename = "toggle")]
17984 Toggle,
17985}
17986#[cfg_attr(feature = "debug", derive(Debug))]
17987#[cfg_attr(feature = "clone", derive(Clone))]
17988#[derive(Deserialize, PartialEq)]
17989pub enum Zigbee4096730u7Poweronbehavior {
17990 #[serde(rename = "off")]
17991 Off,
17992 #[serde(rename = "on")]
17993 On,
17994 #[serde(rename = "previous")]
17995 Previous,
17996 #[serde(rename = "toggle")]
17997 Toggle,
17998}
17999#[cfg_attr(feature = "debug", derive(Debug))]
18000#[cfg_attr(feature = "clone", derive(Clone))]
18001#[derive(Deserialize, PartialEq)]
18002pub enum Zigbee4098430p7Poweronbehavior {
18003 #[serde(rename = "off")]
18004 Off,
18005 #[serde(rename = "on")]
18006 On,
18007 #[serde(rename = "previous")]
18008 Previous,
18009 #[serde(rename = "toggle")]
18010 Toggle,
18011}
18012#[cfg_attr(feature = "debug", derive(Debug))]
18013#[cfg_attr(feature = "clone", derive(Clone))]
18014#[derive(Deserialize, PartialEq)]
18015pub enum Zigbee4100448u9Poweronbehavior {
18016 #[serde(rename = "off")]
18017 Off,
18018 #[serde(rename = "on")]
18019 On,
18020 #[serde(rename = "previous")]
18021 Previous,
18022 #[serde(rename = "toggle")]
18023 Toggle,
18024}
18025#[cfg_attr(feature = "debug", derive(Debug))]
18026#[cfg_attr(feature = "clone", derive(Clone))]
18027#[derive(Deserialize, PartialEq)]
18028pub enum Zigbee433714Poweronbehavior {
18029 #[serde(rename = "off")]
18030 Off,
18031 #[serde(rename = "on")]
18032 On,
18033 #[serde(rename = "previous")]
18034 Previous,
18035 #[serde(rename = "toggle")]
18036 Toggle,
18037}
18038#[cfg_attr(feature = "debug", derive(Debug))]
18039#[cfg_attr(feature = "clone", derive(Clone))]
18040#[derive(Deserialize, PartialEq)]
18041pub enum Zigbee4503748c6Poweronbehavior {
18042 #[serde(rename = "off")]
18043 Off,
18044 #[serde(rename = "on")]
18045 On,
18046 #[serde(rename = "previous")]
18047 Previous,
18048 #[serde(rename = "toggle")]
18049 Toggle,
18050}
18051#[cfg_attr(feature = "debug", derive(Debug))]
18052#[cfg_attr(feature = "clone", derive(Clone))]
18053#[derive(Deserialize, PartialEq)]
18054pub enum Zigbee4503848c5Poweronbehavior {
18055 #[serde(rename = "off")]
18056 Off,
18057 #[serde(rename = "on")]
18058 On,
18059 #[serde(rename = "previous")]
18060 Previous,
18061 #[serde(rename = "toggle")]
18062 Toggle,
18063}
18064#[cfg_attr(feature = "debug", derive(Debug))]
18065#[cfg_attr(feature = "clone", derive(Clone))]
18066#[derive(Deserialize, PartialEq)]
18067pub enum Zigbee4505748c5Poweronbehavior {
18068 #[serde(rename = "off")]
18069 Off,
18070 #[serde(rename = "on")]
18071 On,
18072 #[serde(rename = "previous")]
18073 Previous,
18074 #[serde(rename = "toggle")]
18075 Toggle,
18076}
18077#[cfg_attr(feature = "debug", derive(Debug))]
18078#[cfg_attr(feature = "clone", derive(Clone))]
18079#[derive(Deserialize, PartialEq)]
18080pub enum Zigbee4507748c5Poweronbehavior {
18081 #[serde(rename = "off")]
18082 Off,
18083 #[serde(rename = "on")]
18084 On,
18085 #[serde(rename = "previous")]
18086 Previous,
18087 #[serde(rename = "toggle")]
18088 Toggle,
18089}
18090#[cfg_attr(feature = "debug", derive(Debug))]
18091#[cfg_attr(feature = "clone", derive(Clone))]
18092#[derive(Deserialize, PartialEq)]
18093pub enum Zigbee464800Poweronbehavior {
18094 #[serde(rename = "off")]
18095 Off,
18096 #[serde(rename = "on")]
18097 On,
18098 #[serde(rename = "previous")]
18099 Previous,
18100 #[serde(rename = "toggle")]
18101 Toggle,
18102}
18103#[cfg_attr(feature = "debug", derive(Debug))]
18104#[cfg_attr(feature = "clone", derive(Clone))]
18105#[derive(Deserialize, PartialEq)]
18106pub enum Zigbee5041131p9Poweronbehavior {
18107 #[serde(rename = "off")]
18108 Off,
18109 #[serde(rename = "on")]
18110 On,
18111 #[serde(rename = "previous")]
18112 Previous,
18113 #[serde(rename = "toggle")]
18114 Toggle,
18115}
18116#[cfg_attr(feature = "debug", derive(Debug))]
18117#[cfg_attr(feature = "clone", derive(Clone))]
18118#[derive(Deserialize, PartialEq)]
18119pub enum Zigbee5042131p9Poweronbehavior {
18120 #[serde(rename = "off")]
18121 Off,
18122 #[serde(rename = "on")]
18123 On,
18124 #[serde(rename = "previous")]
18125 Previous,
18126 #[serde(rename = "toggle")]
18127 Toggle,
18128}
18129#[cfg_attr(feature = "debug", derive(Debug))]
18130#[cfg_attr(feature = "clone", derive(Clone))]
18131#[derive(Deserialize, PartialEq)]
18132pub enum Zigbee5045131p7Poweronbehavior {
18133 #[serde(rename = "off")]
18134 Off,
18135 #[serde(rename = "on")]
18136 On,
18137 #[serde(rename = "previous")]
18138 Previous,
18139 #[serde(rename = "toggle")]
18140 Toggle,
18141}
18142#[cfg_attr(feature = "debug", derive(Debug))]
18143#[cfg_attr(feature = "clone", derive(Clone))]
18144#[derive(Deserialize, PartialEq)]
18145pub enum Zigbee5045148p7Poweronbehavior {
18146 #[serde(rename = "off")]
18147 Off,
18148 #[serde(rename = "on")]
18149 On,
18150 #[serde(rename = "previous")]
18151 Previous,
18152 #[serde(rename = "toggle")]
18153 Toggle,
18154}
18155#[cfg_attr(feature = "debug", derive(Debug))]
18156#[cfg_attr(feature = "clone", derive(Clone))]
18157#[derive(Deserialize, PartialEq)]
18158pub enum Zigbee5047130p6Poweronbehavior {
18159 #[serde(rename = "off")]
18160 Off,
18161 #[serde(rename = "on")]
18162 On,
18163 #[serde(rename = "previous")]
18164 Previous,
18165 #[serde(rename = "toggle")]
18166 Toggle,
18167}
18168#[cfg_attr(feature = "debug", derive(Debug))]
18169#[cfg_attr(feature = "clone", derive(Clone))]
18170#[derive(Deserialize, PartialEq)]
18171pub enum Zigbee5047130p9Poweronbehavior {
18172 #[serde(rename = "off")]
18173 Off,
18174 #[serde(rename = "on")]
18175 On,
18176 #[serde(rename = "previous")]
18177 Previous,
18178 #[serde(rename = "toggle")]
18179 Toggle,
18180}
18181#[cfg_attr(feature = "debug", derive(Debug))]
18182#[cfg_attr(feature = "clone", derive(Clone))]
18183#[derive(Deserialize, PartialEq)]
18184pub enum Zigbee5047131p8Poweronbehavior {
18185 #[serde(rename = "off")]
18186 Off,
18187 #[serde(rename = "on")]
18188 On,
18189 #[serde(rename = "previous")]
18190 Previous,
18191 #[serde(rename = "toggle")]
18192 Toggle,
18193}
18194#[cfg_attr(feature = "debug", derive(Debug))]
18195#[cfg_attr(feature = "clone", derive(Clone))]
18196#[derive(Deserialize, PartialEq)]
18197pub enum Zigbee5047131p9Poweronbehavior {
18198 #[serde(rename = "off")]
18199 Off,
18200 #[serde(rename = "on")]
18201 On,
18202 #[serde(rename = "previous")]
18203 Previous,
18204 #[serde(rename = "toggle")]
18205 Toggle,
18206}
18207#[cfg_attr(feature = "debug", derive(Debug))]
18208#[cfg_attr(feature = "clone", derive(Clone))]
18209#[derive(Deserialize, PartialEq)]
18210pub enum Zigbee5047230p6Poweronbehavior {
18211 #[serde(rename = "off")]
18212 Off,
18213 #[serde(rename = "on")]
18214 On,
18215 #[serde(rename = "previous")]
18216 Previous,
18217 #[serde(rename = "toggle")]
18218 Toggle,
18219}
18220#[cfg_attr(feature = "debug", derive(Debug))]
18221#[cfg_attr(feature = "clone", derive(Clone))]
18222#[derive(Deserialize, PartialEq)]
18223pub enum Zigbee5047231p6Poweronbehavior {
18224 #[serde(rename = "off")]
18225 Off,
18226 #[serde(rename = "on")]
18227 On,
18228 #[serde(rename = "previous")]
18229 Previous,
18230 #[serde(rename = "toggle")]
18231 Toggle,
18232}
18233#[cfg_attr(feature = "debug", derive(Debug))]
18234#[cfg_attr(feature = "clone", derive(Clone))]
18235#[derive(Deserialize, PartialEq)]
18236pub enum Zigbee5047331p6Poweronbehavior {
18237 #[serde(rename = "off")]
18238 Off,
18239 #[serde(rename = "on")]
18240 On,
18241 #[serde(rename = "previous")]
18242 Previous,
18243 #[serde(rename = "toggle")]
18244 Toggle,
18245}
18246#[cfg_attr(feature = "debug", derive(Debug))]
18247#[cfg_attr(feature = "clone", derive(Clone))]
18248#[derive(Deserialize, PartialEq)]
18249pub enum Zigbee5047430p6Poweronbehavior {
18250 #[serde(rename = "off")]
18251 Off,
18252 #[serde(rename = "on")]
18253 On,
18254 #[serde(rename = "previous")]
18255 Previous,
18256 #[serde(rename = "toggle")]
18257 Toggle,
18258}
18259#[cfg_attr(feature = "debug", derive(Debug))]
18260#[cfg_attr(feature = "clone", derive(Clone))]
18261#[derive(Deserialize, PartialEq)]
18262pub enum Zigbee5055131p7Poweronbehavior {
18263 #[serde(rename = "off")]
18264 Off,
18265 #[serde(rename = "on")]
18266 On,
18267 #[serde(rename = "previous")]
18268 Previous,
18269 #[serde(rename = "toggle")]
18270 Toggle,
18271}
18272#[cfg_attr(feature = "debug", derive(Debug))]
18273#[cfg_attr(feature = "clone", derive(Clone))]
18274#[derive(Deserialize, PartialEq)]
18275pub enum Zigbee5055148p7Poweronbehavior {
18276 #[serde(rename = "off")]
18277 Off,
18278 #[serde(rename = "on")]
18279 On,
18280 #[serde(rename = "previous")]
18281 Previous,
18282 #[serde(rename = "toggle")]
18283 Toggle,
18284}
18285#[cfg_attr(feature = "debug", derive(Debug))]
18286#[cfg_attr(feature = "clone", derive(Clone))]
18287#[derive(Deserialize, PartialEq)]
18288pub enum Zigbee5060730p7Poweronbehavior {
18289 #[serde(rename = "off")]
18290 Off,
18291 #[serde(rename = "on")]
18292 On,
18293 #[serde(rename = "previous")]
18294 Previous,
18295 #[serde(rename = "toggle")]
18296 Toggle,
18297}
18298#[cfg_attr(feature = "debug", derive(Debug))]
18299#[cfg_attr(feature = "clone", derive(Clone))]
18300#[derive(Deserialize, PartialEq)]
18301pub enum Zigbee5060731p7Poweronbehavior {
18302 #[serde(rename = "off")]
18303 Off,
18304 #[serde(rename = "on")]
18305 On,
18306 #[serde(rename = "previous")]
18307 Previous,
18308 #[serde(rename = "toggle")]
18309 Toggle,
18310}
18311#[cfg_attr(feature = "debug", derive(Debug))]
18312#[cfg_attr(feature = "clone", derive(Clone))]
18313#[derive(Deserialize, PartialEq)]
18314pub enum Zigbee5060830p7Poweronbehavior {
18315 #[serde(rename = "off")]
18316 Off,
18317 #[serde(rename = "on")]
18318 On,
18319 #[serde(rename = "previous")]
18320 Previous,
18321 #[serde(rename = "toggle")]
18322 Toggle,
18323}
18324#[cfg_attr(feature = "debug", derive(Debug))]
18325#[cfg_attr(feature = "clone", derive(Clone))]
18326#[derive(Deserialize, PartialEq)]
18327pub enum Zigbee5060831p7Poweronbehavior {
18328 #[serde(rename = "off")]
18329 Off,
18330 #[serde(rename = "on")]
18331 On,
18332 #[serde(rename = "previous")]
18333 Previous,
18334 #[serde(rename = "toggle")]
18335 Toggle,
18336}
18337#[cfg_attr(feature = "debug", derive(Debug))]
18338#[cfg_attr(feature = "clone", derive(Clone))]
18339#[derive(Deserialize, PartialEq)]
18340pub enum Zigbee5060930p7Poweronbehavior {
18341 #[serde(rename = "off")]
18342 Off,
18343 #[serde(rename = "on")]
18344 On,
18345 #[serde(rename = "previous")]
18346 Previous,
18347 #[serde(rename = "toggle")]
18348 Toggle,
18349}
18350#[cfg_attr(feature = "debug", derive(Debug))]
18351#[cfg_attr(feature = "clone", derive(Clone))]
18352#[derive(Deserialize, PartialEq)]
18353pub enum Zigbee5060931p7Poweronbehavior {
18354 #[serde(rename = "off")]
18355 Off,
18356 #[serde(rename = "on")]
18357 On,
18358 #[serde(rename = "previous")]
18359 Previous,
18360 #[serde(rename = "toggle")]
18361 Toggle,
18362}
18363#[cfg_attr(feature = "debug", derive(Debug))]
18364#[cfg_attr(feature = "clone", derive(Clone))]
18365#[derive(Deserialize, PartialEq)]
18366pub enum Zigbee5061030p7Poweronbehavior {
18367 #[serde(rename = "off")]
18368 Off,
18369 #[serde(rename = "on")]
18370 On,
18371 #[serde(rename = "previous")]
18372 Previous,
18373 #[serde(rename = "toggle")]
18374 Toggle,
18375}
18376#[cfg_attr(feature = "debug", derive(Debug))]
18377#[cfg_attr(feature = "clone", derive(Clone))]
18378#[derive(Deserialize, PartialEq)]
18379pub enum Zigbee5061031p7Poweronbehavior {
18380 #[serde(rename = "off")]
18381 Off,
18382 #[serde(rename = "on")]
18383 On,
18384 #[serde(rename = "previous")]
18385 Previous,
18386 #[serde(rename = "toggle")]
18387 Toggle,
18388}
18389#[cfg_attr(feature = "debug", derive(Debug))]
18390#[cfg_attr(feature = "clone", derive(Clone))]
18391#[derive(Deserialize, PartialEq)]
18392pub enum Zigbee5062131p7Poweronbehavior {
18393 #[serde(rename = "off")]
18394 Off,
18395 #[serde(rename = "on")]
18396 On,
18397 #[serde(rename = "previous")]
18398 Previous,
18399 #[serde(rename = "toggle")]
18400 Toggle,
18401}
18402#[cfg_attr(feature = "debug", derive(Debug))]
18403#[cfg_attr(feature = "clone", derive(Clone))]
18404#[derive(Deserialize, PartialEq)]
18405pub enum Zigbee5062148p7Poweronbehavior {
18406 #[serde(rename = "off")]
18407 Off,
18408 #[serde(rename = "on")]
18409 On,
18410 #[serde(rename = "previous")]
18411 Previous,
18412 #[serde(rename = "toggle")]
18413 Toggle,
18414}
18415#[cfg_attr(feature = "debug", derive(Debug))]
18416#[cfg_attr(feature = "clone", derive(Clone))]
18417#[derive(Deserialize, PartialEq)]
18418pub enum Zigbee5062231p7Poweronbehavior {
18419 #[serde(rename = "off")]
18420 Off,
18421 #[serde(rename = "on")]
18422 On,
18423 #[serde(rename = "previous")]
18424 Previous,
18425 #[serde(rename = "toggle")]
18426 Toggle,
18427}
18428#[cfg_attr(feature = "debug", derive(Debug))]
18429#[cfg_attr(feature = "clone", derive(Clone))]
18430#[derive(Deserialize, PartialEq)]
18431pub enum Zigbee5062248p7Poweronbehavior {
18432 #[serde(rename = "off")]
18433 Off,
18434 #[serde(rename = "on")]
18435 On,
18436 #[serde(rename = "previous")]
18437 Previous,
18438 #[serde(rename = "toggle")]
18439 Toggle,
18440}
18441#[cfg_attr(feature = "debug", derive(Debug))]
18442#[cfg_attr(feature = "clone", derive(Clone))]
18443#[derive(Deserialize, PartialEq)]
18444pub enum Zigbee5062331p7Poweronbehavior {
18445 #[serde(rename = "off")]
18446 Off,
18447 #[serde(rename = "on")]
18448 On,
18449 #[serde(rename = "previous")]
18450 Previous,
18451 #[serde(rename = "toggle")]
18452 Toggle,
18453}
18454#[cfg_attr(feature = "debug", derive(Debug))]
18455#[cfg_attr(feature = "clone", derive(Clone))]
18456#[derive(Deserialize, PartialEq)]
18457pub enum Zigbee5062348p7Poweronbehavior {
18458 #[serde(rename = "off")]
18459 Off,
18460 #[serde(rename = "on")]
18461 On,
18462 #[serde(rename = "previous")]
18463 Previous,
18464 #[serde(rename = "toggle")]
18465 Toggle,
18466}
18467#[cfg_attr(feature = "debug", derive(Debug))]
18468#[cfg_attr(feature = "clone", derive(Clone))]
18469#[derive(Deserialize, PartialEq)]
18470pub enum Zigbee5062431p7Poweronbehavior {
18471 #[serde(rename = "off")]
18472 Off,
18473 #[serde(rename = "on")]
18474 On,
18475 #[serde(rename = "previous")]
18476 Previous,
18477 #[serde(rename = "toggle")]
18478 Toggle,
18479}
18480#[cfg_attr(feature = "debug", derive(Debug))]
18481#[cfg_attr(feature = "clone", derive(Clone))]
18482#[derive(Deserialize, PartialEq)]
18483pub enum Zigbee5062448p7Poweronbehavior {
18484 #[serde(rename = "off")]
18485 Off,
18486 #[serde(rename = "on")]
18487 On,
18488 #[serde(rename = "previous")]
18489 Previous,
18490 #[serde(rename = "toggle")]
18491 Toggle,
18492}
18493#[cfg_attr(feature = "debug", derive(Debug))]
18494#[cfg_attr(feature = "clone", derive(Clone))]
18495#[derive(Deserialize, PartialEq)]
18496pub enum Zigbee5063130p7Poweronbehavior {
18497 #[serde(rename = "off")]
18498 Off,
18499 #[serde(rename = "on")]
18500 On,
18501 #[serde(rename = "previous")]
18502 Previous,
18503 #[serde(rename = "toggle")]
18504 Toggle,
18505}
18506#[cfg_attr(feature = "debug", derive(Debug))]
18507#[cfg_attr(feature = "clone", derive(Clone))]
18508#[derive(Deserialize, PartialEq)]
18509pub enum Zigbee5063131p7Poweronbehavior {
18510 #[serde(rename = "off")]
18511 Off,
18512 #[serde(rename = "on")]
18513 On,
18514 #[serde(rename = "previous")]
18515 Previous,
18516 #[serde(rename = "toggle")]
18517 Toggle,
18518}
18519#[cfg_attr(feature = "debug", derive(Debug))]
18520#[cfg_attr(feature = "clone", derive(Clone))]
18521#[derive(Deserialize, PartialEq)]
18522pub enum Zigbee5063230p7Poweronbehavior {
18523 #[serde(rename = "off")]
18524 Off,
18525 #[serde(rename = "on")]
18526 On,
18527 #[serde(rename = "previous")]
18528 Previous,
18529 #[serde(rename = "toggle")]
18530 Toggle,
18531}
18532#[cfg_attr(feature = "debug", derive(Debug))]
18533#[cfg_attr(feature = "clone", derive(Clone))]
18534#[derive(Deserialize, PartialEq)]
18535pub enum Zigbee5063231p7Poweronbehavior {
18536 #[serde(rename = "off")]
18537 Off,
18538 #[serde(rename = "on")]
18539 On,
18540 #[serde(rename = "previous")]
18541 Previous,
18542 #[serde(rename = "toggle")]
18543 Toggle,
18544}
18545#[cfg_attr(feature = "debug", derive(Debug))]
18546#[cfg_attr(feature = "clone", derive(Clone))]
18547#[derive(Deserialize, PartialEq)]
18548pub enum Zigbee5063330p7Poweronbehavior {
18549 #[serde(rename = "off")]
18550 Off,
18551 #[serde(rename = "on")]
18552 On,
18553 #[serde(rename = "previous")]
18554 Previous,
18555 #[serde(rename = "toggle")]
18556 Toggle,
18557}
18558#[cfg_attr(feature = "debug", derive(Debug))]
18559#[cfg_attr(feature = "clone", derive(Clone))]
18560#[derive(Deserialize, PartialEq)]
18561pub enum Zigbee5063331p7Poweronbehavior {
18562 #[serde(rename = "off")]
18563 Off,
18564 #[serde(rename = "on")]
18565 On,
18566 #[serde(rename = "previous")]
18567 Previous,
18568 #[serde(rename = "toggle")]
18569 Toggle,
18570}
18571#[cfg_attr(feature = "debug", derive(Debug))]
18572#[cfg_attr(feature = "clone", derive(Clone))]
18573#[derive(Deserialize, PartialEq)]
18574pub enum Zigbee5063430p7Poweronbehavior {
18575 #[serde(rename = "off")]
18576 Off,
18577 #[serde(rename = "on")]
18578 On,
18579 #[serde(rename = "previous")]
18580 Previous,
18581 #[serde(rename = "toggle")]
18582 Toggle,
18583}
18584#[cfg_attr(feature = "debug", derive(Debug))]
18585#[cfg_attr(feature = "clone", derive(Clone))]
18586#[derive(Deserialize, PartialEq)]
18587pub enum Zigbee5063431p7Poweronbehavior {
18588 #[serde(rename = "off")]
18589 Off,
18590 #[serde(rename = "on")]
18591 On,
18592 #[serde(rename = "previous")]
18593 Previous,
18594 #[serde(rename = "toggle")]
18595 Toggle,
18596}
18597#[cfg_attr(feature = "debug", derive(Debug))]
18598#[cfg_attr(feature = "clone", derive(Clone))]
18599#[derive(Deserialize, PartialEq)]
18600pub enum Zigbee5110131h5Poweronbehavior {
18601 #[serde(rename = "off")]
18602 Off,
18603 #[serde(rename = "on")]
18604 On,
18605 #[serde(rename = "previous")]
18606 Previous,
18607 #[serde(rename = "toggle")]
18608 Toggle,
18609}
18610#[cfg_attr(feature = "debug", derive(Debug))]
18611#[cfg_attr(feature = "clone", derive(Clone))]
18612#[derive(Deserialize, PartialEq)]
18613pub enum Zigbee5110731h5Poweronbehavior {
18614 #[serde(rename = "off")]
18615 Off,
18616 #[serde(rename = "on")]
18617 On,
18618 #[serde(rename = "previous")]
18619 Previous,
18620 #[serde(rename = "toggle")]
18621 Toggle,
18622}
18623#[cfg_attr(feature = "debug", derive(Debug))]
18624#[cfg_attr(feature = "clone", derive(Clone))]
18625#[derive(Deserialize, PartialEq)]
18626pub enum Zigbee5111531h5Poweronbehavior {
18627 #[serde(rename = "off")]
18628 Off,
18629 #[serde(rename = "on")]
18630 On,
18631 #[serde(rename = "previous")]
18632 Previous,
18633 #[serde(rename = "toggle")]
18634 Toggle,
18635}
18636#[cfg_attr(feature = "debug", derive(Debug))]
18637#[cfg_attr(feature = "clone", derive(Clone))]
18638#[derive(Deserialize, PartialEq)]
18639pub enum Zigbee5309030p9Poweronbehavior {
18640 #[serde(rename = "off")]
18641 Off,
18642 #[serde(rename = "on")]
18643 On,
18644 #[serde(rename = "previous")]
18645 Previous,
18646 #[serde(rename = "toggle")]
18647 Toggle,
18648}
18649#[cfg_attr(feature = "debug", derive(Debug))]
18650#[cfg_attr(feature = "clone", derive(Clone))]
18651#[derive(Deserialize, PartialEq)]
18652pub enum Zigbee5309031p8Poweronbehavior {
18653 #[serde(rename = "off")]
18654 Off,
18655 #[serde(rename = "on")]
18656 On,
18657 #[serde(rename = "previous")]
18658 Previous,
18659 #[serde(rename = "toggle")]
18660 Toggle,
18661}
18662#[cfg_attr(feature = "debug", derive(Debug))]
18663#[cfg_attr(feature = "clone", derive(Clone))]
18664#[derive(Deserialize, PartialEq)]
18665pub enum Zigbee5309230p6Poweronbehavior {
18666 #[serde(rename = "off")]
18667 Off,
18668 #[serde(rename = "on")]
18669 On,
18670 #[serde(rename = "previous")]
18671 Previous,
18672 #[serde(rename = "toggle")]
18673 Toggle,
18674}
18675#[cfg_attr(feature = "debug", derive(Debug))]
18676#[cfg_attr(feature = "clone", derive(Clone))]
18677#[derive(Deserialize, PartialEq)]
18678pub enum Zigbee5309331p6Poweronbehavior {
18679 #[serde(rename = "off")]
18680 Off,
18681 #[serde(rename = "on")]
18682 On,
18683 #[serde(rename = "previous")]
18684 Previous,
18685 #[serde(rename = "toggle")]
18686 Toggle,
18687}
18688#[cfg_attr(feature = "debug", derive(Debug))]
18689#[cfg_attr(feature = "clone", derive(Clone))]
18690#[derive(Deserialize, PartialEq)]
18691pub enum Zigbee548727Poweronbehavior {
18692 #[serde(rename = "off")]
18693 Off,
18694 #[serde(rename = "on")]
18695 On,
18696 #[serde(rename = "previous")]
18697 Previous,
18698 #[serde(rename = "toggle")]
18699 Toggle,
18700}
18701#[cfg_attr(feature = "debug", derive(Debug))]
18702#[cfg_attr(feature = "clone", derive(Clone))]
18703#[derive(Deserialize, PartialEq)]
18704pub enum Zigbee5633030p6Poweronbehavior {
18705 #[serde(rename = "off")]
18706 Off,
18707 #[serde(rename = "on")]
18708 On,
18709 #[serde(rename = "previous")]
18710 Previous,
18711 #[serde(rename = "toggle")]
18712 Toggle,
18713}
18714#[cfg_attr(feature = "debug", derive(Debug))]
18715#[cfg_attr(feature = "clone", derive(Clone))]
18716#[derive(Deserialize, PartialEq)]
18717pub enum Zigbee5633031p9Poweronbehavior {
18718 #[serde(rename = "off")]
18719 Off,
18720 #[serde(rename = "on")]
18721 On,
18722 #[serde(rename = "previous")]
18723 Previous,
18724 #[serde(rename = "toggle")]
18725 Toggle,
18726}
18727#[cfg_attr(feature = "debug", derive(Debug))]
18728#[cfg_attr(feature = "clone", derive(Clone))]
18729#[derive(Deserialize, PartialEq)]
18730pub enum Zigbee578526Poweronbehavior {
18731 #[serde(rename = "off")]
18732 Off,
18733 #[serde(rename = "on")]
18734 On,
18735 #[serde(rename = "previous")]
18736 Previous,
18737 #[serde(rename = "toggle")]
18738 Toggle,
18739}
18740#[cfg_attr(feature = "debug", derive(Debug))]
18741#[cfg_attr(feature = "clone", derive(Clone))]
18742#[derive(Deserialize, PartialEq)]
18743pub enum Zigbee579573Poweronbehavior {
18744 #[serde(rename = "off")]
18745 Off,
18746 #[serde(rename = "on")]
18747 On,
18748 #[serde(rename = "previous")]
18749 Previous,
18750 #[serde(rename = "toggle")]
18751 Toggle,
18752}
18753#[cfg_attr(feature = "debug", derive(Debug))]
18754#[cfg_attr(feature = "clone", derive(Clone))]
18755#[derive(Deserialize, PartialEq)]
18756pub enum Zigbee5900131c5Poweronbehavior {
18757 #[serde(rename = "off")]
18758 Off,
18759 #[serde(rename = "on")]
18760 On,
18761 #[serde(rename = "previous")]
18762 Previous,
18763 #[serde(rename = "toggle")]
18764 Toggle,
18765}
18766#[cfg_attr(feature = "debug", derive(Debug))]
18767#[cfg_attr(feature = "clone", derive(Clone))]
18768#[derive(Deserialize, PartialEq)]
18769pub enum Zigbee5995111u5Poweronbehavior {
18770 #[serde(rename = "off")]
18771 Off,
18772 #[serde(rename = "on")]
18773 On,
18774 #[serde(rename = "previous")]
18775 Previous,
18776 #[serde(rename = "toggle")]
18777 Toggle,
18778}
18779#[cfg_attr(feature = "debug", derive(Debug))]
18780#[cfg_attr(feature = "clone", derive(Clone))]
18781#[derive(Deserialize, PartialEq)]
18782pub enum Zigbee5996311u5Poweronbehavior {
18783 #[serde(rename = "off")]
18784 Off,
18785 #[serde(rename = "on")]
18786 On,
18787 #[serde(rename = "previous")]
18788 Previous,
18789 #[serde(rename = "toggle")]
18790 Toggle,
18791}
18792#[cfg_attr(feature = "debug", derive(Debug))]
18793#[cfg_attr(feature = "clone", derive(Clone))]
18794#[derive(Deserialize, PartialEq)]
18795pub enum Zigbee5996411u5Poweronbehavior {
18796 #[serde(rename = "off")]
18797 Off,
18798 #[serde(rename = "on")]
18799 On,
18800 #[serde(rename = "previous")]
18801 Previous,
18802 #[serde(rename = "toggle")]
18803 Toggle,
18804}
18805#[cfg_attr(feature = "debug", derive(Debug))]
18806#[cfg_attr(feature = "clone", derive(Clone))]
18807#[derive(Deserialize, PartialEq)]
18808pub enum Zigbee5996511u5Poweronbehavior {
18809 #[serde(rename = "off")]
18810 Off,
18811 #[serde(rename = "on")]
18812 On,
18813 #[serde(rename = "previous")]
18814 Previous,
18815 #[serde(rename = "toggle")]
18816 Toggle,
18817}
18818#[cfg_attr(feature = "debug", derive(Debug))]
18819#[cfg_attr(feature = "clone", derive(Clone))]
18820#[derive(Deserialize, PartialEq)]
18821pub enum Zigbee5996611u5Poweronbehavior {
18822 #[serde(rename = "off")]
18823 Off,
18824 #[serde(rename = "on")]
18825 On,
18826 #[serde(rename = "previous")]
18827 Previous,
18828 #[serde(rename = "toggle")]
18829 Toggle,
18830}
18831#[cfg_attr(feature = "debug", derive(Debug))]
18832#[cfg_attr(feature = "clone", derive(Clone))]
18833#[derive(Deserialize, PartialEq)]
18834pub enum Zigbee6109231c5Poweronbehavior {
18835 #[serde(rename = "off")]
18836 Off,
18837 #[serde(rename = "on")]
18838 On,
18839 #[serde(rename = "previous")]
18840 Previous,
18841 #[serde(rename = "toggle")]
18842 Toggle,
18843}
18844#[cfg_attr(feature = "debug", derive(Debug))]
18845#[cfg_attr(feature = "clone", derive(Clone))]
18846#[derive(Deserialize, PartialEq)]
18847pub enum Zigbee6109331c5Poweronbehavior {
18848 #[serde(rename = "off")]
18849 Off,
18850 #[serde(rename = "on")]
18851 On,
18852 #[serde(rename = "previous")]
18853 Previous,
18854 #[serde(rename = "toggle")]
18855 Toggle,
18856}
18857#[cfg_attr(feature = "debug", derive(Debug))]
18858#[cfg_attr(feature = "clone", derive(Clone))]
18859#[derive(Deserialize, PartialEq)]
18860pub enum Zigbee7099860phPoweronbehavior {
18861 #[serde(rename = "off")]
18862 Off,
18863 #[serde(rename = "on")]
18864 On,
18865 #[serde(rename = "previous")]
18866 Previous,
18867 #[serde(rename = "toggle")]
18868 Toggle,
18869}
18870#[cfg_attr(feature = "debug", derive(Debug))]
18871#[cfg_attr(feature = "clone", derive(Clone))]
18872#[derive(Deserialize, PartialEq)]
18873pub enum Zigbee7099930phPoweronbehavior {
18874 #[serde(rename = "off")]
18875 Off,
18876 #[serde(rename = "on")]
18877 On,
18878 #[serde(rename = "previous")]
18879 Previous,
18880 #[serde(rename = "toggle")]
18881 Toggle,
18882}
18883#[cfg_attr(feature = "debug", derive(Debug))]
18884#[cfg_attr(feature = "clone", derive(Clone))]
18885#[derive(Deserialize, PartialEq)]
18886pub enum Zigbee7121131pu7120031ph7120131ph7120231puPoweronbehavior {
18887 #[serde(rename = "off")]
18888 Off,
18889 #[serde(rename = "on")]
18890 On,
18891 #[serde(rename = "previous")]
18892 Previous,
18893 #[serde(rename = "toggle")]
18894 Toggle,
18895}
18896#[cfg_attr(feature = "debug", derive(Debug))]
18897#[cfg_attr(feature = "clone", derive(Clone))]
18898#[derive(Deserialize, PartialEq)]
18899pub enum Zigbee7146060phPoweronbehavior {
18900 #[serde(rename = "off")]
18901 Off,
18902 #[serde(rename = "on")]
18903 On,
18904 #[serde(rename = "previous")]
18905 Previous,
18906 #[serde(rename = "toggle")]
18907 Toggle,
18908}
18909#[cfg_attr(feature = "debug", derive(Debug))]
18910#[cfg_attr(feature = "clone", derive(Clone))]
18911#[derive(Deserialize, PartialEq)]
18912pub enum Zigbee7199960phPoweronbehavior {
18913 #[serde(rename = "off")]
18914 Off,
18915 #[serde(rename = "on")]
18916 On,
18917 #[serde(rename = "previous")]
18918 Previous,
18919 #[serde(rename = "toggle")]
18920 Toggle,
18921}
18922#[cfg_attr(feature = "debug", derive(Debug))]
18923#[cfg_attr(feature = "clone", derive(Clone))]
18924#[derive(Deserialize, PartialEq)]
18925pub enum Zigbee7299355phPoweronbehavior {
18926 #[serde(rename = "off")]
18927 Off,
18928 #[serde(rename = "on")]
18929 On,
18930 #[serde(rename = "previous")]
18931 Previous,
18932 #[serde(rename = "toggle")]
18933 Toggle,
18934}
18935#[cfg_attr(feature = "debug", derive(Debug))]
18936#[cfg_attr(feature = "clone", derive(Clone))]
18937#[derive(Deserialize, PartialEq)]
18938pub enum Zigbee7299760phPoweronbehavior {
18939 #[serde(rename = "off")]
18940 Off,
18941 #[serde(rename = "on")]
18942 On,
18943 #[serde(rename = "previous")]
18944 Previous,
18945 #[serde(rename = "toggle")]
18946 Toggle,
18947}
18948#[cfg_attr(feature = "debug", derive(Debug))]
18949#[cfg_attr(feature = "clone", derive(Clone))]
18950#[derive(Deserialize, PartialEq)]
18951pub enum Zigbee7531609Poweronbehavior {
18952 #[serde(rename = "off")]
18953 Off,
18954 #[serde(rename = "on")]
18955 On,
18956 #[serde(rename = "previous")]
18957 Previous,
18958 #[serde(rename = "toggle")]
18959 Toggle,
18960}
18961#[cfg_attr(feature = "debug", derive(Debug))]
18962#[cfg_attr(feature = "clone", derive(Clone))]
18963#[derive(Deserialize, PartialEq)]
18964pub enum Zigbee7602031k6Poweronbehavior {
18965 #[serde(rename = "off")]
18966 Off,
18967 #[serde(rename = "on")]
18968 On,
18969 #[serde(rename = "previous")]
18970 Previous,
18971 #[serde(rename = "toggle")]
18972 Toggle,
18973}
18974#[cfg_attr(feature = "debug", derive(Debug))]
18975#[cfg_attr(feature = "clone", derive(Clone))]
18976#[derive(Deserialize, PartialEq)]
18977pub enum Zigbee7602031n6Poweronbehavior {
18978 #[serde(rename = "off")]
18979 Off,
18980 #[serde(rename = "on")]
18981 On,
18982 #[serde(rename = "previous")]
18983 Previous,
18984 #[serde(rename = "toggle")]
18985 Toggle,
18986}
18987#[cfg_attr(feature = "debug", derive(Debug))]
18988#[cfg_attr(feature = "clone", derive(Clone))]
18989#[derive(Deserialize, PartialEq)]
18990pub enum Zigbee7602031p7Poweronbehavior {
18991 #[serde(rename = "off")]
18992 Off,
18993 #[serde(rename = "on")]
18994 On,
18995 #[serde(rename = "previous")]
18996 Previous,
18997 #[serde(rename = "toggle")]
18998 Toggle,
18999}
19000#[cfg_attr(feature = "debug", derive(Debug))]
19001#[cfg_attr(feature = "clone", derive(Clone))]
19002#[derive(Deserialize, PartialEq)]
19003pub enum Zigbee800094Poweronbehavior {
19004 #[serde(rename = "off")]
19005 Off,
19006 #[serde(rename = "on")]
19007 On,
19008 #[serde(rename = "previous")]
19009 Previous,
19010 #[serde(rename = "toggle")]
19011 Toggle,
19012}
19013#[cfg_attr(feature = "debug", derive(Debug))]
19014#[cfg_attr(feature = "clone", derive(Clone))]
19015#[derive(Deserialize, PartialEq)]
19016pub enum Zigbee801480Poweronbehavior {
19017 #[serde(rename = "off")]
19018 Off,
19019 #[serde(rename = "on")]
19020 On,
19021 #[serde(rename = "previous")]
19022 Previous,
19023 #[serde(rename = "toggle")]
19024 Toggle,
19025}
19026#[cfg_attr(feature = "debug", derive(Debug))]
19027#[cfg_attr(feature = "clone", derive(Clone))]
19028#[derive(Deserialize, PartialEq)]
19029pub enum Zigbee8718696153055Poweronbehavior {
19030 #[serde(rename = "off")]
19031 Off,
19032 #[serde(rename = "on")]
19033 On,
19034 #[serde(rename = "previous")]
19035 Previous,
19036 #[serde(rename = "toggle")]
19037 Toggle,
19038}
19039#[cfg_attr(feature = "debug", derive(Debug))]
19040#[cfg_attr(feature = "clone", derive(Clone))]
19041#[derive(Deserialize, PartialEq)]
19042pub enum Zigbee8718696153062Poweronbehavior {
19043 #[serde(rename = "off")]
19044 Off,
19045 #[serde(rename = "on")]
19046 On,
19047 #[serde(rename = "previous")]
19048 Previous,
19049 #[serde(rename = "toggle")]
19050 Toggle,
19051}
19052#[cfg_attr(feature = "debug", derive(Debug))]
19053#[cfg_attr(feature = "clone", derive(Clone))]
19054#[derive(Deserialize, PartialEq)]
19055pub enum Zigbee8718696166079Poweronbehavior {
19056 #[serde(rename = "off")]
19057 Off,
19058 #[serde(rename = "on")]
19059 On,
19060 #[serde(rename = "previous")]
19061 Previous,
19062 #[serde(rename = "toggle")]
19063 Toggle,
19064}
19065#[cfg_attr(feature = "debug", derive(Debug))]
19066#[cfg_attr(feature = "clone", derive(Clone))]
19067#[derive(Deserialize, PartialEq)]
19068pub enum Zigbee8718696167991Poweronbehavior {
19069 #[serde(rename = "off")]
19070 Off,
19071 #[serde(rename = "on")]
19072 On,
19073 #[serde(rename = "previous")]
19074 Previous,
19075 #[serde(rename = "toggle")]
19076 Toggle,
19077}
19078#[cfg_attr(feature = "debug", derive(Debug))]
19079#[cfg_attr(feature = "clone", derive(Clone))]
19080#[derive(Deserialize, PartialEq)]
19081pub enum Zigbee8718696170557Poweronbehavior {
19082 #[serde(rename = "off")]
19083 Off,
19084 #[serde(rename = "on")]
19085 On,
19086 #[serde(rename = "previous")]
19087 Previous,
19088 #[serde(rename = "toggle")]
19089 Toggle,
19090}
19091#[cfg_attr(feature = "debug", derive(Debug))]
19092#[cfg_attr(feature = "clone", derive(Clone))]
19093#[derive(Deserialize, PartialEq)]
19094pub enum Zigbee8718696170625Poweronbehavior {
19095 #[serde(rename = "off")]
19096 Off,
19097 #[serde(rename = "on")]
19098 On,
19099 #[serde(rename = "previous")]
19100 Previous,
19101 #[serde(rename = "toggle")]
19102 Toggle,
19103}
19104#[cfg_attr(feature = "debug", derive(Debug))]
19105#[cfg_attr(feature = "clone", derive(Clone))]
19106#[derive(Deserialize, PartialEq)]
19107pub enum Zigbee8718696170656Poweronbehavior {
19108 #[serde(rename = "off")]
19109 Off,
19110 #[serde(rename = "on")]
19111 On,
19112 #[serde(rename = "previous")]
19113 Previous,
19114 #[serde(rename = "toggle")]
19115 Toggle,
19116}
19117#[cfg_attr(feature = "debug", derive(Debug))]
19118#[cfg_attr(feature = "clone", derive(Clone))]
19119#[derive(Deserialize, PartialEq)]
19120pub enum Zigbee8718696174548Poweronbehavior {
19121 #[serde(rename = "off")]
19122 Off,
19123 #[serde(rename = "on")]
19124 On,
19125 #[serde(rename = "previous")]
19126 Previous,
19127 #[serde(rename = "toggle")]
19128 Toggle,
19129}
19130#[cfg_attr(feature = "debug", derive(Debug))]
19131#[cfg_attr(feature = "clone", derive(Clone))]
19132#[derive(Deserialize, PartialEq)]
19133pub enum Zigbee8718696175798Poweronbehavior {
19134 #[serde(rename = "off")]
19135 Off,
19136 #[serde(rename = "on")]
19137 On,
19138 #[serde(rename = "previous")]
19139 Previous,
19140 #[serde(rename = "toggle")]
19141 Toggle,
19142}
19143#[cfg_attr(feature = "debug", derive(Debug))]
19144#[cfg_attr(feature = "clone", derive(Clone))]
19145#[derive(Deserialize, PartialEq)]
19146pub enum Zigbee8718696449691Poweronbehavior {
19147 #[serde(rename = "off")]
19148 Off,
19149 #[serde(rename = "on")]
19150 On,
19151 #[serde(rename = "previous")]
19152 Previous,
19153 #[serde(rename = "toggle")]
19154 Toggle,
19155}
19156#[cfg_attr(feature = "debug", derive(Debug))]
19157#[cfg_attr(feature = "clone", derive(Clone))]
19158#[derive(Deserialize, PartialEq)]
19159pub enum Zigbee8718696485880Poweronbehavior {
19160 #[serde(rename = "off")]
19161 Off,
19162 #[serde(rename = "on")]
19163 On,
19164 #[serde(rename = "previous")]
19165 Previous,
19166 #[serde(rename = "toggle")]
19167 Toggle,
19168}
19169#[cfg_attr(feature = "debug", derive(Debug))]
19170#[cfg_attr(feature = "clone", derive(Clone))]
19171#[derive(Deserialize, PartialEq)]
19172pub enum Zigbee8718696548738Poweronbehavior {
19173 #[serde(rename = "off")]
19174 Off,
19175 #[serde(rename = "on")]
19176 On,
19177 #[serde(rename = "previous")]
19178 Previous,
19179 #[serde(rename = "toggle")]
19180 Toggle,
19181}
19182#[cfg_attr(feature = "debug", derive(Debug))]
19183#[cfg_attr(feature = "clone", derive(Clone))]
19184#[derive(Deserialize, PartialEq)]
19185pub enum Zigbee8718696598283Poweronbehavior {
19186 #[serde(rename = "off")]
19187 Off,
19188 #[serde(rename = "on")]
19189 On,
19190 #[serde(rename = "previous")]
19191 Previous,
19192 #[serde(rename = "toggle")]
19193 Toggle,
19194}
19195#[cfg_attr(feature = "debug", derive(Debug))]
19196#[cfg_attr(feature = "clone", derive(Clone))]
19197#[derive(Deserialize, PartialEq)]
19198pub enum Zigbee8718696695203Poweronbehavior {
19199 #[serde(rename = "off")]
19200 Off,
19201 #[serde(rename = "on")]
19202 On,
19203 #[serde(rename = "previous")]
19204 Previous,
19205 #[serde(rename = "toggle")]
19206 Toggle,
19207}
19208#[cfg_attr(feature = "debug", derive(Debug))]
19209#[cfg_attr(feature = "clone", derive(Clone))]
19210#[derive(Deserialize, PartialEq)]
19211pub enum Zigbee8718699673147Poweronbehavior {
19212 #[serde(rename = "off")]
19213 Off,
19214 #[serde(rename = "on")]
19215 On,
19216 #[serde(rename = "previous")]
19217 Previous,
19218 #[serde(rename = "toggle")]
19219 Toggle,
19220}
19221#[cfg_attr(feature = "debug", derive(Debug))]
19222#[cfg_attr(feature = "clone", derive(Clone))]
19223#[derive(Deserialize, PartialEq)]
19224pub enum Zigbee8718699688820Poweronbehavior {
19225 #[serde(rename = "off")]
19226 Off,
19227 #[serde(rename = "on")]
19228 On,
19229 #[serde(rename = "previous")]
19230 Previous,
19231 #[serde(rename = "toggle")]
19232 Toggle,
19233}
19234#[cfg_attr(feature = "debug", derive(Debug))]
19235#[cfg_attr(feature = "clone", derive(Clone))]
19236#[derive(Deserialize, PartialEq)]
19237pub enum Zigbee8718699688882Poweronbehavior {
19238 #[serde(rename = "off")]
19239 Off,
19240 #[serde(rename = "on")]
19241 On,
19242 #[serde(rename = "previous")]
19243 Previous,
19244 #[serde(rename = "toggle")]
19245 Toggle,
19246}
19247#[cfg_attr(feature = "debug", derive(Debug))]
19248#[cfg_attr(feature = "clone", derive(Clone))]
19249#[derive(Deserialize, PartialEq)]
19250pub enum Zigbee8718699693985Action {
19251 #[serde(rename = "hold")]
19252 Hold,
19253 #[serde(rename = "off")]
19254 Off,
19255 #[serde(rename = "on")]
19256 On,
19257 #[serde(rename = "press")]
19258 Press,
19259 #[serde(rename = "release")]
19260 Release,
19261 #[serde(rename = "skip_backward")]
19262 SkipBackward,
19263 #[serde(rename = "skip_forward")]
19264 SkipForward,
19265}
19266#[cfg_attr(feature = "debug", derive(Debug))]
19267#[cfg_attr(feature = "clone", derive(Clone))]
19268#[derive(Deserialize, PartialEq)]
19269pub enum Zigbee8718699703424Poweronbehavior {
19270 #[serde(rename = "off")]
19271 Off,
19272 #[serde(rename = "on")]
19273 On,
19274 #[serde(rename = "previous")]
19275 Previous,
19276 #[serde(rename = "toggle")]
19277 Toggle,
19278}
19279#[cfg_attr(feature = "debug", derive(Debug))]
19280#[cfg_attr(feature = "clone", derive(Clone))]
19281#[derive(Deserialize, PartialEq)]
19282pub enum Zigbee8719514279131Poweronbehavior {
19283 #[serde(rename = "off")]
19284 Off,
19285 #[serde(rename = "on")]
19286 On,
19287 #[serde(rename = "previous")]
19288 Previous,
19289 #[serde(rename = "toggle")]
19290 Toggle,
19291}
19292#[cfg_attr(feature = "debug", derive(Debug))]
19293#[cfg_attr(feature = "clone", derive(Clone))]
19294#[derive(Deserialize, PartialEq)]
19295pub enum Zigbee8719514279155Poweronbehavior {
19296 #[serde(rename = "off")]
19297 Off,
19298 #[serde(rename = "on")]
19299 On,
19300 #[serde(rename = "previous")]
19301 Previous,
19302 #[serde(rename = "toggle")]
19303 Toggle,
19304}
19305#[cfg_attr(feature = "debug", derive(Debug))]
19306#[cfg_attr(feature = "clone", derive(Clone))]
19307#[derive(Deserialize, PartialEq)]
19308pub enum Zigbee8719514279193Poweronbehavior {
19309 #[serde(rename = "off")]
19310 Off,
19311 #[serde(rename = "on")]
19312 On,
19313 #[serde(rename = "previous")]
19314 Previous,
19315 #[serde(rename = "toggle")]
19316 Toggle,
19317}
19318#[cfg_attr(feature = "debug", derive(Debug))]
19319#[cfg_attr(feature = "clone", derive(Clone))]
19320#[derive(Deserialize, PartialEq)]
19321pub enum Zigbee8719514301443Poweronbehavior {
19322 #[serde(rename = "off")]
19323 Off,
19324 #[serde(rename = "on")]
19325 On,
19326 #[serde(rename = "previous")]
19327 Previous,
19328 #[serde(rename = "toggle")]
19329 Toggle,
19330}
19331#[cfg_attr(feature = "debug", derive(Debug))]
19332#[cfg_attr(feature = "clone", derive(Clone))]
19333#[derive(Deserialize, PartialEq)]
19334pub enum Zigbee8719514301481Poweronbehavior {
19335 #[serde(rename = "off")]
19336 Off,
19337 #[serde(rename = "on")]
19338 On,
19339 #[serde(rename = "previous")]
19340 Previous,
19341 #[serde(rename = "toggle")]
19342 Toggle,
19343}
19344#[cfg_attr(feature = "debug", derive(Debug))]
19345#[cfg_attr(feature = "clone", derive(Clone))]
19346#[derive(Deserialize, PartialEq)]
19347pub enum Zigbee8719514301528Poweronbehavior {
19348 #[serde(rename = "off")]
19349 Off,
19350 #[serde(rename = "on")]
19351 On,
19352 #[serde(rename = "previous")]
19353 Previous,
19354 #[serde(rename = "toggle")]
19355 Toggle,
19356}
19357#[cfg_attr(feature = "debug", derive(Debug))]
19358#[cfg_attr(feature = "clone", derive(Clone))]
19359#[derive(Deserialize, PartialEq)]
19360pub enum Zigbee8719514301542Poweronbehavior {
19361 #[serde(rename = "off")]
19362 Off,
19363 #[serde(rename = "on")]
19364 On,
19365 #[serde(rename = "previous")]
19366 Previous,
19367 #[serde(rename = "toggle")]
19368 Toggle,
19369}
19370#[cfg_attr(feature = "debug", derive(Debug))]
19371#[cfg_attr(feature = "clone", derive(Clone))]
19372#[derive(Deserialize, PartialEq)]
19373pub enum Zigbee8719514302235Poweronbehavior {
19374 #[serde(rename = "off")]
19375 Off,
19376 #[serde(rename = "on")]
19377 On,
19378 #[serde(rename = "previous")]
19379 Previous,
19380 #[serde(rename = "toggle")]
19381 Toggle,
19382}
19383#[cfg_attr(feature = "debug", derive(Debug))]
19384#[cfg_attr(feature = "clone", derive(Clone))]
19385#[derive(Deserialize, PartialEq)]
19386pub enum Zigbee8719514328242Poweronbehavior {
19387 #[serde(rename = "off")]
19388 Off,
19389 #[serde(rename = "on")]
19390 On,
19391 #[serde(rename = "previous")]
19392 Previous,
19393 #[serde(rename = "toggle")]
19394 Toggle,
19395}
19396#[cfg_attr(feature = "debug", derive(Debug))]
19397#[cfg_attr(feature = "clone", derive(Clone))]
19398#[derive(Deserialize, PartialEq)]
19399pub enum Zigbee8719514338142Poweronbehavior {
19400 #[serde(rename = "off")]
19401 Off,
19402 #[serde(rename = "on")]
19403 On,
19404 #[serde(rename = "previous")]
19405 Previous,
19406 #[serde(rename = "toggle")]
19407 Toggle,
19408}
19409#[cfg_attr(feature = "debug", derive(Debug))]
19410#[cfg_attr(feature = "clone", derive(Clone))]
19411#[derive(Deserialize, PartialEq)]
19412pub enum Zigbee8719514338524Poweronbehavior {
19413 #[serde(rename = "off")]
19414 Off,
19415 #[serde(rename = "on")]
19416 On,
19417 #[serde(rename = "previous")]
19418 Previous,
19419 #[serde(rename = "toggle")]
19420 Toggle,
19421}
19422#[cfg_attr(feature = "debug", derive(Debug))]
19423#[cfg_attr(feature = "clone", derive(Clone))]
19424#[derive(Deserialize, PartialEq)]
19425pub enum Zigbee871951433908Poweronbehavior {
19426 #[serde(rename = "off")]
19427 Off,
19428 #[serde(rename = "on")]
19429 On,
19430 #[serde(rename = "previous")]
19431 Previous,
19432 #[serde(rename = "toggle")]
19433 Toggle,
19434}
19435#[cfg_attr(feature = "debug", derive(Debug))]
19436#[cfg_attr(feature = "clone", derive(Clone))]
19437#[derive(Deserialize, PartialEq)]
19438pub enum Zigbee8719514339125Poweronbehavior {
19439 #[serde(rename = "off")]
19440 Off,
19441 #[serde(rename = "on")]
19442 On,
19443 #[serde(rename = "previous")]
19444 Previous,
19445 #[serde(rename = "toggle")]
19446 Toggle,
19447}
19448#[cfg_attr(feature = "debug", derive(Debug))]
19449#[cfg_attr(feature = "clone", derive(Clone))]
19450#[derive(Deserialize, PartialEq)]
19451pub enum Zigbee8719514339163Poweronbehavior {
19452 #[serde(rename = "off")]
19453 Off,
19454 #[serde(rename = "on")]
19455 On,
19456 #[serde(rename = "previous")]
19457 Previous,
19458 #[serde(rename = "toggle")]
19459 Toggle,
19460}
19461#[cfg_attr(feature = "debug", derive(Debug))]
19462#[cfg_attr(feature = "clone", derive(Clone))]
19463#[derive(Deserialize, PartialEq)]
19464pub enum Zigbee8719514344723Poweronbehavior {
19465 #[serde(rename = "off")]
19466 Off,
19467 #[serde(rename = "on")]
19468 On,
19469 #[serde(rename = "previous")]
19470 Previous,
19471 #[serde(rename = "toggle")]
19472 Toggle,
19473}
19474#[cfg_attr(feature = "debug", derive(Debug))]
19475#[cfg_attr(feature = "clone", derive(Clone))]
19476#[derive(Deserialize, PartialEq)]
19477pub enum Zigbee8719514382350Poweronbehavior {
19478 #[serde(rename = "off")]
19479 Off,
19480 #[serde(rename = "on")]
19481 On,
19482 #[serde(rename = "previous")]
19483 Previous,
19484 #[serde(rename = "toggle")]
19485 Toggle,
19486}
19487#[cfg_attr(feature = "debug", derive(Debug))]
19488#[cfg_attr(feature = "clone", derive(Clone))]
19489#[derive(Deserialize, PartialEq)]
19490pub enum Zigbee8719514392830Poweronbehavior {
19491 #[serde(rename = "off")]
19492 Off,
19493 #[serde(rename = "on")]
19494 On,
19495 #[serde(rename = "previous")]
19496 Previous,
19497 #[serde(rename = "toggle")]
19498 Toggle,
19499}
19500#[cfg_attr(feature = "debug", derive(Debug))]
19501#[cfg_attr(feature = "clone", derive(Clone))]
19502#[derive(Deserialize, PartialEq)]
19503pub enum Zigbee87195144409378719514440999Action {
19504 #[serde(rename = "button_1_hold")]
19505 Button1Hold,
19506 #[serde(rename = "button_1_hold_release")]
19507 Button1HoldRelease,
19508 #[serde(rename = "button_1_press")]
19509 Button1Press,
19510 #[serde(rename = "button_1_press_release")]
19511 Button1PressRelease,
19512 #[serde(rename = "button_2_hold")]
19513 Button2Hold,
19514 #[serde(rename = "button_2_hold_release")]
19515 Button2HoldRelease,
19516 #[serde(rename = "button_2_press")]
19517 Button2Press,
19518 #[serde(rename = "button_2_press_release")]
19519 Button2PressRelease,
19520 #[serde(rename = "button_3_hold")]
19521 Button3Hold,
19522 #[serde(rename = "button_3_hold_release")]
19523 Button3HoldRelease,
19524 #[serde(rename = "button_3_press")]
19525 Button3Press,
19526 #[serde(rename = "button_3_press_release")]
19527 Button3PressRelease,
19528 #[serde(rename = "button_4_hold")]
19529 Button4Hold,
19530 #[serde(rename = "button_4_hold_release")]
19531 Button4HoldRelease,
19532 #[serde(rename = "button_4_press")]
19533 Button4Press,
19534 #[serde(rename = "button_4_press_release")]
19535 Button4PressRelease,
19536 #[serde(rename = "dial_rotate_left_fast")]
19537 DialRotateLeftFast,
19538 #[serde(rename = "dial_rotate_left_slow")]
19539 DialRotateLeftSlow,
19540 #[serde(rename = "dial_rotate_left_step")]
19541 DialRotateLeftStep,
19542 #[serde(rename = "dial_rotate_right_fast")]
19543 DialRotateRightFast,
19544 #[serde(rename = "dial_rotate_right_slow")]
19545 DialRotateRightSlow,
19546 #[serde(rename = "dial_rotate_right_step")]
19547 DialRotateRightStep,
19548}
19549#[cfg_attr(feature = "debug", derive(Debug))]
19550#[cfg_attr(feature = "clone", derive(Clone))]
19551#[derive(Deserialize, PartialEq)]
19552pub enum Zigbee915005106701Poweronbehavior {
19553 #[serde(rename = "off")]
19554 Off,
19555 #[serde(rename = "on")]
19556 On,
19557 #[serde(rename = "previous")]
19558 Previous,
19559 #[serde(rename = "toggle")]
19560 Toggle,
19561}
19562#[cfg_attr(feature = "debug", derive(Debug))]
19563#[cfg_attr(feature = "clone", derive(Clone))]
19564#[derive(Deserialize, PartialEq)]
19565pub enum Zigbee915005587401Poweronbehavior {
19566 #[serde(rename = "off")]
19567 Off,
19568 #[serde(rename = "on")]
19569 On,
19570 #[serde(rename = "previous")]
19571 Previous,
19572 #[serde(rename = "toggle")]
19573 Toggle,
19574}
19575#[cfg_attr(feature = "debug", derive(Debug))]
19576#[cfg_attr(feature = "clone", derive(Clone))]
19577#[derive(Deserialize, PartialEq)]
19578pub enum Zigbee915005733701Poweronbehavior {
19579 #[serde(rename = "off")]
19580 Off,
19581 #[serde(rename = "on")]
19582 On,
19583 #[serde(rename = "previous")]
19584 Previous,
19585 #[serde(rename = "toggle")]
19586 Toggle,
19587}
19588#[cfg_attr(feature = "debug", derive(Debug))]
19589#[cfg_attr(feature = "clone", derive(Clone))]
19590#[derive(Deserialize, PartialEq)]
19591pub enum Zigbee915005916901Poweronbehavior {
19592 #[serde(rename = "off")]
19593 Off,
19594 #[serde(rename = "on")]
19595 On,
19596 #[serde(rename = "previous")]
19597 Previous,
19598 #[serde(rename = "toggle")]
19599 Toggle,
19600}
19601#[cfg_attr(feature = "debug", derive(Debug))]
19602#[cfg_attr(feature = "clone", derive(Clone))]
19603#[derive(Deserialize, PartialEq)]
19604pub enum Zigbee915005986901Poweronbehavior {
19605 #[serde(rename = "off")]
19606 Off,
19607 #[serde(rename = "on")]
19608 On,
19609 #[serde(rename = "previous")]
19610 Previous,
19611 #[serde(rename = "toggle")]
19612 Toggle,
19613}
19614#[cfg_attr(feature = "debug", derive(Debug))]
19615#[cfg_attr(feature = "clone", derive(Clone))]
19616#[derive(Deserialize, PartialEq)]
19617pub enum Zigbee915005987001Poweronbehavior {
19618 #[serde(rename = "off")]
19619 Off,
19620 #[serde(rename = "on")]
19621 On,
19622 #[serde(rename = "previous")]
19623 Previous,
19624 #[serde(rename = "toggle")]
19625 Toggle,
19626}
19627#[cfg_attr(feature = "debug", derive(Debug))]
19628#[cfg_attr(feature = "clone", derive(Clone))]
19629#[derive(Deserialize, PartialEq)]
19630pub enum Zigbee915005987101Poweronbehavior {
19631 #[serde(rename = "off")]
19632 Off,
19633 #[serde(rename = "on")]
19634 On,
19635 #[serde(rename = "previous")]
19636 Previous,
19637 #[serde(rename = "toggle")]
19638 Toggle,
19639}
19640#[cfg_attr(feature = "debug", derive(Debug))]
19641#[cfg_attr(feature = "clone", derive(Clone))]
19642#[derive(Deserialize, PartialEq)]
19643pub enum Zigbee915005987301Poweronbehavior {
19644 #[serde(rename = "off")]
19645 Off,
19646 #[serde(rename = "on")]
19647 On,
19648 #[serde(rename = "previous")]
19649 Previous,
19650 #[serde(rename = "toggle")]
19651 Toggle,
19652}
19653#[cfg_attr(feature = "debug", derive(Debug))]
19654#[cfg_attr(feature = "clone", derive(Clone))]
19655#[derive(Deserialize, PartialEq)]
19656pub enum Zigbee915005987401Poweronbehavior {
19657 #[serde(rename = "off")]
19658 Off,
19659 #[serde(rename = "on")]
19660 On,
19661 #[serde(rename = "previous")]
19662 Previous,
19663 #[serde(rename = "toggle")]
19664 Toggle,
19665}
19666#[cfg_attr(feature = "debug", derive(Debug))]
19667#[cfg_attr(feature = "clone", derive(Clone))]
19668#[derive(Deserialize, PartialEq)]
19669pub enum Zigbee915005987501Poweronbehavior {
19670 #[serde(rename = "off")]
19671 Off,
19672 #[serde(rename = "on")]
19673 On,
19674 #[serde(rename = "previous")]
19675 Previous,
19676 #[serde(rename = "toggle")]
19677 Toggle,
19678}
19679#[cfg_attr(feature = "debug", derive(Debug))]
19680#[cfg_attr(feature = "clone", derive(Clone))]
19681#[derive(Deserialize, PartialEq)]
19682pub enum Zigbee915005987601Poweronbehavior {
19683 #[serde(rename = "off")]
19684 Off,
19685 #[serde(rename = "on")]
19686 On,
19687 #[serde(rename = "previous")]
19688 Previous,
19689 #[serde(rename = "toggle")]
19690 Toggle,
19691}
19692#[cfg_attr(feature = "debug", derive(Debug))]
19693#[cfg_attr(feature = "clone", derive(Clone))]
19694#[derive(Deserialize, PartialEq)]
19695pub enum Zigbee915005987701Poweronbehavior {
19696 #[serde(rename = "off")]
19697 Off,
19698 #[serde(rename = "on")]
19699 On,
19700 #[serde(rename = "previous")]
19701 Previous,
19702 #[serde(rename = "toggle")]
19703 Toggle,
19704}
19705#[cfg_attr(feature = "debug", derive(Debug))]
19706#[cfg_attr(feature = "clone", derive(Clone))]
19707#[derive(Deserialize, PartialEq)]
19708pub enum Zigbee915005987901Poweronbehavior {
19709 #[serde(rename = "off")]
19710 Off,
19711 #[serde(rename = "on")]
19712 On,
19713 #[serde(rename = "previous")]
19714 Previous,
19715 #[serde(rename = "toggle")]
19716 Toggle,
19717}
19718#[cfg_attr(feature = "debug", derive(Debug))]
19719#[cfg_attr(feature = "clone", derive(Clone))]
19720#[derive(Deserialize, PartialEq)]
19721pub enum Zigbee915005988101Poweronbehavior {
19722 #[serde(rename = "off")]
19723 Off,
19724 #[serde(rename = "on")]
19725 On,
19726 #[serde(rename = "previous")]
19727 Previous,
19728 #[serde(rename = "toggle")]
19729 Toggle,
19730}
19731#[cfg_attr(feature = "debug", derive(Debug))]
19732#[cfg_attr(feature = "clone", derive(Clone))]
19733#[derive(Deserialize, PartialEq)]
19734pub enum Zigbee915005988401Poweronbehavior {
19735 #[serde(rename = "off")]
19736 Off,
19737 #[serde(rename = "on")]
19738 On,
19739 #[serde(rename = "previous")]
19740 Previous,
19741 #[serde(rename = "toggle")]
19742 Toggle,
19743}
19744#[cfg_attr(feature = "debug", derive(Debug))]
19745#[cfg_attr(feature = "clone", derive(Clone))]
19746#[derive(Deserialize, PartialEq)]
19747pub enum Zigbee915005988501Poweronbehavior {
19748 #[serde(rename = "off")]
19749 Off,
19750 #[serde(rename = "on")]
19751 On,
19752 #[serde(rename = "previous")]
19753 Previous,
19754 #[serde(rename = "toggle")]
19755 Toggle,
19756}
19757#[cfg_attr(feature = "debug", derive(Debug))]
19758#[cfg_attr(feature = "clone", derive(Clone))]
19759#[derive(Deserialize, PartialEq)]
19760pub enum Zigbee915005996401Poweronbehavior {
19761 #[serde(rename = "off")]
19762 Off,
19763 #[serde(rename = "on")]
19764 On,
19765 #[serde(rename = "previous")]
19766 Previous,
19767 #[serde(rename = "toggle")]
19768 Toggle,
19769}
19770#[cfg_attr(feature = "debug", derive(Debug))]
19771#[cfg_attr(feature = "clone", derive(Clone))]
19772#[derive(Deserialize, PartialEq)]
19773pub enum Zigbee915005996601Poweronbehavior {
19774 #[serde(rename = "off")]
19775 Off,
19776 #[serde(rename = "on")]
19777 On,
19778 #[serde(rename = "previous")]
19779 Previous,
19780 #[serde(rename = "toggle")]
19781 Toggle,
19782}
19783#[cfg_attr(feature = "debug", derive(Debug))]
19784#[cfg_attr(feature = "clone", derive(Clone))]
19785#[derive(Deserialize, PartialEq)]
19786pub enum Zigbee915005996701Poweronbehavior {
19787 #[serde(rename = "off")]
19788 Off,
19789 #[serde(rename = "on")]
19790 On,
19791 #[serde(rename = "previous")]
19792 Previous,
19793 #[serde(rename = "toggle")]
19794 Toggle,
19795}
19796#[cfg_attr(feature = "debug", derive(Debug))]
19797#[cfg_attr(feature = "clone", derive(Clone))]
19798#[derive(Deserialize, PartialEq)]
19799pub enum Zigbee915005996901Poweronbehavior {
19800 #[serde(rename = "off")]
19801 Off,
19802 #[serde(rename = "on")]
19803 On,
19804 #[serde(rename = "previous")]
19805 Previous,
19806 #[serde(rename = "toggle")]
19807 Toggle,
19808}
19809#[cfg_attr(feature = "debug", derive(Debug))]
19810#[cfg_attr(feature = "clone", derive(Clone))]
19811#[derive(Deserialize, PartialEq)]
19812pub enum Zigbee915005997001Poweronbehavior {
19813 #[serde(rename = "off")]
19814 Off,
19815 #[serde(rename = "on")]
19816 On,
19817 #[serde(rename = "previous")]
19818 Previous,
19819 #[serde(rename = "toggle")]
19820 Toggle,
19821}
19822#[cfg_attr(feature = "debug", derive(Debug))]
19823#[cfg_attr(feature = "clone", derive(Clone))]
19824#[derive(Deserialize, PartialEq)]
19825pub enum Zigbee915005997301Poweronbehavior {
19826 #[serde(rename = "off")]
19827 Off,
19828 #[serde(rename = "on")]
19829 On,
19830 #[serde(rename = "previous")]
19831 Previous,
19832 #[serde(rename = "toggle")]
19833 Toggle,
19834}
19835#[cfg_attr(feature = "debug", derive(Debug))]
19836#[cfg_attr(feature = "clone", derive(Clone))]
19837#[derive(Deserialize, PartialEq)]
19838pub enum Zigbee915005997501Poweronbehavior {
19839 #[serde(rename = "off")]
19840 Off,
19841 #[serde(rename = "on")]
19842 On,
19843 #[serde(rename = "previous")]
19844 Previous,
19845 #[serde(rename = "toggle")]
19846 Toggle,
19847}
19848#[cfg_attr(feature = "debug", derive(Debug))]
19849#[cfg_attr(feature = "clone", derive(Clone))]
19850#[derive(Deserialize, PartialEq)]
19851pub enum Zigbee915005997601Poweronbehavior {
19852 #[serde(rename = "off")]
19853 Off,
19854 #[serde(rename = "on")]
19855 On,
19856 #[serde(rename = "previous")]
19857 Previous,
19858 #[serde(rename = "toggle")]
19859 Toggle,
19860}
19861#[cfg_attr(feature = "debug", derive(Debug))]
19862#[cfg_attr(feature = "clone", derive(Clone))]
19863#[derive(Deserialize, PartialEq)]
19864pub enum Zigbee915005997701Poweronbehavior {
19865 #[serde(rename = "off")]
19866 Off,
19867 #[serde(rename = "on")]
19868 On,
19869 #[serde(rename = "previous")]
19870 Previous,
19871 #[serde(rename = "toggle")]
19872 Toggle,
19873}
19874#[cfg_attr(feature = "debug", derive(Debug))]
19875#[cfg_attr(feature = "clone", derive(Clone))]
19876#[derive(Deserialize, PartialEq)]
19877pub enum Zigbee915005997801Poweronbehavior {
19878 #[serde(rename = "off")]
19879 Off,
19880 #[serde(rename = "on")]
19881 On,
19882 #[serde(rename = "previous")]
19883 Previous,
19884 #[serde(rename = "toggle")]
19885 Toggle,
19886}
19887#[cfg_attr(feature = "debug", derive(Debug))]
19888#[cfg_attr(feature = "clone", derive(Clone))]
19889#[derive(Deserialize, PartialEq)]
19890pub enum Zigbee915005997901Poweronbehavior {
19891 #[serde(rename = "off")]
19892 Off,
19893 #[serde(rename = "on")]
19894 On,
19895 #[serde(rename = "previous")]
19896 Previous,
19897 #[serde(rename = "toggle")]
19898 Toggle,
19899}
19900#[cfg_attr(feature = "debug", derive(Debug))]
19901#[cfg_attr(feature = "clone", derive(Clone))]
19902#[derive(Deserialize, PartialEq)]
19903pub enum Zigbee915005998001Poweronbehavior {
19904 #[serde(rename = "off")]
19905 Off,
19906 #[serde(rename = "on")]
19907 On,
19908 #[serde(rename = "previous")]
19909 Previous,
19910 #[serde(rename = "toggle")]
19911 Toggle,
19912}
19913#[cfg_attr(feature = "debug", derive(Debug))]
19914#[cfg_attr(feature = "clone", derive(Clone))]
19915#[derive(Deserialize, PartialEq)]
19916pub enum Zigbee915005998101Poweronbehavior {
19917 #[serde(rename = "off")]
19918 Off,
19919 #[serde(rename = "on")]
19920 On,
19921 #[serde(rename = "previous")]
19922 Previous,
19923 #[serde(rename = "toggle")]
19924 Toggle,
19925}
19926#[cfg_attr(feature = "debug", derive(Debug))]
19927#[cfg_attr(feature = "clone", derive(Clone))]
19928#[derive(Deserialize, PartialEq)]
19929pub enum Zigbee915005998201Poweronbehavior {
19930 #[serde(rename = "off")]
19931 Off,
19932 #[serde(rename = "on")]
19933 On,
19934 #[serde(rename = "previous")]
19935 Previous,
19936 #[serde(rename = "toggle")]
19937 Toggle,
19938}
19939#[cfg_attr(feature = "debug", derive(Debug))]
19940#[cfg_attr(feature = "clone", derive(Clone))]
19941#[derive(Deserialize, PartialEq)]
19942pub enum Zigbee9290002579aPoweronbehavior {
19943 #[serde(rename = "off")]
19944 Off,
19945 #[serde(rename = "on")]
19946 On,
19947 #[serde(rename = "previous")]
19948 Previous,
19949 #[serde(rename = "toggle")]
19950 Toggle,
19951}
19952#[cfg_attr(feature = "debug", derive(Debug))]
19953#[cfg_attr(feature = "clone", derive(Clone))]
19954#[derive(Deserialize, PartialEq)]
19955pub enum Zigbee9290011370Poweronbehavior {
19956 #[serde(rename = "off")]
19957 Off,
19958 #[serde(rename = "on")]
19959 On,
19960 #[serde(rename = "previous")]
19961 Previous,
19962 #[serde(rename = "toggle")]
19963 Toggle,
19964}
19965#[cfg_attr(feature = "debug", derive(Debug))]
19966#[cfg_attr(feature = "clone", derive(Clone))]
19967#[derive(Deserialize, PartialEq)]
19968pub enum Zigbee9290011370bPoweronbehavior {
19969 #[serde(rename = "off")]
19970 Off,
19971 #[serde(rename = "on")]
19972 On,
19973 #[serde(rename = "previous")]
19974 Previous,
19975 #[serde(rename = "toggle")]
19976 Toggle,
19977}
19978#[cfg_attr(feature = "debug", derive(Debug))]
19979#[cfg_attr(feature = "clone", derive(Clone))]
19980#[derive(Deserialize, PartialEq)]
19981pub enum Zigbee9290011998bPoweronbehavior {
19982 #[serde(rename = "off")]
19983 Off,
19984 #[serde(rename = "on")]
19985 On,
19986 #[serde(rename = "previous")]
19987 Previous,
19988 #[serde(rename = "toggle")]
19989 Toggle,
19990}
19991#[cfg_attr(feature = "debug", derive(Debug))]
19992#[cfg_attr(feature = "clone", derive(Clone))]
19993#[derive(Deserialize, PartialEq)]
19994pub enum Zigbee9290012573aPoweronbehavior {
19995 #[serde(rename = "off")]
19996 Off,
19997 #[serde(rename = "on")]
19998 On,
19999 #[serde(rename = "previous")]
20000 Previous,
20001 #[serde(rename = "toggle")]
20002 Toggle,
20003}
20004#[cfg_attr(feature = "debug", derive(Debug))]
20005#[cfg_attr(feature = "clone", derive(Clone))]
20006#[derive(Deserialize, PartialEq)]
20007pub enum Zigbee9290012607Motionsensitivity {
20008 #[serde(rename = "high")]
20009 High,
20010 #[serde(rename = "low")]
20011 Low,
20012 #[serde(rename = "medium")]
20013 Medium,
20014}
20015#[cfg_attr(feature = "debug", derive(Debug))]
20016#[cfg_attr(feature = "clone", derive(Clone))]
20017#[derive(Deserialize, PartialEq)]
20018pub enum Zigbee9290018187bPoweronbehavior {
20019 #[serde(rename = "off")]
20020 Off,
20021 #[serde(rename = "on")]
20022 On,
20023 #[serde(rename = "previous")]
20024 Previous,
20025 #[serde(rename = "toggle")]
20026 Toggle,
20027}
20028#[cfg_attr(feature = "debug", derive(Debug))]
20029#[cfg_attr(feature = "clone", derive(Clone))]
20030#[derive(Deserialize, PartialEq)]
20031pub enum Zigbee9290018189Poweronbehavior {
20032 #[serde(rename = "off")]
20033 Off,
20034 #[serde(rename = "on")]
20035 On,
20036 #[serde(rename = "previous")]
20037 Previous,
20038 #[serde(rename = "toggle")]
20039 Toggle,
20040}
20041#[cfg_attr(feature = "debug", derive(Debug))]
20042#[cfg_attr(feature = "clone", derive(Clone))]
20043#[derive(Deserialize, PartialEq)]
20044pub enum Zigbee9290018194Poweronbehavior {
20045 #[serde(rename = "off")]
20046 Off,
20047 #[serde(rename = "on")]
20048 On,
20049 #[serde(rename = "previous")]
20050 Previous,
20051 #[serde(rename = "toggle")]
20052 Toggle,
20053}
20054#[cfg_attr(feature = "debug", derive(Debug))]
20055#[cfg_attr(feature = "clone", derive(Clone))]
20056#[derive(Deserialize, PartialEq)]
20057pub enum Zigbee9290018195Poweronbehavior {
20058 #[serde(rename = "off")]
20059 Off,
20060 #[serde(rename = "on")]
20061 On,
20062 #[serde(rename = "previous")]
20063 Previous,
20064 #[serde(rename = "toggle")]
20065 Toggle,
20066}
20067#[cfg_attr(feature = "debug", derive(Debug))]
20068#[cfg_attr(feature = "clone", derive(Clone))]
20069#[derive(Deserialize, PartialEq)]
20070pub enum Zigbee9290018215Poweronbehavior {
20071 #[serde(rename = "off")]
20072 Off,
20073 #[serde(rename = "on")]
20074 On,
20075 #[serde(rename = "previous")]
20076 Previous,
20077 #[serde(rename = "toggle")]
20078 Toggle,
20079}
20080#[cfg_attr(feature = "debug", derive(Debug))]
20081#[cfg_attr(feature = "clone", derive(Clone))]
20082#[derive(Deserialize, PartialEq)]
20083pub enum Zigbee929001821618Poweronbehavior {
20084 #[serde(rename = "off")]
20085 Off,
20086 #[serde(rename = "on")]
20087 On,
20088 #[serde(rename = "previous")]
20089 Previous,
20090 #[serde(rename = "toggle")]
20091 Toggle,
20092}
20093#[cfg_attr(feature = "debug", derive(Debug))]
20094#[cfg_attr(feature = "clone", derive(Clone))]
20095#[derive(Deserialize, PartialEq)]
20096pub enum Zigbee9290018216Poweronbehavior {
20097 #[serde(rename = "off")]
20098 Off,
20099 #[serde(rename = "on")]
20100 On,
20101 #[serde(rename = "previous")]
20102 Previous,
20103 #[serde(rename = "toggle")]
20104 Toggle,
20105}
20106#[cfg_attr(feature = "debug", derive(Debug))]
20107#[cfg_attr(feature = "clone", derive(Clone))]
20108#[derive(Deserialize, PartialEq)]
20109pub enum Zigbee9290018217Poweronbehavior {
20110 #[serde(rename = "off")]
20111 Off,
20112 #[serde(rename = "on")]
20113 On,
20114 #[serde(rename = "previous")]
20115 Previous,
20116 #[serde(rename = "toggle")]
20117 Toggle,
20118}
20119#[cfg_attr(feature = "debug", derive(Debug))]
20120#[cfg_attr(feature = "clone", derive(Clone))]
20121#[derive(Deserialize, PartialEq)]
20122pub enum Zigbee9290018609Poweronbehavior {
20123 #[serde(rename = "off")]
20124 Off,
20125 #[serde(rename = "on")]
20126 On,
20127 #[serde(rename = "previous")]
20128 Previous,
20129 #[serde(rename = "toggle")]
20130 Toggle,
20131}
20132#[cfg_attr(feature = "debug", derive(Debug))]
20133#[cfg_attr(feature = "clone", derive(Clone))]
20134#[derive(Deserialize, PartialEq)]
20135pub enum Zigbee929001953101Poweronbehavior {
20136 #[serde(rename = "off")]
20137 Off,
20138 #[serde(rename = "on")]
20139 On,
20140 #[serde(rename = "previous")]
20141 Previous,
20142 #[serde(rename = "toggle")]
20143 Toggle,
20144}
20145#[cfg_attr(feature = "debug", derive(Debug))]
20146#[cfg_attr(feature = "clone", derive(Clone))]
20147#[derive(Deserialize, PartialEq)]
20148pub enum Zigbee9290019532Poweronbehavior {
20149 #[serde(rename = "off")]
20150 Off,
20151 #[serde(rename = "on")]
20152 On,
20153 #[serde(rename = "previous")]
20154 Previous,
20155 #[serde(rename = "toggle")]
20156 Toggle,
20157}
20158#[cfg_attr(feature = "debug", derive(Debug))]
20159#[cfg_attr(feature = "clone", derive(Clone))]
20160#[derive(Deserialize, PartialEq)]
20161pub enum Zigbee929001953301Poweronbehavior {
20162 #[serde(rename = "off")]
20163 Off,
20164 #[serde(rename = "on")]
20165 On,
20166 #[serde(rename = "previous")]
20167 Previous,
20168 #[serde(rename = "toggle")]
20169 Toggle,
20170}
20171#[cfg_attr(feature = "debug", derive(Debug))]
20172#[cfg_attr(feature = "clone", derive(Clone))]
20173#[derive(Deserialize, PartialEq)]
20174pub enum Zigbee9290019533Poweronbehavior {
20175 #[serde(rename = "off")]
20176 Off,
20177 #[serde(rename = "on")]
20178 On,
20179 #[serde(rename = "previous")]
20180 Previous,
20181 #[serde(rename = "toggle")]
20182 Toggle,
20183}
20184#[cfg_attr(feature = "debug", derive(Debug))]
20185#[cfg_attr(feature = "clone", derive(Clone))]
20186#[derive(Deserialize, PartialEq)]
20187pub enum Zigbee9290019534Poweronbehavior {
20188 #[serde(rename = "off")]
20189 Off,
20190 #[serde(rename = "on")]
20191 On,
20192 #[serde(rename = "previous")]
20193 Previous,
20194 #[serde(rename = "toggle")]
20195 Toggle,
20196}
20197#[cfg_attr(feature = "debug", derive(Debug))]
20198#[cfg_attr(feature = "clone", derive(Clone))]
20199#[derive(Deserialize, PartialEq)]
20200pub enum Zigbee9290019536Poweronbehavior {
20201 #[serde(rename = "off")]
20202 Off,
20203 #[serde(rename = "on")]
20204 On,
20205 #[serde(rename = "previous")]
20206 Previous,
20207 #[serde(rename = "toggle")]
20208 Toggle,
20209}
20210#[cfg_attr(feature = "debug", derive(Debug))]
20211#[cfg_attr(feature = "clone", derive(Clone))]
20212#[derive(Deserialize, PartialEq)]
20213pub enum Zigbee9290019758Motionsensitivity {
20214 #[serde(rename = "high")]
20215 High,
20216 #[serde(rename = "low")]
20217 Low,
20218 #[serde(rename = "medium")]
20219 Medium,
20220}
20221#[cfg_attr(feature = "debug", derive(Debug))]
20222#[cfg_attr(feature = "clone", derive(Clone))]
20223#[derive(Deserialize, PartialEq)]
20224pub enum Zigbee929002039801Poweronbehavior {
20225 #[serde(rename = "off")]
20226 Off,
20227 #[serde(rename = "on")]
20228 On,
20229 #[serde(rename = "previous")]
20230 Previous,
20231 #[serde(rename = "toggle")]
20232 Toggle,
20233}
20234#[cfg_attr(feature = "debug", derive(Debug))]
20235#[cfg_attr(feature = "clone", derive(Clone))]
20236#[derive(Deserialize, PartialEq)]
20237pub enum Zigbee9290020399Poweronbehavior {
20238 #[serde(rename = "off")]
20239 Off,
20240 #[serde(rename = "on")]
20241 On,
20242 #[serde(rename = "previous")]
20243 Previous,
20244 #[serde(rename = "toggle")]
20245 Toggle,
20246}
20247#[cfg_attr(feature = "debug", derive(Debug))]
20248#[cfg_attr(feature = "clone", derive(Clone))]
20249#[derive(Deserialize, PartialEq)]
20250pub enum Zigbee9290020400Poweronbehavior {
20251 #[serde(rename = "off")]
20252 Off,
20253 #[serde(rename = "on")]
20254 On,
20255 #[serde(rename = "previous")]
20256 Previous,
20257 #[serde(rename = "toggle")]
20258 Toggle,
20259}
20260#[cfg_attr(feature = "debug", derive(Debug))]
20261#[cfg_attr(feature = "clone", derive(Clone))]
20262#[derive(Deserialize, PartialEq)]
20263pub enum Zigbee9290022166Poweronbehavior {
20264 #[serde(rename = "off")]
20265 Off,
20266 #[serde(rename = "on")]
20267 On,
20268 #[serde(rename = "previous")]
20269 Previous,
20270 #[serde(rename = "toggle")]
20271 Toggle,
20272}
20273#[cfg_attr(feature = "debug", derive(Debug))]
20274#[cfg_attr(feature = "clone", derive(Clone))]
20275#[derive(Deserialize, PartialEq)]
20276pub enum Zigbee9290022167Poweronbehavior {
20277 #[serde(rename = "off")]
20278 Off,
20279 #[serde(rename = "on")]
20280 On,
20281 #[serde(rename = "previous")]
20282 Previous,
20283 #[serde(rename = "toggle")]
20284 Toggle,
20285}
20286#[cfg_attr(feature = "debug", derive(Debug))]
20287#[cfg_attr(feature = "clone", derive(Clone))]
20288#[derive(Deserialize, PartialEq)]
20289pub enum Zigbee9290022169Poweronbehavior {
20290 #[serde(rename = "off")]
20291 Off,
20292 #[serde(rename = "on")]
20293 On,
20294 #[serde(rename = "previous")]
20295 Previous,
20296 #[serde(rename = "toggle")]
20297 Toggle,
20298}
20299#[cfg_attr(feature = "debug", derive(Debug))]
20300#[cfg_attr(feature = "clone", derive(Clone))]
20301#[derive(Deserialize, PartialEq)]
20302pub enum Zigbee9290022266aPoweronbehavior {
20303 #[serde(rename = "off")]
20304 Off,
20305 #[serde(rename = "on")]
20306 On,
20307 #[serde(rename = "previous")]
20308 Previous,
20309 #[serde(rename = "toggle")]
20310 Toggle,
20311}
20312#[cfg_attr(feature = "debug", derive(Debug))]
20313#[cfg_attr(feature = "clone", derive(Clone))]
20314#[derive(Deserialize, PartialEq)]
20315pub enum Zigbee9290022267Poweronbehavior {
20316 #[serde(rename = "off")]
20317 Off,
20318 #[serde(rename = "on")]
20319 On,
20320 #[serde(rename = "previous")]
20321 Previous,
20322 #[serde(rename = "toggle")]
20323 Toggle,
20324}
20325#[cfg_attr(feature = "debug", derive(Debug))]
20326#[cfg_attr(feature = "clone", derive(Clone))]
20327#[derive(Deserialize, PartialEq)]
20328pub enum Zigbee9290022267aPoweronbehavior {
20329 #[serde(rename = "off")]
20330 Off,
20331 #[serde(rename = "on")]
20332 On,
20333 #[serde(rename = "previous")]
20334 Previous,
20335 #[serde(rename = "toggle")]
20336 Toggle,
20337}
20338#[cfg_attr(feature = "debug", derive(Debug))]
20339#[cfg_attr(feature = "clone", derive(Clone))]
20340#[derive(Deserialize, PartialEq)]
20341pub enum Zigbee9290022268Poweronbehavior {
20342 #[serde(rename = "off")]
20343 Off,
20344 #[serde(rename = "on")]
20345 On,
20346 #[serde(rename = "previous")]
20347 Previous,
20348 #[serde(rename = "toggle")]
20349 Toggle,
20350}
20351#[cfg_attr(feature = "debug", derive(Debug))]
20352#[cfg_attr(feature = "clone", derive(Clone))]
20353#[derive(Deserialize, PartialEq)]
20354pub enum Zigbee9290022411Poweronbehavior {
20355 #[serde(rename = "off")]
20356 Off,
20357 #[serde(rename = "on")]
20358 On,
20359 #[serde(rename = "previous")]
20360 Previous,
20361 #[serde(rename = "toggle")]
20362 Toggle,
20363}
20364#[cfg_attr(feature = "debug", derive(Debug))]
20365#[cfg_attr(feature = "clone", derive(Clone))]
20366#[derive(Deserialize, PartialEq)]
20367pub enum Zigbee929002241201Poweronbehavior {
20368 #[serde(rename = "off")]
20369 Off,
20370 #[serde(rename = "on")]
20371 On,
20372 #[serde(rename = "previous")]
20373 Previous,
20374 #[serde(rename = "toggle")]
20375 Toggle,
20376}
20377#[cfg_attr(feature = "debug", derive(Debug))]
20378#[cfg_attr(feature = "clone", derive(Clone))]
20379#[derive(Deserialize, PartialEq)]
20380pub enum Zigbee9290022415Poweronbehavior {
20381 #[serde(rename = "off")]
20382 Off,
20383 #[serde(rename = "on")]
20384 On,
20385 #[serde(rename = "previous")]
20386 Previous,
20387 #[serde(rename = "toggle")]
20388 Toggle,
20389}
20390#[cfg_attr(feature = "debug", derive(Debug))]
20391#[cfg_attr(feature = "clone", derive(Clone))]
20392#[derive(Deserialize, PartialEq)]
20393pub enum Zigbee929002277501Poweronbehavior {
20394 #[serde(rename = "off")]
20395 Off,
20396 #[serde(rename = "on")]
20397 On,
20398 #[serde(rename = "previous")]
20399 Previous,
20400 #[serde(rename = "toggle")]
20401 Toggle,
20402}
20403#[cfg_attr(feature = "debug", derive(Debug))]
20404#[cfg_attr(feature = "clone", derive(Clone))]
20405#[derive(Deserialize, PartialEq)]
20406pub enum Zigbee9290022890Poweronbehavior {
20407 #[serde(rename = "off")]
20408 Off,
20409 #[serde(rename = "on")]
20410 On,
20411 #[serde(rename = "previous")]
20412 Previous,
20413 #[serde(rename = "toggle")]
20414 Toggle,
20415}
20416#[cfg_attr(feature = "debug", derive(Debug))]
20417#[cfg_attr(feature = "clone", derive(Clone))]
20418#[derive(Deserialize, PartialEq)]
20419pub enum Zigbee9290022891Poweronbehavior {
20420 #[serde(rename = "off")]
20421 Off,
20422 #[serde(rename = "on")]
20423 On,
20424 #[serde(rename = "previous")]
20425 Previous,
20426 #[serde(rename = "toggle")]
20427 Toggle,
20428}
20429#[cfg_attr(feature = "debug", derive(Debug))]
20430#[cfg_attr(feature = "clone", derive(Clone))]
20431#[derive(Deserialize, PartialEq)]
20432pub enum Zigbee929002294101Poweronbehavior {
20433 #[serde(rename = "off")]
20434 Off,
20435 #[serde(rename = "on")]
20436 On,
20437 #[serde(rename = "previous")]
20438 Previous,
20439 #[serde(rename = "toggle")]
20440 Toggle,
20441}
20442#[cfg_attr(feature = "debug", derive(Debug))]
20443#[cfg_attr(feature = "clone", derive(Clone))]
20444#[derive(Deserialize, PartialEq)]
20445pub enum Zigbee929002294102Poweronbehavior {
20446 #[serde(rename = "off")]
20447 Off,
20448 #[serde(rename = "on")]
20449 On,
20450 #[serde(rename = "previous")]
20451 Previous,
20452 #[serde(rename = "toggle")]
20453 Toggle,
20454}
20455#[cfg_attr(feature = "debug", derive(Debug))]
20456#[cfg_attr(feature = "clone", derive(Clone))]
20457#[derive(Deserialize, PartialEq)]
20458pub enum Zigbee929002294203Poweronbehavior {
20459 #[serde(rename = "off")]
20460 Off,
20461 #[serde(rename = "on")]
20462 On,
20463 #[serde(rename = "previous")]
20464 Previous,
20465 #[serde(rename = "toggle")]
20466 Toggle,
20467}
20468#[cfg_attr(feature = "debug", derive(Debug))]
20469#[cfg_attr(feature = "clone", derive(Clone))]
20470#[derive(Deserialize, PartialEq)]
20471pub enum Zigbee9290022943Poweronbehavior {
20472 #[serde(rename = "off")]
20473 Off,
20474 #[serde(rename = "on")]
20475 On,
20476 #[serde(rename = "previous")]
20477 Previous,
20478 #[serde(rename = "toggle")]
20479 Toggle,
20480}
20481#[cfg_attr(feature = "debug", derive(Debug))]
20482#[cfg_attr(feature = "clone", derive(Clone))]
20483#[derive(Deserialize, PartialEq)]
20484pub enum Zigbee9290022944Poweronbehavior {
20485 #[serde(rename = "off")]
20486 Off,
20487 #[serde(rename = "on")]
20488 On,
20489 #[serde(rename = "previous")]
20490 Previous,
20491 #[serde(rename = "toggle")]
20492 Toggle,
20493}
20494#[cfg_attr(feature = "debug", derive(Debug))]
20495#[cfg_attr(feature = "clone", derive(Clone))]
20496#[derive(Deserialize, PartialEq)]
20497pub enum Zigbee9290023349Poweronbehavior {
20498 #[serde(rename = "off")]
20499 Off,
20500 #[serde(rename = "on")]
20501 On,
20502 #[serde(rename = "previous")]
20503 Previous,
20504 #[serde(rename = "toggle")]
20505 Toggle,
20506}
20507#[cfg_attr(feature = "debug", derive(Debug))]
20508#[cfg_attr(feature = "clone", derive(Clone))]
20509#[derive(Deserialize, PartialEq)]
20510pub enum Zigbee929002335001Poweronbehavior {
20511 #[serde(rename = "off")]
20512 Off,
20513 #[serde(rename = "on")]
20514 On,
20515 #[serde(rename = "previous")]
20516 Previous,
20517 #[serde(rename = "toggle")]
20518 Toggle,
20519}
20520#[cfg_attr(feature = "debug", derive(Debug))]
20521#[cfg_attr(feature = "clone", derive(Clone))]
20522#[derive(Deserialize, PartialEq)]
20523pub enum Zigbee929002335105Poweronbehavior {
20524 #[serde(rename = "off")]
20525 Off,
20526 #[serde(rename = "on")]
20527 On,
20528 #[serde(rename = "previous")]
20529 Previous,
20530 #[serde(rename = "toggle")]
20531 Toggle,
20532}
20533#[cfg_attr(feature = "debug", derive(Debug))]
20534#[cfg_attr(feature = "clone", derive(Clone))]
20535#[derive(Deserialize, PartialEq)]
20536pub enum Zigbee9290023351Poweronbehavior {
20537 #[serde(rename = "off")]
20538 Off,
20539 #[serde(rename = "on")]
20540 On,
20541 #[serde(rename = "previous")]
20542 Previous,
20543 #[serde(rename = "toggle")]
20544 Toggle,
20545}
20546#[cfg_attr(feature = "debug", derive(Debug))]
20547#[cfg_attr(feature = "clone", derive(Clone))]
20548#[derive(Deserialize, PartialEq)]
20549pub enum Zigbee929002375901Poweronbehavior {
20550 #[serde(rename = "off")]
20551 Off,
20552 #[serde(rename = "on")]
20553 On,
20554 #[serde(rename = "previous")]
20555 Previous,
20556 #[serde(rename = "toggle")]
20557 Toggle,
20558}
20559#[cfg_attr(feature = "debug", derive(Debug))]
20560#[cfg_attr(feature = "clone", derive(Clone))]
20561#[derive(Deserialize, PartialEq)]
20562pub enum Zigbee929002376001Poweronbehavior {
20563 #[serde(rename = "off")]
20564 Off,
20565 #[serde(rename = "on")]
20566 On,
20567 #[serde(rename = "previous")]
20568 Previous,
20569 #[serde(rename = "toggle")]
20570 Toggle,
20571}
20572#[cfg_attr(feature = "debug", derive(Debug))]
20573#[cfg_attr(feature = "clone", derive(Clone))]
20574#[derive(Deserialize, PartialEq)]
20575pub enum Zigbee929002376101Poweronbehavior {
20576 #[serde(rename = "off")]
20577 Off,
20578 #[serde(rename = "on")]
20579 On,
20580 #[serde(rename = "previous")]
20581 Previous,
20582 #[serde(rename = "toggle")]
20583 Toggle,
20584}
20585#[cfg_attr(feature = "debug", derive(Debug))]
20586#[cfg_attr(feature = "clone", derive(Clone))]
20587#[derive(Deserialize, PartialEq)]
20588pub enum Zigbee929002376201Poweronbehavior {
20589 #[serde(rename = "off")]
20590 Off,
20591 #[serde(rename = "on")]
20592 On,
20593 #[serde(rename = "previous")]
20594 Previous,
20595 #[serde(rename = "toggle")]
20596 Toggle,
20597}
20598#[cfg_attr(feature = "debug", derive(Debug))]
20599#[cfg_attr(feature = "clone", derive(Clone))]
20600#[derive(Deserialize, PartialEq)]
20601pub enum Zigbee929002376301Poweronbehavior {
20602 #[serde(rename = "off")]
20603 Off,
20604 #[serde(rename = "on")]
20605 On,
20606 #[serde(rename = "previous")]
20607 Previous,
20608 #[serde(rename = "toggle")]
20609 Toggle,
20610}
20611#[cfg_attr(feature = "debug", derive(Debug))]
20612#[cfg_attr(feature = "clone", derive(Clone))]
20613#[derive(Deserialize, PartialEq)]
20614pub enum Zigbee929002376401Poweronbehavior {
20615 #[serde(rename = "off")]
20616 Off,
20617 #[serde(rename = "on")]
20618 On,
20619 #[serde(rename = "previous")]
20620 Previous,
20621 #[serde(rename = "toggle")]
20622 Toggle,
20623}
20624#[cfg_attr(feature = "debug", derive(Debug))]
20625#[cfg_attr(feature = "clone", derive(Clone))]
20626#[derive(Deserialize, PartialEq)]
20627pub enum Zigbee929002376501Poweronbehavior {
20628 #[serde(rename = "off")]
20629 Off,
20630 #[serde(rename = "on")]
20631 On,
20632 #[serde(rename = "previous")]
20633 Previous,
20634 #[serde(rename = "toggle")]
20635 Toggle,
20636}
20637#[cfg_attr(feature = "debug", derive(Debug))]
20638#[cfg_attr(feature = "clone", derive(Clone))]
20639#[derive(Deserialize, PartialEq)]
20640pub enum Zigbee929002376701Poweronbehavior {
20641 #[serde(rename = "off")]
20642 Off,
20643 #[serde(rename = "on")]
20644 On,
20645 #[serde(rename = "previous")]
20646 Previous,
20647 #[serde(rename = "toggle")]
20648 Toggle,
20649}
20650#[cfg_attr(feature = "debug", derive(Debug))]
20651#[cfg_attr(feature = "clone", derive(Clone))]
20652#[derive(Deserialize, PartialEq)]
20653pub enum Zigbee929002376703Poweronbehavior {
20654 #[serde(rename = "off")]
20655 Off,
20656 #[serde(rename = "on")]
20657 On,
20658 #[serde(rename = "previous")]
20659 Previous,
20660 #[serde(rename = "toggle")]
20661 Toggle,
20662}
20663#[cfg_attr(feature = "debug", derive(Debug))]
20664#[cfg_attr(feature = "clone", derive(Clone))]
20665#[derive(Deserialize, PartialEq)]
20666pub enum Zigbee929002376801Poweronbehavior {
20667 #[serde(rename = "off")]
20668 Off,
20669 #[serde(rename = "on")]
20670 On,
20671 #[serde(rename = "previous")]
20672 Previous,
20673 #[serde(rename = "toggle")]
20674 Toggle,
20675}
20676#[cfg_attr(feature = "debug", derive(Debug))]
20677#[cfg_attr(feature = "clone", derive(Clone))]
20678#[derive(Deserialize, PartialEq)]
20679pub enum Zigbee929002376803Poweronbehavior {
20680 #[serde(rename = "off")]
20681 Off,
20682 #[serde(rename = "on")]
20683 On,
20684 #[serde(rename = "previous")]
20685 Previous,
20686 #[serde(rename = "toggle")]
20687 Toggle,
20688}
20689#[cfg_attr(feature = "debug", derive(Debug))]
20690#[cfg_attr(feature = "clone", derive(Clone))]
20691#[derive(Deserialize, PartialEq)]
20692pub enum Zigbee929002376901Poweronbehavior {
20693 #[serde(rename = "off")]
20694 Off,
20695 #[serde(rename = "on")]
20696 On,
20697 #[serde(rename = "previous")]
20698 Previous,
20699 #[serde(rename = "toggle")]
20700 Toggle,
20701}
20702#[cfg_attr(feature = "debug", derive(Debug))]
20703#[cfg_attr(feature = "clone", derive(Clone))]
20704#[derive(Deserialize, PartialEq)]
20705pub enum Zigbee929002398602Action {
20706 #[serde(rename = "down_hold")]
20707 DownHold,
20708 #[serde(rename = "down_hold_release")]
20709 DownHoldRelease,
20710 #[serde(rename = "down_press")]
20711 DownPress,
20712 #[serde(rename = "down_press_release")]
20713 DownPressRelease,
20714 #[serde(rename = "off_hold")]
20715 OffHold,
20716 #[serde(rename = "off_hold_release")]
20717 OffHoldRelease,
20718 #[serde(rename = "off_press")]
20719 OffPress,
20720 #[serde(rename = "off_press_release")]
20721 OffPressRelease,
20722 #[serde(rename = "on_hold")]
20723 OnHold,
20724 #[serde(rename = "on_hold_release")]
20725 OnHoldRelease,
20726 #[serde(rename = "on_press")]
20727 OnPress,
20728 #[serde(rename = "on_press_release")]
20729 OnPressRelease,
20730 #[serde(rename = "recall_0")]
20731 Recall0,
20732 #[serde(rename = "recall_1")]
20733 Recall1,
20734 #[serde(rename = "up_hold")]
20735 UpHold,
20736 #[serde(rename = "up_hold_release")]
20737 UpHoldRelease,
20738 #[serde(rename = "up_press")]
20739 UpPress,
20740 #[serde(rename = "up_press_release")]
20741 UpPressRelease,
20742}
20743#[cfg_attr(feature = "debug", derive(Debug))]
20744#[cfg_attr(feature = "clone", derive(Clone))]
20745#[derive(Deserialize, PartialEq)]
20746pub enum Zigbee929002401201Poweronbehavior {
20747 #[serde(rename = "off")]
20748 Off,
20749 #[serde(rename = "on")]
20750 On,
20751 #[serde(rename = "previous")]
20752 Previous,
20753 #[serde(rename = "toggle")]
20754 Toggle,
20755}
20756#[cfg_attr(feature = "debug", derive(Debug))]
20757#[cfg_attr(feature = "clone", derive(Clone))]
20758#[derive(Deserialize, PartialEq)]
20759pub enum Zigbee929002422702Poweronbehavior {
20760 #[serde(rename = "off")]
20761 Off,
20762 #[serde(rename = "on")]
20763 On,
20764 #[serde(rename = "previous")]
20765 Previous,
20766 #[serde(rename = "toggle")]
20767 Toggle,
20768}
20769#[cfg_attr(feature = "debug", derive(Debug))]
20770#[cfg_attr(feature = "clone", derive(Clone))]
20771#[derive(Deserialize, PartialEq)]
20772pub enum Zigbee929002422801Poweronbehavior {
20773 #[serde(rename = "off")]
20774 Off,
20775 #[serde(rename = "on")]
20776 On,
20777 #[serde(rename = "previous")]
20778 Previous,
20779 #[serde(rename = "toggle")]
20780 Toggle,
20781}
20782#[cfg_attr(feature = "debug", derive(Debug))]
20783#[cfg_attr(feature = "clone", derive(Clone))]
20784#[derive(Deserialize, PartialEq)]
20785pub enum Zigbee929002422901Poweronbehavior {
20786 #[serde(rename = "off")]
20787 Off,
20788 #[serde(rename = "on")]
20789 On,
20790 #[serde(rename = "previous")]
20791 Previous,
20792 #[serde(rename = "toggle")]
20793 Toggle,
20794}
20795#[cfg_attr(feature = "debug", derive(Debug))]
20796#[cfg_attr(feature = "clone", derive(Clone))]
20797#[derive(Deserialize, PartialEq)]
20798pub enum Zigbee9290024406Poweronbehavior {
20799 #[serde(rename = "off")]
20800 Off,
20801 #[serde(rename = "on")]
20802 On,
20803 #[serde(rename = "previous")]
20804 Previous,
20805 #[serde(rename = "toggle")]
20806 Toggle,
20807}
20808#[cfg_attr(feature = "debug", derive(Debug))]
20809#[cfg_attr(feature = "clone", derive(Clone))]
20810#[derive(Deserialize, PartialEq)]
20811pub enum Zigbee92900244777Poweronbehavior {
20812 #[serde(rename = "off")]
20813 Off,
20814 #[serde(rename = "on")]
20815 On,
20816 #[serde(rename = "previous")]
20817 Previous,
20818 #[serde(rename = "toggle")]
20819 Toggle,
20820}
20821#[cfg_attr(feature = "debug", derive(Debug))]
20822#[cfg_attr(feature = "clone", derive(Clone))]
20823#[derive(Deserialize, PartialEq)]
20824pub enum Zigbee929002459201Poweronbehavior {
20825 #[serde(rename = "off")]
20826 Off,
20827 #[serde(rename = "on")]
20828 On,
20829 #[serde(rename = "previous")]
20830 Previous,
20831 #[serde(rename = "toggle")]
20832 Toggle,
20833}
20834#[cfg_attr(feature = "debug", derive(Debug))]
20835#[cfg_attr(feature = "clone", derive(Clone))]
20836#[derive(Deserialize, PartialEq)]
20837pub enum Zigbee9290024683Poweronbehavior {
20838 #[serde(rename = "off")]
20839 Off,
20840 #[serde(rename = "on")]
20841 On,
20842 #[serde(rename = "previous")]
20843 Previous,
20844 #[serde(rename = "toggle")]
20845 Toggle,
20846}
20847#[cfg_attr(feature = "debug", derive(Debug))]
20848#[cfg_attr(feature = "clone", derive(Clone))]
20849#[derive(Deserialize, PartialEq)]
20850pub enum Zigbee9290024684Poweronbehavior {
20851 #[serde(rename = "off")]
20852 Off,
20853 #[serde(rename = "on")]
20854 On,
20855 #[serde(rename = "previous")]
20856 Previous,
20857 #[serde(rename = "toggle")]
20858 Toggle,
20859}
20860#[cfg_attr(feature = "debug", derive(Debug))]
20861#[cfg_attr(feature = "clone", derive(Clone))]
20862#[derive(Deserialize, PartialEq)]
20863pub enum Zigbee9290024687Poweronbehavior {
20864 #[serde(rename = "off")]
20865 Off,
20866 #[serde(rename = "on")]
20867 On,
20868 #[serde(rename = "previous")]
20869 Previous,
20870 #[serde(rename = "toggle")]
20871 Toggle,
20872}
20873#[cfg_attr(feature = "debug", derive(Debug))]
20874#[cfg_attr(feature = "clone", derive(Clone))]
20875#[derive(Deserialize, PartialEq)]
20876pub enum Zigbee9290024688Poweronbehavior {
20877 #[serde(rename = "off")]
20878 Off,
20879 #[serde(rename = "on")]
20880 On,
20881 #[serde(rename = "previous")]
20882 Previous,
20883 #[serde(rename = "toggle")]
20884 Toggle,
20885}
20886#[cfg_attr(feature = "debug", derive(Debug))]
20887#[cfg_attr(feature = "clone", derive(Clone))]
20888#[derive(Deserialize, PartialEq)]
20889pub enum Zigbee9290024691Poweronbehavior {
20890 #[serde(rename = "off")]
20891 Off,
20892 #[serde(rename = "on")]
20893 On,
20894 #[serde(rename = "previous")]
20895 Previous,
20896 #[serde(rename = "toggle")]
20897 Toggle,
20898}
20899#[cfg_attr(feature = "debug", derive(Debug))]
20900#[cfg_attr(feature = "clone", derive(Clone))]
20901#[derive(Deserialize, PartialEq)]
20902pub enum Zigbee9290024691aPoweronbehavior {
20903 #[serde(rename = "off")]
20904 Off,
20905 #[serde(rename = "on")]
20906 On,
20907 #[serde(rename = "previous")]
20908 Previous,
20909 #[serde(rename = "toggle")]
20910 Toggle,
20911}
20912#[cfg_attr(feature = "debug", derive(Debug))]
20913#[cfg_attr(feature = "clone", derive(Clone))]
20914#[derive(Deserialize, PartialEq)]
20915pub enum Zigbee929002469202Poweronbehavior {
20916 #[serde(rename = "off")]
20917 Off,
20918 #[serde(rename = "on")]
20919 On,
20920 #[serde(rename = "previous")]
20921 Previous,
20922 #[serde(rename = "toggle")]
20923 Toggle,
20924}
20925#[cfg_attr(feature = "debug", derive(Debug))]
20926#[cfg_attr(feature = "clone", derive(Clone))]
20927#[derive(Deserialize, PartialEq)]
20928pub enum Zigbee929002469216Poweronbehavior {
20929 #[serde(rename = "off")]
20930 Off,
20931 #[serde(rename = "on")]
20932 On,
20933 #[serde(rename = "previous")]
20934 Previous,
20935 #[serde(rename = "toggle")]
20936 Toggle,
20937}
20938#[cfg_attr(feature = "debug", derive(Debug))]
20939#[cfg_attr(feature = "clone", derive(Clone))]
20940#[derive(Deserialize, PartialEq)]
20941pub enum Zigbee9290024693Poweronbehavior {
20942 #[serde(rename = "off")]
20943 Off,
20944 #[serde(rename = "on")]
20945 On,
20946 #[serde(rename = "previous")]
20947 Previous,
20948 #[serde(rename = "toggle")]
20949 Toggle,
20950}
20951#[cfg_attr(feature = "debug", derive(Debug))]
20952#[cfg_attr(feature = "clone", derive(Clone))]
20953#[derive(Deserialize, PartialEq)]
20954pub enum Zigbee929002471601Poweronbehavior {
20955 #[serde(rename = "off")]
20956 Off,
20957 #[serde(rename = "on")]
20958 On,
20959 #[serde(rename = "previous")]
20960 Previous,
20961 #[serde(rename = "toggle")]
20962 Toggle,
20963}
20964#[cfg_attr(feature = "debug", derive(Debug))]
20965#[cfg_attr(feature = "clone", derive(Clone))]
20966#[derive(Deserialize, PartialEq)]
20967pub enum Zigbee9290024717Poweronbehavior {
20968 #[serde(rename = "off")]
20969 Off,
20970 #[serde(rename = "on")]
20971 On,
20972 #[serde(rename = "previous")]
20973 Previous,
20974 #[serde(rename = "toggle")]
20975 Toggle,
20976}
20977#[cfg_attr(feature = "debug", derive(Debug))]
20978#[cfg_attr(feature = "clone", derive(Clone))]
20979#[derive(Deserialize, PartialEq)]
20980pub enum Zigbee929002471901Poweronbehavior {
20981 #[serde(rename = "off")]
20982 Off,
20983 #[serde(rename = "on")]
20984 On,
20985 #[serde(rename = "previous")]
20986 Previous,
20987 #[serde(rename = "toggle")]
20988 Toggle,
20989}
20990#[cfg_attr(feature = "debug", derive(Debug))]
20991#[cfg_attr(feature = "clone", derive(Clone))]
20992#[derive(Deserialize, PartialEq)]
20993pub enum Zigbee929002477901Poweronbehavior {
20994 #[serde(rename = "off")]
20995 Off,
20996 #[serde(rename = "on")]
20997 On,
20998 #[serde(rename = "previous")]
20999 Previous,
21000 #[serde(rename = "toggle")]
21001 Toggle,
21002}
21003#[cfg_attr(feature = "debug", derive(Debug))]
21004#[cfg_attr(feature = "clone", derive(Clone))]
21005#[derive(Deserialize, PartialEq)]
21006pub enum Zigbee9290024782Poweronbehavior {
21007 #[serde(rename = "off")]
21008 Off,
21009 #[serde(rename = "on")]
21010 On,
21011 #[serde(rename = "previous")]
21012 Previous,
21013 #[serde(rename = "toggle")]
21014 Toggle,
21015}
21016#[cfg_attr(feature = "debug", derive(Debug))]
21017#[cfg_attr(feature = "clone", derive(Clone))]
21018#[derive(Deserialize, PartialEq)]
21019pub enum Zigbee9290024783Poweronbehavior {
21020 #[serde(rename = "off")]
21021 Off,
21022 #[serde(rename = "on")]
21023 On,
21024 #[serde(rename = "previous")]
21025 Previous,
21026 #[serde(rename = "toggle")]
21027 Toggle,
21028}
21029#[cfg_attr(feature = "debug", derive(Debug))]
21030#[cfg_attr(feature = "clone", derive(Clone))]
21031#[derive(Deserialize, PartialEq)]
21032pub enum Zigbee929002478401Poweronbehavior {
21033 #[serde(rename = "off")]
21034 Off,
21035 #[serde(rename = "on")]
21036 On,
21037 #[serde(rename = "previous")]
21038 Previous,
21039 #[serde(rename = "toggle")]
21040 Toggle,
21041}
21042#[cfg_attr(feature = "debug", derive(Debug))]
21043#[cfg_attr(feature = "clone", derive(Clone))]
21044#[derive(Deserialize, PartialEq)]
21045pub enum Zigbee9290024785Poweronbehavior {
21046 #[serde(rename = "off")]
21047 Off,
21048 #[serde(rename = "on")]
21049 On,
21050 #[serde(rename = "previous")]
21051 Previous,
21052 #[serde(rename = "toggle")]
21053 Toggle,
21054}
21055#[cfg_attr(feature = "debug", derive(Debug))]
21056#[cfg_attr(feature = "clone", derive(Clone))]
21057#[derive(Deserialize, PartialEq)]
21058pub enum Zigbee9290024796Poweronbehavior {
21059 #[serde(rename = "off")]
21060 Off,
21061 #[serde(rename = "on")]
21062 On,
21063 #[serde(rename = "previous")]
21064 Previous,
21065 #[serde(rename = "toggle")]
21066 Toggle,
21067}
21068#[cfg_attr(feature = "debug", derive(Debug))]
21069#[cfg_attr(feature = "clone", derive(Clone))]
21070#[derive(Deserialize, PartialEq)]
21071pub enum Zigbee9290024896Poweronbehavior {
21072 #[serde(rename = "off")]
21073 Off,
21074 #[serde(rename = "on")]
21075 On,
21076 #[serde(rename = "previous")]
21077 Previous,
21078 #[serde(rename = "toggle")]
21079 Toggle,
21080}
21081#[cfg_attr(feature = "debug", derive(Debug))]
21082#[cfg_attr(feature = "clone", derive(Clone))]
21083#[derive(Deserialize, PartialEq)]
21084pub enum Zigbee929002966401Poweronbehavior {
21085 #[serde(rename = "off")]
21086 Off,
21087 #[serde(rename = "on")]
21088 On,
21089 #[serde(rename = "previous")]
21090 Previous,
21091 #[serde(rename = "toggle")]
21092 Toggle,
21093}
21094#[cfg_attr(feature = "debug", derive(Debug))]
21095#[cfg_attr(feature = "clone", derive(Clone))]
21096#[derive(Deserialize, PartialEq)]
21097pub enum Zigbee929002966501Poweronbehavior {
21098 #[serde(rename = "off")]
21099 Off,
21100 #[serde(rename = "on")]
21101 On,
21102 #[serde(rename = "previous")]
21103 Previous,
21104 #[serde(rename = "toggle")]
21105 Toggle,
21106}
21107#[cfg_attr(feature = "debug", derive(Debug))]
21108#[cfg_attr(feature = "clone", derive(Clone))]
21109#[derive(Deserialize, PartialEq)]
21110pub enum Zigbee9290029808Poweronbehavior {
21111 #[serde(rename = "off")]
21112 Off,
21113 #[serde(rename = "on")]
21114 On,
21115 #[serde(rename = "previous")]
21116 Previous,
21117 #[serde(rename = "toggle")]
21118 Toggle,
21119}
21120#[cfg_attr(feature = "debug", derive(Debug))]
21121#[cfg_attr(feature = "clone", derive(Clone))]
21122#[derive(Deserialize, PartialEq)]
21123pub enum Zigbee929002980901Poweronbehavior {
21124 #[serde(rename = "off")]
21125 Off,
21126 #[serde(rename = "on")]
21127 On,
21128 #[serde(rename = "previous")]
21129 Previous,
21130 #[serde(rename = "toggle")]
21131 Toggle,
21132}
21133#[cfg_attr(feature = "debug", derive(Debug))]
21134#[cfg_attr(feature = "clone", derive(Clone))]
21135#[derive(Deserialize, PartialEq)]
21136pub enum Zigbee929002994901Poweronbehavior {
21137 #[serde(rename = "off")]
21138 Off,
21139 #[serde(rename = "on")]
21140 On,
21141 #[serde(rename = "previous")]
21142 Previous,
21143 #[serde(rename = "toggle")]
21144 Toggle,
21145}
21146#[cfg_attr(feature = "debug", derive(Debug))]
21147#[cfg_attr(feature = "clone", derive(Clone))]
21148#[derive(Deserialize, PartialEq)]
21149pub enum Zigbee929003017102Action {
21150 #[serde(rename = "left_hold")]
21151 LeftHold,
21152 #[serde(rename = "left_hold_release")]
21153 LeftHoldRelease,
21154 #[serde(rename = "left_press")]
21155 LeftPress,
21156 #[serde(rename = "left_press_release")]
21157 LeftPressRelease,
21158 #[serde(rename = "right_hold")]
21159 RightHold,
21160 #[serde(rename = "right_hold_release")]
21161 RightHoldRelease,
21162 #[serde(rename = "right_press")]
21163 RightPress,
21164 #[serde(rename = "right_press_release")]
21165 RightPressRelease,
21166}
21167#[cfg_attr(feature = "debug", derive(Debug))]
21168#[cfg_attr(feature = "clone", derive(Clone))]
21169#[derive(Deserialize, PartialEq)]
21170pub enum Zigbee929003017102Devicemode {
21171 #[serde(rename = "dual_push_button")]
21172 DualPushButton,
21173 #[serde(rename = "dual_rocker")]
21174 DualRocker,
21175 #[serde(rename = "single_push_button")]
21176 SinglePushButton,
21177 #[serde(rename = "single_rocker")]
21178 SingleRocker,
21179}
21180#[cfg_attr(feature = "debug", derive(Debug))]
21181#[cfg_attr(feature = "clone", derive(Clone))]
21182#[derive(Deserialize, PartialEq)]
21183pub enum Zigbee9290030211Poweronbehavior {
21184 #[serde(rename = "off")]
21185 Off,
21186 #[serde(rename = "on")]
21187 On,
21188 #[serde(rename = "previous")]
21189 Previous,
21190 #[serde(rename = "toggle")]
21191 Toggle,
21192}
21193#[cfg_attr(feature = "debug", derive(Debug))]
21194#[cfg_attr(feature = "clone", derive(Clone))]
21195#[derive(Deserialize, PartialEq)]
21196pub enum Zigbee929003021301Poweronbehavior {
21197 #[serde(rename = "off")]
21198 Off,
21199 #[serde(rename = "on")]
21200 On,
21201 #[serde(rename = "previous")]
21202 Previous,
21203 #[serde(rename = "toggle")]
21204 Toggle,
21205}
21206#[cfg_attr(feature = "debug", derive(Debug))]
21207#[cfg_attr(feature = "clone", derive(Clone))]
21208#[derive(Deserialize, PartialEq)]
21209pub enum Zigbee929003045201Poweronbehavior {
21210 #[serde(rename = "off")]
21211 Off,
21212 #[serde(rename = "on")]
21213 On,
21214 #[serde(rename = "previous")]
21215 Previous,
21216 #[serde(rename = "toggle")]
21217 Toggle,
21218}
21219#[cfg_attr(feature = "debug", derive(Debug))]
21220#[cfg_attr(feature = "clone", derive(Clone))]
21221#[derive(Deserialize, PartialEq)]
21222pub enum Zigbee929003045301Poweronbehavior {
21223 #[serde(rename = "off")]
21224 Off,
21225 #[serde(rename = "on")]
21226 On,
21227 #[serde(rename = "previous")]
21228 Previous,
21229 #[serde(rename = "toggle")]
21230 Toggle,
21231}
21232#[cfg_attr(feature = "debug", derive(Debug))]
21233#[cfg_attr(feature = "clone", derive(Clone))]
21234#[derive(Deserialize, PartialEq)]
21235pub enum Zigbee929003045401Poweronbehavior {
21236 #[serde(rename = "off")]
21237 Off,
21238 #[serde(rename = "on")]
21239 On,
21240 #[serde(rename = "previous")]
21241 Previous,
21242 #[serde(rename = "toggle")]
21243 Toggle,
21244}
21245#[cfg_attr(feature = "debug", derive(Debug))]
21246#[cfg_attr(feature = "clone", derive(Clone))]
21247#[derive(Deserialize, PartialEq)]
21248pub enum Zigbee929003045501Poweronbehavior {
21249 #[serde(rename = "off")]
21250 Off,
21251 #[serde(rename = "on")]
21252 On,
21253 #[serde(rename = "previous")]
21254 Previous,
21255 #[serde(rename = "toggle")]
21256 Toggle,
21257}
21258#[cfg_attr(feature = "debug", derive(Debug))]
21259#[cfg_attr(feature = "clone", derive(Clone))]
21260#[derive(Deserialize, PartialEq)]
21261pub enum Zigbee929003045901Poweronbehavior {
21262 #[serde(rename = "off")]
21263 Off,
21264 #[serde(rename = "on")]
21265 On,
21266 #[serde(rename = "previous")]
21267 Previous,
21268 #[serde(rename = "toggle")]
21269 Toggle,
21270}
21271#[cfg_attr(feature = "debug", derive(Debug))]
21272#[cfg_attr(feature = "clone", derive(Clone))]
21273#[derive(Deserialize, PartialEq)]
21274pub enum Zigbee929003046201Poweronbehavior {
21275 #[serde(rename = "off")]
21276 Off,
21277 #[serde(rename = "on")]
21278 On,
21279 #[serde(rename = "previous")]
21280 Previous,
21281 #[serde(rename = "toggle")]
21282 Toggle,
21283}
21284#[cfg_attr(feature = "debug", derive(Debug))]
21285#[cfg_attr(feature = "clone", derive(Clone))]
21286#[derive(Deserialize, PartialEq)]
21287pub enum Zigbee929003047001Poweronbehavior {
21288 #[serde(rename = "off")]
21289 Off,
21290 #[serde(rename = "on")]
21291 On,
21292 #[serde(rename = "previous")]
21293 Previous,
21294 #[serde(rename = "toggle")]
21295 Toggle,
21296}
21297#[cfg_attr(feature = "debug", derive(Debug))]
21298#[cfg_attr(feature = "clone", derive(Clone))]
21299#[derive(Deserialize, PartialEq)]
21300pub enum Zigbee929003047101Poweronbehavior {
21301 #[serde(rename = "off")]
21302 Off,
21303 #[serde(rename = "on")]
21304 On,
21305 #[serde(rename = "previous")]
21306 Previous,
21307 #[serde(rename = "toggle")]
21308 Toggle,
21309}
21310#[cfg_attr(feature = "debug", derive(Debug))]
21311#[cfg_attr(feature = "clone", derive(Clone))]
21312#[derive(Deserialize, PartialEq)]
21313pub enum Zigbee929003047401Poweronbehavior {
21314 #[serde(rename = "off")]
21315 Off,
21316 #[serde(rename = "on")]
21317 On,
21318 #[serde(rename = "previous")]
21319 Previous,
21320 #[serde(rename = "toggle")]
21321 Toggle,
21322}
21323#[cfg_attr(feature = "debug", derive(Debug))]
21324#[cfg_attr(feature = "clone", derive(Clone))]
21325#[derive(Deserialize, PartialEq)]
21326pub enum Zigbee929003047501Poweronbehavior {
21327 #[serde(rename = "off")]
21328 Off,
21329 #[serde(rename = "on")]
21330 On,
21331 #[serde(rename = "previous")]
21332 Previous,
21333 #[serde(rename = "toggle")]
21334 Toggle,
21335}
21336#[cfg_attr(feature = "debug", derive(Debug))]
21337#[cfg_attr(feature = "clone", derive(Clone))]
21338#[derive(Deserialize, PartialEq)]
21339pub enum Zigbee929003047601Poweronbehavior {
21340 #[serde(rename = "off")]
21341 Off,
21342 #[serde(rename = "on")]
21343 On,
21344 #[serde(rename = "previous")]
21345 Previous,
21346 #[serde(rename = "toggle")]
21347 Toggle,
21348}
21349#[cfg_attr(feature = "debug", derive(Debug))]
21350#[cfg_attr(feature = "clone", derive(Clone))]
21351#[derive(Deserialize, PartialEq)]
21352pub enum Zigbee9290030514Poweronbehavior {
21353 #[serde(rename = "off")]
21354 Off,
21355 #[serde(rename = "on")]
21356 On,
21357 #[serde(rename = "previous")]
21358 Previous,
21359 #[serde(rename = "toggle")]
21360 Toggle,
21361}
21362#[cfg_attr(feature = "debug", derive(Debug))]
21363#[cfg_attr(feature = "clone", derive(Clone))]
21364#[derive(Deserialize, PartialEq)]
21365pub enum Zigbee9290030517Poweronbehavior {
21366 #[serde(rename = "off")]
21367 Off,
21368 #[serde(rename = "on")]
21369 On,
21370 #[serde(rename = "previous")]
21371 Previous,
21372 #[serde(rename = "toggle")]
21373 Toggle,
21374}
21375#[cfg_attr(feature = "debug", derive(Debug))]
21376#[cfg_attr(feature = "clone", derive(Clone))]
21377#[derive(Deserialize, PartialEq)]
21378pub enum Zigbee9290030521Poweronbehavior {
21379 #[serde(rename = "off")]
21380 Off,
21381 #[serde(rename = "on")]
21382 On,
21383 #[serde(rename = "previous")]
21384 Previous,
21385 #[serde(rename = "toggle")]
21386 Toggle,
21387}
21388#[cfg_attr(feature = "debug", derive(Debug))]
21389#[cfg_attr(feature = "clone", derive(Clone))]
21390#[derive(Deserialize, PartialEq)]
21391pub enum Zigbee9290030523Poweronbehavior {
21392 #[serde(rename = "off")]
21393 Off,
21394 #[serde(rename = "on")]
21395 On,
21396 #[serde(rename = "previous")]
21397 Previous,
21398 #[serde(rename = "toggle")]
21399 Toggle,
21400}
21401#[cfg_attr(feature = "debug", derive(Debug))]
21402#[cfg_attr(feature = "clone", derive(Clone))]
21403#[derive(Deserialize, PartialEq)]
21404pub enum Zigbee929003052601Poweronbehavior {
21405 #[serde(rename = "off")]
21406 Off,
21407 #[serde(rename = "on")]
21408 On,
21409 #[serde(rename = "previous")]
21410 Previous,
21411 #[serde(rename = "toggle")]
21412 Toggle,
21413}
21414#[cfg_attr(feature = "debug", derive(Debug))]
21415#[cfg_attr(feature = "clone", derive(Clone))]
21416#[derive(Deserialize, PartialEq)]
21417pub enum Zigbee929003052901Poweronbehavior {
21418 #[serde(rename = "off")]
21419 Off,
21420 #[serde(rename = "on")]
21421 On,
21422 #[serde(rename = "previous")]
21423 Previous,
21424 #[serde(rename = "toggle")]
21425 Toggle,
21426}
21427#[cfg_attr(feature = "debug", derive(Debug))]
21428#[cfg_attr(feature = "clone", derive(Clone))]
21429#[derive(Deserialize, PartialEq)]
21430pub enum Zigbee929003053001Poweronbehavior {
21431 #[serde(rename = "off")]
21432 Off,
21433 #[serde(rename = "on")]
21434 On,
21435 #[serde(rename = "previous")]
21436 Previous,
21437 #[serde(rename = "toggle")]
21438 Toggle,
21439}
21440#[cfg_attr(feature = "debug", derive(Debug))]
21441#[cfg_attr(feature = "clone", derive(Clone))]
21442#[derive(Deserialize, PartialEq)]
21443pub enum Zigbee929003053201Poweronbehavior {
21444 #[serde(rename = "off")]
21445 Off,
21446 #[serde(rename = "on")]
21447 On,
21448 #[serde(rename = "previous")]
21449 Previous,
21450 #[serde(rename = "toggle")]
21451 Toggle,
21452}
21453#[cfg_attr(feature = "debug", derive(Debug))]
21454#[cfg_attr(feature = "clone", derive(Clone))]
21455#[derive(Deserialize, PartialEq)]
21456pub enum Zigbee929003054001Poweronbehavior {
21457 #[serde(rename = "off")]
21458 Off,
21459 #[serde(rename = "on")]
21460 On,
21461 #[serde(rename = "previous")]
21462 Previous,
21463 #[serde(rename = "toggle")]
21464 Toggle,
21465}
21466#[cfg_attr(feature = "debug", derive(Debug))]
21467#[cfg_attr(feature = "clone", derive(Clone))]
21468#[derive(Deserialize, PartialEq)]
21469pub enum Zigbee929003054101Poweronbehavior {
21470 #[serde(rename = "off")]
21471 Off,
21472 #[serde(rename = "on")]
21473 On,
21474 #[serde(rename = "previous")]
21475 Previous,
21476 #[serde(rename = "toggle")]
21477 Toggle,
21478}
21479#[cfg_attr(feature = "debug", derive(Debug))]
21480#[cfg_attr(feature = "clone", derive(Clone))]
21481#[derive(Deserialize, PartialEq)]
21482pub enum Zigbee929003054301Poweronbehavior {
21483 #[serde(rename = "off")]
21484 Off,
21485 #[serde(rename = "on")]
21486 On,
21487 #[serde(rename = "previous")]
21488 Previous,
21489 #[serde(rename = "toggle")]
21490 Toggle,
21491}
21492#[cfg_attr(feature = "debug", derive(Debug))]
21493#[cfg_attr(feature = "clone", derive(Clone))]
21494#[derive(Deserialize, PartialEq)]
21495pub enum Zigbee929003054501Poweronbehavior {
21496 #[serde(rename = "off")]
21497 Off,
21498 #[serde(rename = "on")]
21499 On,
21500 #[serde(rename = "previous")]
21501 Previous,
21502 #[serde(rename = "toggle")]
21503 Toggle,
21504}
21505#[cfg_attr(feature = "debug", derive(Debug))]
21506#[cfg_attr(feature = "clone", derive(Clone))]
21507#[derive(Deserialize, PartialEq)]
21508pub enum Zigbee929003054601Poweronbehavior {
21509 #[serde(rename = "off")]
21510 Off,
21511 #[serde(rename = "on")]
21512 On,
21513 #[serde(rename = "previous")]
21514 Previous,
21515 #[serde(rename = "toggle")]
21516 Toggle,
21517}
21518#[cfg_attr(feature = "debug", derive(Debug))]
21519#[cfg_attr(feature = "clone", derive(Clone))]
21520#[derive(Deserialize, PartialEq)]
21521pub enum Zigbee929003054701Poweronbehavior {
21522 #[serde(rename = "off")]
21523 Off,
21524 #[serde(rename = "on")]
21525 On,
21526 #[serde(rename = "previous")]
21527 Previous,
21528 #[serde(rename = "toggle")]
21529 Toggle,
21530}
21531#[cfg_attr(feature = "debug", derive(Debug))]
21532#[cfg_attr(feature = "clone", derive(Clone))]
21533#[derive(Deserialize, PartialEq)]
21534pub enum Zigbee929003054801Poweronbehavior {
21535 #[serde(rename = "off")]
21536 Off,
21537 #[serde(rename = "on")]
21538 On,
21539 #[serde(rename = "previous")]
21540 Previous,
21541 #[serde(rename = "toggle")]
21542 Toggle,
21543}
21544#[cfg_attr(feature = "debug", derive(Debug))]
21545#[cfg_attr(feature = "clone", derive(Clone))]
21546#[derive(Deserialize, PartialEq)]
21547pub enum Zigbee929003055201Poweronbehavior {
21548 #[serde(rename = "off")]
21549 Off,
21550 #[serde(rename = "on")]
21551 On,
21552 #[serde(rename = "previous")]
21553 Previous,
21554 #[serde(rename = "toggle")]
21555 Toggle,
21556}
21557#[cfg_attr(feature = "debug", derive(Debug))]
21558#[cfg_attr(feature = "clone", derive(Clone))]
21559#[derive(Deserialize, PartialEq)]
21560pub enum Zigbee929003055401Poweronbehavior {
21561 #[serde(rename = "off")]
21562 Off,
21563 #[serde(rename = "on")]
21564 On,
21565 #[serde(rename = "previous")]
21566 Previous,
21567 #[serde(rename = "toggle")]
21568 Toggle,
21569}
21570#[cfg_attr(feature = "debug", derive(Debug))]
21571#[cfg_attr(feature = "clone", derive(Clone))]
21572#[derive(Deserialize, PartialEq)]
21573pub enum Zigbee929003055501Poweronbehavior {
21574 #[serde(rename = "off")]
21575 Off,
21576 #[serde(rename = "on")]
21577 On,
21578 #[serde(rename = "previous")]
21579 Previous,
21580 #[serde(rename = "toggle")]
21581 Toggle,
21582}
21583#[cfg_attr(feature = "debug", derive(Debug))]
21584#[cfg_attr(feature = "clone", derive(Clone))]
21585#[derive(Deserialize, PartialEq)]
21586pub enum Zigbee929003055701Poweronbehavior {
21587 #[serde(rename = "off")]
21588 Off,
21589 #[serde(rename = "on")]
21590 On,
21591 #[serde(rename = "previous")]
21592 Previous,
21593 #[serde(rename = "toggle")]
21594 Toggle,
21595}
21596#[cfg_attr(feature = "debug", derive(Debug))]
21597#[cfg_attr(feature = "clone", derive(Clone))]
21598#[derive(Deserialize, PartialEq)]
21599pub enum Zigbee929003055801Poweronbehavior {
21600 #[serde(rename = "off")]
21601 Off,
21602 #[serde(rename = "on")]
21603 On,
21604 #[serde(rename = "previous")]
21605 Previous,
21606 #[serde(rename = "toggle")]
21607 Toggle,
21608}
21609#[cfg_attr(feature = "debug", derive(Debug))]
21610#[cfg_attr(feature = "clone", derive(Clone))]
21611#[derive(Deserialize, PartialEq)]
21612pub enum Zigbee929003055901Poweronbehavior {
21613 #[serde(rename = "off")]
21614 Off,
21615 #[serde(rename = "on")]
21616 On,
21617 #[serde(rename = "previous")]
21618 Previous,
21619 #[serde(rename = "toggle")]
21620 Toggle,
21621}
21622#[cfg_attr(feature = "debug", derive(Debug))]
21623#[cfg_attr(feature = "clone", derive(Clone))]
21624#[derive(Deserialize, PartialEq)]
21625pub enum Zigbee929003056001Poweronbehavior {
21626 #[serde(rename = "off")]
21627 Off,
21628 #[serde(rename = "on")]
21629 On,
21630 #[serde(rename = "previous")]
21631 Previous,
21632 #[serde(rename = "toggle")]
21633 Toggle,
21634}
21635#[cfg_attr(feature = "debug", derive(Debug))]
21636#[cfg_attr(feature = "clone", derive(Clone))]
21637#[derive(Deserialize, PartialEq)]
21638pub enum Zigbee929003056701Poweronbehavior {
21639 #[serde(rename = "off")]
21640 Off,
21641 #[serde(rename = "on")]
21642 On,
21643 #[serde(rename = "previous")]
21644 Previous,
21645 #[serde(rename = "toggle")]
21646 Toggle,
21647}
21648#[cfg_attr(feature = "debug", derive(Debug))]
21649#[cfg_attr(feature = "clone", derive(Clone))]
21650#[derive(Deserialize, PartialEq)]
21651pub enum Zigbee929003056901Poweronbehavior {
21652 #[serde(rename = "off")]
21653 Off,
21654 #[serde(rename = "on")]
21655 On,
21656 #[serde(rename = "previous")]
21657 Previous,
21658 #[serde(rename = "toggle")]
21659 Toggle,
21660}
21661#[cfg_attr(feature = "debug", derive(Debug))]
21662#[cfg_attr(feature = "clone", derive(Clone))]
21663#[derive(Deserialize, PartialEq)]
21664pub enum Zigbee9290030674Motionsensitivity {
21665 #[serde(rename = "high")]
21666 High,
21667 #[serde(rename = "low")]
21668 Low,
21669 #[serde(rename = "max")]
21670 Max,
21671 #[serde(rename = "medium")]
21672 Medium,
21673 #[serde(rename = "very_high")]
21674 VeryHigh,
21675}
21676#[cfg_attr(feature = "debug", derive(Debug))]
21677#[cfg_attr(feature = "clone", derive(Clone))]
21678#[derive(Deserialize, PartialEq)]
21679pub enum Zigbee9290030675Motionsensitivity {
21680 #[serde(rename = "high")]
21681 High,
21682 #[serde(rename = "low")]
21683 Low,
21684 #[serde(rename = "max")]
21685 Max,
21686 #[serde(rename = "medium")]
21687 Medium,
21688 #[serde(rename = "very_high")]
21689 VeryHigh,
21690}
21691#[cfg_attr(feature = "debug", derive(Debug))]
21692#[cfg_attr(feature = "clone", derive(Clone))]
21693#[derive(Deserialize, PartialEq)]
21694pub enum Zigbee929003074701Poweronbehavior {
21695 #[serde(rename = "off")]
21696 Off,
21697 #[serde(rename = "on")]
21698 On,
21699 #[serde(rename = "previous")]
21700 Previous,
21701 #[serde(rename = "toggle")]
21702 Toggle,
21703}
21704#[cfg_attr(feature = "debug", derive(Debug))]
21705#[cfg_attr(feature = "clone", derive(Clone))]
21706#[derive(Deserialize, PartialEq)]
21707pub enum Zigbee929003074801Poweronbehavior {
21708 #[serde(rename = "off")]
21709 Off,
21710 #[serde(rename = "on")]
21711 On,
21712 #[serde(rename = "previous")]
21713 Previous,
21714 #[serde(rename = "toggle")]
21715 Toggle,
21716}
21717#[cfg_attr(feature = "debug", derive(Debug))]
21718#[cfg_attr(feature = "clone", derive(Clone))]
21719#[derive(Deserialize, PartialEq)]
21720pub enum Zigbee929003089301Poweronbehavior {
21721 #[serde(rename = "off")]
21722 Off,
21723 #[serde(rename = "on")]
21724 On,
21725 #[serde(rename = "previous")]
21726 Previous,
21727 #[serde(rename = "toggle")]
21728 Toggle,
21729}
21730#[cfg_attr(feature = "debug", derive(Debug))]
21731#[cfg_attr(feature = "clone", derive(Clone))]
21732#[derive(Deserialize, PartialEq)]
21733pub enum Zigbee929003098601Poweronbehavior {
21734 #[serde(rename = "off")]
21735 Off,
21736 #[serde(rename = "on")]
21737 On,
21738 #[serde(rename = "previous")]
21739 Previous,
21740 #[serde(rename = "toggle")]
21741 Toggle,
21742}
21743#[cfg_attr(feature = "debug", derive(Debug))]
21744#[cfg_attr(feature = "clone", derive(Clone))]
21745#[derive(Deserialize, PartialEq)]
21746pub enum Zigbee929003098901Poweronbehavior {
21747 #[serde(rename = "off")]
21748 Off,
21749 #[serde(rename = "on")]
21750 On,
21751 #[serde(rename = "previous")]
21752 Previous,
21753 #[serde(rename = "toggle")]
21754 Toggle,
21755}
21756#[cfg_attr(feature = "debug", derive(Debug))]
21757#[cfg_attr(feature = "clone", derive(Clone))]
21758#[derive(Deserialize, PartialEq)]
21759pub enum Zigbee929003099001Poweronbehavior {
21760 #[serde(rename = "off")]
21761 Off,
21762 #[serde(rename = "on")]
21763 On,
21764 #[serde(rename = "previous")]
21765 Previous,
21766 #[serde(rename = "toggle")]
21767 Toggle,
21768}
21769#[cfg_attr(feature = "debug", derive(Debug))]
21770#[cfg_attr(feature = "clone", derive(Clone))]
21771#[derive(Deserialize, PartialEq)]
21772pub enum Zigbee929003099101Poweronbehavior {
21773 #[serde(rename = "off")]
21774 Off,
21775 #[serde(rename = "on")]
21776 On,
21777 #[serde(rename = "previous")]
21778 Previous,
21779 #[serde(rename = "toggle")]
21780 Toggle,
21781}
21782#[cfg_attr(feature = "debug", derive(Debug))]
21783#[cfg_attr(feature = "clone", derive(Clone))]
21784#[derive(Deserialize, PartialEq)]
21785pub enum Zigbee929003099301Poweronbehavior {
21786 #[serde(rename = "off")]
21787 Off,
21788 #[serde(rename = "on")]
21789 On,
21790 #[serde(rename = "previous")]
21791 Previous,
21792 #[serde(rename = "toggle")]
21793 Toggle,
21794}
21795#[cfg_attr(feature = "debug", derive(Debug))]
21796#[cfg_attr(feature = "clone", derive(Clone))]
21797#[derive(Deserialize, PartialEq)]
21798pub enum Zigbee929003115801Poweronbehavior {
21799 #[serde(rename = "off")]
21800 Off,
21801 #[serde(rename = "on")]
21802 On,
21803 #[serde(rename = "previous")]
21804 Previous,
21805 #[serde(rename = "toggle")]
21806 Toggle,
21807}
21808#[cfg_attr(feature = "debug", derive(Debug))]
21809#[cfg_attr(feature = "clone", derive(Clone))]
21810#[derive(Deserialize, PartialEq)]
21811pub enum Zigbee929003116201Poweronbehavior {
21812 #[serde(rename = "off")]
21813 Off,
21814 #[serde(rename = "on")]
21815 On,
21816 #[serde(rename = "previous")]
21817 Previous,
21818 #[serde(rename = "toggle")]
21819 Toggle,
21820}
21821#[cfg_attr(feature = "debug", derive(Debug))]
21822#[cfg_attr(feature = "clone", derive(Clone))]
21823#[derive(Deserialize, PartialEq)]
21824pub enum Zigbee929003117101Poweronbehavior {
21825 #[serde(rename = "off")]
21826 Off,
21827 #[serde(rename = "on")]
21828 On,
21829 #[serde(rename = "previous")]
21830 Previous,
21831 #[serde(rename = "toggle")]
21832 Toggle,
21833}
21834#[cfg_attr(feature = "debug", derive(Debug))]
21835#[cfg_attr(feature = "clone", derive(Clone))]
21836#[derive(Deserialize, PartialEq)]
21837pub enum Zigbee929003117201Poweronbehavior {
21838 #[serde(rename = "off")]
21839 Off,
21840 #[serde(rename = "on")]
21841 On,
21842 #[serde(rename = "previous")]
21843 Previous,
21844 #[serde(rename = "toggle")]
21845 Toggle,
21846}
21847#[cfg_attr(feature = "debug", derive(Debug))]
21848#[cfg_attr(feature = "clone", derive(Clone))]
21849#[derive(Deserialize, PartialEq)]
21850pub enum Zigbee929003117301Poweronbehavior {
21851 #[serde(rename = "off")]
21852 Off,
21853 #[serde(rename = "on")]
21854 On,
21855 #[serde(rename = "previous")]
21856 Previous,
21857 #[serde(rename = "toggle")]
21858 Toggle,
21859}
21860#[cfg_attr(feature = "debug", derive(Debug))]
21861#[cfg_attr(feature = "clone", derive(Clone))]
21862#[derive(Deserialize, PartialEq)]
21863pub enum Zigbee929003117401Poweronbehavior {
21864 #[serde(rename = "off")]
21865 Off,
21866 #[serde(rename = "on")]
21867 On,
21868 #[serde(rename = "previous")]
21869 Previous,
21870 #[serde(rename = "toggle")]
21871 Toggle,
21872}
21873#[cfg_attr(feature = "debug", derive(Debug))]
21874#[cfg_attr(feature = "clone", derive(Clone))]
21875#[derive(Deserialize, PartialEq)]
21876pub enum Zigbee929003117701Poweronbehavior {
21877 #[serde(rename = "off")]
21878 Off,
21879 #[serde(rename = "on")]
21880 On,
21881 #[serde(rename = "previous")]
21882 Previous,
21883 #[serde(rename = "toggle")]
21884 Toggle,
21885}
21886#[cfg_attr(feature = "debug", derive(Debug))]
21887#[cfg_attr(feature = "clone", derive(Clone))]
21888#[derive(Deserialize, PartialEq)]
21889pub enum Zigbee929003117801Poweronbehavior {
21890 #[serde(rename = "off")]
21891 Off,
21892 #[serde(rename = "on")]
21893 On,
21894 #[serde(rename = "previous")]
21895 Previous,
21896 #[serde(rename = "toggle")]
21897 Toggle,
21898}
21899#[cfg_attr(feature = "debug", derive(Debug))]
21900#[cfg_attr(feature = "clone", derive(Clone))]
21901#[derive(Deserialize, PartialEq)]
21902pub enum Zigbee929003128501Poweronbehavior {
21903 #[serde(rename = "off")]
21904 Off,
21905 #[serde(rename = "on")]
21906 On,
21907 #[serde(rename = "previous")]
21908 Previous,
21909 #[serde(rename = "toggle")]
21910 Toggle,
21911}
21912#[cfg_attr(feature = "debug", derive(Debug))]
21913#[cfg_attr(feature = "clone", derive(Clone))]
21914#[derive(Deserialize, PartialEq)]
21915pub enum Zigbee9290031345Poweronbehavior {
21916 #[serde(rename = "off")]
21917 Off,
21918 #[serde(rename = "on")]
21919 On,
21920 #[serde(rename = "previous")]
21921 Previous,
21922 #[serde(rename = "toggle")]
21923 Toggle,
21924}
21925#[cfg_attr(feature = "debug", derive(Debug))]
21926#[cfg_attr(feature = "clone", derive(Clone))]
21927#[derive(Deserialize, PartialEq)]
21928pub enum Zigbee9290031346Poweronbehavior {
21929 #[serde(rename = "off")]
21930 Off,
21931 #[serde(rename = "on")]
21932 On,
21933 #[serde(rename = "previous")]
21934 Previous,
21935 #[serde(rename = "toggle")]
21936 Toggle,
21937}
21938#[cfg_attr(feature = "debug", derive(Debug))]
21939#[cfg_attr(feature = "clone", derive(Clone))]
21940#[derive(Deserialize, PartialEq)]
21941pub enum Zigbee9290031451Poweronbehavior {
21942 #[serde(rename = "off")]
21943 Off,
21944 #[serde(rename = "on")]
21945 On,
21946 #[serde(rename = "previous")]
21947 Previous,
21948 #[serde(rename = "toggle")]
21949 Toggle,
21950}
21951#[cfg_attr(feature = "debug", derive(Debug))]
21952#[cfg_attr(feature = "clone", derive(Clone))]
21953#[derive(Deserialize, PartialEq)]
21954pub enum Zigbee9290031452Poweronbehavior {
21955 #[serde(rename = "off")]
21956 Off,
21957 #[serde(rename = "on")]
21958 On,
21959 #[serde(rename = "previous")]
21960 Previous,
21961 #[serde(rename = "toggle")]
21962 Toggle,
21963}
21964#[cfg_attr(feature = "debug", derive(Debug))]
21965#[cfg_attr(feature = "clone", derive(Clone))]
21966#[derive(Deserialize, PartialEq)]
21967pub enum Zigbee929003516101Poweronbehavior {
21968 #[serde(rename = "off")]
21969 Off,
21970 #[serde(rename = "on")]
21971 On,
21972 #[serde(rename = "previous")]
21973 Previous,
21974 #[serde(rename = "toggle")]
21975 Toggle,
21976}
21977#[cfg_attr(feature = "debug", derive(Debug))]
21978#[cfg_attr(feature = "clone", derive(Clone))]
21979#[derive(Deserialize, PartialEq)]
21980pub enum Zigbee929003526301Poweronbehavior {
21981 #[serde(rename = "off")]
21982 Off,
21983 #[serde(rename = "on")]
21984 On,
21985 #[serde(rename = "previous")]
21986 Previous,
21987 #[serde(rename = "toggle")]
21988 Toggle,
21989}
21990#[cfg_attr(feature = "debug", derive(Debug))]
21991#[cfg_attr(feature = "clone", derive(Clone))]
21992#[derive(Deserialize, PartialEq)]
21993pub enum Zigbee929003531702Poweronbehavior {
21994 #[serde(rename = "off")]
21995 Off,
21996 #[serde(rename = "on")]
21997 On,
21998 #[serde(rename = "previous")]
21999 Previous,
22000 #[serde(rename = "toggle")]
22001 Toggle,
22002}
22003#[cfg_attr(feature = "debug", derive(Debug))]
22004#[cfg_attr(feature = "clone", derive(Clone))]
22005#[derive(Deserialize, PartialEq)]
22006pub enum Zigbee929003535301Poweronbehavior {
22007 #[serde(rename = "off")]
22008 Off,
22009 #[serde(rename = "on")]
22010 On,
22011 #[serde(rename = "previous")]
22012 Previous,
22013 #[serde(rename = "toggle")]
22014 Toggle,
22015}
22016#[cfg_attr(feature = "debug", derive(Debug))]
22017#[cfg_attr(feature = "clone", derive(Clone))]
22018#[derive(Deserialize, PartialEq)]
22019pub enum Zigbee929003553001Poweronbehavior {
22020 #[serde(rename = "off")]
22021 Off,
22022 #[serde(rename = "on")]
22023 On,
22024 #[serde(rename = "previous")]
22025 Previous,
22026 #[serde(rename = "toggle")]
22027 Toggle,
22028}
22029#[cfg_attr(feature = "debug", derive(Debug))]
22030#[cfg_attr(feature = "clone", derive(Clone))]
22031#[derive(Deserialize, PartialEq)]
22032pub enum ZigbeeLwg004Poweronbehavior {
22033 #[serde(rename = "off")]
22034 Off,
22035 #[serde(rename = "on")]
22036 On,
22037 #[serde(rename = "previous")]
22038 Previous,
22039 #[serde(rename = "toggle")]
22040 Toggle,
22041}
22042#[cfg(all(feature = "last_seen_epoch", feature = "last_seen_iso_8601"))]
22043compile_error!{"Feature last_seen epoch and iso_8601 are mutually exclusive and cannot be enabled together.
22044This was done because it is a global setting in zigbee2mqtt and therefor can't see a reason both would be enabled.
22045If you have a any reason to have both ways enabled please submit an issue to https://gitlab.com/seam345/zigbee2mqtt-types/-/issues"}