12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- """Library to handle connection with Switchbot."""
- from __future__ import annotations
- from enum import Enum
- from .enum import StrEnum
- DEFAULT_RETRY_COUNT = 3
- DEFAULT_RETRY_TIMEOUT = 1
- DEFAULT_SCAN_TIMEOUT = 5
- class SwitchbotApiError(RuntimeError):
- """Raised when API call fails.
- This exception inherits from RuntimeError to avoid breaking existing code
- but will be changed to Exception in a future release.
- """
- class SwitchbotAuthenticationError(RuntimeError):
- """Raised when authentication fails.
- This exception inherits from RuntimeError to avoid breaking existing code
- but will be changed to Exception in a future release.
- """
- class SwitchbotAccountConnectionError(RuntimeError):
- """Raised when connection to Switchbot account fails.
- This exception inherits from RuntimeError to avoid breaking existing code
- but will be changed to Exception in a future release.
- """
- class SwitchbotModel(StrEnum):
- BOT = "WoHand"
- CURTAIN = "WoCurtain"
- HUMIDIFIER = "WoHumi"
- PLUG_MINI = "WoPlug"
- CONTACT_SENSOR = "WoContact"
- LIGHT_STRIP = "WoStrip"
- METER = "WoSensorTH"
- METER_PRO = "WoTHP"
- METER_PRO_C = "WoTHPc"
- IO_METER = "WoIOSensorTH"
- MOTION_SENSOR = "WoPresence"
- COLOR_BULB = "WoBulb"
- CEILING_LIGHT = "WoCeiling"
- LOCK = "WoLock"
- LOCK_PRO = "WoLockPro"
- BLIND_TILT = "WoBlindTilt"
- HUB2 = "WoHub2"
- class LockStatus(Enum):
- LOCKED = 0
- UNLOCKED = 1
- LOCKING = 2
- UNLOCKING = 3
- LOCKING_STOP = 4 # LOCKING_BLOCKED
- UNLOCKING_STOP = 5 # UNLOCKING_BLOCKED
- NOT_FULLY_LOCKED = 6 # LATCH_LOCKED - Only EU lock type
|