__init__.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. BulbColorMode,
  12. CeilingLightColorMode,
  13. ClimateAction,
  14. ClimateMode,
  15. ColorMode,
  16. FanMode,
  17. HumidifierAction,
  18. HumidifierMode,
  19. HumidifierWaterLevel,
  20. LockStatus,
  21. SmartThermostatRadiatorMode,
  22. StripLightColorMode,
  23. SwitchbotAccountConnectionError,
  24. SwitchbotApiError,
  25. SwitchbotAuthenticationError,
  26. SwitchbotModel,
  27. )
  28. from .devices.air_purifier import SwitchbotAirPurifier
  29. from .devices.art_frame import SwitchbotArtFrame
  30. from .devices.base_light import SwitchbotBaseLight
  31. from .devices.blind_tilt import SwitchbotBlindTilt
  32. from .devices.bot import Switchbot
  33. from .devices.bulb import SwitchbotBulb
  34. from .devices.ceiling_light import SwitchbotCeilingLight
  35. from .devices.curtain import SwitchbotCurtain
  36. from .devices.device import (
  37. SwitchbotDevice,
  38. SwitchbotEncryptedDevice,
  39. SwitchbotOperationError,
  40. fetch_cloud_devices,
  41. )
  42. from .devices.evaporative_humidifier import SwitchbotEvaporativeHumidifier
  43. from .devices.fan import SwitchbotFan
  44. from .devices.humidifier import SwitchbotHumidifier
  45. from .devices.light_strip import (
  46. SwitchbotLightStrip,
  47. SwitchbotRgbicLight,
  48. SwitchbotStripLight3,
  49. )
  50. from .devices.lock import SwitchbotLock
  51. from .devices.plug import SwitchbotPlugMini
  52. from .devices.relay_switch import (
  53. SwitchbotGarageDoorOpener,
  54. SwitchbotRelaySwitch,
  55. SwitchbotRelaySwitch2PM,
  56. )
  57. from .devices.roller_shade import SwitchbotRollerShade
  58. from .devices.smart_thermostat_radiator import SwitchbotSmartThermostatRadiator
  59. from .devices.vacuum import SwitchbotVacuum
  60. from .discovery import GetSwitchbotDevices
  61. from .models import SwitchBotAdvertisement
  62. __all__ = [
  63. "AirPurifierMode",
  64. "BulbColorMode",
  65. "CeilingLightColorMode",
  66. "ClimateAction",
  67. "ClimateMode",
  68. "ColorMode",
  69. "FanMode",
  70. "GetSwitchbotDevices",
  71. "HumidifierAction",
  72. "HumidifierMode",
  73. "HumidifierWaterLevel",
  74. "LockStatus",
  75. "SmartThermostatRadiatorMode",
  76. "StripLightColorMode",
  77. "SwitchBotAdvertisement",
  78. "Switchbot",
  79. "Switchbot",
  80. "SwitchbotAccountConnectionError",
  81. "SwitchbotAirPurifier",
  82. "SwitchbotApiError",
  83. "SwitchbotArtFrame",
  84. "SwitchbotAuthenticationError",
  85. "SwitchbotBaseLight",
  86. "SwitchbotBlindTilt",
  87. "SwitchbotBulb",
  88. "SwitchbotCeilingLight",
  89. "SwitchbotCurtain",
  90. "SwitchbotDevice",
  91. "SwitchbotEncryptedDevice",
  92. "SwitchbotEvaporativeHumidifier",
  93. "SwitchbotFan",
  94. "SwitchbotGarageDoorOpener",
  95. "SwitchbotHumidifier",
  96. "SwitchbotLightStrip",
  97. "SwitchbotLock",
  98. "SwitchbotModel",
  99. "SwitchbotModel",
  100. "SwitchbotOperationError",
  101. "SwitchbotPlugMini",
  102. "SwitchbotPlugMini",
  103. "SwitchbotRelaySwitch",
  104. "SwitchbotRelaySwitch2PM",
  105. "SwitchbotRgbicLight",
  106. "SwitchbotRollerShade",
  107. "SwitchbotSmartThermostatRadiator",
  108. "SwitchbotStripLight3",
  109. "SwitchbotSupportedType",
  110. "SwitchbotSupportedType",
  111. "SwitchbotVacuum",
  112. "close_stale_connections",
  113. "close_stale_connections_by_address",
  114. "fetch_cloud_devices",
  115. "get_device",
  116. "parse_advertisement_data",
  117. ]