Home Assistant-自动化设备
触发器(trigger)
条件(condition)
动作(action)
自动化中的模板(template)
触发器(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-自动化设备的更多相关文章
- 进阶篇:4.4)DFA设计指南:面向高速自动化装配设计
本章目标:更进一步,设计出符合高速自动化装配的零件. 1.前言 中国的人口红利时代正在慢慢地过去,这是事实.同时,机器换人与大自动化的时代也在到来. 在这个时代中,人工成本越来越高,零部件的装配和库存 ...
- PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案
PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案 自动化立体仓库智能仓储系统WMS/WCS重要性调查 调查1(物流成本占总生产成本比例数据)1979年英国的第一次调查表明,在从原材料 ...
- .net全栈开发-c#面向对象与工控自动化分拣上位机
一.前言 开始做了两年web.期间也整了一段时间winform.后来做了两年工控上位机,也就是做工控这两年发现机器跟面向对象真是如此贴切,也是我从处理数据和流程的思维转变为面向对象思维的开始.这对我后 ...
- 谷歌提高Google Assistant中Voice Match的准确性
谷歌正在提高 Google Assistant 中 Voice Match 的准确性,使其变得更加完善.谷歌表示一旦用户在 Google Assistant 中启用 Voice Match 功能,那么 ...
- 什么是英特尔® Edison 模块?
英特尔® Edison 模块 是一种 SD 卡大小的微型计算芯片,专为构建物联网 (IoT) 和可穿戴计算产品而设计. Edison 模块内含一个高速的双核处理单元.集成 Wi-Fi*.蓝牙* 低能耗 ...
- iOS homekit使用说明
本文由CocoaChina翻译组成员iBenjamin_Go和浅夏@旧时光翻译自苹果开发文档:HomeKit Developer Guide,敬请勘误. 本文档内容包括 第一部分:简介 第二部分:启用 ...
- GERBER文件
GERBER文件 GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并 要同时附带D码文件才能完整描述一张图 ...
- Python自动化测试(1)-自动化测试及基本技术手段概述
生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在<参与感>一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司 ...
- 多平台下Modbus通信协议库的设计(一)
1.背景 1.1.范围 MODBUS 是 OSI 模型第 7 层上的应用层报文传输协议, 它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信. 自从 1979 年出现工业串行链路的事实标准以 ...
- 全渠道后端 : RFID在仓储物流中的运用
核心提示 沃尔玛的业务之所以能够迅速增长,并且成为现在非常著名的公司之一,是因为沃尔玛在节省成本以及在物流配送系统与供应链管理方面取得了巨大的成就. 最后为一个业务展望,从B端工厂提货 到C端交付的系 ...
随机推荐
- 8;XHTML 框架
1.多窗框的基本结构 2.嵌套多窗体设置 3.多框架与超链接 4.悬浮窗体的设置 浏览器视窗本身就是一个框架,网页就是显示在该单 一的框架内,本章将介绍另一种网页呈现的方式,那就是可将原先单一的框架分 ...
- select&epoll
内核空间和用户空间 现在操作系统都是采用虚拟存储器,那么对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方).也就是说一个进程的最大地址空间为 4G.操作系 ...
- 洛谷P4588 [TJOI2018]数学计算(线段树)
题意 题目链接 Sol TJOI怎么全是板子题 对时间开个线段树,然后就随便做了.... #include<bits/stdc++.h> using namespace std; cons ...
- How To Do Master Record Mass Maintenance
How To Do Master Record Mass Maintenance Which master records mass maintenance can be done? What do ...
- 一句SQL完成动态分级查询
在最近的活字格项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式 ...
- Implemented the “Importance Sampling of Reflections from Hair Fibers”
Just the indirect specular pass by importance sampling. With all layers. Manually traced by 3D Ham ...
- Android 逆向实战篇(加密数据包破解)
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...
- git 入门教程之知识速查
知识速查 创建版本库 初始化项目 git init 从零开始创建项目 示例 git init 克隆项目 git clone 将已有项目拷贝到本地 示例 git clone git@github.com ...
- 2步安装1个hive docker运行环境[centos7]
1 构建基础容器 基于centos环境docker环境快速搭建,执行步骤 docker build -t cenosbase7 . 执行此步骤就可以构建1个基础的centos基础运行环境 相关的文件如 ...
- c# 建立到数据源的连接 以及获取项目配置文件的属性
两种连接数据库的写法: <connectionStrings> <add name="HRModelsContainer" connectionString=&q ...