123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- """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"
- LEAK = "Leak Detector"
- KEYPAD = "WoKeypad"
- RELAY_SWITCH_1PM = "Relay Switch 1PM"
- RELAY_SWITCH_1 = "Relay Switch 1"
- 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
|