HomeAssistant 入坑记——容器部署 HA 打通米家与其他智能家居
写在前面
本文主要记录通过容器部署 homeassistant 的过程,方便翻查
目前家里的智能设备 90% 都是米家生态,但是有几个大件不是,比如:
客厅空调风管机是美的的
房间空调挂机是华凌的
阳台洗烘套装是海尔的
在某些场景下,米家就是无法覆盖全,有点难受。举一个场景例子:
在空调打开时检查房间是否关窗,如果没有则触发语音提醒关窗
虽然空调可以用米家空调伴侣来控制,但是无论是一代还是二代,都无法在极客版操作。
至于洗烘套装更是无解,这个时候还是绕不过使用 homeassistant 来做跨平台联动。

部署安装
之前我的 homeassistant 是部署在 Nas 上的,近期装了软路由稳定下来,也把 Nas 上的 homeassistant 转移过来,压榨一下软路由的资源。
部署准备
之前安装的软路由,ssd 还剩下 230G 大小的空闲分区,外挂到 docker 做持久化存储使用。
这里就参考了 unRaid 的做法,创建一个目录用于 homeassistant 容器的配置文件等持久化存储:
mkdir -p /opt/appdata/homeassistant
该目录用于映射到 homeassistant 容器保存 config 配置文件
启动容器
这里我是在 openwrt 上通过 docker 进行安装,首先进入 Docker -> 容器 -> 添加

然后选择命令行解析 CLI,输入 docker 启动指令:
docker run -d --name=homeassistant -e TZ=Asia/Shanghai -v /opt/appdata/homeassistant:/config --restart always lscr.io/linuxserver/homeassistant:latest
点击提交后会自动解析参数并填充内容

接下来只需要调整网络部分的配置参数即可
选择自定义的网桥实现与主路由器下的设备同子网互通
输入固定 IP 分配

这里使用的是 linuxserver 的镜像,与之前 nas 上跑的一致,方便迁移,配置完成后启动,会先拉取镜像

但是直接访问容易超时,最后还是命令配置代理进行 docker pull,完事再回到页面配置启动
export ALL_PROXY='socks5://127.0.0.1:1080' docker pull lscr.io/linuxserver/homeassistant
创建完不会启动容器,需要手动勾选容器后点击启动

启动之后就可以看到分配的 IP 以及监听端口

在浏览器中输入 10.0.0.51:8123 就可以访问到 homeassistant 了

配置使用
安装 HACS 集成
HACS 全名 Home Assistant Community Store,也就是 HA 的社区商店,提供给开发者自行发布 HA 的插件,并给用户提供快速安装第三方插件的能力。
从 github HACS 官方仓库的发布页面下载代码包(自行搜索 github hacs)
解压后放入 /mnt/user/appdata/homeassistant/custom_components 目录下:

再重启 homeassistant 即可按照添加集成:

需要先确认一些信息,全部打勾即可

接下来需要进行 github 的认证:
点击页面上的 URL 跳转到 github 后输入页面上的 8 位数字即可
该操作会允许 HACS 获取到我们在 github 上的公共数据

完成 github 认证后,就进入 HACS 的最后一步了,点击完成即可

安装完成后,在 HASS 主页侧边栏就已经有 HACS 的入口了
安装 Miot 集成
进入 HACS 并依次点击集成 -> 浏览并下载存储库(页面右下角)

找到 Xiaomi Miot Auto 并点击开始下载,选择版本并提示下载保存路径,点击下载即可

下载完成后,依次点击 配置-设备与服务-添加集成,在选择品牌输入 xiaomi 进行过滤,选择刚才下载的 Xiaomi Miot Auto
之后会进入 Xiaomi 集成的配置页面:

之后需要登录小米账号

这里有几个配置选择:
建议选择账号集成,可以减少一些配置成本,直接获取 米家APP 上添加好的设备
设备连接模式选择自动模式,自动将用户筛选的设备中符合条件的型号使用本地连接(并实时更新最新支持本地的设备列表)
通过型号/家庭/WiFi筛选设备,这个可以先不勾选,后续简单进行排除或者指定筛选即可
这里没有做任何排除,所以是米家账号中的全部设备都导入到 HASS

实际发现有部分通过米家第一代空调伴侣 zigbee 连接的温湿度传感器区域信息读取失败,需要手动设置
安装 Midea AC LAN 集成
在 HACS 中搜索 midea 找到 Midea AC LAN 并下载

重启 HASS 后,就可以通过添加集成来将美的空调加入 homeassistant 了
该集成不具备为空调配置联网的能力,但又需要通过局域网来发现空调,因此需要先通过美的美居先添加好设备

我的 3 台挂机是华凌的,所以之前是已经通过微信的华凌智联进行控制联网

空调联网之后,就可以通过该集成来接入 homeassistant 了
美的这个集成需要单独添加设备,并且一次只能添加一个

通过 配置-设备与服务-添加集成,搜索 midea 即可看到

点击后添加设备,这选择 Auto 即可,会自动发现局域网内已经联网的美的设备(如果没有请先按照美的美居APP联网)

可以看到三台华凌空调已经搜索到了,依次点击添加集成。至于具体是哪个房间的空调,可以通过如下方式:
按照之前添加的时候对应的 IP 来确定
添加之后手动触发一些操作确定空调关联关系

最终添加完成如下

联动测试
HA 实现自动化
回归到文章最初的一个场景:
空调伴侣不支持米家极客版
但我想在空调打开的时候,检查房间窗户未关时通过小爱提醒关窗
这个场景在米家设备与美的设备都导入 homeassistant 之后就很简单了,通过 HA 配置自动化即可。
但是如果还想在极客版上做自动化判断,要怎么实现呢?
HA-极客桥
与米家-极客桥的原理差不多,也就是找一个拥有状态记录的设备同时能在极客版与 HA 中获取

这里我选择的是米家的智能开关指示灯作为桥:
当 HA 获取到书房的华凌空调启动时,开启智能开关的指示灯
当 HA 获取到书房空调关闭时,同步关闭智能开关的指示灯
那么在米家极客版就可以实现对应的操作了

写在后面
Home Assistant 确实是一个非常强大的智能家居管控系统,但不得不说上手门槛确实有点高
一开始是因为米家而接触智能家居,也是从米家 APP 以及极客版开始入坑。
所以大部分的智能化都是在极客版上完成了,但是后面发现,很多东西还是绕不开 HA。
想对一些自动化场景触发微信通知,这个在米家生态里面就很难实现,但是 HA 就非常容易

对接微信企业版的应用,就可以在微信上接收通知了

不过目前对 HA 还处于摸索阶段,后续也会分享一些我在 HA 上的折腾记录,可以多多点赞关注支持一下
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

jxfei
话说各平台的互通真是问题
校验提示文案
aska
校验提示文案
丿纯丶娱乐
校验提示文案
23333啊
校验提示文案
值友3772808882
校验提示文案
小朱诺诺的
校验提示文案
woshishui---
校验提示文案
小朱诺诺的
校验提示文案
23333啊
校验提示文案
丿纯丶娱乐
校验提示文案
值友3772808882
校验提示文案
aska
校验提示文案
jxfei
话说各平台的互通真是问题
校验提示文案
woshishui---
校验提示文案