|
14 | 14 | from .adv_parsers.meter import process_wosensorth |
15 | 15 | from .adv_parsers.motion import process_wopresence |
16 | 16 | from .adv_parsers.plug import process_woplugmini |
| 17 | +from .const import SwitchbotModel |
17 | 18 | from .models import SwitchBotAdvertisement |
18 | 19 |
|
19 | 20 |
|
20 | 21 | class SwitchbotSupportedType(TypedDict): |
21 | 22 | """Supported type of Switchbot.""" |
22 | 23 |
|
23 | | - modelName: str |
| 24 | + modelName: SwitchbotModel |
24 | 25 | modelFriendlyName: str |
25 | 26 | func: Callable[[bytes, bytes | None], dict[str, bool | int]] |
26 | 27 |
|
27 | 28 |
|
28 | 29 | SUPPORTED_TYPES: dict[str, SwitchbotSupportedType] = { |
29 | 30 | "d": { |
30 | | - "modelName": "WoContact", |
| 31 | + "modelName": SwitchbotModel.CONTACT_SENSOR, |
31 | 32 | "modelFriendlyName": "Contact Sensor", |
32 | 33 | "func": process_wocontact, |
33 | 34 | }, |
34 | | - "H": {"modelName": "WoHand", "modelFriendlyName": "Bot", "func": process_wohand}, |
| 35 | + "H": { |
| 36 | + "modelName": SwitchbotModel.BOT, |
| 37 | + "modelFriendlyName": "Bot", |
| 38 | + "func": process_wohand, |
| 39 | + }, |
35 | 40 | "s": { |
36 | | - "modelName": "WoPresence", |
| 41 | + "modelName": SwitchbotModel.MOTION_SENSOR, |
37 | 42 | "modelFriendlyName": "Motion Sensor", |
38 | 43 | "func": process_wopresence, |
39 | 44 | }, |
40 | 45 | "c": { |
41 | | - "modelName": "WoCurtain", |
| 46 | + "modelName": SwitchbotModel.CURTAIN, |
42 | 47 | "modelFriendlyName": "Curtain", |
43 | 48 | "func": process_wocurtain, |
44 | 49 | }, |
45 | 50 | "T": { |
46 | | - "modelName": "WoSensorTH", |
| 51 | + "modelName": SwitchbotModel.METER, |
47 | 52 | "modelFriendlyName": "Meter", |
48 | 53 | "func": process_wosensorth, |
49 | 54 | }, |
50 | 55 | "i": { |
51 | | - "modelName": "WoSensorTH", |
| 56 | + "modelName": SwitchbotModel.METER, |
52 | 57 | "modelFriendlyName": "Meter Plus", |
53 | 58 | "func": process_wosensorth, |
54 | 59 | }, |
55 | 60 | "g": { |
56 | | - "modelName": "WoPlug", |
| 61 | + "modelName": SwitchbotModel.PLUG_MINI, |
57 | 62 | "modelFriendlyName": "Plug Mini", |
58 | 63 | "func": process_woplugmini, |
59 | 64 | }, |
60 | 65 | "u": { |
61 | | - "modelName": "WoBulb", |
| 66 | + "modelName": SwitchbotModel.COLOR_BULB, |
62 | 67 | "modelFriendlyName": "Color Bulb", |
63 | 68 | "func": process_color_bulb, |
64 | 69 | }, |
|
0 commit comments