__init__.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. from dataclasses import dataclass
  2. from switchbot import SwitchbotModel
  3. @dataclass
  4. class AdvTestCase:
  5. manufacturer_data: bytes | None
  6. service_data: bytes | None
  7. data: dict
  8. model: str | bytes
  9. modelFriendlyName: str
  10. modelName: SwitchbotModel
  11. STRIP_LIGHT_3_INFO = AdvTestCase(
  12. b'\xc0N0\xe0U\x9a\x85\x9e"\xd0\x00\x00\x00\x00\x00\x00\x12\x91\x00',
  13. b"\x00\x00\x00\x00\x10\xd0\xb1",
  14. {
  15. "sequence_number": 133,
  16. "isOn": True,
  17. "brightness": 30,
  18. "delay": False,
  19. "network_state": 2,
  20. "color_mode": 2,
  21. "cw": 4753,
  22. },
  23. b"\x00\x10\xd0\xb1",
  24. "Strip Light 3",
  25. SwitchbotModel.STRIP_LIGHT_3,
  26. )
  27. FLOOR_LAMP_INFO = AdvTestCase(
  28. b'\xa0\x85\xe3e,\x06P\xaa"\xd4\x00\x00\x00\x00\x00\x00\r\x93\x00',
  29. b"\x00\x00\x00\x00\x10\xd0\xb0",
  30. {
  31. "sequence_number": 80,
  32. "isOn": True,
  33. "brightness": 42,
  34. "delay": False,
  35. "network_state": 2,
  36. "color_mode": 2,
  37. "cw": 3475,
  38. },
  39. b"\x00\x10\xd0\xb0",
  40. "Floor Lamp",
  41. SwitchbotModel.FLOOR_LAMP,
  42. )
  43. RGBICWW_STRIP_LIGHT_INFO = AdvTestCase(
  44. b'(7/L\x94\xb2\x0c\x9e"\x00\x11:\x00',
  45. b"\x00\x00\x00\x00\x10\xd0\xb3",
  46. {
  47. "sequence_number": 12,
  48. "isOn": True,
  49. "brightness": 30,
  50. "delay": False,
  51. "network_state": 2,
  52. "color_mode": 2,
  53. "cw": 4410,
  54. },
  55. b"\x00\x10\xd0\xb3",
  56. "Rgbic Strip Light",
  57. SwitchbotModel.RGBICWW_STRIP_LIGHT,
  58. )
  59. RGBICWW_FLOOR_LAMP_INFO = AdvTestCase(
  60. b'\xdc\x06u\xa6\xfb\xb2y\x9e"\x00\x11\xb8\x00',
  61. b"\x00\x00\x00\x00\x10\xd0\xb4",
  62. {
  63. "sequence_number": 121,
  64. "isOn": True,
  65. "brightness": 30,
  66. "delay": False,
  67. "network_state": 2,
  68. "color_mode": 2,
  69. "cw": 4536,
  70. },
  71. b"\x00\x10\xd0\xb4",
  72. "Rgbic Floor Lamp",
  73. SwitchbotModel.RGBICWW_FLOOR_LAMP,
  74. )
  75. SMART_THERMOSTAT_RADIATOR_INFO = AdvTestCase(
  76. b"\xb0\xe9\xfe\xa2T|6\xe4\x00\x9c\xa3A\x00",
  77. b"\x00 d\x00\x116@",
  78. {
  79. "battery": 100,
  80. "door_open": False,
  81. "fault_code": 0,
  82. "isOn": True,
  83. "last_mode": "comfort",
  84. "mode": "manual",
  85. "sequence_number": 54,
  86. "need_update_temp": False,
  87. "restarted": False,
  88. "target_temperature": 35.0,
  89. "temperature": 28.0,
  90. },
  91. b"\x00\x116@",
  92. "Smart Thermostat Radiator",
  93. SwitchbotModel.SMART_THERMOSTAT_RADIATOR,
  94. )