1 """Constants for the Xiaomi Miio component."""
3 from miio.integrations.vacuum.roborock.vacuum
import (
17 DOMAIN =
"xiaomi_miio"
20 CONF_FLOW_TYPE =
"config_flow_device"
21 CONF_GATEWAY =
"gateway"
22 CONF_CLOUD_USERNAME =
"cloud_username"
23 CONF_CLOUD_PASSWORD =
"cloud_password"
24 CONF_CLOUD_COUNTRY =
"cloud_country"
25 CONF_MANUAL =
"manual"
28 CONF_CLOUD_SUBDEVICES =
"cloud_subdevices"
31 KEY_COORDINATOR =
"coordinator"
35 ATTR_AVAILABLE =
"available"
41 SERVER_COUNTRY_CODES = [
"cn",
"de",
"i2",
"ru",
"sg",
"us"]
42 DEFAULT_CLOUD_COUNTRY =
"cn"
47 """Exception indicating an authentication error."""
51 """Exception indicating a failure during setup."""
55 MODEL_AIRPURIFIER_4 =
"zhimi.airp.mb5"
56 MODEL_AIRPURIFIER_4_LITE_RMA1 =
"zhimi.airpurifier.rma1"
57 MODEL_AIRPURIFIER_4_LITE_RMB1 =
"zhimi.airp.rmb1"
58 MODEL_AIRPURIFIER_4_PRO =
"zhimi.airp.vb4"
59 MODEL_AIRPURIFIER_2H =
"zhimi.airpurifier.mc2"
60 MODEL_AIRPURIFIER_2S =
"zhimi.airpurifier.mc1"
61 MODEL_AIRPURIFIER_3 =
"zhimi.airpurifier.ma4"
62 MODEL_AIRPURIFIER_3C =
"zhimi.airpurifier.mb4"
63 MODEL_AIRPURIFIER_3C_REV_A =
"zhimi.airp.mb4a"
64 MODEL_AIRPURIFIER_3H =
"zhimi.airpurifier.mb3"
65 MODEL_AIRPURIFIER_M1 =
"zhimi.airpurifier.m1"
66 MODEL_AIRPURIFIER_M2 =
"zhimi.airpurifier.m2"
67 MODEL_AIRPURIFIER_MA1 =
"zhimi.airpurifier.ma1"
68 MODEL_AIRPURIFIER_MA2 =
"zhimi.airpurifier.ma2"
69 MODEL_AIRPURIFIER_PRO =
"zhimi.airpurifier.v6"
70 MODEL_AIRPURIFIER_PROH =
"zhimi.airpurifier.va1"
71 MODEL_AIRPURIFIER_PROH_EU =
"zhimi.airpurifier.vb2"
72 MODEL_AIRPURIFIER_PRO_V7 =
"zhimi.airpurifier.v7"
73 MODEL_AIRPURIFIER_SA1 =
"zhimi.airpurifier.sa1"
74 MODEL_AIRPURIFIER_SA2 =
"zhimi.airpurifier.sa2"
75 MODEL_AIRPURIFIER_V1 =
"zhimi.airpurifier.v1"
76 MODEL_AIRPURIFIER_V2 =
"zhimi.airpurifier.v2"
77 MODEL_AIRPURIFIER_V3 =
"zhimi.airpurifier.v3"
78 MODEL_AIRPURIFIER_V5 =
"zhimi.airpurifier.v5"
79 MODEL_AIRPURIFIER_ZA1 =
"zhimi.airpurifier.za1"
81 MODEL_AIRHUMIDIFIER_V1 =
"zhimi.humidifier.v1"
82 MODEL_AIRHUMIDIFIER_CA1 =
"zhimi.humidifier.ca1"
83 MODEL_AIRHUMIDIFIER_CA4 =
"zhimi.humidifier.ca4"
84 MODEL_AIRHUMIDIFIER_CB1 =
"zhimi.humidifier.cb1"
85 MODEL_AIRHUMIDIFIER_JSQ =
"deerma.humidifier.jsq"
86 MODEL_AIRHUMIDIFIER_JSQ1 =
"deerma.humidifier.jsq1"
87 MODEL_AIRHUMIDIFIER_MJJSQ =
"deerma.humidifier.mjjsq"
89 MODEL_AIRFRESH_A1 =
"dmaker.airfresh.a1"
90 MODEL_AIRFRESH_VA2 =
"zhimi.airfresh.va2"
91 MODEL_AIRFRESH_VA4 =
"zhimi.airfresh.va4"
92 MODEL_AIRFRESH_T2017 =
"dmaker.airfresh.t2017"
94 MODEL_FAN_1C =
"dmaker.fan.1c"
95 MODEL_FAN_P10 =
"dmaker.fan.p10"
96 MODEL_FAN_P11 =
"dmaker.fan.p11"
97 MODEL_FAN_P18 =
"dmaker.fan.p18"
98 MODEL_FAN_P5 =
"dmaker.fan.p5"
99 MODEL_FAN_P9 =
"dmaker.fan.p9"
100 MODEL_FAN_SA1 =
"zhimi.fan.sa1"
101 MODEL_FAN_V2 =
"zhimi.fan.v2"
102 MODEL_FAN_V3 =
"zhimi.fan.v3"
103 MODEL_FAN_ZA1 =
"zhimi.fan.za1"
104 MODEL_FAN_ZA3 =
"zhimi.fan.za3"
105 MODEL_FAN_ZA4 =
"zhimi.fan.za4"
106 MODEL_FAN_ZA5 =
"zhimi.fan.za5"
127 MODELS_PURIFIER_MIOT = [
129 MODEL_AIRPURIFIER_3C,
130 MODEL_AIRPURIFIER_3C_REV_A,
131 MODEL_AIRPURIFIER_3H,
132 MODEL_AIRPURIFIER_PROH,
133 MODEL_AIRPURIFIER_PROH_EU,
134 MODEL_AIRPURIFIER_4_LITE_RMA1,
135 MODEL_AIRPURIFIER_4_LITE_RMB1,
137 MODEL_AIRPURIFIER_4_PRO,
138 MODEL_AIRPURIFIER_ZA1,
140 MODELS_PURIFIER_MIIO = [
141 MODEL_AIRPURIFIER_V1,
142 MODEL_AIRPURIFIER_V2,
143 MODEL_AIRPURIFIER_V3,
144 MODEL_AIRPURIFIER_V5,
145 MODEL_AIRPURIFIER_PRO,
146 MODEL_AIRPURIFIER_PRO_V7,
147 MODEL_AIRPURIFIER_M1,
148 MODEL_AIRPURIFIER_M2,
149 MODEL_AIRPURIFIER_MA1,
150 MODEL_AIRPURIFIER_MA2,
151 MODEL_AIRPURIFIER_SA1,
152 MODEL_AIRPURIFIER_SA2,
153 MODEL_AIRPURIFIER_2S,
154 MODEL_AIRPURIFIER_2H,
158 MODEL_AIRFRESH_T2017,
160 MODELS_HUMIDIFIER_MIIO = [
161 MODEL_AIRHUMIDIFIER_V1,
162 MODEL_AIRHUMIDIFIER_CA1,
163 MODEL_AIRHUMIDIFIER_CB1,
165 MODELS_HUMIDIFIER_MIOT = [MODEL_AIRHUMIDIFIER_CA4]
166 MODELS_HUMIDIFIER_MJJSQ = [
167 MODEL_AIRHUMIDIFIER_JSQ,
168 MODEL_AIRHUMIDIFIER_JSQ1,
169 MODEL_AIRHUMIDIFIER_MJJSQ,
173 MODEL_AIRQUALITYMONITOR_V1 =
"zhimi.airmonitor.v1"
174 MODEL_AIRQUALITYMONITOR_B1 =
"cgllc.airmonitor.b1"
175 MODEL_AIRQUALITYMONITOR_S1 =
"cgllc.airmonitor.s1"
176 MODEL_AIRQUALITYMONITOR_CGDN1 =
"cgllc.airm.cgdn1"
178 MODELS_AIR_QUALITY_MONITOR = [
179 MODEL_AIRQUALITYMONITOR_V1,
180 MODEL_AIRQUALITYMONITOR_B1,
181 MODEL_AIRQUALITYMONITOR_S1,
182 MODEL_AIRQUALITYMONITOR_CGDN1,
186 MODELS_LIGHT_EYECARE = [
"philips.light.sread1"]
187 MODELS_LIGHT_CEILING = [
"philips.light.ceiling",
"philips.light.zyceiling"]
188 MODELS_LIGHT_MOON = [
"philips.light.moonlight"]
189 MODELS_LIGHT_BULB = [
190 "philips.light.bulb",
191 "philips.light.candle",
192 "philips.light.candle2",
193 "philips.light.downlight",
195 MODELS_LIGHT_MONO = [
196 "philips.light.mono1",
197 "philips.light.hbulb",
201 MODELS_GATEWAY = [
"lumi.gateway",
"lumi.acpartner"]
205 "chuangmi.plug.hmi208",
207 "zimi.powerstrip.v2",
211 "chuangmi.plug.hmi205",
212 "chuangmi.plug.hmi206",
215 MODELS_PURIFIER_MIIO + MODELS_PURIFIER_MIOT + MODELS_FAN_MIIO + MODELS_FAN_MIOT
217 MODELS_HUMIDIFIER = (
218 MODELS_HUMIDIFIER_MIOT + MODELS_HUMIDIFIER_MIIO + MODELS_HUMIDIFIER_MJJSQ
222 + MODELS_LIGHT_CEILING
228 ROBOROCK_GENERIC =
"roborock.vacuum"
229 ROCKROBO_GENERIC =
"rockrobo.vacuum"
245 MODELS_VACUUM_WITH_MOP = [
255 MODELS_VACUUM_WITH_SEPARATE_MOP = [
260 MODELS_AIR_MONITOR = [
261 MODEL_AIRQUALITYMONITOR_V1,
262 MODEL_AIRQUALITYMONITOR_B1,
263 MODEL_AIRQUALITYMONITOR_S1,
264 MODEL_AIRQUALITYMONITOR_CGDN1,
267 MODELS_ALL_DEVICES = (
275 MODELS_ALL = MODELS_ALL_DEVICES + MODELS_GATEWAY
278 SERVICE_SET_FAVORITE_LEVEL =
"fan_set_favorite_level"
279 SERVICE_SET_FAN_LEVEL =
"fan_set_fan_level"
280 SERVICE_SET_VOLUME =
"fan_set_volume"
281 SERVICE_RESET_FILTER =
"fan_reset_filter"
282 SERVICE_SET_EXTRA_FEATURES =
"fan_set_extra_features"
283 SERVICE_SET_DRY =
"set_dry"
284 SERVICE_SET_MOTOR_SPEED =
"fan_set_motor_speed"
287 SERVICE_SET_SCENE =
"light_set_scene"
288 SERVICE_SET_DELAYED_TURN_OFF =
"light_set_delayed_turn_off"
289 SERVICE_REMINDER_ON =
"light_reminder_on"
290 SERVICE_REMINDER_OFF =
"light_reminder_off"
291 SERVICE_NIGHT_LIGHT_MODE_ON =
"light_night_light_mode_on"
292 SERVICE_NIGHT_LIGHT_MODE_OFF =
"light_night_light_mode_off"
293 SERVICE_EYECARE_MODE_ON =
"light_eyecare_mode_on"
294 SERVICE_EYECARE_MODE_OFF =
"light_eyecare_mode_off"
297 SERVICE_LEARN =
"remote_learn_command"
298 SERVICE_SET_REMOTE_LED_ON =
"remote_set_led_on"
299 SERVICE_SET_REMOTE_LED_OFF =
"remote_set_led_off"
302 SERVICE_SET_WIFI_LED_ON =
"switch_set_wifi_led_on"
303 SERVICE_SET_WIFI_LED_OFF =
"switch_set_wifi_led_off"
304 SERVICE_SET_POWER_MODE =
"switch_set_power_mode"
305 SERVICE_SET_POWER_PRICE =
"switch_set_power_price"
308 SERVICE_MOVE_REMOTE_CONTROL =
"vacuum_remote_control_move"
309 SERVICE_MOVE_REMOTE_CONTROL_STEP =
"vacuum_remote_control_move_step"
310 SERVICE_START_REMOTE_CONTROL =
"vacuum_remote_control_start"
311 SERVICE_STOP_REMOTE_CONTROL =
"vacuum_remote_control_stop"
312 SERVICE_CLEAN_SEGMENT =
"vacuum_clean_segment"
313 SERVICE_CLEAN_ZONE =
"vacuum_clean_zone"
314 SERVICE_GOTO =
"vacuum_goto"
317 FEATURE_SET_BUZZER = 1
319 FEATURE_SET_CHILD_LOCK = 4
320 FEATURE_SET_LED_BRIGHTNESS = 8
321 FEATURE_SET_FAVORITE_LEVEL = 16
322 FEATURE_SET_AUTO_DETECT = 32
323 FEATURE_SET_LEARN_MODE = 64
324 FEATURE_SET_VOLUME = 128
325 FEATURE_RESET_FILTER = 256
326 FEATURE_SET_EXTRA_FEATURES = 512
327 FEATURE_SET_TARGET_HUMIDITY = 1024
328 FEATURE_SET_DRY = 2048
329 FEATURE_SET_FAN_LEVEL = 4096
330 FEATURE_SET_MOTOR_SPEED = 8192
331 FEATURE_SET_CLEAN = 16384
332 FEATURE_SET_OSCILLATION_ANGLE = 32768
333 FEATURE_SET_DELAY_OFF_COUNTDOWN = 65536
334 FEATURE_SET_LED_BRIGHTNESS_LEVEL = 131072
335 FEATURE_SET_FAVORITE_RPM = 262144
336 FEATURE_SET_IONIZER = 524288
337 FEATURE_SET_DISPLAY = 1048576
338 FEATURE_SET_PTC = 2097152
339 FEATURE_SET_ANION = 4194304
341 FEATURE_FLAGS_AIRPURIFIER_MIIO = (
343 | FEATURE_SET_CHILD_LOCK
345 | FEATURE_SET_FAVORITE_LEVEL
346 | FEATURE_SET_LEARN_MODE
347 | FEATURE_RESET_FILTER
348 | FEATURE_SET_EXTRA_FEATURES
351 FEATURE_FLAGS_AIRPURIFIER_MIOT = (
353 | FEATURE_SET_CHILD_LOCK
354 | FEATURE_SET_FAVORITE_LEVEL
355 | FEATURE_SET_FAN_LEVEL
356 | FEATURE_SET_LED_BRIGHTNESS
359 FEATURE_FLAGS_AIRPURIFIER_4_LITE = (
360 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_LED_BRIGHTNESS
363 FEATURE_FLAGS_AIRPURIFIER_4 = (
365 | FEATURE_SET_CHILD_LOCK
366 | FEATURE_SET_FAVORITE_LEVEL
367 | FEATURE_SET_FAN_LEVEL
368 | FEATURE_SET_LED_BRIGHTNESS
372 FEATURE_FLAGS_AIRPURIFIER_3C = (
374 | FEATURE_SET_CHILD_LOCK
375 | FEATURE_SET_LED_BRIGHTNESS_LEVEL
376 | FEATURE_SET_FAVORITE_RPM
379 FEATURE_FLAGS_AIRPURIFIER_PRO = (
380 FEATURE_SET_CHILD_LOCK
382 | FEATURE_SET_FAVORITE_LEVEL
386 FEATURE_FLAGS_AIRPURIFIER_PRO_V7 = (
387 FEATURE_SET_CHILD_LOCK
389 | FEATURE_SET_FAVORITE_LEVEL
393 FEATURE_FLAGS_AIRPURIFIER_2S = (
395 | FEATURE_SET_CHILD_LOCK
397 | FEATURE_SET_FAVORITE_LEVEL
400 FEATURE_FLAGS_AIRPURIFIER_V1 = FEATURE_FLAGS_AIRPURIFIER_MIIO | FEATURE_SET_AUTO_DETECT
402 FEATURE_FLAGS_AIRPURIFIER_V3 = (
403 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_LED
406 FEATURE_FLAGS_AIRPURIFIER_ZA1 = (
407 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_FAVORITE_LEVEL
410 FEATURE_FLAGS_AIRHUMIDIFIER = (
411 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_TARGET_HUMIDITY
414 FEATURE_FLAGS_AIRHUMIDIFIER_CA_AND_CB = FEATURE_FLAGS_AIRHUMIDIFIER | FEATURE_SET_DRY
416 FEATURE_FLAGS_AIRHUMIDIFIER_MJSSQ = (
417 FEATURE_SET_BUZZER | FEATURE_SET_LED | FEATURE_SET_TARGET_HUMIDITY
420 FEATURE_FLAGS_AIRHUMIDIFIER_CA4 = (
422 | FEATURE_SET_CHILD_LOCK
423 | FEATURE_SET_TARGET_HUMIDITY
425 | FEATURE_SET_MOTOR_SPEED
429 FEATURE_FLAGS_AIRFRESH_A1 = (
430 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_DISPLAY | FEATURE_SET_PTC
433 FEATURE_FLAGS_AIRFRESH = (
435 | FEATURE_SET_CHILD_LOCK
437 | FEATURE_SET_LED_BRIGHTNESS
438 | FEATURE_RESET_FILTER
439 | FEATURE_SET_EXTRA_FEATURES
442 FEATURE_FLAGS_AIRFRESH_VA4 = (
444 | FEATURE_SET_CHILD_LOCK
446 | FEATURE_SET_LED_BRIGHTNESS
447 | FEATURE_RESET_FILTER
448 | FEATURE_SET_EXTRA_FEATURES
452 FEATURE_FLAGS_AIRFRESH_T2017 = (
453 FEATURE_SET_BUZZER | FEATURE_SET_CHILD_LOCK | FEATURE_SET_DISPLAY | FEATURE_SET_PTC
456 FEATURE_FLAGS_FAN_P5 = (
458 | FEATURE_SET_CHILD_LOCK
459 | FEATURE_SET_OSCILLATION_ANGLE
461 | FEATURE_SET_DELAY_OFF_COUNTDOWN
464 FEATURE_FLAGS_FAN = (
466 | FEATURE_SET_CHILD_LOCK
467 | FEATURE_SET_OSCILLATION_ANGLE
468 | FEATURE_SET_LED_BRIGHTNESS
469 | FEATURE_SET_DELAY_OFF_COUNTDOWN
472 FEATURE_FLAGS_FAN_ZA5 = (
474 | FEATURE_SET_CHILD_LOCK
475 | FEATURE_SET_OSCILLATION_ANGLE
476 | FEATURE_SET_LED_BRIGHTNESS
477 | FEATURE_SET_DELAY_OFF_COUNTDOWN
478 | FEATURE_SET_IONIZER
481 FEATURE_FLAGS_FAN_1C = (
483 | FEATURE_SET_CHILD_LOCK
485 | FEATURE_SET_DELAY_OFF_COUNTDOWN
488 FEATURE_FLAGS_FAN_P9 = (
490 | FEATURE_SET_CHILD_LOCK
491 | FEATURE_SET_OSCILLATION_ANGLE
493 | FEATURE_SET_DELAY_OFF_COUNTDOWN
496 FEATURE_FLAGS_FAN_P10_P11_P18 = (
498 | FEATURE_SET_CHILD_LOCK
499 | FEATURE_SET_OSCILLATION_ANGLE
501 | FEATURE_SET_DELAY_OFF_COUNTDOWN