Android 適用的 Home API 總覽

Android 適用的 Google Home API 提供統一的 API 介面,可讓開發人員與使用者住家中的實體狀態互動。這些實體可以描述與使用者住家和房間相關聯的裝置和非裝置資訊。

Home API 定義使用者可互動的下列實體:

  • 住家結構體代表包含房間和裝置的住家。
  • 房間是結構的一部分,內含裝置。
  • 裝置會實作包含屬性的特徵、符合類型、發出事件,以及回應指令。
  • 自動化動作是結構體的一部分,會使用住家相關中繼資料和裝置,自動執行住家中的工作。

圖 1 說明這個架構:

圖表:Android 應用程式的 Home API 架構
圖 1:Android 應用程式的住家 API 架構

Home API 裝置類型可能由Matter (智慧住宅開放標準) 支援,也可能是 Google Home 生態系統中的 Cloud-to-cloud 裝置。部分裝置類型可能會同時採用這兩項技術的功能。詳情請參閱「Android 支援的裝置類型」。

Matter 中,裝置功能會依叢集分組,並以 Matter 標準特徵的形式呈現於 Home API 中。Home API 支援目前 Matter 規格中定義的標準 Matter 叢集。

在 Google Home 生態系統中,裝置功能會依智慧住宅特徵分組,這些特徵在 Home API 中會以 Google 智慧住宅特徵表示。Home API 支援 Cloud-to-cloud 計畫中定義的一組智慧住宅特徵。

此外,您也可以使用其他特徵,例如製造商專屬叢集和平台特徵。詳情請參閱「Android 上的資料模型」。

語言

Android 適用的 Home API 是以 Kotlin 編寫而成,並提供慣用的 Kotlin 介面,可使用 Flow 管理狀態和訂閱項目。相較於標準的訂閱 API,這項功能有許多優點。

如果您還不熟悉協同程式、流程和 Jetpack Compose,建議先參閱 Kotlin 說明文件:

實體 ID

每個 Home API 實體都有 ID,代表其主要 ID。這個 ID 是專屬的穩定 ID,實體存在期間不會變更。這個 ID 可用於快取物件或檢查是否相等,因為實體的中繼資料可能會變更。

如要瞭解哪些實體有 ID,請參閱 HasId 介面。

術語對應

Home API 中的實體會對應至 MatterCloud-to-cloud 概念,如下所示:

Home API Matter Cloud-to-cloud
特徵 叢集 特徵
屬性 屬性 屬性、狀態
指令 指令 指令
活動 活動 後續回覆、通知