1 """Support for Xiaomi Yeelight WiFi color bulb."""
3 from datetime
import timedelta
10 STATE_CHANGE_TIME = 0.40
11 POWER_STATE_CHANGE_TIME = 1
24 MODELS_WITH_DELAYED_ON_TRANSITION = {
28 DATA_UPDATED =
"yeelight_{}_data_updated"
30 DEFAULT_NAME =
"Yeelight"
31 DEFAULT_TRANSITION = 350
32 DEFAULT_MODE_MUSIC =
False
33 DEFAULT_SAVE_ON_CHANGE =
False
34 DEFAULT_NIGHTLIGHT_SWITCH =
False
36 CONF_DETECTED_MODEL =
"detected_model"
37 CONF_TRANSITION =
"transition"
39 CONF_SAVE_ON_CHANGE =
"save_on_change"
40 CONF_MODE_MUSIC =
"use_music_mode"
41 CONF_FLOW_PARAMS =
"flow_params"
42 CONF_CUSTOM_EFFECTS =
"custom_effects"
43 CONF_NIGHTLIGHT_SWITCH_TYPE =
"nightlight_switch_type"
44 CONF_NIGHTLIGHT_SWITCH =
"nightlight_switch"
46 DATA_CONFIG_ENTRIES =
"config_entries"
47 DATA_CUSTOM_EFFECTS =
"custom_effects"
48 DATA_DEVICE =
"device"
49 DATA_REMOVE_INIT_DISPATCHER =
"remove_init_dispatcher"
50 DATA_PLATFORMS_LOADED =
"platforms_loaded"
53 ATTR_ACTION =
"action"
54 ATTR_TRANSITIONS =
"transitions"
55 ATTR_MODE_MUSIC =
"music_mode"
57 ACTION_RECOVER =
"recover"
61 ACTIVE_MODE_NIGHTLIGHT = 1
62 ACTIVE_COLOR_FLOWING = 1
65 NIGHTLIGHT_SWITCH_TYPE_LIGHT =
"light"
68 SSDP_TARGET = (
"239.255.255.250", 1982)
70 DISCOVERY_ATTEMPTS = 3
75 YEELIGHT_RGB_TRANSITION =
"RGBTransition"
76 YEELIGHT_HSV_TRANSACTION =
"HSVTransition"
77 YEELIGHT_TEMPERATURE_TRANSACTION =
"TemperatureTransition"
78 YEELIGHT_SLEEP_TRANSACTION =
"SleepTransition"
81 UPDATE_REQUEST_PROPERTIES = [
104 PLATFORMS = [Platform.BINARY_SENSOR, Platform.LIGHT]