打造舒适的 WFH 智慧居家环境,控制家电尽在指尖
示范使用树莓派当 HomeBridge 主机,将所有米家家电串上 HomeKit
Click here to view the English version of this article.
點擊這裡查看本文章正體中文版本。
基于 SEO 考量,本文标题与描述经 AI 调整,原始版本请参考内文。
文章目录
打造舒适的 WFH 智慧居家环境,控制家电尽在指尖
示范使用树莓派当 HomeBridge 主机,将所有米家家电串上 HomeKit
photo by picjumbo.com
关于
因为疫情的关系,在家时间变长了;尤其是要 Work From Home 的话,家里的电器设备最好都能在 APP 上智能控制,就不用一下子离开去开灯、一下子去开电锅…等等,很浪费时间。
之前写过一篇「 智慧家居初体验 — Apple HomeKit & 小米米家 」 ,初试使用 HomeBridge 将小米家电串上 HomeKit,实证理论上可行,但实际应用提到的不多,今天这篇算是综合前篇的进阶完整版,包含选择树莓派当主机的话该怎么设定,从头到尾手把手教学。
起因是最近换了 iPhone 11 Pro 能支援 iOS ≥ 13 捷径的 NFC 自动化功能,就是手机感应到 NFC Tag 就能执行相应的捷径;虽然 可以直接拿旧的悠游卡当 NFC Tag ,但太占空间也没那么多张卡;我去光华问了一圈都没有再卖 NFC Tag 感应贴纸,最后才在虾皮找到 $50 一张,买了 5 张来玩玩,卖家还很贴心的帮我用颜色区隔开。
*NFC 自动化功能是绑机型的,只有 iPhone XS/XS max/XR/11/11pro/11pro max 支援这个功能,之前拿 iPhone 8 完全没 NFC这选项。
稍微把玩了一下发现有个问题,就是执行米家 APP 的捷径时一定要打开「执行时显示」选项(否则不会真的执行), 感应到 Tag 要执行时还要解锁 iPhone 、执行时也会开启捷径,无法在后台直接感应执行 ;另外实测了如果捷径是原生苹果的服务(如:HomeKit 的家电)就能在背景&免解锁下直接执行;而且 homeKit 的反应速度、稳定度都比米家好很多。
这在爽度上有很大的差别,所以就又深入研究了将米家智慧家居系列的产品都接上 HomeKit,有支援 HomeKit 的就直接绑定本篇不赘述;不支援的就照此文教学也一起绑定上去!
我的米家智慧家居项目
米家智慧摄影机 云台版 1080P
米家直流变频电风扇
米家 LED 智慧台灯
小米空气净化器 3
米家台灯 Pro(本身就支援 HomeKit)
米家 LED 智慧灯泡 彩光版 * 2 (本身就支援 HomeKit)
运作原理
做了一张简易的参考图,如果智慧家电有支援 HomeKit 就直接串上去、 不支援的智慧家电透过架设「HomeBridge」服务主机(要一直开机)也能桥接串上去 ;在同一个网路环境下(EX: 同个 WiFi)iPhone 可以自由地控制 HomeKit 中的所有家电项目;但若在外部网路,如 4G 行动网路情况下,就需要有一台 Apple TV/HomePod 或 iPad 当家庭中枢主机,在家待命(一样要一直开著) 才能在外面控制家中的 HomeKit,若无家庭中枢在外面打开家庭 APP 会显示「 无回应 」。
*若是米家的话,会经由米家伺服器控制家里的电器,要说的话 会有安全问题,资料都要经过大陆 。
需求环境
所以一共有两个设备要一直开著待命,一台是 Apple TV/HomePod 或 iPad 家庭中枢主机;这部分目前无解,无法用其他方式模拟,只能想办法取得这些设备,如果没有就只能在家使用 HomeKit 。
另一台只要是能 24 hr 待命的电脑(如您的 iMac/MacBook)、闲置的主机(旧的 iMac、Mac Mini)或树莓派都可以。
*windows 系列未尝试,不过应该也可以!
亦或是你想玩玩也可以直接用目前的电脑来用(可搭配 前篇文章 一起服用)。
本文将以树莓派(Raspberry Pi 3B)、使用 Macbook Pro (MacOS 10.15.4) 操作下作示范,从设定树莓派的环境从头开始讲;若不是使用树莓派的朋友可以直接略过跳到 HomeBridge 串接 HomeKit 的部分(这里都一样)。
Raspberry Pi 3B (special thanks to Lu Xun Huang )
若是使用树莓派还需要一张 micro SD 记忆卡(不用太大,我用 8G)、读卡机、网路线(设定用,之后可连 WiFi);还有树莓派需要的软体:
树莓派环境设定
烧录作业系统
下载完需求的两个软体后,我们先将记忆卡放入读卡机插上电脑;打开 Etcher 程式(balenaEtcher)
第一项选择刚下载的树莓派作业系统「xxxx.img」、第二项选择你的记忆卡装置,然后点击「Flash!」开始烧录!
此时会跳出要你输入 MacOS 的密码 ,输入后按「Ok」继续。
烧录中…请稍候….
验证中…请稍候….
烧录成功!
*若有出现红色的 Error ,可尝试将记忆卡格式化后再次烧录。
重新将读卡机接上电脑,并在记忆卡内容目录下建立一个空的 「ssh」 档案( 或点此下载 )内容空白、不用副档名,就是个「ssh」档;让我们可以用 Terminal 连线进树莓派。
ssh
设定树莓派
将记忆卡退出,插入树莓派上并接上网路线,然后通电开机;并让 MacBook 跟树莓派在同个网路环境下。
查看树莓派分配到的 IP 位置
得到 树莓派分配到的 IP 位置是: 192.168.0.110 (本文所有出现的 IP 请自行更换成你查到的结果)
建议将树莓派设定为指定/保留 IP,否则开机重连后 IP 位置可能会变动,要重新查。
使用 SSH 连入树莓派进行操作
打开 Terminal 输入:
1
ssh pi@你的树莓派IP位址
有询问就输入 yes ,密码输入预设密码: raspberry
连线成功!
*若有出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 之类的错误讯息就先去 /Users/xxxx/.ssh/known_hosts 用文字编辑器打开清空即可
树莓派基本工具安装、设定
- 输入以下指令安装 Vim 编辑器:
1
sudo apt-get install vim
2.解决以下语系警告:
1
2
3
4
5
6
7
8
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_LANG = "zh_TW.UTF-8",
LANG = "zh_TW.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
输入
1
vi .bashrc
按「Enter」进入
按「 i 」进入编辑模式
移动到文件最底部,加上一行「 export LC_ALL=C 」
按「Esc」输入「 :wq! 」储存退出。
再下「 source .bashrc 」更新即可。
3.安装 nvm 管理 nodejs/npm:
1
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh \\| bash
4.用 nvm 安装最新版 nodejs :
nvm install 12.16.2
*这边选择安装「12.16.2」版本
5.确认环境安装完成:
输入以下指令
npm -v
和
node -v
确认
没错误讯息即可!
6.建立 nodejs 连结
输入以下指令
1
which node
取得 nodejs 所在路径资讯
再输入
1
sudo ln -fs 这边贴上你 which node 查到的路径(不用"双引号) /usr/local/bin/node
建立连结
设定完成!
启用树莓派 VNC 远端桌面功能
这边我们虽然是装 GUI 版,你当然可以直接将树莓派接上键盘、HDMI 当一般电脑使用,但为了方便我们将使用远端桌面的方式控制树莓派。
输入:
1
sudo raspi-config
进入设定:
选择第五项「 Interfacing Options 」
选择第三项「 P3 VNC 」
使用 「 ← 」选择「 Yes 」打开
VNC 远端桌面功能启用成功!
使用 「 → 」直接切到「 Finish 」退出设定介面。
将 VNC 远端桌面服务加入到开机自动启动项
我们希望 VNC 远端桌面服务是树莓派开机后就自动启用的。
输入
1
sudo vim /etc/init.d/vncserver
按「Enter」进入
按「 i 」进入编辑模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop vncserver
### END INIT INFO
# More details see:
# http://www.penguintutor.com/linux/vnc
### Customize this entry
# Set the USER variable to the name of the user to start vncserver under
export USER='pi'
### End customization required
eval cd ~$USER
case "$1" in
start)
su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1024x768 :1'
echo "Starting VNC server for $USER "
;;
stop)
su $USER -c '/usr/bin/vncserver -kill :1'
echo "vncserver stopped"
;;
*)
echo "Usage: /etc/init.d/vncserver {start\\|stop}"
exit 1
;;
esac
exit 0
「Commend」+「C」、「Commend」+「V」复制贴上以上内容进去,按「Esc」输入「:wq!」储存退出。
再输入:
1
sudo chmod 755 /etc/init.d/vncserver
修改文件权限。
再输入:
1
sudo update-rc.d vncserver defaults
加入到开机自动启动项目。
最后输入:
1
sudo reboot
重新启动树莓派。
*重新启动完成后,再照之前的步骤重新使用 ssh 连线进来。
使用 VNC Client 进行连线:
这边使用的是 Chrome 的 APP 「 VNC® Viewer for Google Chrome™ 」,安装完启动后,输入 树莓派 IP 位置:1 ,请注意后面的 Port:1 要加上!
*我使用 Mac 自带的 VNC:// 无法连线,不确定原因。
点选「 Connect 」。
点选「 OK 」。
输入登入帐号密码 ,同 SSH 连线,帐号 pi 预设密码 raspberry 。
成功连入!
完成树莓派初始化设定:
再来都是图形介面!很容易!
设定语言、地区、时区。
更改树莓派预设密码,输入你要设定的密码。
直接下一步「 Next 」。
设定使用 WiFi 连线,之后就不用在插线了。
*但请注意树莓派 IP位置可能会改变,要再进路由器查询
是否要更新当前作业系统,不赶时间就选「 Next 」更新吧!
*更新大约需要20~30分钟(依照你的网路速度)
更新完成后,点击「 Restart 」重新启动。
树莓派环境设定完成!
HomeBridge 安装
正式进入重头戏,安装使用 HomeBridge。
使用Terminal ssh 连线进树莓派或直接使用 VNC 远端桌面里的 Terminal。
输入:
1
npm -g install homebridge - unsafe-perm
^( 不加 sudo )
安装 HomeBridge
安装完成!
建立/修改设定档(config.json):
为了方便编辑,使用 VNC 远端桌面连线至树莓派 (也可直接用指令) :
点左上角打开「 档案管理程式 」-> 进入「 /home/pi/.homebridge 」
若没看到「config.json」档案则在空白处点右键「 New File 」-> 输入档案名称「 config.json 」
在「 config.json 」上按右键用「 Text Editor 」打开
贴上以下基础设定内容:
1
2
3
4
5
6
7
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "123-45-568"
}
内容不用特别更改,直接照搬即可!
记得存档!
完成!
绑定 HomeBridge 到 Homekit
输入:
1
homebridge start
^( 不加 sudo )
启用
*若出现 Error: Service name is already in use on the network / port被占用之类的错误可尝试砍掉服务、改用
homebridge restart重启、或重新开机。
*若出现was not registered by any plugin之类的错误则代表你还没有安装相应的homebridge plugin。
启动中有更改 设定档(config.json)内容的话要改下:
sudo homebridge restart
重新启动 HomeBridge
*按「Control」+「C」可在 Terminal 关闭退出 HomeBridge 服务。
拿出 iPhone 打开「家庭」APP,在「家庭」右上角点「+」,选「加入配件」, 扫描你出现的 QRCode 。
这时应该会出现「 找不到配件 」,别担心!因为我们还没有加入任何配件到 HomeBridge 桥接器上,没关系,让我们继续往下看。
至少要有一个配件才能扫描加入! ! ! (这边以摄影机为范例) : 至少要有一个配件才能扫描加入! ! ! (这边以摄影机为范例) : 至少要有一个配件才能扫描加入! ! ! (这边以摄影机为范例) :
第一次扫描加入会出现警告视窗,按「强制加入」即可!
加入过一次后,后面再新增的配件都不用再次扫描了,会自己更新进去!
将 HomeBridge 服务加入树莓派开机自动启动项目
同 VNC 远端桌面服务,我们也希望 HomeBridge 服务是树莓派开机后就自动启用的,不然一但重开机就要再次手动连进来启用。
输入:
1
which homebridge
取得 homebridge 路径资讯
记下此路径。
再输入:
1
sudo vim /etc/init.d/homebridge
按「Enter」进入
按「 i 」进入编辑模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
dir="/home/pi"
cmd="DEBUG=* 这边贴上你 which homebridge 查到的路径"
user="pi"
name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"
get_pid() {
cat "$pid_file"
}
is_running() {
[ -f "$pid_file" ] && ps -p `get_pid` > /dev/null 2>&1
}
case "$1" in
start)
if is_running; then
echo "Already started"
else
echo "Starting $name"
cd "$dir"
if [ -z "$user" ]; then
sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
else
sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
fi
echo $! > "$pid_file"
if ! is_running; then
echo "Unable to start, see $stdout_log and $stderr_log"
exit 1
fi
fi
;;
stop)
if is_running; then
echo -n "Stopping $name.."
kill `get_pid`
for i in 1 2 3 4 5 6 7 8 9 10
# for i in `seq 10`
do
if ! is_running; then
break
fi
echo -n "."
sleep 1
done
echo
if is_running; then
echo "Not stopped; may still be shutting down or shutdown may have failed"
exit 1
else
echo "Stopped"
if [ -f "$pid_file" ]; then
rm "$pid_file"
fi
fi
else
echo "Not running"
fi
;;
restart)
$0 stop
if is_running; then
echo "Unable to stop, will not attempt to start"
exit 1
fi
$0 start
;;
status)
if is_running; then
echo "Running"
else
echo "Stopped"
exit 1
fi
;;
*)
echo "Usage: $0 {start\\|stop\\|restart\\|status}"
exit 1
;;
esac
exit 0
将:
cmd=”DEBUG=* 这边贴上你 which homebridge 查到的路径”
替换入你查到的路径资讯(不用“双引号)
「Commend」+「C」、「Commend」+「V」复制贴上以上内容进去,按「Esc」输入「:wq!」储存退出。
再输入:
1
sudo chmod 755 /etc/init.d/homebridge
修改文件权限。
最后输入:
1
sudo update-rc.d homebridge defaults
加入到开机自动启动项目。
完成!
可直接使用
sudo /etc/init.d/homebridge start启用homebridge服务。
另可使用:
tail -f /var/log/homebridge.err查看启动错误讯息、tail -f /var/log/homebridge.log查看 log 。
米家智慧家电串接前准备
Homebridge on 起来后,我们就可以开始逐个将所有米家家电加入至 Homebridge 接上 homeKit!
首先我们要先将米家智慧家电都加入「 米家APP 」 ,我们要从其中获取串接上 HomeBridge 的资讯。
智慧家电都加入米家 APP 后:
将 iPhone 接上 Mac 电脑,打开 Finder/Itunes 介面,选择接上的手机
选备份到「 这部电脑 」、 「 不要勾!替本机备份加密」 ,点「 立即备份 」
备份完成后, 下载 安装备份查看软体: iBackupViewer
打开「 iBackupViewer 」
初次启动会要你去 Mac「系统偏好设定」- 「安全性与隐私权」-「隐私权」-「+」- 加入「iBackupViewer」
**如有隐私顾虑可关闭网路使用这套软体、并在使用后移除*
再次打开「 iBackupViewer 」成功读取到备份档后,点击「刚备份的手机」
选择「 App Stroe 」Icon
左方找到「米家 APP (MiHome.app)」-> 右方找到「 数字_mihome.sqlite」 这个档案并「 选择 」 -> 右上角「 Export 」-> 「 Selected Files 」
*若有两个 「数字_mihome.sqlite」档案,则挑 Created 建立时间最新的来用。
将刚刚汇出的 数字_mihome.sqlite 档案 拖曳进这个网站查看内容:
可将查询语法换成:
1
SELECT `ZDID`,`ZNAME`,`ZTOKEN` FROM 'ZDEVICE' LIMIT 0,30
仅显示我们需要的栏位资讯 (若有特别的家电套件需要其他的栏位资讯也可以加上去做筛选)
ZDID: 装置 ID
ZNAME: 装置名称
ZTOKEN: 装置 ZToken
ZTOKEN 不能直接用,要转换成 “Token” 才能使用。
这边以摄影机的 ZToken 转换 Token 为例:
首先,我们从上面列表取得摄影机的 ZToken 栏位内容
1
7f1a3541f0433b3ccda94beb856c2f5ba2b15f293ce0cc398ea08b549f9c74050143db63ee66b0cdff9f69917680151e
但这边拿到的 TOKEN 还不能用,我们还需要将他转换
打开 http://aes.online-domain-tools.com/ 这个网站:
将刚刚复制出来的 ZTOKEN 贴在「Input Text」,选「Hex」
Key输入「00000000000000000000000000000000」32个0,ㄧ样选「Hex」
然后按下「Decrypt!」转换
全选复制右下角两行的输出内容&去掉空格后就是我们要的结果 Token
「 6d304e6867384b704b4f714d45314a34 」就是我们要的 Token 结果!
*Token 去得方式这块有尝试用「miio」直接嗅探的方式,但好像是米家韧体有更新过,已无法用这个方法快速方便得到 Token 了!
最后,我们还要知道 装置的 IP 位址 (这边一样以摄影机为例):
打开米家APP → 摄影机 → 右上角「…」→设定→网路讯息,得到 IP位址 !
记录下 ZDID/Token/IP 这些资讯,供后续使用。
将米家智慧家电逐个串入 HomeBridge
依照个别装置需要用到的套件、连线资讯不同,逐个安装、设定,加入至 HomeBridge。
再来打开 Terminal ssh 连线进树莓派或直接使用 VNC 远端桌面里的 Terminal,继续后续作业….
1.米家摄影机云台版:
在 Terminal 下命令安装 MijiaCamera 这个 homebridge 套件 ( 不加 sudo ):
1
npm install -g homebridge-mijia-camera
参考前文的修改设定档(config.json)教学,在档案中加入 accessories 区块 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"accessories":[
{
"accessory":"MijiaCamera",
"name":"Mi Camera",
"ip":"",
"token":""
}
]
}
accessories: 加入米家摄影机的设定资讯,ip 带入摄影机 ip、token 带入带入前文教学教的 token
记得存档!
然后照 Homebridge 章节教的,启动/重新启动/扫描加入 Homebridge;就能在「家庭」APP 中看到摄影机的控制项目了。
可控制项目:摄影机开/关
2.米家直流变频电风扇
在 Terminal 下命令安装 homebridge-mi-fan 这个 homebridge 套件 (不加 sudo) :
1
npm install -g homebridge-mi-fan
参考前文的修改设定档(config.json)教学,在档案中加入 platforms 区块(若已有则在区块内「,」新增一个子区块) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"platforms":[
{
"platform":"MiFanPlatform",
"deviceCfgs":[
{
"type":"MiDCVariableFrequencyFan",
"ip":"",
"token":"",
"fanName":"room fan",
"fanDisable":false,
"temperatureName":"room temperature",
"temperatureDisable":true,
"humidityName":"room humidity",
"humidityDisable":true,
"buzzerSwitchName":"fan buzzer switch",
"buzzerSwitchDisable":true,
"ledBulbName":"fan led switch",
"ledBulbDisable":true
}
]
}
]
}
platforms: 加入米家电风扇设定资讯,ip 带入摄影机 ip、token 带入前文教学教的 token、humidity/temperature 可控制是否连动显示温湿度计资讯、 type 需带入对应型号的文字 ,支援四种不同型号的电风扇:
智米直流变频落地扇:ZhiMiDCVariableFrequencyFan
智米自然风风扇:ZhiMiNaturalWindFan
米家直流变频:MiDCVariableFrequencyFan (台湾卖的)
米家风扇:DmakerFan
请自行带入自己的风扇型号。
记得存档!
然后照 Homebridge 章节教的,启动/重新启动/扫描加入 Homebridge;就能在「家庭」APP 中看到摄影机的控制项目了。
可控制项目:电风扇开/关、风力大小调整
3.小米空气净化器 3
在 Terminal 下命令安装 homebridge-xiaomi-air-purifier3 这个 homebridge 套件 (不加 sudo) :
1
npm install -g homebridge-xiaomi-air-purifier3
参考前文的修改设定档(config.json)教学,在档案中加入 accessories 区块(若已有则在区块内「,」新增一个子区块) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"accessories":[
{
"accessory":"XiaomiAirPurifier3",
"name":"Xiaomi Air Purifier",
"did":"",
"ip":"",
"token":"",
"pm25_breakpoints":[
5,
12,
35,
55
]
}
]
}
accessories: 加入米家电风扇设定资讯,ip 带入摄影机 ip、token 带入前文教学教的 token、did 带入 zdid
记得存档!
然后照 Homebridge 章节教的,启动/重新启动/扫描加入 Homebridge;就能在「家庭」APP 中看到摄影机的控制项目了。
可控制项目:空气清净机开关、风力大小调整 可查看项目:当前温湿度
4.米家 LED 智慧台灯
在 Terminal 下命令安装 homebridge-yeelight-wifi 这个 homebridge 套件 (不加 sudo) :
1
npm install -g homebridge-yeelight-wifi
参考前文的修改设定档(config.json)教学,在档案中加入 platforms 区块(若已有则在区块内「,」新增一个子区块) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"platforms":[
{
"platform":"yeelight",
"name":"Yeelight"
}
]
}
不用特别带什么参数进去!若要做更细节的设定可参考 官方文件 (如亮度/色温…)
记得存档!
智慧台灯还需改绑定到「 Yeelight 」APP,然后将「区域网路控制」打开才能给 Homebridge 控制。
1.在 iPhone 上下载安装「 Yeelight 」APP
App Store 搜寻「Yeelight」安装
安装完打开 Yeelight APP -> 「增加装置」-> 找到「米家台灯」-> 重新配对绑定
最后一步记得打开「 区域网路控制 」
*如果不小心没点到打开,可以在「装置」页 -> 选台灯装置进入 -> 点右下角「△」Tab -> 点「局域网控制」进入设定 -> 打开区域网路控制
吐槽一下这个真的有够烂,米家本身的 APP 没有此开关功能,一定要绑到 Yeelight APP,也不能解绑或重绑回米家…否则会失效。
然后照 Homebridge 章节教的,启动/重新启动/扫描加入 Homebridge;就能在「家庭」APP 中看到摄影机的控制项目了。
可控制项目:灯开关、色温调整、亮度调整
其他米家智慧家电 homebridge 套件:
我最终的 config.json 长这样:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"accessories":[
{
"accessory":"MijiaCamera",
"name":"Mi Camera",
"ip":"192.168.0.105",
"token":"6d304e6867384b704b4f714d45314a34"
},
{
"accessory":"XiaomiAirPurifier3",
"name":"Xiaomi Air Purifier",
"did":"270033668",
"ip":"192.168.0.108",
"token":"5c3eeb03065fd8fc6ad10cae1f7cce7c",
"pm25_breakpoints":[
5,
12,
35,
55
]
}
],
"platforms":[
{
"platform":"MiFanPlatform",
"deviceCfgs":[
{
"type":"MiDCVariableFrequencyFan",
"ip":"192.168.0.106",
"token":"dd1b6f582ba6ce34f959bbbc1c1ca59f",
"fanName":"room fan",
"fanDisable":false,
"temperatureName":"room temperature",
"temperatureDisable":true,
"humidityName":"room humidity",
"humidityDisable":true,
"buzzerSwitchName":"fan buzzer switch",
"buzzerSwitchDisable":true,
"ledBulbName":"fan led switch",
"ledBulbDisable":true
}
]
},
{
"platform":"yeelight",
"name":"Yeelight"
}
]
}
给大家做参考!
我有用到的米家家电如上教学,其他我没有的就没去试了,大家可以自己 上 npm 查询(homebridge-plugin XXX英文名称) ,然后照上面逻辑大同小异安装、设定串接上去!
这边附上几个我找到但没试过的 homebridge 套件(不保证能用):
小米空气清净机1代: homebridge-mi-air-purifier
米家智能插座系列: homebridge-mi-outlet
小米扫地机器人: homebridge-mi-robot_vacuum
米家智能网关: homebridge-mi-aqara
小叮咛
建议到路由器将所有米家家电设定为指定/保留 IP,否则 IP 位置可能会变动,要重新更改 config.json 设定。
如果发现步骤都对但就是串不起来出现错误或是在 HomeKit 上一直显示「无回应」,可以重新尝试看看;如果还是一样可能代表套件已失效,要找其他的套件来串接了。(可查看 github issue)
功能失效、反应慢;这个也无解,可以发 issue 告知作者等作者更新,由于是开源专案,不可要求太多了!
绑定完每个家电,都可以启动一次 Homebridge,再回到 iPhone 上看能不能运作,能的话可以再下「Controle」+「C」终止;当全部家电都绑定好后,可重新启动树莓派,让他在重启后自己在后台启动 homebridge 服务;这才是我们要的。
结语
另外可以在「设定」->「控制中心」->「自订」中将「家庭」APP 拉上去就能在下拉控制中心中快速操作 HomeKit !
全部串上 HomeKit 后只有一个字「爽」!开关的反应更快,只差我没有家庭中枢没办法远端控制而已,此篇进阶 Homebridge 也到此结束,感谢阅读。
回到文章开头,全都加入 HomeKit 后我们就可以无痛使用 iOS ≥ 13的捷径自动化功能了。
之后再想要来研究 homebridge 套件是怎么做的?感觉很有趣呢!所以如果有 HomeBridge 套件不合你的操作需求、有套件坏了找不到替代的,就在等我去研究吧!
Home assistant
还有另一个智慧家庭的平台 Homeassistant 可以刷入树莓派使用( 但请注意:需要 2A 的电源才有办法启动 ); Homeassistant 我也有灌来玩玩看,全 GUI 图型操作,点一点就能串入家电;之后再来深入研究,感觉他等同于另一个米家平台而已,如果有很多不同厂商的 IOT 元件,更适合使用这个。
参考资料
延伸阅读
有任何问题及指教欢迎 与我联络 。
本文首次发表于 Medium (点击查看原始版本),由 ZMediumToMarkdown 提供自动转换与同步技术。



{:target="_blank"} )](/assets/99db2a1fbfe5/1*go-wGMdV1VVbJ3c00rh0_w.webp)




























































