Skip to main content

警报控制面板实体

警报控制面板实体控制一个警报。 从 homeassistant.components.alarm_control_panel.AlarmControlPanelEntity 派生平台实体。

属性

tip

属性应始终只返回来自内存的信息,而不进行 I/O(如网络请求)。 实现 update()async_update() 来获取数据。

名称类型默认值描述
alarm_stateAlarmControlPanelState | None必需states 中列出的警报值之一。
code_arm_requiredboolTrue是否需要代码进行臂膀操作。
code_formatCodeFormat | NoneNone代码格式 部分列出的状态之一。
changed_bystr | NoneNone最后触发的变更。

状态

设置状态应返回 alarm_state 属性中的 AlarmControlPanelState 的枚举值。

描述
DISARMED警报已解除(off)。
ARMED_HOME警报处于家庭模式。
ARMED_AWAY警报处于离开模式。
ARMED_NIGHT警报处于夜间模式。
ARMED_VACATION警报处于假期模式。
ARMED_CUSTOM_BYPASS警报处于旁路模式。
PENDING警报待定(指向 triggered)。
ARMING正在设置警报。
DISARMING正在解除警报。
TRIGGERED警报已触发。

支持的功能

支持的功能通过使用 AlarmControlPanelEntityFeature 枚举中的值定义,并通过按位或(|)运算符组合。

常量描述
AlarmControlPanelEntityFeature.ARM_AWAY警报支持在离开模式下设置。
AlarmControlPanelEntityFeature.ARM_CUSTOM_BYPASS警报支持进行旁路设置。
AlarmControlPanelEntityFeature.ARM_HOME警报支持在家庭模式下设置。
AlarmControlPanelEntityFeature.ARM_NIGHT警报支持在夜间模式下设置。
AlarmControlPanelEntityFeature.ARM_VACATION警报支持在假期模式下设置。
AlarmControlPanelEntityFeature.TRIGGER警报可以被远程触发。

代码格式

支持的代码格式通过使用 CodeFormat 枚举中的值定义。

描述
None无需代码。
CodeFormat.NUMBER代码为数字(在前端显示数字键盘)。
CodeFormat.TEXT代码为字符串。

方法

警报解除

发送解除警报命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_disarm(self, code: str | None = None) -> None:
"""发送解除警报命令。"""

async def async_alarm_disarm(self, code: str | None = None) -> None:
"""发送解除警报命令。"""

警报设在家

发送在家设置命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_arm_home(self, code: str | None = None) -> None:
"""发送在家设置命令。"""

async def async_alarm_arm_home(self, code: str | None = None) -> None:
"""发送在家设置命令。"""

警报设在外

发送在外设置命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_arm_away(self, code: str | None = None) -> None:
"""发送在外设置命令。"""

async def async_alarm_arm_away(self, code: str | None = None) -> None:
"""发送在外设置命令。"""

警报设在夜间

发送在夜间设置命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_arm_night(self, code: str | None = None) -> None:
"""发送在夜间设置命令。"""

async def async_alarm_arm_night(self, code: str | None = None) -> None:
"""发送在夜间设置命令。"""

警报设在假期

发送在假期设置命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_arm_vacation(self, code: str | None = None) -> None:
"""发送在假期设置命令。"""

async def async_alarm_arm_vacation(self, code: str | None = None) -> None:
"""发送在假期设置命令。"""

警报触发

发送警报触发命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_trigger(self, code: str | None = None) -> None:
"""发送警报触发命令。"""

async def async_alarm_trigger(self, code: str | None = None) -> None:
"""发送警报触发命令。"""

警报自定义旁路

发送臂膀自定义旁路命令。

class MyAlarm(AlarmControlPanelEntity):
# 实现这些方法之一。

def alarm_arm_custom_bypass(self, code: str | None = None) -> None:
"""发送臂膀自定义旁路命令。"""

async def async_alarm_arm_custom_bypass(self, code: str | None = None) -> None:
"""发送臂膀自定义旁路命令。"""