触发器(trigger)

时间(time)触发器
时间触发器在指定的时间触发规则,可以是某个时刻,也可以是某个指定的分钟(小时、秒),或者每隔多少时间。

automation 1:
trigger:
platform: time
# 在每个小时的05分钟触发,比如……9:05,10:05,11:05……
minutes: 5
seconds: 00 automation 2:
trigger:
platform: time
# 在每天的15:32:00触发
at: '15:32:00' automation 3:
trigger:
platform: time
# 当分钟数能被5整除时(也就是每隔5分钟)触发
minutes: '/5'

seconds: 00

事件(event)触发器
事件是HomeAssistant运行的核心机制。事件触发器根据事件类型和事件附加信息进行触发;当配置中未设置事件附加信息时,此类事件发生时,不管事件附加信息是什么,此规则都会被触发。

homeassistant触发器
homeassistant触发器由HomeAssistant的启动或关闭事件触发。

automation:
trigger:
platform: homeassistant
# event的另一个可选值是'shutdown'
event: start

状态(state)触发器
状态触发器在对应实体的状态发生改变时进行触发。如果仅有实体ID,没有“from”、“to”时,这个实体的任何状态变化,或者仅仅是某一属性变化,都会触发规则。

automation:
trigger:
platform: state
entity_id: device_tracker.paulus, device_tracker.anne_therese
# 可选,代表状态变化前的值
from: 'not_home'
# 可选,代表状态变化后的值
to: 'home'

数字状态(numeric_state)触发器
监测实体的状态或者某一属性(数字类型),当相应值从高变低(或者从低变高)越过某个阈值,触发规则。

automation:
trigger:
platform: numeric_state
entity_id: sensor.temperature
# 可选,当没有此配置时,判断的是实体的状态值。
# 此处使用了模板,对这个实体的battery属性进行判断。模板的使用,参见相关章节的介绍。
value_template: '{{ state.attributes.battery }}'
# 如果从低到高越过17,或者从高到低越过25。换句话说,就是从[17,25]之外的范围进入这个范围。
above: 17
below: 25

太阳(sun)触发器
根据太阳的升起或降落进行触发。触发时间是升起(降落)的当时,也可以是升起(降落)前或者后多少时间。

automation:
trigger:
platform: sun
# event的可选值是“sunset”和“sunrise”
event: sunset
# 可选,此处代表太阳下山前45分钟触发
offset: '-00:45:00'

MQTT触发器
在MQTT的broker上,当某一主题上发布了新的消息时触发。当不指定消息内容时,收到这个主题上的任何新的消息都会引起触发。

automation:
trigger:
platform: mqtt
topic: living_room/switch/ac
# 可选。表示当在“living_room/switch/ac”上收到“on”时触发;如果不设置这行,那么在这个主题上收到任何消息都触发。
payload: 'on'

模板(template)触发器
模板依据实体的状态或属性输出对应值,当输出值为“true”时触发规则。
模板样例一:判断实体device_tracker.paulus的状态是否为home
{{ is_state('device_tracker.paulus', 'home') }}
模板样例二:上个样例的另一种表达方式
{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}
模板样例三:判断实体climate.living_room的属性away_mode是否是off
{{ is_state_attr('climate.living_room', 'away_mode', 'off') }}

automation:
trigger:
platform: template
value_template: "{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}"

区域(zone)触发器
当device_tracker域中的实体进入或者离开某一个区域时,触发规则。

automation:
trigger:
platform: zone
entity_id: device_tracker.paulus
zone: zone.home
# event的可选值是enter和leave,代表进入和离开
event: enter

当并列多个触发器时,任何一个触发,规则触发。

automation:
trigger:
# 第一个触发器
- platform: time
minutes: 5
seconds: 00
# 第二个触发器
- platform: sun
event: sunset

Home Assistant-自动化设备的更多相关文章

  1. 进阶篇:4.4)DFA设计指南:面向高速自动化装配设计

    本章目标:更进一步,设计出符合高速自动化装配的零件. 1.前言 中国的人口红利时代正在慢慢地过去,这是事实.同时,机器换人与大自动化的时代也在到来. 在这个时代中,人工成本越来越高,零部件的装配和库存 ...

  2. PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案

    PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案 自动化立体仓库智能仓储系统WMS/WCS重要性调查 调查1(物流成本占总生产成本比例数据)1979年英国的第一次调查表明,在从原材料 ...

  3. .net全栈开发-c#面向对象与工控自动化分拣上位机

    一.前言 开始做了两年web.期间也整了一段时间winform.后来做了两年工控上位机,也就是做工控这两年发现机器跟面向对象真是如此贴切,也是我从处理数据和流程的思维转变为面向对象思维的开始.这对我后 ...

  4. 谷歌提高Google Assistant中Voice Match的准确性

    谷歌正在提高 Google Assistant 中 Voice Match 的准确性,使其变得更加完善.谷歌表示一旦用户在 Google Assistant 中启用 Voice Match 功能,那么 ...

  5. 什么是英特尔® Edison 模块?

    英特尔® Edison 模块 是一种 SD 卡大小的微型计算芯片,专为构建物联网 (IoT) 和可穿戴计算产品而设计. Edison 模块内含一个高速的双核处理单元.集成 Wi-Fi*.蓝牙* 低能耗 ...

  6. iOS homekit使用说明

    本文由CocoaChina翻译组成员iBenjamin_Go和浅夏@旧时光翻译自苹果开发文档:HomeKit Developer Guide,敬请勘误. 本文档内容包括 第一部分:简介 第二部分:启用 ...

  7. GERBER文件

    GERBER文件 GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并 要同时附带D码文件才能完整描述一张图 ...

  8. Python自动化测试(1)-自动化测试及基本技术手段概述

    生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在<参与感>一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司 ...

  9. 多平台下Modbus通信协议库的设计(一)

    1.背景 1.1.范围 MODBUS 是 OSI 模型第 7 层上的应用层报文传输协议, 它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信. 自从 1979 年出现工业串行链路的事实标准以 ...

  10. 全渠道后端 : RFID在仓储物流中的运用

    核心提示 沃尔玛的业务之所以能够迅速增长,并且成为现在非常著名的公司之一,是因为沃尔玛在节省成本以及在物流配送系统与供应链管理方面取得了巨大的成就. 最后为一个业务展望,从B端工厂提货 到C端交付的系 ...

随机推荐

  1. 枚举getClass、getDeclaringClass区别

    枚举getClass.getDeclaringClass区别 1):“不含抽象方法”,所有枚举常量未重写方法,的class getClass与getDeclaringClass方法输出结果相同 cla ...

  2. Git学习(一)

    版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制. 一.集中式版本控制系统 v.s ...

  3. nodeJs express mongodb 建站(linux 版)

    一.环境安装 1.安装node wget http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz //下载tar xvf node-v ...

  4. canvas-a13prototype.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. blfs(systemd版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/stable-syst ...

  6. K8S 通过 yaml 文件创建资源

    创建 pod cd ~ vi pod-demo.yaml # 内容如下 apiVersion: v1 kind: Pod metadata: name: pod-demo namespace: def ...

  7. layui 弹出框改变按钮颜色样式 自定义皮肤

    1.在layer下新建文件夹和css 文件: 2.123.css body .layui-ext-yourskin .layui-layer-btn0{ border-color: #55ff83; ...

  8. 10.Odoo产品分析 (二) – 商业板块(5) –日历(1)

    查看Odoo产品分析系列--目录 日历模板也可以理解为一个日历视图,在分析"销售"模块的日历视图时做过介绍.在这里做一下详细的介绍:  从页面上,它横向分为两个部分,左边的80%显 ...

  9. Python 一键上传下载&一键提交文件到SVN入基线工具

    一键上传下载&一键提交文件到SVN入基线工具   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用说明 1   注: 根据我司项目规则订制的一套工具,集成以下功能,源码 ...

  10. 本机mysql 5.7服务启动后停止,某些服务在未有其他应用程序使用时停止

    本机mysql 5.7服务启动后停止,某些服务在未有其他应用程序使用时停止 出现这种报错,mysql服务启动不了: 错误的尝试: 1:尝试了这个博客:https://blog.csdn.net/wai ...