Domoticz 接入苹果的 HomeKit 实现 Siri 控制

前言

接上次的折腾,这次尝试将 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
Domoticz 接入苹果的 HomeKit 实现 Siri 控制
选中“客厅”,添加两个开关设备
Domoticz 接入苹果的 HomeKit 实现 Siri 控制
运行 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 中打开家庭,选添加配件,可看到已经识别到设备
Domoticz 接入苹果的 HomeKit 实现 Siri 控制
手动输入代码后配对成功,往下步骤也会出现之前配置好的两个开关
Domoticz 接入苹果的 HomeKit 实现 Siri 控制
开关已经出现在“家庭”中,可手动控制也可长按 Home 键唤出 Siri 进行语音控制

后话

不得不说 Domoticz 确实插件多且功能齐全,Siri 的接入让 Domoticz 更加智能和方便

Domoticz 接入苹果的 HomeKit 实现 Siri 控制

上一篇:基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范


下一篇:Unity 移动端的复制这么写