1
0

__init__.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. """Library to handle connection with Switchbot."""
  2. from __future__ import annotations
  3. from bleak_retry_connector import (
  4. close_stale_connections,
  5. close_stale_connections_by_address,
  6. get_device,
  7. )
  8. from .adv_parser import SwitchbotSupportedType, parse_advertisement_data
  9. from .const import (
  10. AirPurifierMode,
  11. AirQualityLevel,
  12. BulbColorMode,
  13. CeilingLightColorMode,
  14. ClimateAction,
  15. ClimateMode,
  16. ColorMode,
  17. FanMode,
  18. HorizontalOscillationAngle,
  19. HumidifierAction,
  20. HumidifierMode,
  21. HumidifierWaterLevel,
  22. LockStatus,
  23. NightLightState,
  24. SmartThermostatRadiatorMode,
  25. StandingFanMode,
  26. StripLightColorMode,
  27. SwitchbotAccountConnectionError,
  28. SwitchbotApiError,
  29. SwitchbotAuthenticationError,
  30. SwitchbotModel,
  31. VerticalOscillationAngle,
  32. )
  33. from .devices.air_purifier import SwitchbotAirPurifier
  34. from .devices.art_frame import SwitchbotArtFrame
  35. from .devices.base_light import SwitchbotBaseLight
  36. from .devices.blind_tilt import SwitchbotBlindTilt
  37. from .devices.bot import Switchbot
  38. from .devices.bulb import SwitchbotBulb
  39. from .devices.ceiling_light import SwitchbotCeilingLight
  40. from .devices.curtain import SwitchbotCurtain
  41. from .devices.device import (
  42. SwitchbotDevice,
  43. SwitchbotEncryptedDevice,
  44. SwitchbotOperationError,
  45. fetch_cloud_devices,
  46. )
  47. from .devices.evaporative_humidifier import SwitchbotEvaporativeHumidifier
  48. from .devices.fan import SwitchbotFan, SwitchbotStandingFan
  49. from .devices.humidifier import SwitchbotHumidifier
  50. from .devices.keypad_vision import SwitchbotKeypadVision
  51. from .devices.light_strip import (
  52. SwitchbotCandleWarmerLamp,
  53. SwitchbotLightStrip,
  54. SwitchbotPermanentOutdoorLight,
  55. SwitchbotRgbicLight,
  56. SwitchbotRgbicNeonLight,
  57. SwitchbotStripLight3,
  58. )
  59. from .devices.lock import SwitchbotLock
  60. from .devices.meter_pro import SwitchbotMeterProCO2
  61. from .devices.plug import SwitchbotPlugMini
  62. from .devices.relay_switch import (
  63. SwitchbotGarageDoorOpener,
  64. SwitchbotRelaySwitch,
  65. SwitchbotRelaySwitch2PM,
  66. )
  67. from .devices.roller_shade import SwitchbotRollerShade
  68. from .devices.smart_thermostat_radiator import SwitchbotSmartThermostatRadiator
  69. from .devices.vacuum import SwitchbotVacuum
  70. from .discovery import GetSwitchbotDevices
  71. from .models import SwitchBotAdvertisement
  72. __all__ = [
  73. "AirPurifierMode",
  74. "AirQualityLevel",
  75. "BulbColorMode",
  76. "CeilingLightColorMode",
  77. "ClimateAction",
  78. "ClimateMode",
  79. "ColorMode",
  80. "FanMode",
  81. "GetSwitchbotDevices",
  82. "HorizontalOscillationAngle",
  83. "HumidifierAction",
  84. "HumidifierMode",
  85. "HumidifierWaterLevel",
  86. "LockStatus",
  87. "NightLightState",
  88. "SmartThermostatRadiatorMode",
  89. "StandingFanMode",
  90. "StripLightColorMode",
  91. "SwitchBotAdvertisement",
  92. "Switchbot",
  93. "Switchbot",
  94. "SwitchbotAccountConnectionError",
  95. "SwitchbotAirPurifier",
  96. "SwitchbotApiError",
  97. "SwitchbotArtFrame",
  98. "SwitchbotAuthenticationError",
  99. "SwitchbotBaseLight",
  100. "SwitchbotBlindTilt",
  101. "SwitchbotBulb",
  102. "SwitchbotCandleWarmerLamp",
  103. "SwitchbotCeilingLight",
  104. "SwitchbotCurtain",
  105. "SwitchbotDevice",
  106. "SwitchbotEncryptedDevice",
  107. "SwitchbotEvaporativeHumidifier",
  108. "SwitchbotFan",
  109. "SwitchbotGarageDoorOpener",
  110. "SwitchbotHumidifier",
  111. "SwitchbotKeypadVision",
  112. "SwitchbotLightStrip",
  113. "SwitchbotLock",
  114. "SwitchbotMeterProCO2",
  115. "SwitchbotModel",
  116. "SwitchbotModel",
  117. "SwitchbotOperationError",
  118. "SwitchbotPermanentOutdoorLight",
  119. "SwitchbotPlugMini",
  120. "SwitchbotPlugMini",
  121. "SwitchbotRelaySwitch",
  122. "SwitchbotRelaySwitch2PM",
  123. "SwitchbotRgbicLight",
  124. "SwitchbotRgbicNeonLight",
  125. "SwitchbotRollerShade",
  126. "SwitchbotSmartThermostatRadiator",
  127. "SwitchbotStandingFan",
  128. "SwitchbotStripLight3",
  129. "SwitchbotSupportedType",
  130. "SwitchbotSupportedType",
  131. "SwitchbotVacuum",
  132. "VerticalOscillationAngle",
  133. "close_stale_connections",
  134. "close_stale_connections_by_address",
  135. "fetch_cloud_devices",
  136. "get_device",
  137. "parse_advertisement_data",
  138. ]