-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathaiobafi6.proto
146 lines (111 loc) · 4.01 KB
/
aiobafi6.proto
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
syntax = "proto2";
package aiobafi6;
message Root { optional Root2 root2 = 2; }
message Root2 {
optional Commit commit = 2;
optional Query query = 3;
optional QueryResult query_result = 4;
}
message Commit { optional Properties properties = 3; }
enum ProperyQuery {
ALL = 0;
FAN = 1;
LIGHT = 2;
FIRMWARE_MORE_DATETIME_API = 3;
NETWORK = 4;
SCHEDULES = 5;
SENSORS = 6;
}
message Query { optional ProperyQuery property_query = 1; }
message QueryResult {
repeated Properties properties = 2;
repeated Schedule schedules = 3;
}
enum OffOnAuto {
OFF = 0;
ON = 1;
AUTO = 2;
}
message Properties {
// General
optional string name = 1;
optional string model = 2;
optional string local_datetime = 4; // ISO 8601
optional string utc_datetime = 5; // ISO 8601
optional string firmware_version = 7;
optional string mac_address = 8;
// API
optional string uuid9 = 9;
optional string dns_sd_uuid = 10; // uuid used for _api._tcp dns service
optional string api_endpoint = 11;
optional string api_version = 13;
optional FirmwareProperties firmware = 16;
optional Capabilities capabilities = 17;
// Fan
optional OffOnAuto fan_mode = 43;
optional bool reverse_enable = 44;
optional int32 speed_percent = 45; // 0-100
optional int32 speed = 46; // 0-7
optional bool whoosh_enable = 58;
optional bool eco_enable = 65;
optional bool auto_comfort_enable = 47;
optional int32 comfort_ideal_temperature = 48; // divide by 100.0, in ºC
optional bool comfort_heat_assist_enable = 60;
optional int32 comfort_heat_assist_speed = 61;
optional bool comfort_heat_assist_reverse_enable = 62;
optional int32 comfort_min_speed = 50; // 0 for no min
optional int32 comfort_max_speed = 51; // 7 for no max
optional bool motion_sense_enable = 52;
optional int32 motion_sense_timeout = 53; // in s
optional bool return_to_auto_enable = 54;
optional int32 return_to_auto_timeout = 55; // in s
optional int32 target_rpm = 63;
optional int32 current_rpm = 64;
// Resets after about 4 minutes 30 seconds.
// Speculatively placed in the fan category as it is returned with other
// fan properties by the firmware. Arguably could be named "fast occupancy".
optional bool fan_occupancy_detected = 66; // `api_version` >= 5
// Light
optional OffOnAuto light_mode = 68;
optional int32 light_brightness_percent = 69; // 0-100
optional int32 light_brightness_level = 70; // 0-16
optional int32 light_color_temperature = 71;
optional bool light_dim_to_warm_enable = 77;
optional int32 light_auto_motion_timeout = 73;
optional bool light_return_to_auto_enable = 74;
optional int32 light_return_to_auto_timeout = 75;
optional int32 light_warmest_color_temperature = 78;
optional int32 light_coolest_color_temperature = 79;
// Resets after about 9 minutes 30 seconds.
// Speculatively placed in the light category as it is returned with other
// light properties by the firmware. Arguably could be named "slow occupancy".
// And given its field ID, it's odd that it's not in the sensor category.
optional bool light_occupancy_detected = 85; // `api_version` >= 5
// Sensors
optional int32 temperature = 86; // divide by 100.0, in ºC
optional int32 humidity = 87; // percent
// Connectivity
optional string ip_address = 120;
optional WifiProperties wifi = 124;
// More
optional bool led_indicators_enable = 134;
optional bool fan_beep_enable = 135;
optional bool legacy_ir_remote_enable = 136;
// Controls
optional FirmwareProperties remote_firmware = 152;
// Speculatively called stats because it contains uptime.
optional Stats stats = 156;
}
message FirmwareProperties {
optional string firmware_version = 2;
optional string bootloader_version = 3;
optional string mac_address = 4;
}
message Capabilities {
optional bool has_comfort1 = 1;
optional bool has_comfort3 = 3;
optional bool has_light = 4;
}
message WifiProperties { optional string ssid = 1; }
message Schedule {}
message Stats { optional int32 uptime_minutes = 1; }