開始使用 Automation API 前,請先設計自動化動作。
為每個自動化動作決定下列參數:
- 應向使用者建議自動化動作的情況。舉例來說,如果使用者剛在家中新增三盞燈,可能會對專門控制燈具的自動化動作感興趣。
- 自動化動作需要哪些裝置類型。舉例來說,如果使用者剛在家中新增三個燈具,可能會對控制燈具的特定自動化動作感興趣。燈具裝置類型範例包括
OnOffLightDevice、ColorTemperatureLightDevice、DimmableLightDevice或ExtendedColorLightDevice。 - 自動化動作需要哪些特質屬性和指令,以及 Android 的 Automation API 是否支援這些屬性和指令。
- 應做為啟動條件來啟動自動化動作的特徵。如要瞭解啟動條件,請參閱「Android 上的自動化動作元件」。
- 其他條件,用於判斷自動化動作是否應實際執行,以及要執行哪些動作。
- 自動化動作的執行流程。應該依序執行還是平行執行?是否需要多個邏輯路徑?
設計時,建議您逐一繪製自動化動作流程圖,並在每個步驟中加入所需邏輯。
設計好自動化動作後,請使用自動化 DSL 建構。您建立的自動化動作基本上是「範本」,其中的任何住家結構和裝置都是預留位置,當使用者「採用」自動化動作時,系統會填入使用者的特定住家結構和裝置。
以下列舉應用程式可使用 Home API 建立的不同自動化動作。如需這些範例的程式碼摘錄,請參閱「建構自動化動作」頁面。
簡單的自動化動作
假設您需要編寫一個應用程式,建立在上午 8:00 升起百葉窗的自動化動作。為此,應用程式需要一份清單,列出住家中支援自動化動作的百葉窗 (裝置類型為 WindowCoveringDevice 的裝置),這份清單可由 Discovery API 提供。
如果自動化動作需要在特定時間執行,您也必須確保使用者已為所選住家結構指派街道地址 (在建立住家結構時或在 Google Home app (GHA) 中),否則自動化動作會不知道要在哪個時區執行。Discovery API 可協助您判斷是否已為結構體指派地址。
執行流程大致如下:
- 使用 Discovery API 收集
WindowCoveringDevice裝置清單。 - 如果未填入街道地址,請通知使用者需要提供街道地址 (例如在 GHA 中),並停止執行。
- 否則,請定義自動化動作:
- 在上午 8 點啟動自動化動作。
- 針對每個百葉窗,呼叫
WindowCovering特性的upOrOpen指令。
複雜的自動化動作
假設某個應用程式建構了自動化動作,在偵測到動作時觸發閃爍燈光。
實作這個應用程式時,首要任務之一是使用 Discovery API 找出使用者住家有哪些燈具。有了這項資訊,應用程式就能顯示可用的燈,並讓使用者選取要閃爍的燈。
執行流程:
- 使用 Discovery API 收集結構中存在的燈具裝置清單,這些裝置的類型應為
OnOffLightDevice、ColorTemperatureLightDevice、DimmableLightDevice或ExtendedColorLightDevice。 - 提供選取閃爍燈光的方式,例如透過自訂設定面板。
- 定義自動化動作:
- 監控
AreaPresenceState,在有人離開或抵達住家時啟動自動化動作。 - 如果
presenceState指出建築物有人,則閃爍所選燈具。
- 監控
一般自動化動作
如需更複雜的自動化動作範例,請考慮引導使用者根據住家中的任何或所有裝置,建立開放式自動化動作。
自動化動作可能會先提示使用者選取住家結構體。
接著,自動化動作可以透過可展開的概要檢視畫面,顯示住家結構中的所有房間,展開房間後即可查看其中的裝置。進一步展開裝置清單,即可查看該裝置支援的啟動條件和指令。
使用者可以選擇要使用的裝置、啟動條件和指令,自動化動作會引導使用者完成設定。
使用者完成所有選擇和決定後,自動化動作就會產生並儲存到所選結構。
概略來說,這類自動化動作需要使用 Android 適用的 Structure API、Android 適用的 Device API 和 Discovery API,收集多組使用者住家相關資料。
| API | 資訊 |
|---|---|
| Structure API |
|
| Device API |
|
| Discovery API |
|