二十三 Home Assistant 实体-按钮

按钮实体

按钮实体是一种可以向设备或服务触发事件/操作,但从Home Assistant的角度来看是无状态的实体。它可以类比为一个真实的瞬时开关、按钮或其他形式的无状态开关。然而,它并不适合用于实现实际的物理按钮;按钮实体的唯一目的是在Home Assistant内部提供一个虚拟按钮。

一个开关按钮实体派生自 homeassistant.components.button.ButtonEntity,可用于控制设备功能,例如(但不限于):

  • 升级固件
  • 重启设备
  • 冲泡一杯咖啡
  • 重置某些内容(如计数器、过滤器使用情况)

如果你想表示可以打开和关闭的东西(因此具有实际状态),则应该使用开关实体。如果你想在Home Assistant中集成一个真实的、物理的、无状态的按钮设备,可以通过触发自定义事件来实现。实体按钮实体不适用于这些情况。

属性

由于此集成是无状态的,它不为自身提供任何特定属性。其他所有实体共有的属性,如 device_classiconname 等仍然适用。

方法

按下

press 方法可用于向设备或服务触发一个动作。当用户按下按钮或调用按下按钮的服务时,Home Assistant会调用此方法。

class MyButton(ButtonEntity):
    # 实现以下方法之一
    def press(self) -> None:
        """处理按钮按下。"""

    async def async_press(self) -> None:
        """处理按钮按下。"""

可用设备类别

可选地指定它是哪种类型的实体。它可能会映射到谷歌设备类型。

常量描述
ButtonDeviceClass.IDENTIFY按钮实体用于识别设备。
ButtonDeviceClass.RESTART按钮实体用于重启设备。
ButtonDeviceClass.UPDATE按钮实体用于更新设备的软件。应避免使用此设备类别,请考虑使用更新实体代替。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值