1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#[derive(Debug, Clone, Copy)]
pub enum SetGroupSettingValue {
    Maintain,
    Decrease,
    Increase,
    /// Percentage as an integer from 0-100
    SetOpenPercentage(u8),
    /// Setpoint as an integer
    SetTargetSetpoint(u8),
}

#[derive(Debug, Clone, Copy)]
pub enum SetGroupControlMethod {
    Maintain,
    Toggle,
    Percentage,
    Temperature,
}

#[derive(Debug, Clone, Copy)]
pub enum SetGroupPower {
    Maintain,
    ChangeToNextState,
    SetOff,
    SetOn,
    SetTurbo,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum GroupPowerState {
    Off,
    On,
    Turbo,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum GroupControlMethod {
    Temperature,
    Percentage,
}

#[derive(Debug, Clone, Copy)]
pub enum SetACPowerState {
    Maintain,
    Toggle,
    Off,
    On,
}

#[derive(Debug, Clone, Copy)]
pub enum SetACMode {
    Maintain,
    Auto,
    Heat,
    Dry,
    Fan,
    Cool,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum ACMode {
    Auto,
    Heat,
    Dry,
    Fan,
    Cool,
    AutoHeat,
    AutoCool,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum ACFanSpeed {
    Auto,
    Quiet,
    Low,
    Medium,
    High,
    Powerful,
    Turbo,
}

#[derive(Debug, Clone, Copy)]
pub enum SetACSetpoint {
    Maintain,
    /// Temperature in degrees celsius.
    Value(u8),
    /// Decrease by 1 degree celsius.
    Decrease,
    /// Increase by 1 degree celsius.
    Increase,
}

#[derive(Debug, PartialEq, Clone, Copy)]
pub enum ACPowerState {
    Off,
    On,
}