1. 程式人生 > >樹莓派開發筆記(二)搭建智慧家居系統——homebridge + homeassistant

樹莓派開發筆記(二)搭建智慧家居系統——homebridge + homeassistant

搭建智慧家居系統

搭建智慧家居系統

介紹

將 Pi 接入智慧家居控制系統並不新鮮,現有通過 Homebridge (下稱「HB」)接入 Homekit 的教程本身已經非常全面,但是由於 Homekit 本身的侷限性,使其對智慧家居裝置的支援廣度和深度不足,間接影響了使用者的使用體驗。例如,早期 homebridge-aqara 外掛並不支援小米閘道器 2 的自帶燈光控制,白白浪費了裝置的功能。

為了擺脫這一束縛,我們可以利用另一個強大的智慧家居平臺:Home Assistant(下稱「HA」)。

Home Assistant 是一個成熟完整的基於 Python 的智慧家居系統,裝置支援度高,支援自動化(Automation)、群組化(Group)、UI 客製化(Theme) 等等高度定製化設定。背後又有龐大的社群基礎,且不斷在更新。最重要的是我們可以通過 Homeassistant-homebridge 外掛打通兩個平臺,同樣實現裝置的 Siri 控制。整套體系的框架如下:

在這裡插入圖片描述

可以看出,Home Assistant 作為接入所有智慧家居裝置的「平臺」,通過 Homebridge 這一「橋樑」,最終實現 iOS 及 macOS 裝置對智慧家居的設定。

我們知道 Homebridge 本身可以接入部分原生不支援 Apple Homekit 的裝置,但由於 Homekit 本身的侷限性,“橋樑”再強大,也無法逾越其極限。

打個比方來說,每個人都能單獨過橋到對岸,但是速度始終有限,如果我們把人裝進車裡一起運送過橋,效率則更高,同時多了車內這麼一個空間。這裡的“車”就可以看作是 HA。

HA 本身作為一個獨立的平臺,有能力整合大量量產或 DIY 的智慧家居裝置,並且擁有獨立的控制前端,在層級上來說是和 Appple Home 平臺平起平坐的大 Boss。換言之,通過 HB 接入 Homekit 只是這個平臺應用的一部分,對於其他非 Apple 生態使用者,HA 也同樣給予其完整豐富的智慧家居體驗。

本系列將圍繞安裝、配置、開發等內容,詳細介紹 HA 平臺的方方面面,同時針對 HA 與 HB 相容與選擇,自動化配置方法等等問題給出自己的觀點和探索,希望可以給大家玩轉智慧家居帶來新的啟發和收穫。

HA 支援大部分平臺,包括 Docker、macOS、Linux、Windows等。簡而言之,只要你的主機能跑 Python,基本就能安裝 HA。配合『魔鏡』專案,以及便捷性的考慮,我選擇的平臺是樹莓派 3B,本系列教程也將基於樹莓派展開。

軟體安裝

Home Assistant

Home Assistant 是一個基於 Python 3 開發的開源家庭自動化平臺。可以跟蹤和控制家庭中的所有裝置,並實現自動化控制。不同於商業化的平臺,Home Assistant 依託的是龐大的社群,目前支援 779 種不同元件,在 Github 上還有更多的定製元件,0.50 版本後,能夠直接接入小米裝置。它最大的優勢在於豐富的自動化配置以及高度自由的定製化。

Home Bridge

Home Bridge 是前蘋果員工的作品,基於 NodeJS,模擬 iOS HomeKit API。有如其名,作為“橋”來連線 iOS 裝置,使得本不支援 HomeKit 的裝置能夠接入。