52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
"""Provides the constants needed for component."""
|
|
|
|
from enum import IntFlag, StrEnum
|
|
from typing import Final
|
|
|
|
DOMAIN: Final = "alarm_control_panel"
|
|
|
|
ATTR_CHANGED_BY: Final = "changed_by"
|
|
ATTR_CODE_ARM_REQUIRED: Final = "code_arm_required"
|
|
|
|
|
|
class AlarmControlPanelState(StrEnum):
|
|
"""Alarm control panel entity states."""
|
|
|
|
DISARMED = "disarmed"
|
|
ARMED_HOME = "armed_home"
|
|
ARMED_AWAY = "armed_away"
|
|
ARMED_NIGHT = "armed_night"
|
|
ARMED_VACATION = "armed_vacation"
|
|
ARMED_CUSTOM_BYPASS = "armed_custom_bypass"
|
|
PENDING = "pending"
|
|
ARMING = "arming"
|
|
DISARMING = "disarming"
|
|
TRIGGERED = "triggered"
|
|
|
|
|
|
class CodeFormat(StrEnum):
|
|
"""Code formats for the Alarm Control Panel."""
|
|
|
|
TEXT = "text"
|
|
NUMBER = "number"
|
|
|
|
|
|
class AlarmControlPanelEntityFeature(IntFlag):
|
|
"""Supported features of the alarm control panel entity."""
|
|
|
|
ARM_HOME = 1
|
|
ARM_AWAY = 2
|
|
ARM_NIGHT = 4
|
|
TRIGGER = 8
|
|
ARM_CUSTOM_BYPASS = 16
|
|
ARM_VACATION = 32
|
|
|
|
|
|
CONDITION_TRIGGERED: Final = "is_triggered"
|
|
CONDITION_DISARMED: Final = "is_disarmed"
|
|
CONDITION_ARMED_HOME: Final = "is_armed_home"
|
|
CONDITION_ARMED_AWAY: Final = "is_armed_away"
|
|
CONDITION_ARMED_NIGHT: Final = "is_armed_night"
|
|
CONDITION_ARMED_VACATION: Final = "is_armed_vacation"
|
|
CONDITION_ARMED_CUSTOM_BYPASS: Final = "is_armed_custom_bypass"
|