Home Assistant 设备接入 & 自动化

1,724 阅读4分钟

接入小米温湿度计2

参考: blog.csdn.net/weixin_4496… www.home-assistant.io/integration…

获取MAC地址

MAC地址是网卡厂商决定的,不会变,所以可以先接入米家查看MAC地址,同一时间只能轮询一个BLE设备

编辑configuration.yaml

每个选项有点fuzz的意思 timeout integer (optional, default: 10) Define the timeout value in seconds when polling. Define the number of retries when polling. polling发生在什么时候

sensor:
  - platform: mitemp_bt
    mac: "xx:xx:xx:xx:xx:xx"#A4:C1:38:B4:C3:85
    name: Kids Room Temp #HA中的名称
    force_update: true
    median: 1 #峰值问题
    monitored_conditions:
      - temperature
      - humidity
      - battery

添加Integration

坑:官方Integration里Mijia BLE温湿度计是单独一项,但是HA搜不到

在这里插入图片描述

去看Xiaomi Gateway(Aqara)的详细描述,温湿度传感器是包含在这个Integration里,发现大部分小米设备都在里面 Integration的描述: The xiaomi_aqara integration allows you to integrate Xiaomi Aqara-compatible devices into Home Assistant.

在这里插入图片描述

一旦开启了局域网控制,不需要密码,HA就能在网络中发现并控制它

TAP规则example1

在白天,如果小米灯被关闭,就用语音播报一下

1.TAP在配置的自动化里

在这里插入图片描述

2.配置 如果小米灯被关闭

在这里插入图片描述 在这里插入图片描述

3.配置 在白天

在这里插入图片描述

4.配置 就用语音播报一下

在这里插入图片描述

5.触发对应一个时间点(刚回家、每隔一小时),条件对应一个时间段(在家的时候,灯持续开着) 当日出一瞬间,如果小米灯是关着的,和在白天,如果小米灯被关闭,就用语音播报一下作区分

在这里插入图片描述 在这里插入图片描述

TAP规则example2

在小米灯关后的一分钟,语音播报关灯了

1.触发 小米灯从关到开 条件 无 动作 延迟一分钟 调用关灯服务

在这里插入图片描述 在这里插入图片描述

2.模式选择

引入模式,解决正在执行过程中的规则又一次被触发的问题

在这里插入图片描述 在这里插入图片描述

本例子适合restart

在这里插入图片描述

其它规则创建方法

自然语言

配置->自动化界面右下角添加自动化

在这里插入图片描述

Blueprint 官方提供的模板,填入设备即可

在这里插入图片描述

与Home Assistant交互的那些平台

Homekit、ESPHome、NodeRed、AppDeamon

ESP HOME

在这里插入图片描述 开发平台是自己写程序DIY,配置平台是只需要配置就可DIY Home Assistant中的Add-on可下载Home Assistant

ESP HOME配置TAP规则

这种本地的TAP,不连接网络或者Home Assistant也能自动运行 当NFC靠近读卡器,闪烁板上的灯

在这里插入图片描述

Node Red

消息发邮箱和语音播报的实现

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

自动化中的事件

适用场景

如on这个操作,可能是双击,可能是长按,光一个on不好表示,用事件更好表示

事件类型

state_change 如温度改变 service_registered 如新加了设备 call_service 调用服务

事件数据

state_change 哪个实体的状态变了,状态变化前和后的值 call_service 调用的是哪个服务,参数是什么

如何查看事件日志

在开发者工具中 或者 日志中

事件位于开发者工具中

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

自动化中的服务

在开发者工具中 如开灯服务,调用该服务就开灯 在这里插入图片描述 在这里插入图片描述

调用服务时传递数据

在这里插入图片描述

例子 当太阳下山,打开小夜灯,当太阳升起,关闭

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

自动化中的设备

实体与设备的关系,设备是物理上存在的装置,一个设备包含一个或多个实体,如电池设备包含电池种类、电量等实体 不属于设备的实体 如太阳、用户 例子 如果人体感应器的电量低于10%,就打开小米网关灯

在这里插入图片描述 在这里插入图片描述

自动化中的场景

在配置,场景中 如场景“日常”,进入后调灯光和音量 打开场景

在这里插入图片描述 在这里插入图片描述

场景无turn off,动作,要达到关闭效果就切换场景或调整设备

自动化中的脚本

官方文档 www.home-assistant.io/docs/script… 脚本像规则,打开脚本可能并不是立即执行,而是等有了相应触发才执行

脚本的运行模式

在这里插入图片描述

例子 小米灯打开五次,就播报消息

1.设置5次循环

在这里插入图片描述

2.触发里添加动作 每次循环等待灯被打开(等待触发)

在这里插入图片描述

3.动作里设置语音消息

在这里插入图片描述

4.前端会多一个脚本图标,可以通过图标来执行 在这里插入图片描述

5.也可以通过调用服务 在这里插入图片描述 在这里插入图片描述

自动化中的模板

之前都是静态的,如朗读预先设定的文字,如果要播报当前的动态的温度,用模板构建动态内容 在开发者工具中 在这里插入图片描述 在这里插入图片描述

自动化中的trigger变量

在这里插入图片描述

例子 灯的状态变化时,前端显示一条通知消息

1.触发里设置灯的状态变化,属性那些都不用写 在这里插入图片描述 2.动作里调用服务,服务里有模板,模板里有trigger变量 在这里插入图片描述

自动化中的辅助元素

IFTTT与HA的集成

在这里插入图片描述

HA中触发IFTTT的this条件

在HA中执行脚本,触发IFTTT点亮YeeLight智能灯 1.IFTTT平台配置IFTTT规则(this=webhook意思是外部web调用,receive a web request,that=YeeLight) 2.配置HA中脚本 在这里插入图片描述

IFTTT的that动作触发HA中的事件

关注点在触发HA中事件吧,比较有共性 前提是公网能访问HA 在这里插入图片描述 在这里插入图片描述 IFTTT平台的that选webhook,url填HA生成的,POST方式,JSON格式 在这里插入图片描述