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
|
from dataclasses import dataclass
from switchbot import SwitchbotModel
@dataclass
class AdvTestCase:
manufacturer_data: bytes | None
service_data: bytes | None
data: dict
model: str | bytes
modelFriendlyName: str
modelName: SwitchbotModel
STRIP_LIGHT_3_INFO = AdvTestCase(
b'\xc0N0\xe0U\x9a\x85\x9e"\xd0\x00\x00\x00\x00\x00\x00\x12\x91\x00',
b"\x00\x00\x00\x00\x10\xd0\xb1",
{
"sequence_number": 133,
"isOn": True,
"brightness": 30,
"delay": False,
"network_state": 2,
"color_mode": 2,
"cw": 4753,
},
b"\x00\x10\xd0\xb1",
"Strip Light 3",
SwitchbotModel.STRIP_LIGHT_3,
)
FLOOR_LAMP_INFO = AdvTestCase(
b'\xa0\x85\xe3e,\x06P\xaa"\xd4\x00\x00\x00\x00\x00\x00\r\x93\x00',
b"\x00\x00\x00\x00\x10\xd0\xb0",
{
"sequence_number": 80,
"isOn": True,
"brightness": 42,
"delay": False,
"network_state": 2,
"color_mode": 2,
"cw": 3475,
},
b"\x00\x10\xd0\xb0",
"Floor Lamp",
SwitchbotModel.FLOOR_LAMP,
)
RGBICWW_STRIP_LIGHT_INFO = AdvTestCase(
b'(7/L\x94\xb2\x0c\x9e"\x00\x11:\x00',
b"\x00\x00\x00\x00\x10\xd0\xb3",
{
"sequence_number": 12,
"isOn": True,
"brightness": 30,
"delay": False,
"network_state": 2,
"color_mode": 2,
"cw": 4410,
},
b"\x00\x10\xd0\xb3",
"Rgbic Strip Light",
SwitchbotModel.RGBICWW_STRIP_LIGHT,
)
RGBICWW_FLOOR_LAMP_INFO = AdvTestCase(
b'\xdc\x06u\xa6\xfb\xb2y\x9e"\x00\x11\xb8\x00',
b"\x00\x00\x00\x00\x10\xd0\xb4",
{
"sequence_number": 121,
"isOn": True,
"brightness": 30,
"delay": False,
"network_state": 2,
"color_mode": 2,
"cw": 4536,
},
b"\x00\x10\xd0\xb4",
"Rgbic Floor Lamp",
SwitchbotModel.RGBICWW_FLOOR_LAMP,
)
SMART_THERMOSTAT_RADIATOR_INFO = AdvTestCase(
b"\xb0\xe9\xfe\xa2T|6\xe4\x00\x9c\xa3A\x00",
b"\x00 d\x00\x116@",
{
"battery": 100,
"door_open": False,
"fault_code": 0,
"isOn": True,
"last_mode": "comfort",
"mode": "manual",
"sequence_number": 54,
"need_update_temp": False,
"restarted": False,
"target_temperature": 35.0,
"temperature": 28.0,
},
b"\x00\x116@",
"Smart Thermostat Radiator",
SwitchbotModel.SMART_THERMOSTAT_RADIATOR,
)
|