按钮

按钮 entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 是一个可以触发 event每当 Home Assistant 中发生某些事情时,都会触发一个事件。有不同类型的事件,例如状态更改事件、动作触发事件或时间更改事件。所有实体都会产生状态更改事件。每当状态更改时,都会产生状态更改事件。事件可用于触发自动化或脚本。例如,您可以在灯打开时触发自动化,然后在该房间中打开扬声器。事件还可用于触发前端的动作。例如,您可以在按下按钮时触发动作。 [Learn more] / 启动 action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列 [Learn more] 的实体, 作用于 device设备是表示包含实体的物理或逻辑单元的模型。serviceHome Assistant 中的“服务”一词是以信息服务的意义使用的。例如,提供有机物、纸张和包装废物实体的市政废物管理服务。在功能方面,信息服务类似于设备。它被称为服务以避免混淆,因为它不附带硬件。,但从 Home Assistant 的角度来看,它是无状态的。

它可以与一个真实的瞬时开关、按钮或其他形式的无状态开关进行比较。

Note

构建模块集成

这个 按钮 是一个构建模块集成,无法直接添加到你的 Home Assistant 中,但可以被其他集成使用和提供。

构建模块集成不同于典型的与设备或服务连接的集成。相反,其他将设备或服务集成到 Home Assistant 中的集成使用这个 按钮 构建模块来提供实体、服务和其他你可以在自动化或仪表板中使用的功能。

如果你的某个集成具有这个构建模块,这个页面记录了 按钮 构建模块所提供的功能。

按钮的状态

按钮 entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 是无状态的,意思是它不能像普通开关实体那样具有 onoff 状态。

按钮的状态是一个时间戳,显示按钮在 Home Assistant UI 中或通过操作最后一次被按下的日期和时间。

显示开发者工具中按钮实体状态的屏幕截图 显示开发者工具中按钮实体状态的屏幕截图。

此外,实体可以具有以下状态:

  • 不可用: 实体当前不可用。
  • 未知: 状态尚不可知。

由于 Home Assistant 中按钮实体的 state状态保存实体的感兴趣信息,例如灯是开还是关。每个实体只有一个状态,并且状态一次只保存一个值。但是,实体可以存储与该状态相关的属性,例如亮度、颜色或测量单位。 [Learn more] 是一个时间戳,这意味着我们可以在自动化中使用它。例如:

triggers:
  - trigger: state
    entity_id: button.my_button
actions:
  - action: notify.frenck
    data:
      message: "我的按钮已被按下!"

动作

按钮实体公开了一个 action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列 [Learn more]: button.press

可以调用此操作来触发该实体的按钮按下事件。

- action: button.press
  target:
    entity_id: button.my_button

设备类别

设备类别是 Home Assistant 中的一种测量分类。它影响实体在 仪表板 中的表示方式。这可以在 自定义部分 中进行修改。例如,不同的状态可能会用不同的图标、颜色或文本来表示。

屏幕截图显示了不同的图标,代表不同的按钮设备类别:

设备类别图标的示例。

以下设备类别支持按钮:

  • : 通用按钮。这是默认值,不需要设置。
  • 识别: 按钮用于识别设备。
  • 重启: 按钮重启设备。
  • 更新: 按钮更新设备的软件。