標籤:代碼 mod apt 前言 username src 添加 參考 unsafe
前言
接上次的折騰,這次嘗試將 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-gypsudo 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-nsudo node-gyp BUILDTYPE=Release rebuildsudo 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/.homebridgevim.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 homebridgepm2 savepm2 startupsudo 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 更加智能和方便
Domoticz 接入蘋果的 HomeKit 實現 Siri 控制