mirror of https://github.com/home-assistant/core
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
"""Constants for the ScreenLogic integration."""
|
|
|
|
from screenlogicpy.const.common import UNIT
|
|
from screenlogicpy.device_const.circuit import FUNCTION
|
|
from screenlogicpy.device_const.system import COLOR_MODE
|
|
|
|
from homeassistant.const import (
|
|
CONCENTRATION_PARTS_PER_MILLION,
|
|
PERCENTAGE,
|
|
REVOLUTIONS_PER_MINUTE,
|
|
UnitOfElectricPotential,
|
|
UnitOfPower,
|
|
UnitOfTemperature,
|
|
UnitOfTime,
|
|
)
|
|
from homeassistant.util import slugify
|
|
|
|
type ScreenLogicDataPath = tuple[str | int, ...]
|
|
|
|
DOMAIN = "screenlogic"
|
|
DEFAULT_SCAN_INTERVAL = 30
|
|
MIN_SCAN_INTERVAL = 10
|
|
|
|
ATTR_CONFIG_ENTRY = "config_entry"
|
|
|
|
SERVICE_SET_COLOR_MODE = "set_color_mode"
|
|
ATTR_COLOR_MODE = "color_mode"
|
|
SUPPORTED_COLOR_MODES = {slugify(cm.name): cm.value for cm in COLOR_MODE}
|
|
|
|
SERVICE_START_SUPER_CHLORINATION = "start_super_chlorination"
|
|
ATTR_RUNTIME = "runtime"
|
|
MAX_RUNTIME = 72
|
|
MIN_RUNTIME = 0
|
|
|
|
SERVICE_STOP_SUPER_CHLORINATION = "stop_super_chlorination"
|
|
|
|
LIGHT_CIRCUIT_FUNCTIONS = {
|
|
FUNCTION.COLOR_WHEEL,
|
|
FUNCTION.DIMMER,
|
|
FUNCTION.INTELLIBRITE,
|
|
FUNCTION.LIGHT,
|
|
FUNCTION.MAGICSTREAM,
|
|
FUNCTION.PHOTONGEN,
|
|
FUNCTION.SAL_LIGHT,
|
|
FUNCTION.SAM_LIGHT,
|
|
}
|
|
|
|
SL_UNIT_TO_HA_UNIT = {
|
|
UNIT.CELSIUS: UnitOfTemperature.CELSIUS,
|
|
UNIT.FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
|
|
UNIT.MILLIVOLT: UnitOfElectricPotential.MILLIVOLT,
|
|
UNIT.WATT: UnitOfPower.WATT,
|
|
UNIT.HOUR: UnitOfTime.HOURS,
|
|
UNIT.SECOND: UnitOfTime.SECONDS,
|
|
UNIT.REVOLUTIONS_PER_MINUTE: REVOLUTIONS_PER_MINUTE,
|
|
UNIT.PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
|
|
UNIT.PERCENT: PERCENTAGE,
|
|
}
|