const.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. """Library to handle connection with Switchbot."""
  2. from __future__ import annotations
  3. from enum import Enum
  4. DEFAULT_RETRY_COUNT = 3
  5. DEFAULT_RETRY_TIMEOUT = 1
  6. DEFAULT_SCAN_TIMEOUT = 5
  7. from .enum import StrEnum
  8. class SwitchbotAuthenticationError(RuntimeError):
  9. """Raised when authentication fails.
  10. This exception inherits from RuntimeError to avoid breaking existing code
  11. but will be changed to Exception in a future release.
  12. """
  13. class SwitchbotAccountConnectionError(RuntimeError):
  14. """Raised when connection to Switchbot account fails.
  15. This exception inherits from RuntimeError to avoid breaking existing code
  16. but will be changed to Exception in a future release.
  17. """
  18. class SwitchbotModel(StrEnum):
  19. BOT = "WoHand"
  20. CURTAIN = "WoCurtain"
  21. HUMIDIFIER = "WoHumi"
  22. PLUG_MINI = "WoPlug"
  23. CONTACT_SENSOR = "WoContact"
  24. LIGHT_STRIP = "WoStrip"
  25. METER = "WoSensorTH"
  26. MOTION_SENSOR = "WoPresence"
  27. COLOR_BULB = "WoBulb"
  28. CEILING_LIGHT = "WoCeiling"
  29. LOCK = "WoLock"
  30. class LockStatus(Enum):
  31. LOCKED = 0
  32. UNLOCKED = 1
  33. LOCKING = 2
  34. UNLOCKING = 3
  35. LOCKING_STOP = 4 # LOCKING_BLOCKED
  36. UNLOCKING_STOP = 5 # UNLOCKING_BLOCKED
  37. NOT_FULLY_LOCKED = 6 # LATCH_LOCKED - Only EU lock type