前言
接上次的折腾,这次尝试将 Domoticz 接入到苹果的 HomeKit,也就是在 iPhone 的 Siri 中可以语音控制。参考官方文档
步骤
安装 nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs -y
安装完成后再安装 pm2
sudo npm install -g pm2
安装 MDNS
sudo apt-get install libavahi-compat-libdnssd-dev
安装 homebridge 之前,需要安装两个依赖包 hap-nodejs 和 hap-nodejs
sudo npm install -g node-gyp
sudo npm install -g hap-nodejs
安装 hap-nodejs 时出现错误
user "root" does not have permission to access the dev dir "/usr/lib/node_modules/hap-nodejs/node_modules/curve25519-n/.node-gyp/8.11.4"
修复问题后重新安装
cd /usr/lib/node_modules/hap-nodejs/node_modules/curve25519-n
sudo node-gyp BUILDTYPE=Release rebuild
sudo npm install -g hap-nodejs
接下来就是安装 homebridge
sudo npm install -g --unsafe-perm homebridge
安装 homebridge 的 Domoticz 插件
sudo npm install -g homebridge-edomoticz
配置之前,先在 Domoticz 中添加房间区域,点设置 → 更多选项 → 平面图/区域图 → 房间区域,比如添加一个“客厅”,添加完成后客厅的 Idx 为 2
选中“客厅”,添加两个开关设备
运行 homebridge,会提示“config.json (/home/pi/.homebridge/config.json) not found”,所以进入 /home/pi/.homebridge,添加配置文件
cd /home/pi/.homebridge
vim.tiny config.json
内容如下,其中 bridge 的 username 要改成树莓派的物理地址,ifconfig 可查看,platforms 的 roomid 改成跟上面客厅的 Idx 一样
{
"bridge": {
"name": "Homebridge",
"username": "CC:21:3E:E4:DE:33",
"port": 51826,
"pin": "031-45-154"
},
"description": "Configuration file for (e)xtended Domoticz platform.",
"platforms": [
{
"platform": "eDomoticz",
"name": "eDomoticz",
"server": "127.0.0.1",
"port": "8080",
"ssl": 0,
"roomid": 2,
"mqtt": 1
}
],
"accessories": []
}
用 pm2 添加 homebridge 的开机自启
pm2 start homebridge
pm2 save
pm2 startup
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
运行 homebridge,出现一个二维码和一个刚才配置文件中设置的码,在 iPhone 中打开家庭,选添加配件,可看到已经识别到设备
手动输入代码后配对成功,往下步骤也会出现之前配置好的两个开关
开关已经出现在“家庭”中,可手动控制也可长按 Home 键唤出 Siri 进行语音控制
后话
不得不说 Domoticz 确实插件多且功能齐全,Siri 的接入让 Domoticz 更加智能和方便