當前位置:
首頁 > 科技 > 家庭網路全套解決方案分享:教你打造進階版跨平台智能家居系統

家庭網路全套解決方案分享:教你打造進階版跨平台智能家居系統

本文作者:yifanw

前言

此篇緊接著上次發表的跨智能家居系統搭建方案(上篇) ,把標題修改了一下,沒那麼啰嗦了 ,爭取縮短每個篇幅間的等待時間,讓感興趣的值友能更快看到更多的乾貨

在上篇中我介紹了使用威聯通NAS中官方應用Container Station來搭建Home Assistant服務端,並搭配Echo,Google Home等智能音箱實現跨平台智能硬體控制,雖然還沒講到音箱部分但是評論中有提到目前國產的幾個品牌音箱也可以連入HA平台,這樣就可以解決中文的問題了。所以大家在實際操作的時候不一定需要使用同樣的硬體,只要音箱本身支持接入HA平台就可以 。另外也並非必須使用威聯通的NAS來做HA的伺服器,樹莓派,群暉或其它linux平台甚至windows平台一樣可以,搭建完成後後面的內容因為是基於HA或第三方服務本身,所以這裡分享的主要是解決方案和個人建議的搭建思路,如果有更好的方式或者有錯誤的地方還請在評論中指出 好了~ 那就繼續開工咯~

設備分組

在上篇中我介紹了HA服務端搭建完成後可以通過configuration.yaml這裡配置文件來添加所有智能設備,下面繼續拿我客廳的設備作為樣例講解。

在上篇中配置的客廳照明設備

如果只是把所有設備按照規定的格式添加進去的話,所有設備都會全部出現在HA的管理頁面上,只會按照類別來進行分組,例如,如果家裡客廳,卧室,兒童房,廚房等地方全部安裝了wifi燈泡,特別是某個房間有多個燈泡或者照明設備時,添加完成後在HA中會一股腦的放在「燈光」這個大類下,並不方便管理,我們需要能按照實際布局來把他們按房間來分組,這樣方面我們統一開關和管理,先來看一下分組完成後的效果

這樣是不是一目了然?

那麼我們如何配置才能實現呢?這裡需要使用到一個新的配置項 - group

在configuration.yaml主配置文件中添加 group欄位,並且使用 !include + 外部文件名(這裡使用 groups.yaml)的方式來包含分組信息。添加完成後,使用WinSCP連接到HA docker內雙擊打開groups.yaml文件進行設備組的劃分。

使用單獨文件groups.yaml來配置設備組

在配置組之前,需要先知道每個設備在HA中的id名稱,如果已經把所有設備添加完成了就可以進入到HA管理頁面,點擊左邊菜單下發開發者工具中的圖標進入設備列表

這裡可以查看到所有已添加設備的id(id名稱為添加設備時設置的name參數)

Tips:前面在configuration.yaml中添加設備時候注意一定要設置name參數哦~ 不然設備多的話會搞不清楚到底是什麼設備。

按照下面的格式在groups.yaml內進行設備分組配置

上面的圖中是我家實際客廳所有智能設備組的劃分,因為客廳的設備較多所以一共設置了4個組,方便單獨控制,也為了後面在加入第三方服務時可以自由創建各種組合:

Tips: 如果一個房間內有多個設備,可以創建多層的組,例如,我上面的這個例子,一共創建了4個組,除了全體設備這個組包含了全部設備外,按照功能及使用便利性又創建了3個設備組,這樣我如果想單獨同時控制2個沙發燈帶的時候就可以打開/關閉 沙發燈帶組即可。

單獨打開沙發燈帶組的效果

另外一個需要注意的地方是配置組參數中的 view 參數,當這個參數設置為 yes的時候則會在HA中給這個組單獨創建一個標籤頁面,如果是no則不會,建議按照家庭實際房間來設置標籤,所以只需把每個房間包含設備最多的那個組設置為 view: yes

配置 view: yes 的組會在HA首頁上方創建獨立的標籤頁

客廳標籤頁中包含了上面 【組】全體設備 中的設備及子組

做到這裡我就把客廳全部配置完成了!使用同樣的思路來配置其它房間吧!

使用Home Assistant 移動端應用實現遠程操控

Home Assistant在安裝完成後默認提供了一個網頁版的客戶端管理界面,就是上面看到的那個~ 但是大部分人基本上很少坐在電腦面前來遙控各個房間的設備呀,這裡就要用到移動端APP

,雖然網頁版的也可以用移動設備瀏覽器打開並且自動匹配屏幕大小,但是畢竟原生的APP操控起來更加順手而且提供了更多的高級功能,下載地址

安卓版貌似沒有對應的應用,所以~~ 算是IOS的一大福利

移動端會自動適應屏幕大小

在右下方的配置項裡面填入HA的外網地址及登錄密碼

紅框中的device tracker component是電腦版客戶端無法實現的功能哦~ 後面會細說

在位置設置(Location Settings)裡面可以配置實時推送移動設備位置的配置,這個有什麼用呢?後面我會給大家介紹使用這個功能可以實現高級自動化哦~ 先賣個關子

使用第三方服務實現高級自動化

做到這裡,我們來總結一下實現了哪些功能吧:

所有智能設備連入Home Assistant,並且可以從網頁端或移動端進行操控

設備可以按照房間或物理位置分組,並且可以一鍵控制每個組內所有設備的操控

等等,做到了這些算是實現了智能家居嗎? 最多只能算實現了遠程遙控設備功能,離真正的智能家居還有一定距離 - 我們要的不僅僅是一個遙控器,而是需要有能力根據輸入的信息做出相應的動作。 這裡,我們需要使用到2大神器~ 智能音箱和第三方服務

智能音箱能把語音指令轉化為控制命令傳遞給已連接的智能設備

第三方服務可以實現設備間的自動化

第一個智能音箱就不多介紹了,相信大家都知道。

第二個第三方服務才是這裡的核心,通過各種第三方服務可以把智能設備串起來使用,這裡舉幾個我自己用到的場景

當在家裡找不到手機的時候,可以語音要求Google Home音箱查找我的手機 > Google Home自動撥打VoIP電話到我的手機 > 找到手機。 【使用Google Assistant + IFTTT服務

當我每天下班回家的時候,離家還剩5公里的時候,家裡Google Home自動播放語音提醒老婆還有x分鐘到家(根據實時路況推算時間哦!

)。【使用Google Assistant + HA定位服務

每天晚上關閉所有燈後自動檢查門鎖是否有反鎖上,沒有的話自動上鎖。【使用HomeKit + Sense智能鎖服務

晚上在家看電影的時候,對智能音箱發出 『看電影』 指令 > 客廳大燈自動熄滅,氛圍燈調整到看電影模式(參考上面的沙發燈帶圖)投影機自動打開,投影幕布自動放下,家庭影院自動打開並切換到媒體播放器輸入設備。【使用Yeelight + 羅技HARMONY服務

有沒有很高級的趕腳~

下面我們來簡單介紹一下幾個重要的第三方服務。

IFTTT

自動化大神級工具,百度的解釋是

ifttt是「if this then that」的縮寫,事實上是讓你的網路行為能夠引發連鎖反應、讓你使用更為方便,其宗旨是「Put the internet to work for you」(讓互聯網為你服務)。ifttt旨在幫助人們利用各網站的開放API,將Facebook、Twitter等各個網站或應用銜接,完成任務,使「每個人都可以成為整個互聯網不用編程的程序員」。ifttt通過流程將各種信息串聯起來,然後再集中把你要的信息呈現給你。解決了信息的冗雜,收取或關注重要信息的問題。

看不懂?沒關係,我也沒看懂~

不明白為什麼把一個簡單的內容解釋的這麼複雜。

簡單來說使用IFTTT可以把完全不相干的品牌設備串聯起來實現聯動,拿我上面第一個場景舉例:

在這個找不到手機的例子中,IFTTT把Google Home智能音箱和手機這2個不同品牌的硬體設備串聯了起來:

聲控觸發智能音箱來找尋手機

Google Home音箱使用內置的Google Assistant服務來觸發IFTTT服務

IFTTT服務中設置了觸發及響應條件為:收到查找手機位置的命令就撥打VoIP到預先指定的手機號

手機收到IFTTT撥打過來的VoIP電話

使用IFTTT服務需要先在官網註冊一直賬號,或者下載手機端註冊

手機端去各大市場搜索IFTTT應用

點擊右上角Sign up註冊一個免費新賬號後就可以使用啦

註冊完成後,打開APP可以通過右上角的搜索來查找希望觸發和響應的硬體設備

注意:使用IFTTT前先要確保各個硬體設備在本品牌的官方APP中 已經設置並且測試過可以正常使用哦,(例如小米Yeelight系列智能燈需要在Yeelight官方APP中配置好)不然的話IFTTT也是無法調用的!

輸入yeelight可以找到所有使用到yeelight服務的預製服務

有很多常用的聯動服務可以用搜索直接查找到,例如上圖中第一個返回的就是通過按鍵來控制Yeelight燈泡開關。

要是找不到想要的也沒關係,可以自己來自由搭配實現,還是以查找手機場景來說明,在我的小程序(下方菜單中最右邊那個 My Applets)中點擊右上角的 + 號來自己創建一個新的聯動程序

這裡需要做的其實就2件事,1. 指定觸發條件 (上圖中的 this) 2. 指定觸發後的響應動作 (上圖中的 that)

換成中文就是「如果發生了這個就做那個」,有沒有很簡單?

第一步. 指定觸發條件,查找服務:Google Assistant

選擇Google Assistant服務

條件:收到簡單的語音命令(Say a simple phase)

這裡設置具體觸發的語音命令,一共可以設置3條,也就是說只要說了任意這3條中的一條命令都可以觸發這個聯動小程序。

設置完觸發條件後進入到設置響應服務部分

第二步. 指定響應服務,查找服務:VoIP Calls

沒啥可選的,就一個打電話動作

在打電話的語音提示框內輸入如果接了電話後自動播放的語音內容~

Yeelight,米家,Broadlink 等設備廠商官方APP

這些APP都是各家廠商開發的,僅支持自家生產的智能設備(廢話,如果支持其他家設備的話也不用像這樣曲線救國了)

雖然這些設備最終都可以接入統一的Home Assistant平台,但是由於廠家對通信介面的限制和某些高級自動化的聯動服務,你還是要把這些官方APP一個不漏的給裝上,例如第一篇中說道的添加設備到HA中前必須先在官方APP中把開發者模式打開,不然無法使用HA控制等等。。。

另外一個原因是,有些非常好的動作可以直接借用官方APP的功能使用,例如,Yeelight應用中的自定義場景功能就非常好用,可以預設好每個照明燈泡或者燈帶的顏色,亮度,我自己設置了3個場景對應不用的活動。

Yeelight

需要使用這些預製好的場景只需要創建一個IFTTT的聯動服務,觸發服務:語音控制 「設置為電影場景」 ,響應服務:Yeelight 設置場景為 「電影場景」

另外一個小米系的米家APP,提供了類似的功能,但是最重要的是如果你有使用到溫濕度感測器,人體移動感測器,煙霧報警器,浸水報警器等這些藍牙設備的話必須只能和小米網關進行聯動,也就是說有一部分自動化需要在米家APP內實現(HA中也可以實現,但是要繞好大一圈,完全沒必要)

米家

藍牙方式連接的設備需要在米家APP中設置聯動

只要在米家APP中設置好了這些設備,包括需要和網關通信的子設備後,在HA中是可以直接看到的哦~ 功能一項不少

Broadlink跟米家APP類似,他家有個RM萬能遙控器設備可以支持紅外信號(IR)和部分頻段的射頻信號(RF),這個設備可以把家裡很多老款非智能電器轉換為可智能控制的設備,因為我家電器基本上是近2年購買的所以沒有用到。

另外還有一些第三方服務 (羅技 Harmony, Google Assistant等)由於篇幅原因我準備放到下期再講解。

中篇結語

此篇文章中討論了HA中設備的分組和使用第三方服務來實現跨設備的自動化,在下篇文章中我會重點介紹HA自帶的高級自動化腳本工具和使用Google Assistant中提供的谷歌服務來實現進階版自動化,還有會討論如何合理搭配智能音箱,Home Assistant和第三方服務。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 什麼值得買 的精彩文章:

拍娃7年,孩子8歲,鏡頭9支
MATX還能怎麼玩?Z170M+8086K+1080TiKP

TAG:什麼值得買 |