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

推荐订阅源

爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
Y
Y Combinator Blog
I
InfoQ
美团技术团队
罗磊的独立博客
B
Blog RSS Feed
GbyAI
GbyAI
小众软件
小众软件
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
MyScale Blog
MyScale Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Home Assistant + 树莓派:强大的智能家居系统 · 小米篇 - 少...
2017-07-23 · via 少数派

通过之前的『安装篇』『设备接入篇』,相信大家对 Home Assistant 有了一定程度的认识。
小米的智能家居设备物美价廉,博得了国内外不少用户的喜爱。不要不信,在 Home Assistant 官方论坛上,米家设备相关话题的热度一直居高不下。HASS 在最新 50.0 版本中已经添加了对小米平台的官方支持。

From: https://home-assistant.io/blog/2017/07/29/release-50/
From: https://home-assistant.io/blog/2017/07/29/release-50/

结合少数派的其他几篇文章,基于小米智能家居设备的用户量,我决定为其单独制作一份教程。

我们知道小米生态链挺复杂,紫米、绿米各种子公司。不管牌怎么换,对于集成平台来说,想要一统江湖,我们只需关心设备的传输协议即可。

目前有一个简单粗暴的标准,即如果一个设备需要小米多功能网关才可以使用,一般来说它采用的是 Zigbee 协议,那么只要网关接入了 HA 就可以完美适配。而如果一个设备是独立接入网络的,比如米家 Wi-Fi 插座、扫地机器人、Yeelight 灯具等,我们则需要单独在 HASS 里接入它们。

类似的标准也适用于 Homeridge,homebridge-mi-aqara 插件正常情况下只支持 Zigbee 设备,其他设备需要另安装插件。

本篇教程将介绍将小米设备接入 HA 的方法,如果你打算通过 HB 直连,请参考渣渣米大大的教程,本教程不再涉及。具体选择哪个方案,大家各取所需,有关平台选择和区别详见本系列之前的文章。

下图是我个人独立整理的小米生态链部分设备支持列表(中英双语):

支持列表 10.11
支持列表 10.11

表格使用 Google SpreadSheet 编辑,将会不断更新。国内朋友可访问『坚果云』获取。在此欢迎各位派友向我提供支持信息或内容纠正,直接在表格内评论即可。

下面我们以传输协议为划分标准,分别介绍小米设备接入智能家居系统的方法,详细完整的全系接入方法,请查阅我整理的 Home Assistant 中文文档

需要提点的是,今后只要是Wifi的设备,都将通过 xiaomi_miio接入,Zigbee 设备则统一是 xiaomi_aqara

Zigbee 设备(网关类设备)

本部分教程仅适用于『绿米网关局域网通信协议』 1.x 版本的环境,不保证未来『局域网通信协议』升级后的适用性。

以小米多功能网关(第二代)为代表的网关类设备是大部分『米家』及 『绿米(Aqara)』 Zigbee 设备的联动基础,也是整个米家智能家居系统的核心。除多功能网关外,空调伴侣和 Aqara 监控摄像头都具备网关功能。

要将网关接入 HA,我们需要先打开网关的通信协议,并获取通讯密码。

打开米家 app,连接设置多功能网关,点击进入网关页面,点击右上角「…」,进入「设置」。点击第二行「关于」,狂点空白处,便会跳出「局域网通信协议」以及「网关信息」。进入「局域网通信协议」,打开开关,记录下密码,这就是之后待填的「key」。回到上级页面,进入「网关信息」,记录下 mac 地址,这就是之后待填的「sid 或 mac」

HA 0.50.0 及之后版本已经添加对米家平台的官方支持,我们只需要直接配置即可。如果之前有复制 custom_componets 文件夹的同学,升级后请删除该文件夹。 打开 configuration.yaml 文件,添加以下配置:

此设置适用于 HA 0.54.0版及之后

xiaomi_aqara:
  gateways:
      - mac: MAC 地址 (地址不带 "-" 或 ":" ,行首的「-」必须保留)
        key: 通讯密码

如果你有多个网关,则按以下格式设定:

xiaomi_aqara:
  gateways:
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx

重启后,HA 主界面将会自动识别网关及捆绑的所有设备。


Yeelight 灯具

Yeelight 目前已经从小米独立出来,运作良好,原生支持 Google Assistant 等平台,应该说是小米生态链下『走出去』的先锋。Yeelight 在 HA 中支持色温、色彩、亮度等控制,基本实现全品支持。

配置前请先在 Yeelight App 中打开『局域网控制 (LAN Control)』,服务器选择中国大陆、新加坡皆可,注意如果所选服务器与米家 App 中不同,则设备无法接入米家 App,但不影响在 Yeelight App 及 HA 中的控制。(Yeelight App 3.0 之前版本中,『局域网控制』为『极客模式』)

之后重启 HA,重启前请打开灯具,稍等几分钟,确认一下设备是否已经被 HA 自动识别添加。如果是的话,皆大欢喜,什么都无需再做了;如果没有,请打开configuration.yaml文件,在合适位置添加如下字段:

light:
  - platform: yeelight
    devices:
      192.168.1.25:              #Yeelight灯具ip
        name: Living Room      #昵称
        transition: 1000
        use_music_mode: True #音乐随动模式,默认关闭

以上 2 个是最常见的具有统一平台的设备适配,下面是使用 WiFi 传输协议设备的具体配置方法:

获取 token

所有的小米 WiFi 设备都必须先取得设备的 token 方可接入 HA,以下简要介绍获取 token 的方法之一,更多方法请参考 Home Assistant 中文文档

首先在安装有 Node.js 的电脑上安装 miio 库

sudo npm install miio

之后,重置待连小米设备的网络,使其产生 WIFI 热点,将电脑连接至该热点上,之后输入:

miio --discover

即获取设备的 token,请集中保存。获取 token 后,如需绑定米家 App,请直接在 App 中添加设备,切勿继续重置设备,否则 token 将重新生成,原有 token 将失效。


米家扫地机器人

HA 原生支持米家和石头扫地机器人(2nd),使用专门的类—— vacuum。

按照上方教程获取扫地机的 token,之后在 configuration.yaml 中填入以下配置:

vacuum:
   - platform: xiaomi_miio
      name: '***'                    #昵称
      host: 192.168.1.2            #ip
      token: R@#RT$TFEW    #token

空气净化器

HA 目前原生支持 2 代空净,暂不支持 Pro 版。
按照上方教程获取空气净化器的 token,之后在 configuration.yaml 中填入以下配置:

fan:
  - platform: xiaomi_miio
    name: Xiaomi Air Purifier 2
    host: 192.168.130.66
    token: YOUR_TOKEN

空调伴侣

米家和 Aqara 均发布了自己品牌的空调伴侣,除外观差异外,内核并无不同。小米已于近日固件更新中开放空调伴侣的『局域网通信协议』,空调控制和网关功能请分别使用各自插件接入。另,目前插件仅支持部分空调品牌的部分预设模式,详见插件说明页,未支持的型号请自行抓包空调码。

Home Assistant 中空调伴侣以自定义组件的方式加入,此组件为爱好者 Mac_zhou 制作,欢迎大家前往 项目地址 点赞。

插件使用前需获取设备的 token:进入『米家』应用,点击空调伴侣,选择右上角『•••』—— 『关于』—— 狂点空白区域 —— 网关信息 “token=xxxxxxx"即是 。

将 Github 中的对应文件放入文件夹,层级与 Github 中展示一致,之后在配置文件中增加以下配置:

climate:
    - platform: mi_acpartner
      name: mi_acpartner
      host: 10.0.0.234 #ip地址
      token: ****** #token
      target_sensor: sensor.temperature_158d00015aefc4 #温度传感器 ID
      target_temp: 26 #目标温度

组件由国人制作, README 文件以中文书写,这里我就不再作变量说明了。


WiFi 插座及智能插线板

0.56.0 的更新带来了插座的支持,接入前先获取设备的 token,具体方法见前文。之后,在 configuraiton.yaml 添加如下设置:

switch:
  - platform: xiaomi_miio
    name: Original Xiaomi Mi Smart WiFi Socket
    host: 192.168.130.59
    token: YOUR_TOKEN

这英文简单得不能再简单了,我就不做变量说明了。


净水器

小米净水器插件由 bit3725 制作,欢迎前往 项目 点赞~
使用方法:从 Github 下载 mi_water_purifier.py,放入 custom_components/sensor/ 文件夹内(文件层级项目本身已经很清晰地给出了),在 configuration.yaml 添加如下设置:

sensor:
  - platform: mi_water_purifier
    host: YOUR_SENSOR_IP
    token: YOUR_SENSOR_TOKEN
    name: YOUT_SENSOR_NAME

接入后自动会生成几项相关的传感器数值,如果需要集中查看,请使用群组:

group:
  - xiaomi_water_purifier:
    name: Xiaomi Water Purifier
    icon: mdi:water
    entities:
      - sensor.tap_water
      - sensor.filtered_water
      - sensor.pp_cotton_filter
      - sensor.front_active_carbon_filter
      - sensor.ro_filter
      - sensor.rear_active_carbon_filter

PM 2.5 监测仪

PM 2.5 监测仪插件由 bit3725 制作,欢迎前往 项目 点赞~

使用方法:从 Github 下载 mi_air_quality_monitor.py,放入 custom_components/sensor/ 文件夹内(文件层级项目本身已经很清晰地给出了),在 configuration.yaml 添加如下设置:

sensor:
  - platform: mi_air_quality_monitor
    host: YOUR_SENSOR_IP
    token: YOUR_SENSOR_TOKEN
    name: YOUT_SENSOR_NAME

更新日志

  • 12.04 增加小米净水器、pm 2.5 监测仪,token 获取教程;
  • 11.21 增加空调伴侣网关支持;
  • 11.20 大幅更新,删除所有 Homebridge 有关内容;
  • 10.24 修改 homebridge-mi-aqara 的配置;
  • 10.23 添加Wifi插座;
    ••••••

继续阅读「Home Assistant + 树莓派」系列的更多文章:


作者的话

距离我发布本系列首篇文章至今已经快半年了,系列至今已有 10 篇教程。无独有偶,JailbreakHum在 《少数派季度作者颁奖礼开场发言》所阐述的『内容调整』的观点恰恰与我的初衷十分契合。可以说从一开始,我就在整个系列中尽量保证内容的入门性,也在现实中帮助了很多派友成功搭建系统。

在和派友的互动中我意识到碍于英文水平的局限,很多人无法进一步地享受 Home Assistant 带来的便利。鉴于此,我个人独立制作了一份更接地气的 中文文档 ,目前仍处于雏形阶段,还在快马加鞭中,希望可以帮助到更多的人,欢迎大家阅读+收藏。

良好的体验需要良性的互动维持,为了保持版面的整洁,请大家不要在系列所有文章下方评论区 PO 整段的错误代码。遇到问题请至『维护答疑篇』集中评论。