Home Assistant + 樹莓派:強大的智能家居系統 · 設備接入篇

原文發表於少數派:Home Assistant + 樹莓派:強大的智能家居系統 · 設備接入篇

作者:cxlwill

------

相信大家通過之前的 安裝篇 已經成功安裝了 Home Assistant (HASS) 和 Homebridge,在這篇文章中,我將帶領大家接入智能家居設備。

大多數人初接觸 HASS 的時候經常一頭霧水,原因是 HASS 的配置體系十分混亂,一個設備的完美接入需要涉及多個配置文件。實際上,系統架構不清晰也是 HASS 的最大缺點,因此,在開始配置教程前,我先幫助大家捋一捋 HASS 的配置框架。

HASS 配置框架

HASS 的核心配置圍繞 configuration.yaml 文件展開, 在這裡你可以進行時區、度量單位、開發者模式、主題選擇等等基礎配置。當然,最為重要的,你將在該文件內完成所有設備的接入。這也是本篇教程的重點

HASS 的運行依賴於一個個相對獨立的功能組件(Components),比如小米米家平台就可以視作一個組件。有些時候,部分設備或者功能仍未得到 HASS 的官方支持,你必須在主目錄下新建自定義組件 custom_components文 件夾,添加相關的設備支持文件。

完成上述的文件修改,加上 HB 的配置,你就可以自如控制所有智能家居設備了。

然而,使用一段時間後,你可能會覺得設備太多顯示凌亂,想給界面換個風格,或者 configuration.yaml 文件看起來要炸了。此時,你會考慮把部分配置剝離出去形成獨立的文件,以滿足你的強迫症。例如你開啟了「設備追蹤功能」(Device Tracker),那麼 HASS 將在主文件下自動生成 known_devices.yaml 文件,你將在這裡配置需要追蹤的設備。本篇教程也將涉及相關內容。至於主題設置、群組設置等其他非功能性設置,我將在之後的「個性化配置」中詳細介紹。

下面正式開始介紹配置方法,這裡以小米米家智能家居設備為例。當然,HASS 原生支持數千款智能家居設備,具體列表 見此。

主文件設置

上一篇教程中我們已經打開了 SMB 服務,現在我們通過 smb 打開 HASS 主目錄。

打開 configuration.yaml,文件默認包含如下內容,我們按需修改:

homeassistant:n #經緯度n latitude: 32.87336n longitude: 117.22743n #海拔n elevation: 430n #度量單位,默認米n unit_system: metricn #時區n time_zone:Asia/Shanghain #系統昵稱,顯示在主界面頂部n name: Homen

正常情況下,剩下的部分便無須變動了。現在添加雅虎天氣服務小試牛刀一下吧:

weather:n - platform: yweathern woeid:2151849n

其中,woeid 是城市代碼,打開雅虎天氣官網輸入城市後搜索,url 的最後幾位數字便是

(woeid)

保存,重啟 HASS。

恭喜你,接入了第一個 HASS 組件~ 現在你大概明白 HASS 是怎麼個操作原理了,我們轉到 homebridge 進行相關設置。

Homebridge 設置

執行指令前,請保證曾經運行過一次 Homebridge。注意:如果添加了開機自啟任務,勿重複運行 Homebridge,否則會出現埠佔用錯誤

cd /home/pi/.homebridgensudo nano config.jsonn{n"bridge": {n"name": "Homebridge",n"username": "CC:22:3D:E3:CE:30(樹莓派MAC地址)",n"port": 51826,n"pin": "123-45-678(連接密碼,自行設定)"n},n"platforms": [n{n"platform": "HomeAssistant",n"name": "HomeAssistant",n"host": "http://樹莓派地址:8123",n"password": "raspberry",n"supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"]n}n]n}n

ctrl+x,y,回車。我們就完成了 Homebridge 的設置。

鷸蚌相爭?

我們知道 Homebridge 本身可以通過插件的方式接入智能設備,有的時候設備同時支持 HASS 和HB 2 個平台,這時我們就面臨平台選擇。

首先,這個問題只存在 iOS 以及未來的 macOS 用戶身上,因為只有你們可以使用 Siri,才可以痛並快樂著。 對於其他終端系統的用戶而言,要麼和設備廠家的app鬥智斗勇,要麼享受 HASS 網頁操控的快感,至於語音控制,就還需等待了。

其次,以米家設備為例,同是網關,HASS 可以控制夜燈功能,獲取光感數據,HB 則不能;而針對掃地機器人,HASS 的接入方法十分複雜,且現階段只能實現開關功能,HB 配置更為容易,且可以控制吸力……可以說兩個平台之間沒有絕對的勝者,都需要具體情況具體分析。個人認為大多數情況下,HASS 對設備的支持更好,並且基於社群支持,跟進速度也更快。

有一點請大家務必注意:二者必取其一,同一設備請通過一個平台接入,否則將產生衝突。

設備追蹤設置

HASS 可以追蹤路由器聯網設備狀態,我們轉換一下思路,便可以利用這個系統判斷家人是否在家等,非常方便。

(家人追蹤)

我的路由器是 ASUS AC66U-B1,HASS 原生支持大部分大廠的路由器,包括小米路由器。設置前需要打開路由器的 SSH 模式,請大家設置好密碼等,保護數據安全。n打開 configuration.yaml 文件,末尾添加:

device_tracker:n - platform: asuswrt #根據平台填寫,小米路由器為xiaomin host: 192.168.50.1 #路由器Ipn username: admin #管理員賬號n password: elena1*SHY #管理員密碼n track_new_devices: no #是否自動添加新設備n

不出意外,重啟 HASS 後,主文件夾下便會自動生成 known_devices.yaml文件,打開之後你會發現,系統已經自動為嗅探到的連接到路由器的設備添加了默認配置:

devicename: n name: Friendly Name #昵稱n mac: EA:AA:55:E7:C6:94 #mac地址n picture: https://home-assistant.io/images/favicon-192x192.png #圖片icon: mdi:human-female #圖標,和圖片取一個設置n track: yes #是否追蹤n hide_if_away: no #離開後是否自動隱藏n

經過上述設置,我相信你的智能家居設備已經在 HASS 里穩定運轉了,現在不妨嘗試使用 Siri 操控你的設備。

在接下來的教程中,我將指導大家如何進行自動化配置,真正實現人工智慧,擺脫遙控的束縛。

由於大家對小米設備的積極性很高,我為此撰寫了獨立教程,歡迎 前往閱讀。

雖然 49.0 沒有更新相關內容,但是我在 Github 源文件中看到了 xiaomi.py 的身影,看來很快 HASS 就要原生支持米家平台了。


推薦閱讀:

黃小軍:智能照明2.0時代來臨
智能「護舒寶」,男女老少都能用!
13. Home Assistant接入到Google Assistant
趕在 iPhone8 之前,這位「垃圾車教授」設計了一套「iPhone 公寓」
數碼產品「碎片化」問題日趨嚴重

TAG:智能家居 | 树莓派RaspberryPi |