2016 年,家庭 app 隨著 iOS 10 面世,這款應用將所有兼容 HomeKit 的設備統一到一個應用程序中,並增加了對自動化和場景設置的支持。然而,Apple 對家庭 app 的開發似乎在最近這 10 年中有所放緩,與米家、Aqara 等應用大刀闊斧的改進不同,我們可以在家庭 app 中完成的操作和獲得的功能相比於第三方平台較為受限,許多參數與條件都沒有直接暴露給家庭 app 的用戶們。
好在第三方開發者和開源社區中有一批 Homekit 生態的忠實愛好者,在努力地為優化使用體驗而貢獻自己的力量。前有 Home Assistant 這樣的平台,後有 Controller for HomeKit 這樣的工具,可以讓我們在 Homekit 生態圈內獲得更加強大的自動化與場景構建能力、全面的設備資訊與控制細節、貼心的智能備份與恢復機制。
如果你也是一名智能家居愛好者,如果你也苦惱於 Apple 原生家庭 app 較為有限的功能,如果你仍無法捨棄 Homekit 生態,那麼請你務必看完本文對 Controller for Homekit 的詳細介紹,我相信它一定可以彌補你對家庭 app 的遺憾,幫助你獲得更加完整和強大的智能家居使用體驗。
▍初識 Controller
Controller for Homekit 可以在 App Store 免費下載安裝,應用發布於 2018 年,距今已有 7 年的穩定運營歷史,目前已經支持了 iOS、iPadOS、watchOS、macOS、tvOS 多個平台。不過, 正常使用 Controller for Homekit 需要訂閱 Pro 會員,價格為每月 35 元、每年 228 元或者直接以 698 元的價格買斷,往年在黑五期間會有半價買斷的活動。
iPhone 上的 Controller 採取了和原生家庭 app 完全不同的界面設計,它在主界面中塞入了更多的功能模塊和設置選項,雖然在切換使用的時候更方便,但是在視覺上略顯凌亂,不如家庭 app 這麼簡潔。
Mac 版本和 iPad 版本的 Controller for Homekit 與原生家庭 app 的界面布局類似,都採用了「主界面 側邊欄」的設計,但是它這個側邊欄是直接將 iPhone 版本的 Controller 主界面拿過來當了側邊欄,將 iPhone 版本的二級界面當成了主界面,其實並沒有為大屏做專門的適配。

從側邊欄中,我們也可以一窺 Controller for Homekit 的主要功能,包括工作流程、自動化、備份、日誌、維護、NFC 標籤、設置碼管理、樓層規劃等。在下文中,我將結合自己日常生活中的需求和使用習慣,來為大家一一講解和演示這些功能。
▍自動化進階:釋放 HomeKit 的真正潛力
作為 Controller for Homekit 的核心功能,工作流程(Workflow)和自動化動作(Automation)是這款應用與 Apple 原生家庭 app 相比最大的區別。那麼,這兩個功能又有什麼區別呢?接下來讓我們一起來看看各自的用途和優劣之處。
自動化動作(Automation)
首先來看 Controller for Homekit 的自動化,賦予 Controller app 家庭數據的訪問權限之後,應用會自動為我們展示我們已經在家庭 app 中創建好的自動化;需要注意的是,家庭 app 在設置自動化時可以選擇場景或者配件,Controller 在新增時只能選擇執行場景,同步過來的自動化雖然保留了控制配件的功能,但是在 Controller for Homekit 應用中無法顯示相應的配件動作,也無法編輯修改。
因此,使用 Controller for Homekit 自動化的正確姿勢應該是先在家庭 app 中創建一個簡易的自動化,觸發條件可以隨便設置,執行動作則配置好完整的場景或者配件動作。接著,在 Controller for Homekit 中打開同步過來的自動化,對觸發動作進行進一步的配置。
與家庭 app 的自動化相比,Controller for Homekit 的自動化可以讓我們設置更加豐富的觸發條件,比如說 iBeacon、特定日期和時間、電視機切換輸入源、特定的配件等,而與家庭 app 相同的觸發條件在這個應用中還支持更加細分的選項,比如說安防系統的設防類型、燈具的色溫等。
Controller for Homekit 的自動化在設置觸發條件時可以設置多個,滿足任意其一即可觸發,而家庭 app 的自動化在設置觸發條件時只能設置一個;同時,我們還可以為觸發條件添加多個前提條件,當所有前提條件滿足時,這個自動化才可以被觸發並執行預設的動作。
目前,Controller for Homekit 的前提條件支持了配件狀態、配件參數、時間、太陽方位、存在狀態等。這樣一來,觸發條件和前提條件相配合,就可以減少自動化誤觸發的概率,滿足我們更加細緻的需求。

以我創建的出門場景自動觸發動作為例,我來為大家展示一下 Controller for Homekit 在自動化方面的強大。
首先,我在家庭 app 中創建了一個自動化,觸發條件是 Aqara M2 Hub 設防,時間是 06:00-23:59,執行動作是啟用「出門」場景。切換到 Controller for Homekit 的自動化界面,打開同步過來的這個自動化動作,我可以進一步將 M2 安防系統的設防狀態選擇為「外出」,然後新增一個「最後一個人離家」的觸發條件,前提條件除了時間以外再新增一個主臥的吸頂燈全部關閉。設置好後,重新回到家庭 app,可以看到這個自動化的觸發條件發生了改變,顯示出了之前被隱藏掉的我們無法直接操作的各種設置選項。

修改前

修改中

修改後
當我設置好這個略顯複雜的自動化動作後,可以實現如下效果:當時間滿足 06:00-23:59 且主臥的吸頂燈全部關閉(時間上限定了白天,因為夜間需執行另一個「晚安」場景;吸頂燈全部關閉,說明不是短暫離開),如果我在出門前通過 Aqara 妙控開關 S1E 將 Aqara M2 Hub 設防為「離家」狀態,則這個自動化動作運行,執行操作進入「出門」場景;如果我出門的時候忘記在 Aqara 秒控開關 S1E 上手動操作設防狀態,那麼當我和桃總兩個人全部離家後,這個自動化動作也會自動運行,執行操作進入「出門」場景。
工作流程(Workflow)
接下來,我們來著重看一下工作流程(Workflow),因為它的功能更加強大,從實現的效果上來看可以完全替代自動化動作(Automation)。但是,這裡有一個很大的前提,那就是使用這個功能需要啟用 Controller for Homekit 的 Hub Mode,它可以將你的 iPhone、iPad 或者 Apple TV 虛擬成一個類「家庭中樞」,從而來實現工作流程(Workflow)強大的功能。
聽到這裡,你是不是覺得很美好?事情其實沒有這麼簡單,Controller for Homekit 的 Hub Mode 要求應用一直保持在前台運行,才可以發揮「家庭中樞」的效果,不管是切換到其它應用、回到主螢幕,還是設備熄屏、設備休眠等情況,都會終止 Hub Mode。也許有人會問,用 Apple TV 運行 Hub Mode 可行嗎?其實這個方法操作起來也不現實。首先你要保證 Apple TV 不會自動休眠,也不會切換到其它應用;其次用 Apple TV 當「家庭中樞」無法控制安防設備和門鎖,這是 Apple 對第三方開發者的限制。
因此,開發者推薦大家使用一台閒置的 iPhone 或者 iPad,插入電源持續供電,將其設置為 Hub Mode 後啟用應用內置的螢幕保護程序,讓 Controller for Homekit 始終保持在前台運行。如果你擁有一台滿足條件的設備,那麼繼續往下來看工作流程(Workflow)這個功能,否則就沒有使用它的必要了。

與自動化動作(Automation)相比,工作流程(Workflow)最大的優勢在於四個方面:
一是更加豐富的觸發條件,除了設備參數、日期時間之外,還支持手動執行和 URL 遠程啟動(不過缺少了自動化中的存在狀態、iBeacon 等觸發條件,可以通過 URL 遠程啟動和快捷指令來曲線救國);二是在執行動作環節取消了對配件動作的限制,可以自由添加、編輯配件動作;三是在執行動作環節除了場景、配件動作之外,還新增了獲取配件狀態、If / Else、Wait、監控配件參數、通知、打開 URL、輸出等動作,並且可以組合使用,你可以簡單地理解為智能家居版本的快捷指令;四是多了一個停止執行的條件,當滿足所有條件時這個工作流程就會終止,可以配合執行環節來使用。
接下來對照工作流程的各個環節,我們一一來了解。
第一個環節是觸發條件,只需滿足任意一個就能觸發,分為了三類:一是手動觸發,二是遠程啟動,三是開始事件,開始時間又包含了設備參數和計劃時間兩類。第一類手動觸發就是顧名思義,不再展開;第二類遠程啟動在使用時需要點擊開啟,然後通過「Copy URL」按鈕來獲得這個工作流觸發條件的專屬 URL,接著通過打開包含這個專屬 URL 的網頁鏈接或者運行包含這個專屬 URL 的快捷指令來完成觸發;第三類中最簡單的是計劃時間,就是在某個特定的日期或者時間來自動觸發,設備參數則可以通過調用配件的各項參數來進行各種簡單或者複雜的判斷,滿足判斷條件的情況下即可觸發。

第二個環節是前提條件,需要全部滿足才可以繼續運行工作流程。同樣,前提條件也分為了兩類,一是設備參數,二是計劃時間。

第三個環節是執行動作,按照先後順序依次執行。執行動作的種類非常豐富,包括了運行場景、控制配件 / 配件組、獲取設備狀態、激活特定時間的場景、激活/反激活自動化動作、如果 / 否則、等待、監控設備參數、通知、調用 URL 和自定義文本輸出。

最後一個環節是終止執行,當某個事件滿足一定的條件時,該工作流程會在某個步驟中停止,需要配合第三個環節同時配置。和第二個環節一樣,事件包括了設備參數和計劃時間。兩者的區別是第二個環節的條件全部滿足才可以開始運行工作流程,最後一個環節全部滿足即終止工作流程。

在工作流程配置界面的底部還有兩個設置選項:一個是工作流程的運行最長時長設置,當超過這個時長後這個工作流程會自動停止;另一個是工作流程重新啟動的方式,一種是繼續運行當前的工作流程,另一種則是停止當前的工作流程並重新開始一個。

因為設置選項繁雜,在本文中無法一一講解演示,所以我挑選了三個我自己在使用的工作流程拋磚引玉,大家如果有興趣,可以自行研究。
第一個工作流程是「晨間喚醒」:觸發條件是每天早上 7:25;前提條件是主臥的床頭燈處於關閉狀態;執行動作分別是獲取主臥吸頂燈的狀態並賦給變量 P2、激活「早安」場景、讀取玄關溫濕度傳感器的溫度數據並賦給變量 P1、輸出「當前的室內溫度 P1」;終止執行的條件則是主臥吸頂燈的狀態是打開。
實現的效果是如果每天早上 7:25 時主臥床頭燈關著,那就先獲取吸頂燈狀態,然後執行「早安」場景,讀取溫度計的溫度數據並推送通知,但是當獲取吸頂燈狀態時如果發現它是開著的,那麼就終止接下去的動作,不會再執行「早安」場景以及發送溫度推送。

第二個工作流程是「陽台攝影機夜間補光」:觸發條件是遠程啟動,與快捷指令相配合,快捷指令的內容是打開 Aqara G2H 攝影機的專屬 URL,等待 2 秒,如果當前時間滿足設定的時間範圍內,則打開這個工作流程的專屬觸發 URL;執行動作是將陽檯燈打開,等待 1 分鐘,將陽檯燈關閉。
實現的效果是我打開攝影機畫面,先判斷是否處於夜間,是的話開啟陽檯燈,這樣一來我在晚上也可以看到清晰的陽台監控畫面。

第三個工作流程是「入戶監視」:觸發動作是 Aqara A100 Pro 智能門鎖開鎖,執行動作是發送通知,通知的內容是打開 Aqara G3 攝影機畫面,並將這個動作設置為優先動作。
實現的效果是當智能門鎖被打開時,Controller for HomKit 會給我發送一條推送消息,我點擊一下通知就直接跳轉到攝影機畫面,可以第一時間看到是誰回家了。

▍高級組織與可視化:讓你的家井然有序
智能文件夾
在家庭 app 中,Apple 只為配件提供了兩種維度的分類方式:第一種是房間,可以自己創建並分配相應的配件,每個配件都只能分配到一個房間;另一種是設備種類,主要分為環境、燈、安全、揚聲器與電視、水等,這些種類是家庭 app 默認提供,無法手動創建或者編輯,所有符合條件的設備自動歸類。
因此,當家庭 app 中的配件逐漸增多時,我們就會發現尋找某個特定的配件或者想批量操作一些配件時相當繁瑣。這時候,我們就可以藉助 Controller for HomeKit 的智能文件夾功能。目前,智能文件夾已經支持了對配件、場景和自動化(Automation)的自定義分類。
在自動化動作中,智能文件夾的過濾方式主要有名稱、房間、狀態、觸發事件、前提條件、執行動作等環節,每個環節都可以針對配件類型、配件參數、存在狀態、 時間等參數進行細緻的設置;場景和配件的過濾方式會更簡單一點,包括了名稱、房間、配件種類、配件參數。當智能文件夾設置完成後,我們也可以通過頂部的按鈕進行快速切換,提高操作配件、場景或者自動化動作的效率。

▍3D 房間
Controller for HomeKit 利用 iPhone 上的攝影機和 LiDar 傳感器設計了一個 3D 房間構造功能 —— Floor Plan,可以讓我們對家中的各個房間進行掃描建模,然後以 3D 結構呈現在我們的眼前。
打開 Floor Plan 功能後,iPhone 的相機會自動啟動,根據螢幕上的提示將相機對照房間的角落,掃描工作就會自動開始。緩慢移動 iPhone,必要時還可以向前或者向後走來調整對焦距離,確保房間中的空間、家具、物件都可以被準確識別。
在掃描的時候,我推薦大家一個房間一個房間單獨進行掃描,應用會在掃描完成後自動對這些房間進行拼接,效果比單次連續掃描要更好。

當然,Controller for HomeKit 設計 3D 房間的主要目的不是為了單純的建模,而是提供了智能家居控制的另一個維度。我們可以在 3D 房間裡的相應位置添加配件、場景、工作流程,然後點擊相應的按鈕即可直接執行動作。

說到這裡,你應該會想起前面介紹的 Hub Mode。找一個閒置的 iPad 來當「家庭中樞」,然後讓 Controller for HomeKit 在前台保持運行,並且始終打開 3D 房間視圖,這樣一來不就可以便捷、直觀地操作各類配件或者運行場景了嗎?
▍系統維護與診斷:保障 HomeKit 穩定運行
備份
與家庭 app 通過 Apple ID 和 iCloud 同步不同,Controller for HomeKit 的備份機制更加完善,不但可以選擇 iCloud 和本地兩種備份機制,還可以從不同時間節點的備份文件中進行恢復。

在備份文件中,所有的配件、場景、自動化動作、房間等資訊都會被完整的記錄並展示,而且會與當前的家庭狀態進行對比,對於那些不同的配件、場景或者自動化動作等內容,我們可以選擇單獨恢復或者整個家庭全部一鍵恢復,充分照顧到了用戶們的個性化管理需求。

日誌
Controller for HomeKit 的日誌貫穿了單個配件和全屋,單個配件中顯示的日誌是該設備的各項參數或者狀態,而在全屋日誌中,顯示的是所有配件的狀態或者參數,比如說燈具的開關、傳感器的監測、溫濕度等,也可以通過智能文件夾來進行整理和開始查看。

維護
維護功能是我最喜歡 Controller for HomeKit 的功能之一,它讓智能家居設備管理這家略顯繁瑣的事情變得異常的簡單。
打開「維護」界面,我們可以看到四大類資訊,分別是配件、自動化、場景和雜項,其中配件下面又分為低電量、無法連接、缺少設置碼、重複序列號等問題,自動化下面分為缺少日期、不活躍、無效配置等問題,場景下分為 Apple 專屬、重複名稱等問題,雜項下面分為空缺房間、空缺區域等問題。
在「維護」界面中,我們可以切換相關和所有兩個標籤頁,在相關頁面中只會顯示當前家庭配置下有問題的選項,我們可以點進去一一解決。

除了手動排查,Controller for HomeKit 還會主動提示家庭中的問題,比如說當你刪除了一個配件、重新配置了一個配件時,應用都會讓你選擇正確的操作,並讓相應的配件重新正常工作。

▍便捷工具與設備管理:提升日常效率
NFC
雖然我們通過原生家庭 app 和快捷指令 app 也可以實現用 NFC 來控制家庭配件的效果,不過過程略顯繁瑣,同時能控制的動作有限。在 Controller for HomeKit 中直接內置了一個 NFC 管理功能,可以讓我們方便地添加 NFC 和相應的操作,同時操作支持了運行場景、運行工作流程、打開視圖等動作,大大拓寬了 NFC 的使用範圍。
對我來說,最常用的 NFC 動作是切換電視機輸入源。我的 LG C4 電視機連接了 Mac mini M4、PS5 Pro 和 Apple TV 三台設備,需要頻繁地切換輸入源。不管是用遙控器切換還是用家庭 app 切換輸入源,我總覺得有點繁瑣,不夠簡單無感。
因此,我在機柜上直接貼了三張 NFC 貼紙,分別代表 Mac mini M4、PS5 Pro 和 Apple TV 三台設備,然後通過 Controller for HomeKit 來創建三個相對應的輸入源切換動作。這樣一來,不管我想切換到任意一個設備,只需拿著 iPhone 對準相應的 NFC 貼紙就可以直接完成,達成了簡單、直觀、高效的目的。

設置碼
支持添加到 Homekit 的配件基本上都有一個設置碼,以二維碼加一串數字的形式呈現,一般印刷在配件本體、包裝盒或者說明書上。很多情況下,我們都不會保留這些包裝盒或者說明書,就算留下來了也被妥善收納起來了,而印在設備本體上二維碼大都位置刁鑽,不方便掃碼。
Controller for HomeKit 正是抓住了 Homekit 用戶的這個痛點,推出了設置碼管理功能,可以通過掃描二維碼、從照片導入、輸入數字代碼等方式來導入設置碼並保存,需要重新配置配件時可以非常方便地進行調用。
▍總結
坦白說,Apple 自家的家庭 app 在這些年確實有點「不思進取」的意思,讓不少追求更極致智能家居體驗的朋友們感覺像是戴著鐐銬跳舞。如果你也是 HomeKit 生態的擁躉,卻又對原生 App 的有限功能感到不滿足,那麼 Controller for HomeKit 這款應用,或許就是你一直在尋找的「神兵利器」。
無論是想要搭建更複雜、更貼合生活習慣的自動化流程,還是希望對家裡的設備、場景進行更靈活高效的分類管理,Controller for HomeKit 都能讓你得心應手,像是給你的 HomeKit 生態請來了一位經驗豐富的「大管家」。
更別提它還有掃描房間生成 3D 布局、完善的備份恢復機制、細緻入微的系統維護診斷以及 NFC 快捷控制、HomeKit 設置碼統一管理這些解決用戶痛點的功能。可以說,Controller for HomeKit 把原生家庭 App 缺失的、做得不夠好的地方,都實實在在地補強了,讓你的智能家居真正變得更懂你、更聽話。
如果你也在使用 HomeKit 智能家居生態,推薦你深入了解一下 Controller for HomeKit,它很可能會給你帶來脫胎換骨的智能家居新體驗。