1 """Constants for the ScreenLogic integration."""
3 from screenlogicpy.const.common
import UNIT
4 from screenlogicpy.device_const.circuit
import FUNCTION
5 from screenlogicpy.device_const.system
import COLOR_MODE
8 CONCENTRATION_PARTS_PER_MILLION,
10 REVOLUTIONS_PER_MINUTE,
11 UnitOfElectricPotential,
18 type ScreenLogicDataPath = tuple[str | int, ...]
20 DOMAIN =
"screenlogic"
21 DEFAULT_SCAN_INTERVAL = 30
22 MIN_SCAN_INTERVAL = 10
24 ATTR_CONFIG_ENTRY =
"config_entry"
26 SERVICE_SET_COLOR_MODE =
"set_color_mode"
27 ATTR_COLOR_MODE =
"color_mode"
28 SUPPORTED_COLOR_MODES = {
slugify(cm.name): cm.value
for cm
in COLOR_MODE}
30 SERVICE_START_SUPER_CHLORINATION =
"start_super_chlorination"
31 ATTR_RUNTIME =
"runtime"
35 SERVICE_STOP_SUPER_CHLORINATION =
"stop_super_chlorination"
37 LIGHT_CIRCUIT_FUNCTIONS = {
40 FUNCTION.INTELLIBRITE,
48 SL_UNIT_TO_HA_UNIT = {
49 UNIT.CELSIUS: UnitOfTemperature.CELSIUS,
50 UNIT.FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
51 UNIT.MILLIVOLT: UnitOfElectricPotential.MILLIVOLT,
52 UNIT.WATT: UnitOfPower.WATT,
53 UNIT.HOUR: UnitOfTime.HOURS,
54 UNIT.SECOND: UnitOfTime.SECONDS,
55 UNIT.REVOLUTIONS_PER_MINUTE: REVOLUTIONS_PER_MINUTE,
56 UNIT.PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
57 UNIT.PERCENT: PERCENTAGE,