通过本篇教程,你将在 Home Assistant 中接入小米智能家居设备,并在安装配置 Home Bridge 插件后,实现 HomeKit 功能,即在 iOS 家庭 App 中控制这些设备。
智能家居是一个系统化的工程,设备之间的通信就是基础建设。消费级智能家居硬件设备的爆发,使得我们能够轻松的搭建个人智能家居系统,而平台与产品的多样性也带来了多种的通信方式,诸如 Zigbee、蓝牙、WiFi、LAN。
小米生态链企业绿米联创生产的米家智能家庭组合使用的就是网关+子设备的模式,网关通过 WiFi 连入家庭网络,子设备通过 Zigbee 与网关连接。这可能是目前最适入手的智能家居模式了,体积小、功耗低、无需布线、不干扰 WiFi 设备,这也是我选择小米平台的一个主要原因。
小米旗下生态链企业众多,不同的产品也需要不同的连接方式。一般采用 Zigbee 技术的设备需要网关支持,在 Home Assistant 中只需要接入网关,就可以控制网关下的所有设备,而其他独立入网的设备,如米家扫地机器人等,需要单独接入。0.50 之后版本的 Home Assistant 提供的原生组件,支持了部分小米平台的设备。
博主 cxlwill 独立整理了小米生态链设备在 Home Assistant 的支持列表(中英双语),表格使用 Google SpreadSheet 编辑,国内用户请通过 有道云笔记 访问。
一、小米设备接入 Home Assistant
小米多功能网关
小米设备众多,我仅选择官方原生支持接入的作为初级教程内容,PS:第一代小米多功能网关无法接入。
我们需要准备小米多功能网关的 mac
地址和局域网通信协议密码 key
。
在米家 App 中打开小米多功能网关,按图示获得相关信息。
▲获取 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,点击进入插件商店
添加插件地址:https://github.com/hassio-addons/addon-homebridge 后保存。(换行后可添加多个地址)
在页面底部找到新的 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 插件。
整体而言,除了网络的问题之外,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 用户可略过。
有了家庭 App,你就可以轻松安全地掌控各种 HomeKit 配件。比如通过 iPhone 让 Siri 帮你关灯,或者从 iPad 上看看门口是谁。家庭 App 能让你连接的各种设备,更高效、智能地为你工作。
家庭 App 会按照房间将配件分组,让你只需轻点一下,就可轻松控制家中任何角落的装置。你甚至可以对 Siri 说“关掉卧室的灯”或是“打开楼上的空调”。而通过 3D Touch,按住一个图标,就能执行调暗灯光或是调节恒温器之类更复杂的任务。
家庭 App 能让你设置多种场景,从而通过一个指令让多个配件联合工作。比如,你可以创建一个名为“我出门了”的场景,便可关闭灯光,锁好房门,以及调低恒温器的温度。
Apple 官方页面,以及设置教程。
在家庭 App 中添加 “桥”
Home Assistant 结合 Home Bridge 插件,使得原本不支持 HomeKit 的设备也能够接入 iOS 的家庭 App,Home Bridge 插件启动后,打开家庭 App 进行以下操作:
手动输入 PIN 码,就是在配置文件中任意写入的那个,你就可以通过这个“桥”连接到 Home Assistant 内的设备了。然后按照官方设置教程进行进一步命名设备。
自动化和远程访问 HomeKit 配件
你可以将 iPad 或 Apple TV(第 4 代)设置为家居中枢,以便在 iOS 设备上实现对 HomeKit 配件的自动化和进行远程控制。设为家居中枢的设备必须留在家中、连接到家中 Wi-Fi 网络且处于开机状态。
将 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 自动化