Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants for the siren component."""
2 
3 from enum import IntFlag
4 from functools import partial
5 from typing import Final
6 
8  DeprecatedConstantEnum,
9  all_with_deprecated_constants,
10  check_if_deprecated_constant,
11  dir_with_deprecated_constants,
12 )
13 
14 DOMAIN: Final = "siren"
15 
16 ATTR_TONE: Final = "tone"
17 
18 ATTR_AVAILABLE_TONES: Final = "available_tones"
19 ATTR_DURATION: Final = "duration"
20 ATTR_VOLUME_LEVEL: Final = "volume_level"
21 
22 
23 class SirenEntityFeature(IntFlag):
24  """Supported features of the siren entity."""
25 
26  TURN_ON = 1
27  TURN_OFF = 2
28  TONES = 4
29  VOLUME_SET = 8
30  DURATION = 16
31 
32 
33 # These constants are deprecated as of Home Assistant 2022.5
34 # Please use the SirenEntityFeature enum instead.
35 _DEPRECATED_SUPPORT_TURN_ON: Final = DeprecatedConstantEnum(
36  SirenEntityFeature.TURN_ON, "2025.1"
37 )
38 _DEPRECATED_SUPPORT_TURN_OFF: Final = DeprecatedConstantEnum(
39  SirenEntityFeature.TURN_OFF, "2025.1"
40 )
41 _DEPRECATED_SUPPORT_TONES: Final = DeprecatedConstantEnum(
42  SirenEntityFeature.TONES, "2025.1"
43 )
44 _DEPRECATED_SUPPORT_VOLUME_SET: Final = DeprecatedConstantEnum(
45  SirenEntityFeature.VOLUME_SET, "2025.1"
46 )
47 _DEPRECATED_SUPPORT_DURATION: Final = DeprecatedConstantEnum(
48  SirenEntityFeature.DURATION, "2025.1"
49 )
50 
51 # These can be removed if no deprecated constant are in this module anymore
52 __getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
53 __dir__ = partial(
54  dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
55 )
56 __all__ = all_with_deprecated_constants(globals())
list[str] all_with_deprecated_constants(dict[str, Any] module_globals)
Definition: deprecation.py:356