-
-
Notifications
You must be signed in to change notification settings - Fork 601
Expand file tree
/
Copy path__init__.py
More file actions
133 lines (118 loc) · 4.98 KB
/
Copy path__init__.py
File metadata and controls
133 lines (118 loc) · 4.98 KB
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
# flake8: noqa
from importlib.metadata import version # type: ignore
# Library imports need to be on top to avoid problems with
# circular dependencies. As these do not change that often
# they can be marked to be skipped for isort runs.
# isort: off
from miio.device import Device
from miio.devicestatus import DeviceStatus
from miio.exceptions import (
DeviceError,
InvalidTokenException,
DeviceException,
UnsupportedFeatureException,
DeviceInfoUnavailableException,
)
from miio.miot_device import MiotDevice
from miio.deviceinfo import DeviceInfo
# isort: on
from miio.cloud import CloudDeviceInfo, CloudException, CloudInterface
from miio.descriptorcollection import DescriptorCollection
from miio.descriptors import (
AccessFlags,
ActionDescriptor,
Descriptor,
EnumDescriptor,
PropertyDescriptor,
RangeDescriptor,
ValidSettingRange,
)
from miio.devicefactory import DeviceFactory
from miio.integrations.airdog.airpurifier import AirDogX3
from miio.integrations.cgllc.airmonitor import AirQualityMonitor, AirQualityMonitorCGDN1
from miio.integrations.chuangmi.camera import ChuangmiCamera
from miio.integrations.chuangmi.plug import ChuangmiPlug
from miio.integrations.chuangmi.remote import ChuangmiIr
from miio.integrations.chunmi.cooker import Cooker
from miio.integrations.chunmi.cooker_multi import MultiCooker
from miio.integrations.deerma.humidifier import AirHumidifierJsqs, AirHumidifierMjjsq
from miio.integrations.dmaker.airfresh import AirFreshA1, AirFreshT2017
from miio.integrations.dmaker.fan import Fan1C, FanMiot, FanP5
from miio.integrations.dreame.vacuum import DreameVacuum
from miio.integrations.genericmiot.genericmiot import GenericMiot
from miio.integrations.huayi.light import (
Huizuo,
HuizuoLampFan,
HuizuoLampHeater,
HuizuoLampScene,
)
from miio.integrations.ijai.vacuum import Pro2Vacuum
from miio.integrations.ksmb.walkingpad import Walkingpad
from miio.integrations.leshow.fan import FanLeshow
from miio.integrations.lumi.acpartner import (
AirConditioningCompanion,
AirConditioningCompanionMcn02,
AirConditioningCompanionV3,
)
from miio.integrations.lumi.camera.aqaracamera import AqaraCamera
from miio.integrations.lumi.curtain import CurtainMiot
from miio.integrations.lumi.gateway import Gateway
from miio.integrations.mijia.vacuum import G1Vacuum
from miio.integrations.mmgg.petwaterdispenser import PetWaterDispenser
from miio.integrations.nwt.dehumidifier import AirDehumidifier
from miio.integrations.philips.light import (
Ceil,
PhilipsBulb,
PhilipsEyecare,
PhilipsMoonlight,
PhilipsRwread,
PhilipsWhiteBulb,
)
from miio.integrations.pwzn.relay import PwznRelay
from miio.integrations.roborock.vacuum import RoborockVacuum
from miio.integrations.roidmi.vacuum import RoidmiVacuumMiot
from miio.integrations.scishare.coffee import ScishareCoffee
from miio.integrations.shuii.humidifier import AirHumidifierJsq
from miio.integrations.tinymu.toiletlid import Toiletlid
from miio.integrations.viomi.vacuum import ViomiVacuum
from miio.integrations.viomi.viomidishwasher import ViomiDishwasher
from miio.integrations.xiaomi.aircondition.airconditioner_miot import AirConditionerMiot
from miio.integrations.xiaomi.repeater.wifirepeater import WifiRepeater
from miio.integrations.xiaomi.vacuum.vacuum_miot import XiaomiVacuumE101GB
from miio.integrations.xiaomi.wifispeaker.wifispeaker import WifiSpeaker
from miio.integrations.yeelight.dual_switch import YeelightDualControlModule
from miio.integrations.yeelight.light import Yeelight
from miio.integrations.yunmi.waterpurifier import WaterPurifier, WaterPurifierYunmi
from miio.integrations.zhimi.airpurifier import AirFresh, AirPurifier, AirPurifierMiot
from miio.integrations.zhimi.fan import Fan, FanZA5
from miio.integrations.zhimi.heater import Heater, HeaterMiot
from miio.integrations.zhimi.humidifier import (
AirHumidifier,
AirHumidifierMiot,
AirHumidifierMiotCA6,
)
from miio.integrations.zimi.powerstrip import PowerStrip
from miio.protocol import Message, Utils
from miio.push_server import EventInfo, PushServer
from miio.discovery import Discovery
def __getattr__(name):
"""Create deprecation warnings on classes that are going away."""
from warnings import warn
current_globals = globals()
def _is_miio_integration(x):
"""Return True if miio.integrations is in the module 'path'."""
module_ = current_globals[x]
if "miio.integrations" in str(module_):
return True
return False
deprecated_module_mapping = {
str(x): current_globals[x] for x in current_globals if _is_miio_integration(x)
}
if new_module := deprecated_module_mapping.get(name):
warn(
f"Importing {name} directly from 'miio' is deprecated, import {new_module} or use DeviceFactory.create() instead",
DeprecationWarning,
)
return globals()[new_module.__name__]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__version__ = version("python-miio")