树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第1张图片
树莓派 + Home Assistant + HomeKit

通过本篇教程,你将在 Home Assistant 中接入小米智能家居设备,并在安装配置 Home Bridge 插件后,实现 HomeKit 功能,即在 iOS 家庭 App 中控制这些设备。

智能家居是一个系统化的工程,设备之间的通信就是基础建设。消费级智能家居硬件设备的爆发,使得我们能够轻松的搭建个人智能家居系统,而平台与产品的多样性也带来了多种的通信方式,诸如 Zigbee、蓝牙、WiFi、LAN。

小米生态链企业绿米联创生产的米家智能家庭组合使用的就是网关+子设备的模式,网关通过 WiFi 连入家庭网络,子设备通过 Zigbee 与网关连接。这可能是目前最适入手的智能家居模式了,体积小、功耗低、无需布线、不干扰 WiFi 设备,这也是我选择小米平台的一个主要原因。

小米旗下生态链企业众多,不同的产品也需要不同的连接方式。一般采用 Zigbee 技术的设备需要网关支持,在 Home Assistant 中只需要接入网关,就可以控制网关下的所有设备,而其他独立入网的设备,如米家扫地机器人等,需要单独接入。0.50 之后版本的 Home Assistant 提供的原生组件,支持了部分小米平台的设备。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第2张图片
Home Assistant 小米组件

博主 cxlwill 独立整理了小米生态链设备在 Home Assistant 的支持列表(中英双语),表格使用 Google SpreadSheet 编辑,国内用户请通过 有道云笔记 访问。

一、小米设备接入 Home Assistant

小米多功能网关

小米设备众多,我仅选择官方原生支持接入的作为初级教程内容,PS:第一代小米多功能网关无法接入。

我们需要准备小米多功能网关的 mac 地址和局域网通信协议密码 key

在米家 App 中打开小米多功能网关,按图示获得相关信息。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第3张图片
获取 mac & key

▲获取 mac & key

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第4张图片
获取 mac & key

▲获取 mac & key

iOS 与 Android 显示或有不同。

configuration.yaml 文件中添加如下代码:

xiaomi:
  gateways:
      - mac: 你的网关mac,不含冒号
        key: 你的局域网通信协议key(注意空格与缩进)

多个网关,格式如下:

xiaomi:
  gateways:
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx
    - mac: xxxxxxxxxxxx
      key: xxxxxxxxxxxxxxxx

重启 Home Assistant 服务后即可识别相关设备。

小米路由器

configuration.yaml 文件中添加如下代码:

device_tracker:
  - platform: xiaomi
    host: 路由器 IP
    password: 路由器 密码

Yeelight

Home Assistant 支持 Yeelight 以下型号产品。

  • YLDP01YL: LED Bulb (White)
  • YLDP02YL: LED Bulb (Color)
  • YLDP03YL: LED Bulb (Color) - E26
  • YLDD02YL: Lightstrip (Color)

首先你需要 Yeelight App 中打开“极客模式”,在 configuration.yaml 文件中按以下模板添加代码:

如果你在 configuration.yaml 中开启了 discovery: 功能,那么在开启极客模式后,重启 Home Assistant,系统会自动添加相关灯具。

light:
  - platform: yeelight
    devices:
      192.168.1.25: #改为你的 Yeelight 相应IP地址。
        name: Living Room
        transition: 1000
        use_music_mode: True #(音乐随动模式,默认关闭)
        save_on_change: False #(记忆设置,默认开启)
      192.168.1.13: #多个 Yeelight 接入。
        name: Front Door

二、Home Bridge 插件

Home Bridge 是前苹果员工的作品,基于 NodeJS,模拟 iOS HomeKit API。有如其名,作为“桥”来连接 iOS 设备,使得本不支持 HomeKit 的设备能够接入。

在 Hass.io 中安装第三方插件 Home Bridge

  • 打开侧边栏 Hass.io,点击进入插件商店
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第5张图片
安装 Home Bridge 插件

添加插件地址:https://github.com/hassio-addons/addon-homebridge 后保存。(换行后可添加多个地址)

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第6张图片
安装 Home Bridge 插件

在页面底部找到新的 Home Bridge 插件,进入安装。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第7张图片
安装 Home Bridge 插件
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第8张图片
安装 Home Bridge 插件

配置 Home Bridge 插件

打开 \\HASSIO\config\homebridge\config.json 文件,按以下模板修改:

{
  "bridge": {
    "name": "Home Assistant",
    "pin": "123-45-678", /*随意八位pin码*/
    "port": 51826,
    "username": "XX:XX:XX:XX:XX:XX" /*你的树莓派mac地址*/
  },
  "description": "Homebridge for Home Assistant",
  "platforms": [
    {
      "platform": "HomeAssistant",
      "name": "HomeAssistant",
      "host": "http://192.168.1.11:8123", /*你的 Home Assistant 地址*/
      "password": "raspberry", /*你的 Home Assistant 密码*/
      "supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"],
      "default_visibility": "visible",
      "logging": true
    },
    {/*homebridge-config-ui*/
      "platform": "config",
      "name": "Config",
      "port": 8124,
      "log": "/var/log/daemon.log",
      "restart": "sudo systemctl restart homebridge.service"
    }
  ]
}

并在 configuration.yaml 添加如下代码:

# 在 Hass.io 侧边栏添加 homebridge-config-ui 的入口
panel_iframe:
  homebridge:
    title: Homebridge
    icon: mdi:home-automation
    url: http://192.168.1.11:8124 #你的 Home Assistant IP 地址

重启 Home Assistant,并在 Hass.io 中开启 Home Bridge 插件。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第9张图片
Home Bridge 插件

整体而言,除了网络的问题之外,Hass.io 的安装还是很方便的,如果你曾经折腾过 Home Bridge 的话,Hass.io 使你不用费心搭建环境、设置启动、手动调试,一切都在 Hass.io 页面中就可以完成了。

如果你有其他的 Home Bridge 插件需要安装,按以下格式在 Options 内添加。

{
  "debug": false,
  "plugins": [
    "homebridge-dummy --registry=https://registry.npm.taobao.org",
    "homebridge-mysmartlock --registry=https://registry.npm.taobao.org"
  ]
}

三、设置 iOS 设备中的“家庭”App

此节 Android 用户可略过。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第10张图片
家庭 App
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第11张图片
房间
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第12张图片
场景

有了家庭 App,你就可以轻松安全地掌控各种 HomeKit 配件。比如通过 iPhone 让 Siri 帮你关灯,或者从 iPad 上看看门口是谁。家庭 App 能让你连接的各种设备,更高效、智能地为你工作。

家庭 App 会按照房间将配件分组,让你只需轻点一下,就可轻松控制家中任何角落的装置。你甚至可以对 Siri 说“关掉卧室的灯”或是“打开楼上的空调”。而通过 3D Touch,按住一个图标,就能执行调暗灯光或是调节恒温器之类更复杂的任务。

家庭 App 能让你设置多种场景,从而通过一个指令让多个配件联合工作。比如,你可以创建一个名为“我出门了”的场景,便可关闭灯光,锁好房门,以及调低恒温器的温度。

Apple 官方页面,以及设置教程。

在家庭 App 中添加 “桥”

Home Assistant 结合 Home Bridge 插件,使得原本不支持 HomeKit 的设备也能够接入 iOS 的家庭 App,Home Bridge 插件启动后,打开家庭 App 进行以下操作:

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第13张图片
接入家庭 App
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第14张图片
接入家庭 App

手动输入 PIN 码,就是在配置文件中任意写入的那个,你就可以通过这个“桥”连接到 Home Assistant 内的设备了。然后按照官方设置教程进行进一步命名设备。

自动化和远程访问 HomeKit 配件

你可以将 iPad 或 Apple TV(第 4 代)设置为家居中枢,以便在 iOS 设备上实现对 HomeKit 配件的自动化和进行远程控制。设为家居中枢的设备必须留在家中、连接到家中 Wi-Fi 网络且处于开机状态。

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit_第15张图片
自动化和远程访问 HomeKit 配件

将 iPad 设置为家居中枢

在“设置”>“iCloud” 中打开“iCloud 钥匙串”和“家庭”,前往“设置”>“家庭”并打开“将此 iPad 用作家庭中枢”

将 Apple TV 设置为家居中枢

在 iOS 设备或 Mac 上,为您的 Apple ID 设置双重认证。然后,前往 iCloud 并确保“iCloud 钥匙串”已开启。在 Apple TV 上,前往“设置”>“帐户”并确保已登录到 iCloud,且使用的 Apple ID 与 iOS 设备上的相同。登录到 iCloud 后,Apple TV 会自动被设置为家居中枢。要检查家居中枢的状态,请前往“设置”>“帐户”>“iCloud”,然后在“HomeKit”下查看家居中枢是否已连接。

四、下节预告

完成设备的接入,智能家居系统开始有点像样了。我想你们肯定还存在很多问题,“我的设备怎么在 Home Assistant 里重新命名?”“如何分组?”“有些设备我不想加入 HomeKit 里。”“我想要更炫酷的界面!”“这不就是个遥控器嘛,我不需要。”诸如此类。下节教程将对 Home Assistant 进行进一步配置,实现个性化布局,同时对 Home Assistant 的自动化(Automations)做入门讲解。

  • Home Assistant 进阶设置
  • Home Assistant 自动化

你可能感兴趣的:(树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit)