Home Assistant控制设备
本文将包含如下内容:
- Home Assistant配置使用HACS
- 连接控制小米设备
- 连接控制Sonoff设备
- 连接控制涂鸦设备
- 连接控制自定义设备
- 使用苹果HomeKit控制HA设备
- Home Assistant备份与恢复
安装HACS
在HA的主界面点击配置(Configuration)->设备和服务(Devices&Services)->添加集成(Add integration)可以看到系统可用的集成列表,并且可以点击安装。自定义集成在安装成功后也需要在这里进行安装。
Home Assistant在启动时会扫描主目录(我的目录是/opt/docker/hassio/homeassistant)下的custom_components文件夹,识别其中的集成(Integration)并加载到可用集成列表。HA官方提供了丰富的集成,但还是有很多功能需要安装自定义集成来完成,安装自定义集成有一个比较简单的工具是HACS(Home Assistant Community Store)。
注意:HACS强依赖GitHub,它的更新、下载等动作都要去GitHub下载,如果你无法访问GitHub,可以不使用HACS,因为速度会让人崩溃。
1. 下载最新包
去https://github.com/hacs/integration/releases 下载最新的包,将下载的包复制到custom_components文件夹内并解压,会生成一个hacs文件夹,重启HA。
或者去https://hacs.xyz/docs/setup/download 查看文档,使用脚本下载。
2. 安装
在HA的主界面点击配置(Configuration)->设备和服务(Devices&Services)->添加集成(Add integration),搜索HACS,并安装。之后按照https://hacs.xyz/docs/configuration/basic 提示绑定GitHub账号。
连接控制小米设备
所有已经接入米家APP的设备,都可以通过此方法接入。
安装Xiaomi Miot Auto
开发者是中国人,教程很丰富,功能很强大。安装教程可以参考:https://github.com/al-one/hass-xiaomi-miot/blob/master/README_zh.md
安装好之后需要配置米家账号,一定要选”更新设备列表“的选项,之后可以选择哪些设备想用HA来控制,毕竟像我有个扫地机器人,使用HA控制就毕竟鸡肋,所以索性排除在外。
注意:Xiaomi Miot Auto
使用了米家的公共API,对于很多不同的设备支持方式也不同,会导致偶尔连不上设备的情况,且HA的服务器和设备最好在1个网段,不然一些局域网控制的设备会连不上,偶尔设备重启换IP后也会导致连不上。如果连不上某些设备,可以尝试在配置(Configuration)->设备和服务(Devices&Services)->点击集成的重载按钮。
连接蓝牙设备
使用Xiaomi Miot Auto
已经可以控制米家设备了,但是很多设备使用的是云-云对接,就是说我们本地的指令需要通过Xiaomi Miot Auto
传输到米家后台,然后再下发到设备上,对于一般的WiFi设备还好,但是对于像温度计、门磁传感器这种蓝牙设备,首先你需要1个蓝牙网关,其次Xiaomi Miot Auto
采用的是轮询方式查询状态,如果你想做一个开门后自动开灯的自动化,可能你门都关上了,灯还没开,这种延迟可以达到几分钟,让人奔溃。而蓝牙是广播协议,如果使HA可以直接接收蓝牙设备的广播信息,那么就不需要蓝牙网关了,而且速度会特别快。
1. 安装蓝牙控制软件
在Armbian的命令行执行armbian-config
,在跳出的界面中选择Network,选择安装Bluetooth。这一步是安装一些蓝牙相关的控制软件。
之后执行hciconfig -a
,就可以看到蓝牙设备的信息(00:xx:xx:xx:xx:xx是蓝牙地址):
1 | root@arm-64:/opt/docker/hassio/homeassistant# hciconfig -a |
如果命令不存在,则表示蓝牙控制软件没有安装成功。如果命令执行返回为空,则表示蓝牙设备没有成功驱动,或者没有蓝牙设备。
2. 安装Passive BLE monitor integration
可以通过HACS安装:1)在HACS中搜索ble monitor,点击安装;2)安装成功后重启;3)点击配置(Configuration)->设备和服务(Devices&Services)->添加集成(Add integration)进行添加。参考:https://github.com/custom-components/ble_monitor
此集成默认处于Passive模式,被动接收蓝牙设备消息,不会主动扫描设备,所以会更节省设备电量。
2. 将蓝牙设备添加到米家APP
我目前有5个温度计、2个小米门磁、1个青萍门磁,都要先通过手机添加到米家APP,因为这些设备都支持小米的加密协议,添加到米家APP后会生成加密密钥BLE KEY
,在Passive BLE monitor integration
的配置中需要使用它。
如果其他非米家蓝牙设备,且广播消息未加密的,可以自动识别并添加到此集成内。
3. 获取蓝牙设备的encryption_key
ble_monitor官方给出了4个方法获取蓝牙设备的encryption_key
,其他的都比较复杂,如果有Windows系统,可以下载token_extractor.exe,点击它然后根据提示输入用户名和密码,把输出的信息拷贝出来保存。其中有一行BLE KEY
,就是之后要使用的encryption_key
。
4. 配置集成
在这个配置页面选择使用的蓝牙设备,在最后一项中根据Mac地址(对照上一步中拷贝下来的设备列表)选择需要配置的设备,然后填入encryption_key
。按照这个步骤依次把设备配置好。
如果Armbian上没有蓝牙或者蓝牙设备无法驱动,可以使用ESPHome插件来转发蓝牙广播消息。
连接Sonoff设备
如果你有Sonoff或者需要接入易微联APP的设备,可以安装插件:https://github.com/AlexxIT/SonoffLAN ,安装方法和其他一样,安装成功后在主目录下的configuration.yaml
1 | sonoff: |
HA会在启动的时候扫描此文件和其他配置项,加载相应的集成。这个配置告诉HA要加载1个叫sonoff的集成。
连接控制涂鸦设备
涂鸦是智能家居行业比较大的解决方案提供商,在国内外都有很大的市场,网上买到的智能设备可能是接入涂鸦智能APP的。目前有2种方法,对于一般的设备,可以使用HA官方的Tuya集成,配置方法比较复杂,可以参考涂鸦的官方文档 。
如果官方插件暂时无法支持,可以使用SonoffLAN ,重点是使用工具找到相应的DP(Data Point),然后通过此插件修改各种DP的值。
连接控制自定义设备
如果是自定义的设备,可以通过MQTT连接到HA来控制。
使用苹果HomeKit控制HA设备
HA自带HomeKit集成,点击配置(Configuration)->设备和服务(Devices&Services)->添加集成(Add integration),搜索HomeKit
进行安装。在之后的配置界面HomeKit Mode
选择bridge
,表示把HA当做一个网桥来设置,在Inclusion Mode
选择include
,表示手动选择哪些设备要暴露给HomeKit来控制。
配置完成后在HA的通知信息里可以看到提醒,会生成一个二维码,使用苹果设备在HA的统一网段内,添加HomeKit设备,根据提示一步步操作就可以了。
Home Assistant备份与恢复
点击配置(Configuration)->插件、备份和Supervisor(Add-ons、Backup&Supervisor)->备份(Backup)