Alarm control panel entity
An alarm control panel entity controls an alarm. Derive a platform entity from homeassistant.components.alarm_control_panel.AlarmControlPanelEntity
.
Properties
Properties should always only return information from memory and not do I/O (like network requests). Implement update()
or async_update()
to fetch data.
Name | Type | Default | Description |
---|---|---|---|
alarm_state | AlarmControlPanelState | None | Required | One of the alarm values listed in the states. |
code_arm_required | bool | True | Whether the code is required for arm actions. |
code_format | CodeFormat | None | None | One of the states listed in the code formats section. |
changed_by | str | None | None | Last change triggered by. |
States
Setting the state should return an enum from AlarmControlPanelState
in the alarm_state
property.
Value | Description |
---|---|
DISARMED | The alarm is disarmed (off ). |
ARMED_HOME | The alarm is armed in home mode. |
ARMED_AWAY | The alarm is armed in away mode. |
ARMED_NIGHT | The alarm is armed in night mode. |
ARMED_VACATION | The alarm is armed in vacation mode. |
ARMED_CUSTOM_BYPASS | The alarm is armed in bypass mode. |
PENDING | The alarm is pending (towards triggered ). |
ARMING | The alarm is arming. |
DISARMING | The alarm is disarming. |
TRIGGERED | The alarm is triggered. |
Supported features
Supported features are defined by using values in the AlarmControlPanelEntityFeature
enum
and are combined using the bitwise or (|
) operator.
Constant | Description |
---|---|
AlarmControlPanelEntityFeature.ARM_AWAY | The alarm supports arming in away mode. |
AlarmControlPanelEntityFeature.ARM_CUSTOM_BYPASS | The alarm supports arming with a bypass. |
AlarmControlPanelEntityFeature.ARM_HOME | The alarm supports arming in home mode. |
AlarmControlPanelEntityFeature.ARM_NIGHT | The alarm supports arming in night mode. |
AlarmControlPanelEntityFeature.ARM_VACATION | The alarm supports arming in vacation mode. |
AlarmControlPanelEntityFeature.TRIGGER | The alarm can be triggered remotely. |
Code formats
Supported code formats are defined by using values in the CodeFormat
enum.
Value | Description |
---|---|
None | No code required. |
CodeFormat.NUMBER | Code is a number (Shows ten-key pad on frontend). |
CodeFormat.TEXT | Code is a string. |
Methods
Alarm Disarm
Send disarm command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_disarm(self, code=None) -> None:
"""Send disarm command."""
async def async_alarm_disarm(self, code=None) -> None:
"""Send disarm command."""
Alarm arm home
Send arm home command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_arm_home(self, code=None) -> None:
"""Send arm home command."""
async def async_alarm_arm_home(self, code=None) -> None:
"""Send arm home command."""
Alarm arm away
Send arm away command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_arm_away(self, code=None) -> None:
"""Send arm away command."""
async def async_alarm_arm_away(self, code=None) -> None:
"""Send arm away command."""
Alarm arm night
Send arm night command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_arm_night(self, code=None) -> None:
"""Send arm night command."""
async def async_alarm_arm_night(self, code=None) -> None:
"""Send arm night command."""
Alarm arm vacation
Send arm vacation command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_arm_vacation(self, code=None) -> None:
"""Send arm vacation command."""
async def async_alarm_arm_vacation(self, code=None) -> None:
"""Send arm vacation command."""
Alarm trigger
Send alarm trigger command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_trigger(self, code=None) -> None:
"""Send alarm trigger command."""
async def async_alarm_trigger(self, code=None) -> None:
"""Send alarm trigger command."""
Alarm custom bypass
Send arm custom bypass command.
class MyAlarm(AlarmControlPanelEntity):
# Implement one of these methods.
def alarm_arm_custom_bypass(self, code=None) -> None:
"""Send arm custom bypass command."""
async def async_alarm_arm_custom_bypass(self, code=None) -> None:
"""Send arm custom bypass command."""