Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants for the ScreenLogic integration."""
2 
3 from screenlogicpy.const.common import UNIT
4 from screenlogicpy.device_const.circuit import FUNCTION
5 from screenlogicpy.device_const.system import COLOR_MODE
6 
7 from homeassistant.const import (
8  CONCENTRATION_PARTS_PER_MILLION,
9  PERCENTAGE,
10  REVOLUTIONS_PER_MINUTE,
11  UnitOfElectricPotential,
12  UnitOfPower,
13  UnitOfTemperature,
14  UnitOfTime,
15 )
16 from homeassistant.util import slugify
17 
18 type ScreenLogicDataPath = tuple[str | int, ...]
19 
20 DOMAIN = "screenlogic"
21 DEFAULT_SCAN_INTERVAL = 30
22 MIN_SCAN_INTERVAL = 10
23 
24 ATTR_CONFIG_ENTRY = "config_entry"
25 
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}
29 
30 SERVICE_START_SUPER_CHLORINATION = "start_super_chlorination"
31 ATTR_RUNTIME = "runtime"
32 MAX_RUNTIME = 72
33 MIN_RUNTIME = 0
34 
35 SERVICE_STOP_SUPER_CHLORINATION = "stop_super_chlorination"
36 
37 LIGHT_CIRCUIT_FUNCTIONS = {
38  FUNCTION.COLOR_WHEEL,
39  FUNCTION.DIMMER,
40  FUNCTION.INTELLIBRITE,
41  FUNCTION.LIGHT,
42  FUNCTION.MAGICSTREAM,
43  FUNCTION.PHOTONGEN,
44  FUNCTION.SAL_LIGHT,
45  FUNCTION.SAM_LIGHT,
46 }
47 
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,
58 }