触发器(trigger)

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

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

  19. seconds: 00

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

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

  1. automation:
  2. trigger:
  3. platform: homeassistant
  4. # event的另一个可选值是'shutdown'
  5. event: start

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

  1. automation:
  2. trigger:
  3. platform: state
  4. entity_id: device_tracker.paulus, device_tracker.anne_therese
  5. # 可选,代表状态变化前的值
  6. from: 'not_home'
  7. # 可选,代表状态变化后的值
  8. to: 'home'

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

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

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

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

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

  1. automation:
  2. trigger:
  3. platform: mqtt
  4. topic: living_room/switch/ac
  5. # 可选。表示当在“living_room/switch/ac”上收到“on”时触发;如果不设置这行,那么在这个主题上收到任何消息都触发。
  6. 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') }}

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

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

  1. automation:
  2. trigger:
  3. platform: zone
  4. entity_id: device_tracker.paulus
  5. zone: zone.home
  6. # event的可选值是enter和leave,代表进入和离开
  7. event: enter

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

  1. automation:
  2. trigger:
  3. # 第一个触发器
  4. - platform: time
  5. minutes: 5
  6. seconds: 00
  7. # 第二个触发器
  8. - platform: sun
  9. 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. 不创建实体对象,利用newstonjson得到json格式字符串,键对应的值

    1.Json字符串嵌套格式解析 string jsonText = "{\"beijing\":{\"zone\":\"海淀\", ...

  2. linux 下 ifcfg-ethx配置和解析

    网络接口配置文件[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0# Intel Corporation 82545EM ...

  3. K8S 部署 ingress-nginx (一) 原理及搭建

    Kubernetes 暴露服务的有三种方式,分别为 LoadBlancer Service.NodePort Service.Ingress.官网对 Ingress 的定义为管理对外服务到集群内服务之 ...

  4. VUE 利用webpack 给生产环境和发布环境配置不同的接口地址

    第一步,分别设置不同的接口地址 首先,我们分别找到下面的文件: /config/dev.env.js /config/prod.env.js 其实,这两个文件就是针对生产环境和发布环境设置不同参数的文 ...

  5. pycharm最新code码,分享给大家

    最新的pycharm激活码,到明年11月份,一名努力的Python程序员 这俩天,在忙学校布置的小项目,给大家更新少了,我会慢慢补上的,努力学pycharm,有什么问题可以问我哦,我竭尽所能帮大家解答 ...

  6. GIS开发之计算四参数,七参数

    一.四参数 想要通过控制点计算四参数,首先需要知道四参数的相关原理,推荐这篇文章: http://www.docin.com/p-1197326043.html 根据上面的计算公式,使用最小二乘法计算 ...

  7. Jenkins Jenkins结合GIT Maven持续集成环境配置

    Jenkins结合GIT Maven持续集成环境配置   by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...

  8. Python高级特性:切片

    切片的目的是实现取一个list或tuple的部分元素 学习自廖雪峰,个人理解如下: 取列表L的前三个元素 >>> L = ['Michael', 'Sarah', 'Tracy', ...

  9. 小程序实践(六):view内部组件排版

    涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1.默认排版 , 一个父组件里面两个子view 显示效果: 2.先给父view设置一个高度和颜色值,用于看效果 3.实现水平排列和垂直排列的 ...

  10. git 入门教程之变基合并

    git 鼓励大量使用分支---"早建分支!多用分支!",这是因为即便创建再多的分支也不会造成存储或内存开销,并且分支的作用有助于我们分解逻辑工作,这样一样其实比维护单一臃肿分支要简 ...