mirror of
https://github.com/home-assistant/core.git
synced 2025-11-14 05:20:17 +00:00
60 lines
1.4 KiB
Python
60 lines
1.4 KiB
Python
"""Constants for the SwitchBot Cloud integration."""
|
|
|
|
from datetime import timedelta
|
|
from enum import Enum
|
|
from typing import Final
|
|
|
|
DOMAIN: Final = "switchbot_cloud"
|
|
ENTRY_TITLE = "SwitchBot Cloud"
|
|
DEFAULT_SCAN_INTERVAL = timedelta(seconds=600)
|
|
|
|
SENSOR_KIND_TEMPERATURE = "temperature"
|
|
SENSOR_KIND_HUMIDITY = "humidity"
|
|
SENSOR_KIND_BATTERY = "battery"
|
|
|
|
VACUUM_FAN_SPEED_QUIET = "quiet"
|
|
VACUUM_FAN_SPEED_STANDARD = "standard"
|
|
VACUUM_FAN_SPEED_STRONG = "strong"
|
|
VACUUM_FAN_SPEED_MAX = "max"
|
|
|
|
AFTER_COMMAND_REFRESH = 5
|
|
COVER_ENTITY_AFTER_COMMAND_REFRESH = 10
|
|
|
|
HUMIDITY_LEVELS = {
|
|
34: 101, # Low humidity mode
|
|
67: 102, # Medium humidity mode
|
|
100: 103, # High humidity mode
|
|
}
|
|
|
|
|
|
class AirPurifierMode(Enum):
|
|
"""Air Purifier Modes."""
|
|
|
|
NORMAL = 1
|
|
AUTO = 2
|
|
SLEEP = 3
|
|
PET = 4
|
|
|
|
@classmethod
|
|
def get_modes(cls) -> list[str]:
|
|
"""Return a list of available air purifier modes as lowercase strings."""
|
|
return [mode.name.lower() for mode in cls]
|
|
|
|
|
|
class Humidifier2Mode(Enum):
|
|
"""Enumerates the available modes for a SwitchBot humidifier2."""
|
|
|
|
HIGH = 1
|
|
MEDIUM = 2
|
|
LOW = 3
|
|
QUIET = 4
|
|
TARGET_HUMIDITY = 5
|
|
SLEEP = 6
|
|
AUTO = 7
|
|
DRYING_FILTER = 8
|
|
|
|
@classmethod
|
|
def get_modes(cls) -> list[str]:
|
|
"""Return a list of available humidifier2 modes as lowercase strings."""
|
|
return [mode.name.lower() for mode in cls]
|