触发器(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. angular 过滤器(日期转换,时间转换,数据转换等)

    (function() { 'use strict'; /** * myApp Module * * Description */ angular.module('myApp') .filter('i ...

  2. C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误

    c#类的定义规范 字段与属性的比较: 字段: 字段主要是为类的内部做数据交换交互使用,字段一般是private 字段可以赋值,也可以取值 当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是 ...

  3. java读写properties工具代码

    package test612; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExc ...

  4. 小程序实践(五):for循环绑定item的点击事件

    微信展示列表效果借助于 wx:for  简单写一个列表(wxml文件中): 对应的数据源(js文件中): 写一个点击监听: 效果: 以上.可以实现列表的item点击效果,但是无法到点击的item对应的 ...

  5. <自动化测试方案_6>第六章、API自动化测试

    第六章.API自动化测试 (一)工具实现 目前大众接口测试的工具有:Postman.SoupUI.jmeter他们的特点介绍有人做个宏观的研究,这里进行引用:https://blog.csdn.net ...

  6. Testlink1.9.17使用方法(第八章 测试执行/报告BUG)

    第八章 测试执行/报告BUG QQ群交流:585499566 把他们放到一起,是因为报告bug是在执行的过程中同步进行的——即执行用例的过程中一旦发现bug我们需要立即把其报告到我们的bug管理系统r ...

  7. 【Spring源码解读】bean标签中的属性

    说明 今天在阅读Spring源码的时候,发现在加载xml中的bean时,解析了很多标签,其中有常用的如:scope.autowire.lazy-init.init-method.destroy-met ...

  8. oracle11在docker环境下的运行

    目的 Ø 在测试的环境下oracle数据库不存在或访问不方便时,可以将这个环境快速恢复出来 Ø 开发时方便测试之用 可以在任何包含docker服务的机器上运行,具体的docker的安装可以参考如下: ...

  9. 没有服务商如何购买ERP的序列号?

    一.试用期(未过期) 站点版购买: 门店版购买: 二.试用期(使用时间<=15天) 三.试用期(已过期) 登录时会弹出以下弹窗 剩下的购买步骤与未过期时购买步骤一致 四.续费 剩下步骤与未过期时 ...

  10. Java常考面试题(经典)

    什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计 ...