12月16日小米官方在亲自下场,在Ghub发布了官方的Home Assistant(后面简称HA)米家集成项目。也就是说小米开源了智能家居平台(HA的官方插件),Home Assistant作为一款开源软件的同时,目前也算是智能家居的终极解决方案,它可以聚合各个品牌的智能设备,进行定制化管理。
小米这次的开源,相当于让渡了米家生态的控制权给用户,我的评价也只能是格局大、格局打开,这下真是“你可以没有小米手机,但你不能没有米家”。
本次就跟各位分享一下Docker部署HA以及安装小米官方插件并使用的全过程。
小米的官方插件比起社区版,具备以下优势:
✅ 首先官方插件支持集中登陆多个小米账户,并且没有地区限制。
✅ 社区插件基本通过轮询来获取设备状态,性能不佳的同时延迟较高。官方的集成插件则通过小米云官方的API来控制设备状态(通过订阅),效果更好。
✅ 官方插件可以轻松配置小米蓝牙网关且支持本地控制,如果配置了小米中枢网关,则可以不经过云端直接通过中枢网关处理设备消息,提高速度与稳定性。
不过官方插件对HA的版本有一定要求:
Core ≥ 2024.11.0
Operating System ≥ 13.0
部署Home Assistant
各家NAS的部署方式都大同小异,大家可做参考,欢迎评论区交流讨论。
首先在你的设备中创建一个文件夹用于存放数据文件。建议在常用的Docker目录下,我的威联通NAS设备为/share/Container/ha/config
。
官方的docker run
部署命令如下:
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=MY_TIME_ZONE \
-v /PATH_TO_YOUR_CONFIG:/config \
-v /run/dbus:/run/dbus:ro \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
将上面的命令转为Docker Compose格式打开Docker管理工具,创建新的项目,将以下配置修改后粘贴进框内并点击创建。
version: '3.8'
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
privileged: true
restart: unless-stopped
environment:
- TZ=Asia/Shanghai # 替换为你的时区,例如 Asia/Shanghai
volumes:
- /share/Container/ha/config:/config # 冒号左侧替换为你的配置路径
- /run/dbus:/run/dbus:ro # 挂载 dbus,确保主机的相关服务可用
network_mode: host # host模式下默认端口为8123
部署完毕后,在网页端输入NAS_IP:8123即可访问HA。
照着引导创建新的用户。
设置完毕后,在主界面点击左侧栏的【设置】-【关于】,可以查看当前HA的版本信息,可以看到符合要求。
安装小米官方插件
我们回到NAS的web管理界面,如下图所示,在容器目录中选择刚部署的homeassistant,点击【执行】打开执行控制台,选择第一个/bin/bash
,并点击窗口中间的【执行】。
在控制台中依此执行以下命令:
# 稳妥起见,执行一步一回车
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
执行完毕后,会提示我们重启镜像,那我们重新启动即可。
配置使用小米插件
网页进入HA的控制台,点击左侧【设置】,选择右侧的【设备与服务】。
点击右下角的【添加集成】,搜索框内输入xiaomi
,添加第二个Xiaomi Home
即可。
登陆地区这个按各位的实际情况而定。
点击蓝色的文字,会跳转到小米账户登陆界面。
大学买第一台小米手机设置的头像哈哈~点击【确认授权】。
MAC用户建议使用Chrome浏览器。。。否则可能会卡授权。授权完毕后,会进入一个错误界面,我们把homeassistant.local
替换成正确的即可(设备的IP)。
接下来继续设置,关于控制模式:
自动:如果已具备中枢网关,会自动使用;
云端:完全依赖小米云
显示配置成功。
在设备中点击具体设备,我发现了几个非常不错的部分:小米的智能多模网关2可以直接关联出来,以前的社区插件配置这玩意简直麻烦的不得了。
因为图文不好做演示,以小米音箱为例,我是可以通过这些开关来实现唤醒、播放电台、播放音乐等操作的,反应速度也相当快。同样的,各类温湿度计、传感器、开关、电灯等各种蓝牙版的开关也都能正常使用,实现此类功能。
Linux主机命令操作全流程
适用于各类Linux主机以及VPS,个人建议乌班图或Debian。
# 部署HA
sudo -i
mkdir /root/docker/data/ha
cd /root/docker/data/ha
vim docker-compose.yml # 上文的代码修改后粘贴进yml文件
docker compose up -d
# 进入容器内安装小米插件,稳妥起见,执行一步一回车
sudo docker exec -t homeassistant bash
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
# 输入exit并回车 或 Ctrl+D 快捷键即可退出镜像
docker restart homeassistant # 重启镜像
最后
小米这就是妥妥的阳谋啊,感觉以后要被雷总套牢。
评论区