理解自动化

所有的 automationsHome Assistant 中的自动化允许您自动响应在家中和周围发生的事情。 [Learn more] 由一个 trigger触发器是定义的一组平台值或条件,用于触发自动化运行。 [Learn more] 和一个 action动作在 Home Assistant 的多个地方使用。作为脚本或自动化的一部分,动作定义了触发器被激活后将发生的事情。在脚本中,动作被称为序列 [Learn more] 组成。可以选择性地与一个 condition条件是自动化的可选部分,如果不满足条件,将阻止动作触发。 [Learn more] 结合。例如,考虑这个自动化:

当保罗到家时并且太阳已经落下:在客厅开灯。

我们可以将这个自动化分解为以下三个部分:

(trigger)    当保罗到家
(condition)  并且太阳已经落下:
(action)     在客厅开灯

第一部分是自动化规则的 trigger。触发器描述了应该触发自动化规则的 events每当 Home Assistant 中发生某些事情时,都会触发一个事件。有不同类型的事件,例如状态更改事件、动作触发事件或时间更改事件。所有实体都会产生状态更改事件。每当状态更改时,都会产生状态更改事件。事件可用于触发自动化或脚本。例如,您可以在灯打开时触发自动化,然后在该房间中打开扬声器。事件还可用于触发前端的动作。例如,您可以在按下按钮时触发动作。 [Learn more]。在这种情况下,是一个人到家,这可以通过观察保罗的状态从 not_home 变为 home 在 Home Assistant 中被观察到,使用 devices设备是表示包含实体的物理或逻辑单元的模型。/sensors传感器返回有关事物的信息,例如水箱中的水位。 [Learn more]

第二部分是 condition。条件是可选的测试,可以限制自动化规则仅在特定用例中工作。条件将根据系统的当前状态进行测试。这包括当前时间、设备、人员和其他事物,如太阳。在这种情况下,我们只希望在太阳落下时采取行动。

第三部分是 action,当规则被触发且所有条件都满足时将执行该动作。例如,它可以打开灯、设置恒温器上的温度或激活场景。

Note

条件和触发器之间的区别可能会令人困惑,因为它们非常相似。触发器关注的是动作,而条件关注的是当前状态:打开灯与灯亮着。

探索内部状态

自动化规则直接与 Home Assistant 的内部状态交互,因此你需要熟悉它。Home Assistant 通过开发者工具公开其当前状态。这些工具在前端的侧边栏底部可用。开发者工具 > 状态 将显示所有当前可用的状态。一个实体可以是任何东西。灯、开关、人员甚至是太阳。状态由以下部分组成:

名称 描述 示例
实体 ID 实体的唯一标识符。 light.kitchen
状态 设备的当前状态。 home
属性 相关于设备和/或当前状态的额外数据。 brightness

状态变化可以用作触发器的来源,当前状态可以在条件中使用。

要探索可用的 actions,打开 开发者工具 > 动作Actions 允许更改任何内容。例如,打开灯、运行脚本或启用场景。每个 action 有一个域和一个名称。例如,action light.turn_on 能够打开系统中的任何灯。可以向 action 传递参数以指示,例如,哪种设备需要激活或使用哪种颜色。

创建自动化

现在你已经对可能性有了初步了解,是时候动手创建你的第一个自动化了。

使用自动化编辑器 »