最近把常用的米家设备都接入到了HomeKit,这样就可以通过Siri来控制住处中的智能设备了。
具体原理是:使用树莓派安装HomeAssistant,连接米家设备。通过 HomeAssistant 中的 HomeKit Bridge 集成,将米家设备桥接到 Apple HomeKit。这样就可以通过Apple的家庭应用和Siri来控制这些设备,即使它们不支持HomeKit。
目录
我的树莓派配置
Raspberry Pi 4b 4gb
OS: OpenWrt
Kernel: aarch64 Linux 5.4.203
1. 安装HomeAssistant
HomeAssistant 支持多种安装方式,对于树莓派来说,大致有三种方法:
- 安装 Assistant 操作系统
- 使用容器安装(比如Docker)
- 直接安装Home Assistant Core
为了便于管理,我选择使用Docker-compose来安装HomeAssistant。
如果你和我一样使用的是openwrt
系统,参考官方教程,你可能会遇到以下错误:
[+] Running 0/1
⠿ Container homeassistant Starting 0.3s
Error response from daemon: error while creating mount source path '/etc/localtime': mkdir /etc/localtime: file exists
错误的原因在 HomeAssistant论坛 可以找到。这里是我解决问题的方法:删除原.yml
文件中- /etc/localtime:/etc/localtime:ro
,将时区作为环境变量传递。
修改后的docker-compose.yml
:
~/homeas/docker-compose.yml
version: '3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
environment:
- TZ=Asia/Shanghai
volumes:
- ~/homeas/config:/config
restart: unless-stopped
privileged: true
network_mode: host
安装完HomeAssistant后,访问树莓派的 8123 端口。初始化HomeAssistant,设置管理员账号密码。
![初始化HA.png](https://i.typlog.com/wulu/8302796087_438843.png)
2. 安装与配置 Home Assistant 社区商店
2.1 安装 HACS
配置完 HomeAssistant 后,我们需要安装 HACS(Home Assistant Community Store)。你可以将其理解为 HomeAssistant 的应用商店,通过 HACS 我们能够安装第三方集成来增强 HomeAssistant 的功能。
参考 HACS安装指南,我们需要进入容器内部执行安装脚本。
~/homeas/
docker exec -it homeassistant bash
wget -O - https://get.hacs.xyz | bash -
安装成功后,退出容器,然后重启容器。这一步骤很重要,配置HACS前必须重启Home Assistant。
~/homeas/
exit
docker-compose restart
2.2 配置 HACS
接下来我们需要初始HACS,你可以参考此教程或按照下图步骤配置。注意,你需要提前注册一个 Github 账号。
在“设置”中打开“设备与服务”
![安装HACS1.png](https://i.typlog.com/wulu/8302793775_068366.png)
点击“添加集成”,搜索并选择“HACS”
![安装HACS3.png](https://i.typlog.com/wulu/8302793774_901773.png)
跟据指引一步一步操作,打开提示中的网址,登录GitHub,输入授权码。
![image.png](https://i.typlog.com/wulu/8302793380_755269.png)
![安装HACS4.png](https://i.typlog.com/wulu/8302793775_071568.png)
![安装HACS5.png](https://i.typlog.com/wulu/8302793775_060922.png)
看到下图界面,就说明HACS以及安装成功了。
![安装HACS6.png](https://i.typlog.com/wulu/8302793775_066552.png)
3. 将米家设备接入HomeAssistant
3.1 安装 Xiaomi Miot Atuo
接下来,我们需要安装 “Xiaomi Miot Atuo” 集成以将米家设备接入HomeAssistant。
进入 HACS 页面,点击 “集成”。
![安装MIIOT.png](https://i.typlog.com/wulu/8302791733_035404.png)
点击右下角的“浏览并下载储存库”,然后搜索并安装“Xiaomi Miot Atuo”。
![安装MIIOT2.png](https://i.typlog.com/wulu/8302791733_034981.png)
![安装MIIOT3.png](https://i.typlog.com/wulu/8302791733_03169.png)
同样地,安装完集成之后需要重启 HomeAssistant。
![安装MIIOT4.png](https://i.typlog.com/wulu/8302791733_031982.png)
~/homeas/
docker-compose restart
3.2 配置 Xiaomi Miot Atuo
接下来,我们配置 Xiaomi Miot Atuo 将米家设备接入HomeAssistant。注意,配置 Xiaomi Miot Atuo 前需要重启 HomeAssistant。
点击“设置”,选择“设备与服务”
![安装HACS1.png](https://i.typlog.com/wulu/8302793775_068366.png)
切换到 “设备” , 然后点击 “添加设备”
![配置MIIOT.png](https://i.typlog.com/wulu/8302790493_390191.png)
搜索并选择“Xiaomi Miot Atuo”
![配置MIIOT2.png](https://i.typlog.com/wulu/8302790493_388063.png)
选择“账号集成”,登录小米账号获取设备信息。
![配置MIIOT3.png](https://i.typlog.com/wulu/8302790493_39134.png)
按照配置指引完成剩余步骤,选择你想要接入 HomeAssistant 的设备。
![配置MIIOT4.png](https://i.typlog.com/wulu/8302790493_385441.png)
3.3 删除不必要的实体(非必要,但强烈推荐)
在将米家设备桥接到HomeKit之前,建议禁用一些不必要的实体。否则可能会出现以下情况:例如,当将小米智能插座添加到homekit时,插座会被识别为三个设备,除了开关之外,其中插座的指示灯被识别为灯具,插座温度也被误认为环境温度传感器。这可能不是我们期望看到的结果。
以我浴室的智能开关为例,切换到“实体注册表”。找到对应的实体,我的智能开关命名为“浴室热水器”,对应指示灯的实体就是“浴室热水器 Indicator Light”,点击这个实体。
![禁用实体.png](https://i.typlog.com/wulu/8302789020_570658.png)
点击右上角“设置”按钮
![禁用实体2.png](https://i.typlog.com/wulu/8302789020_570467.png)
关闭“已启用”,将这个实体禁用。
![禁用实体3.png](https://i.typlog.com/wulu/8302786199_064772.png)
以此类推,你可禁用掉所有不必要的实体。
4. 桥接米家设备到HomeKit
接下来,我们通过 HomeKit Bridge 将 Home Assistant 中设备桥接到 HomeKit。
首先,我们要添加 HomeKit Bridge 集成。点击“设置”,进入“设备与服务”页面。
![安装HACS1.png](https://i.typlog.com/wulu/8302793775_068366.png)
搜索“homekit”,点击“Apple”
![桥接homekit.png](https://i.typlog.com/wulu/8302785845_410344.png)
点击添加“HomeKit Bridge 集成”,按照指引完成添加。
![桥接homekit2.png](https://i.typlog.com/wulu/8302785845_420177.png)
需要注意是的,如果你有温湿度传感器,记得勾选“Sensor”,这个选项默认是不勾选的。
![桥接homekit3.png](https://i.typlog.com/wulu/8302785845_40595.png)
添加 HomeKit Bridge 集成成功后,点击界面左下角的通知按钮。查看 homekit 的配对二维码。
![桥接homekit4.png](https://i.typlog.com/wulu/8302785845_42004.png)
![桥接homekit5.png](https://i.typlog.com/wulu/8302785845_415117.png)
打开“家庭”应用,点击左上角的“+”号,选择“添加配件”。扫描上个步骤的得到的二维码,点击“添加到家庭”。在加入过程中,可能会提示“未认证设备”,点击“仍要添加”。然后完成剩余步骤,逐个添加设备。完成后,你就能能用Siri控制你的智能设备了。
![桥接homekit6.png](https://i.typlog.com/wulu/8302785845_413984.png)
![桥接homekit7.png](https://i.typlog.com/wulu/8302785845_405751.png)
![桥接homekit8.png](https://i.typlog.com/wulu/8302785845_417304.png)
大功告成!🎉
5. 常见问题
Siri 回复设备没有回应?
通过上述方法添加设备后,只能在同一局域网内控制该设备。如果出现这种情况,请检查手机是否连接到家庭网络,并进一步确认 HomeAssistant 服务状态是否正常。
米家空调伴侣导致环境温度错误?
我通过修改配置文件解决这个问题:
- 在
config
目录下的configuration.yaml
添加下面内容:
~/homeas/config/configuration.yaml
homeassistant:
customize: !include customize.yaml
- 在config目录下创建
customize.yaml
,将温度传感器绑定到空调伴侣实体。对应的设备名称和实体名称需要根据实际情况调整(在“设置-设备与服务-实体注册表”中可以得到):
~/homeas/config/customize.yaml
climate.lumi_mcn02_d045_air_conditioner: # 空调伴侣实体ID
bind_sensor: sensor.miaomiaoce_t2_0b9e_temperature_humidity_sensor #温度传感器实体ID
- 重启 HomeAssistant
~/homeas/
docker-compose restart
其他问题
欢迎在评论区讨论