利用树莓派打造全能智能家居中枢,完美整合 HomeKit 和米家!

现今,智能家居已经广泛渗透到了每个人的生活中,而小米的智能设备则备受欢迎,它们使用简单且易于操作。但在持续购入多年智能设备的同时,也不可避免地出现了“闲置”的情况。目前,除了可调亮度的灯之外,其他智能设备便落得了此等下场。

最近,我正在折腾已经长期‘闲置’的树莓派,这个过程中,我发现手头的 Mac mini 和树莓派并不需要常常开机,并且把它们放在卧室会导致噪声和光污染,所以通常我会把它们放到相对偏僻的地方。这意味着通电开机不是那么方便,也因此导致它们的利用率很低。

我想通过开关控制树莓派和 MacMini 的开关机,但是我也不止一台树莓派,我不想弄很多的电源充电头,太笨重了,我购买了 USB 分线器,有 8 个口,这样可以给 8 个 USb供电设备供电。如下图所示。
image.png

由于这个 USB 供电的方式,我没办法控制单个树莓派的开关机,所以我就找有没有一个 USB 开关,最后找了一个支持 HomeKit 的 USB 开关。

今天的目标就是让下面两个开关可编程,当然小米插座我们还是需要小米网关的,图片中没有给出小米网关。

image.png

要整合米家HomeKit , 我们就用到了Home-assistant, 据说现在Home-assistant已经折腾起来很简单了。

安装Home Assistant

我们直接用 Docker 安装,之前博客有写 Docker 的安装,请移步到这里: 对开发者友好的树莓派系统配置

1. 拉取镜像

我用了latest, 你也可以指定版本。Docker Hub

sudo docker pull homeassistant/home-assistant:latest

2. 启动镜像

拉取到镜像之后,用以下命令启动

docker run \
    --restart=unless-stopped \
    -d   \ 
    -v "/mnt/data/Configs/HomeAssistant:/config"     \
    --privileged    \
    --network=host     \
    --dns=127.0.0.1 
    -e TZ=Asia/Shanghai \
    --name homeassistant \
    "homeassistant/home-assistant:latest"

这个命令使 Home Assistant 运行在 Docker 容器内,并将配置文件存储在主机上指定的目录。--privileged 和 --network=host 选项使容器可以访问主机上的设备和网络,使得 Home Assistant 能够与其他设备的通信,而时区设置和 DNS 解析服务器设置则能够确保容器与外部环境的时间同步和正确的 DNS 解析。

  • --restart=unless-stopped: 设置容器在退出后自动重新启动,直到手动停止
  • -d: 在后台运行容器
  • -v "/mnt/dataConfigs/HomeAssistant:/config": 将主机上的 /mnt/data/Configs/HomeAssistant 目录挂载到容器内的 /config 目录,用于存储 Home Assistant 的配置文件
  • --privileged: 向容器授予特权访问主机的设备
  • --network=host: 使用主机的网络配置
  • --dns=127.0.0.1: 指定容器内 DNS 解析服务器为 127.0.0.1
  • -e TZ=Asia/Shanghai: 将容器的时区设置为亚洲上海时间
  • --name homeassistant: 将容器命名为 homeassistant
  • "homeassistant/home-assistant:latest": 使用 Home Assistant 的最新版本创建并运行容器,此处 latest 表示使用最新版本

3. HomeAssistant初始化

端口号默认是8123, 你也可以通过-p 8080:8123参数指定为你满意的端口号。
在浏览器输入192.168.x.x:8123可进入 Home Assistant 用户设置页面。
image.png
输入对应的信息,接下来还有一些设置,如下图所示:
image.png
按个人实际情况填写完成。
之后会检测出当前可以集成的设备,点击“完成”即可。
image.png

添加小米智能设备到HomeAssistant

在HomeAssistant 的页面,选择左下角的配置,然后选择”设备与服务“
image.png
进入之后,在搜索框输入xiaomi, 如小图所示,点击下面的第一项
image.png

然后看到了好多小米相关的选项,这里可以直接通过添加网关的方式,比如"Xiaomi Gateway(Aqara)" ,添加成功之后,会看到改网关下的子设备。

本人选择了”Xiaomi Miio“,可以直接登录小米账号
image.png

输入小米用户名和密码登录成功之后,会把当前网关下的设备展示出来。如下图所示,每个人的可能不一样,下图是我已经添加了 5 个子设备的结果

image.png

设置完成之后,会多出这个面板

image.png

添加小米插座

在米家上面,按照提示,很快就添加完小米智能插座了,添加完之后在HomeAssistant 中可以看到,如下图所示:
image.png

其中,控制部分可以控制插座的开关

至此,你只要将Mac Mini 设置成通电启动,连接到这个插座就可以远程控制了。

HomeAssistant 添加到 Apple 的 Home 应用中

继续添加集成
右下角有一个“添加集成”的按钮,点击之后,在弹框里输入“Apple”,选择第一个,点击进入
image.png
可以看到两个HomeKit 相关的,第一个是可以把HomeAssistant 添加到苹果的 Home App 中,第二个可以将HomeKit 设备添加到HomeAssistant 中。我们先选第一个添加。
image.png
添加HomeKit之后,提示可以在通知中添加,然后在左下角可以看到通知上有消息标识,点击之后,会有一个二维码,可以用苹果手机的 Home 去扫码添加。
image.png

此时添加完之后,就可以在苹果手机上控制上面添加的米家设备了。

将 USB 控制开关 添加到HomeAssistant

这里如果你是从网上购买的,一般情况下客服会告诉你如何连 HomeKit 。
下面简单列一下,我购买到的这个设备如何连接的。
将设备通电,然后等待一会儿之后,打开 WIFI,选择HAA-XXXX 这个 WIFI, 连接之后,在浏览器输入192.168.4.1:4567,进入了配置后台,特别简陋
image.png
然后选择家里的Wi-Fi,输入密码保存。成功之后,USB 控制器上的绿灯会闪一下。
这时候就看不到HAA-XXXX 的 Wi-Fi 了,在把电脑连到家里的 Wi-Fi,可以在HomeAssistant 中添加设备,有一个”HAA-xxxxxx 的设备“,添加
image.png

然后会让输入配对码,商家给的配对码是"02182017",输入。
image.png
等待一会儿就添加成功了。
image.png
image.png

接下来,对之前添加的 HomeKit 进行一下修改。

将包含模式改成”include“,这样 Apple 的 Home App 中就可以看到刚才添加的 USB 控制器了。
image.png

在 Apple 的 Home App 中,把玩吧,后面加入 Siri 等都不是问题。

至此通过 HomeAssistant 将 Homekit 和米家都整合了,达到了远程控制的目的。

享受懒人福利
image.png


已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注