developers.home-assistant/docs/core/entity/alarm-control-panel.md

5.0 KiB

title sidebar_label
Alarm control panel entity Alarm control panel

An alarm control panel entity controls an alarm. Derive a platform entity from homeassistant.components.alarm_control_panel.AlarmControlPanelEntity.

Properties

:::tip 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."""