Homebridge + Mac 智能家居指南三:Sonos篇
寫在前面:
本人文科生一個,對代碼的知識基本為 0,但是愛折騰瞎搞,寫文章是為了給自己留一個簡單的存檔,分享給可能有需要的人,無力解決各種技術問題,有疑問請評論區互助解答。
今年 618,我被同事種草購買了一台 Sonos Play:1 無線音響,開始有點不習慣,後來慢慢喜歡上了這個不一樣的「智能無線音響系統」,也開始明白 Sonos 與藍牙音箱、無線音箱的定位差別。有機會我單獨寫一篇文章講講。
話又說回來,Sonos 雖然定位是智能音箱,也跟幾乎國內外的音樂服務商合作了,但它與蘋果的 HomeKit 並沒有打通,但是據小道消息,雙方正在談合作。所以我決定先自己動手,豐衣足食。
一、前情回顧
Homebridge + Mac 非技術指南一:介紹及安裝篇
關於如何在 Mac 電腦上搭建 HB 服務請先看第一篇文章,而我在折騰的過程中,偶然找到了 Sonos 相關的HB插件,今天就來聊聊怎麼把 Sonos 智能音箱接入 HomeKit 。
由於兼容性原因,我選的這個 homebridge-zp 插件目前僅實現了播放/暫停、調節音量的功能,但是配合自動化設定後體驗還不錯。
二、安裝及配置 HB 插件
1、安裝 homebridge-zp 插件
打開 Mac 上的終端,輸入:
sudo npm install -g homebridge-zp
最開始試過 homebridge-sonos 插件,但是只能控制音箱的播放和停止。後來發現了這個homebridge-zp 插件,功能比較全。
2、修改配置文件
安裝成功後,我們還需要修改 HB 的配置,打開 Finder,頂部欄菜單—前往文件夾:
~/.homebridge/config.json
打開 config.jason 文件,複製以下代碼。這部分代碼里//後面的備註文字導入時請刪除。
{ "bridge": { "name": "HB橋接器", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "123-45-678" }, "platforms": [ { "platform": "ZP", "name": "ZP", "service": "fan", //把音箱模擬為風扇狀態 "brightness": true, //風扇狀態可調音量 "speakers": false //有多個音箱可選此項 } ]}
GitHub 的示例是把 service 設為 speaker,理論上控制功能更全面,但是自帶的 HomeKit 卻不支持這協議,需要去 App Store 下另一個應用,我覺得本末倒置了,所以沒有採用,感興趣的朋友可以自己去研究下。
我建議把 service 設為 fan(HomeKit 識別為風扇),或者 light(HomeKit 識別為燈泡),這樣就可以讓 Siri 和 HomeKit 控制音箱的播放/暫停,同時還能用風速或亮度值來調節音箱的音量。
缺點是這樣設定會被真正的「風扇」和「燈泡」影響,比如讓 Siri「關燈」的結果就是燈和 Sonos 都關閉了,請根據需求自行取捨。
這些操作做完之後,重新啟動 HB 服務,也就是在終端輸入:
homebridge
三、Sonos 接入 HomeKit
成功的重啟 HB 服務後,打開蘋果的「家庭」App,應該會自動搜索到「Sonos」了,根據上一步的設置,配件類型是「風扇」或「燈泡」。
我把Sonos接入HomeKit的初衷,一是為了瞎折騰,二是為HomeKit自動化做準備。比如當我到達小區附近時,地理圍欄激活,HomeKit 自動切換到家場景,開啟 Sonos 音箱;當我離開家後自動關閉音箱,成為一個更加「潤物細無聲」的環境音樂系統。
參考來源:
- GItHub項目 nfarina/homebridge
- GItHub項目 nfarina/homebridge-sonos
- GItHub項目 ebaauw/homebridge-zp
推薦閱讀:
※接入設備廠商達 139 家,HomeKit 大爆發,蘋果還能領跑智能家居嗎?
※自己動手打造智能家居(二)
※有沒有什麼方法將空調加入homekit中去?或者有海爾之外的homekit空調嗎?
※蘋果公司的家居控制平台 HomeKit 可能帶來哪些改變?
※為什麼homekit尋求開放,而小米智能家居卻想制定自己的標準?