惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
About on SuperTechFans
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
博客园_首页
U
Unit 42
T
Tailwind CSS Blog
G
GRAHAM CLULEY
F
Full Disclosure
V
Vulnerabilities – Threatpost
T
Tenable Blog
月光博客
月光博客
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
K
Kaspersky official blog
Scott Helme
Scott Helme
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News and Events Feed by Topic
T
The Exploit Database - CXSecurity.com
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
LINUX DO - 最新话题
Recorded Future
Recorded Future
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Help Net Security
Help Net Security
The GitHub Blog
The GitHub Blog
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
P
Proofpoint News Feed
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
罗磊的独立博客
S
Security Affairs
M
MIT News - Artificial intelligence
L
LINUX DO - 热门话题
美团技术团队
Simon Willison's Weblog
Simon Willison's Weblog
T
Threat Research - Cisco Blogs
Stack Overflow Blog
Stack Overflow Blog
Forbes - Security
Forbes - Security
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
V
Visual Studio Blog

Wulu's Blog

开放课程推荐 「面向所有人的 AI 提示词技巧」 2025 读书总结 树莓派5 优化与踩坑 在 Antigravity 使用 VS Code 应用扩展商店 树莓派安装 OpenWrt 及扩容教程 使用 Docker 在树莓派上安装 Moritx 下载工具 使用 Home Assistant 将米家设备接入 HomeKit 教程 Docker容器中的定时任务:使用Supercronic运行Python脚本 树莓派 | 欧路词典生词本 & 墨墨背单词 云同步教程 (eudic-maimemo-sync) 在 AI 时代,我为什么写博客? 记录 DIY 更换 CASIO G-SHOCK GBA-800 电池过程 2024 读书总结 使用 Audacity 制作立体音效果 使用 Audacity 进行音频降噪教程 Moonhack 2024: 缓解气候变化 谈谈 Follow 这款 RSS 阅读器 OpenAI Python API 新版本示例 AutoHotkey 脚本实现一键复制文本到 ChatGPT 提示模板 开放课程推荐 「面向开发者的 ChatGPT 提示词工程」 指定 Whisper 输出为简体中文 Api2d 国内可用的chatgpt api代理 利用chatgpt实现编程想法的实践-PyPower 树莓派安装docker版百度网盘 近期音乐分享 AI绘画 6PEN 人工智能艺术?
使用HomeAssistant将米家设备接入到HomeKit
2023-10-14 · via Wulu's Blog

最近把常用的米家设备都接入到了HomeKit,这样就可以通过Siri来控制住处中的智能设备了。

具体原理是:使用树莓派安装HomeAssistant,连接米家设备。通过 HomeAssistant 中的 HomeKit Bridge 集成,将米家设备桥接到 Apple HomeKit。这样就可以通过Apple的家庭应用和Siri来控制这些设备,即使它们不支持HomeKit。

目录

  • 1.安装HomeAssistant
  • 2.安装与配置 Home Assistant 社区商店
    • 2.1安装 HACS
    • 2.2配置 HACS
  • 3.将米家设备接入HomeAssistant
    • 3.1安装 Xiaomi Miot Atuo
    • 3.2配置 Xiaomi Miot Atuo
    • 3.3删除不必要的实体(非必要,但强烈推荐)
  • 4.桥接米家设备到HomeKit
  • 5.常见问题

我的树莓派配置

Raspberry Pi 4b 4gb
OS: OpenWrt
Kernel: aarch64 Linux 5.4.203

1. 安装HomeAssistant

HomeAssistant 支持多种安装方式,对于树莓派来说,大致有三种方法:

  1. 安装 Assistant 操作系统
  2. 使用容器安装(比如Docker)
  3. 直接安装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

2. 安装与配置 Home Assistant 社区商店

2.1 安装 HACS

配置完 HomeAssistant 后,我们需要安装 HACS(Home Assistant Community Store)。你可以将其理解为 HomeAssistant 的应用商店,通过 HACS 我们能够安装第三方集成来增强 HomeAssistant 的功能。

参考 HACS安装指南,我们需要进入容器内部执行安装脚本。

docker exec -it homeassistant bash

wget -O - https://get.hacs.xyz | bash -

安装成功后,退出容器,然后重启容器。这一步骤很重要,配置HACS前必须重启Home Assistant。

exit

docker-compose restart

2.2 配置 HACS

接下来我们需要初始HACS,你可以参考此教程或按照下图步骤配置。注意,你需要提前注册一个 Github 账号。

在“设置”中打开“设备与服务”

安装HACS1.png

点击“添加集成”,搜索并选择“HACS”

安装HACS3.png

跟据指引一步一步操作,打开提示中的网址,登录GitHub,输入授权码。

image.png
安装HACS4.png
安装HACS5.png

看到下图界面,就说明HACS以及安装成功了。

安装HACS6.png

3. 将米家设备接入HomeAssistant

3.1 安装 Xiaomi Miot Atuo

接下来,我们需要安装 “Xiaomi Miot Atuo” 集成以将米家设备接入HomeAssistant。

进入 HACS 页面,点击 “集成”。

安装MIIOT.png

点击右下角的“浏览并下载储存库”,然后搜索并安装“Xiaomi Miot Atuo”。

安装MIIOT2.png
安装MIIOT3.png

同样地,安装完集成之后需要重启 HomeAssistant。

安装MIIOT4.png

3.2 配置 Xiaomi Miot Atuo

接下来,我们配置 Xiaomi Miot Atuo 将米家设备接入HomeAssistant。注意,配置 Xiaomi Miot Atuo 前需要重启 HomeAssistant。

点击“设置”,选择“设备与服务”

安装HACS1.png

切换到 “设备” , 然后点击 “添加设备”

配置MIIOT.png

搜索并选择“Xiaomi Miot Atuo”

配置MIIOT2.png

选择“账号集成”,登录小米账号获取设备信息。

配置MIIOT3.png

按照配置指引完成剩余步骤,选择你想要接入 HomeAssistant 的设备。

配置MIIOT4.png

3.3 删除不必要的实体(非必要,但强烈推荐)

在将米家设备桥接到HomeKit之前,建议禁用一些不必要的实体。否则可能会出现以下情况:例如,当将小米智能插座添加到homekit时,插座会被识别为三个设备,除了开关之外,其中插座的指示灯被识别为灯具,插座温度也被误认为环境温度传感器。这可能不是我们期望看到的结果。

以我浴室的智能开关为例,切换到“实体注册表”。找到对应的实体,我的智能开关名为“浴室热水器”,对应指示灯的实体就是“浴室热水器 Indicator Light”,点击这个实体。

禁用实体.png

点击右上角“设置”按钮

禁用实体2.png

关闭“已启用”,将这个实体禁用。

禁用实体3.png

以此类推,你可禁用掉所有不必要的实体。

4. 桥接米家设备到HomeKit

接下来,我们通过 HomeKit Bridge 将 Home Assistant 中设备桥接到 HomeKit。

首先,我们要添加 HomeKit Bridge 集成。点击“设置”,进入“设备与服务”页面。

安装HACS1.png

搜索“homekit”,点击“Apple”

桥接homekit.png

点击添加“HomeKit Bridge 集成”,按照指引完成添加。

桥接homekit2.png

需要注意是的,如果你有温湿度传感器,记得勾选“Sensor”,这个选项默认是不勾选的。

桥接homekit3.png

添加 HomeKit Bridge 集成成功后,点击界面左下角的通知按钮。查看 homekit 的配对二维码。

桥接homekit4.png
桥接homekit5.png

打开“家庭”应用,点击左上角的“+”号,选择“添加配件”。扫描上个步骤的得到的二维码,点击“添加到家庭”。在加入过程中,可能会提示“未认证设备”,点击“仍要添加”。然后完成剩余步骤,逐个添加设备。完成后,你就能能用Siri控制你的智能设备了。

大功告成!🎉

5. 常见问题

Siri 回复设备没有回应?

通过上述方法添加设备后,只能在同一局域网内控制该设备。如果出现这种情况,请检查手机是否连接到家庭网络,并进一步确认 HomeAssistant 服务状态是否正常。

米家空调伴侣导致环境温度错误?

我通过修改配置文件解决这个问题:

  1. config目录下的configuration.yaml添加下面内容:
~/homeas/config/configuration.yaml

homeassistant:

customize: !include customize.yaml

  1. 在config目录下创建customize.yaml,将温度传感器绑定到空调伴侣实体。对应的设备名称和实体名称需要根据实际情况调整(在“设置-设备与服务-实体注册表”中可以得到):
~/homeas/config/customize.yaml

climate.lumi_mcn02_d045_air_conditioner: # 空调伴侣实体ID

bind_sensor: sensor.miaomiaoce_t2_0b9e_temperature_humidity_sensor #温度传感器实体ID

  1. 重启 HomeAssistant

其他问题

欢迎在评论区讨论