前言
通过玩转智能家居系列的前几篇文章,相信对HomeAssistant的强大有一个深刻的理解。虽然在HomeAssistant中集成了很多的实体,但是并没有把它们连接起来
接下来就来介绍下如何编写HomeAssistant的自动化,把它们连接起来,如果使用过米家的自动化,那么可以理解为是它的Pro版,如果没有任何自动化的概念,没关系,手摸手教你!
自动化
打开HomeAssistant,在 配置->自动化与场景->创建自动化 新建一个 新的自动化 ,从界面上可以发现自动化是由 触发条件 、 环境条件 、 动作 三个部分组成的
触发条件
触发条件定义了 何时启动自动化 。点击 添加触发条件 按钮可以看到HomeAssistant提供了大量的触发条件,包括设备、地点、时间、日历、状态等等
以下是常用的触发条件 - 设备 :基于设备的状态改变,例如当门窗传感器检测到门窗开启时进行触发 - 日出/日落 :根据实际的日出和日落时间进行触发。例如在日落时自动开启户外灯光 - 时间 :在设定的特定时间进行触发。你可以设定具体的小时和分钟,例如每天的早上7点进行触发 - 状态 :当实体的状态改变时触发,例如当温度传感器检测到温度超过设定值时触发 - 区域 :在设备进入或离开一个设定的区域范围时进行触发。例如,根据手机的GPS定位,当你离开或者进入家的区域时进行触发 - 时间模式 :这种触发器在一天中的特定模式匹配时触发。这和具体的时间点(如上午7:30)触发不同。例如,你可以设置每隔5分钟触发
接下来演示 以温湿度记的温度 作为触发条件。创建完空白自动化后, 点击触发条件 按钮在下拉菜单中选择 状态 ,这里的状态是指 实体的状态 ,所以第一步需要填入触发的实体
如果家里的设备比较多,就很难找到自己想要的实体,最直观的方式就是在 配置->设备与服务 ,找到实体接入的集成,点击集成下的设备,可以方便看到当前设备下的所有实体
点击需要的实体,在打开的详情卡片中再点击右上角的齿轮
可以看到名称、图标、显示精度等配置,复制实体ID就可以粘贴到前面触发条件的 实体输入框 中
为了后面能快速找到实体,可以在 名称 输入框中对实体重命名(实体ID并不会改变)
以后都可以在 选择实体输入框 中直接输入 名称 进行选择
选择好实体后, 第二步需要选择实体下的触发 属性 ,属性往往有多个(找到属性下的 值 ,才能作为触发条件),很多时候并不知道选哪个,所以也要打开实体卡片进行查看
在设备中,打开实体详情后发现Temperature-2-1是需要的温度值(可以网页打开多个HomeAssisant方便查看)
如下图,最终的触发条件就是,当温度从 任意 变为 20 就触发
如果需要多个触发条件,可以点击 添加触发条件 按钮添加多个条件
后记
其他的触发条件可以根据自己的实际情况编写,比较难以理解的触发条件也可以参考https://www.home-assistant.io/docs/automation/trigger/官方文档进行设置。至于自动化后面的两个概念 环境条件 和 动作 ,我们后面再讲