Android 上的互通性

Google Home 生態系統中的裝置可使用 Cloud-to-cloudMatter 或兩者實作。部分裝置類型比其他裝置複雜,使用 Home API 時,若要與生態系統中的其他裝置順暢介接,開發過程會面臨挑戰。

導入部分裝置類型時,其中一項挑戰是裝置可能由不同特徵組合而成。並非所有組合都能達到最佳效果。此外,Cloud-to-cloud 資料模型會對應至 Matter 資料模型,但並非一對一的明確對應。請參閱「Android 上的資料模型」,進一步瞭解資料模型及其對應關係。

本頁提供更多資訊,說明特定裝置的資料模型如何相互對應,並提供一些指引,說明要使用哪些特徵來實作這些裝置類型。

烤箱

與其他裝置類型相比,Oven (OvenDevice) 裝置類型及其元件特徵的實作方式較為複雜。實作 Oven 的方式有很多種,但並非所有方法都能與其他裝置或 Google Home 生態系統順暢互通。Matter

特徵對應

建議您使用 Oven Cavity Operational State 叢集,而非透過 Oven Mode 和 On Off 叢集實作 Matter Oven 裝置。這個叢集在 Home API 中以 OvenCavityOperationalState 特徵表示,並對應至 Cloud-to-cloud RunCycle 特徵。例如「預熱」、「預熱完成」和「冷卻」。

Home API Cloud-to-cloud
OvenCavityOperationalState RunCycle

Cloud-to-cloud Oven 資料模型有其限制。Cloud-to-cloud烤箱資料模型只允許單一烤箱室,且只能有一個 RunCycle。相較之下,Matter會將多腔烤箱建模為裝置端點,並為每個腔室提供烤箱腔室運作狀態叢集。

對於部分 Oven 裝置,階段清單可能適合在執行階段變更。舉例來說,支援預熱的烤箱在預熱階段的階段清單中,可能會有與加熱或冷卻階段不同的項目。

如上一節所述,Matter Oven 實作項目應實作 Oven Cavity Operational State 叢集,該叢集在 Home API 中會以 OvenCavityOperationalState 特徵建模。

為獲得最佳結果,請確保Cloud-to-cloud烤箱裝置實作 RunCycle 特徵,並設定 currentRunCycle 屬性來發布目前狀態。這項屬性可透過 OvenCavityOperationalState.phaseListOvenCavityOperationalState.currentPhase 屬性,由 Home API 觀察。

Oven 裝置也應發布執行週期裝置通知,方法是更新 RunCycleprioritystatuscurrentCycleRemainingTime 屬性。以下範例會導致系統傳送 OperationalState.OperationCompletion 事件,並可用於指出烤箱已從「預熱」週期轉換為「預熱完成」週期:

{
  "currentRunCycle": [
    {
      "currentCycle": "pre-heating",
      "nextCycle": "pre-heated",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

在自動化動作中使用烤箱

為使用 Oven Cavity Operational State 叢集實作的烤箱建立自動化程序時,請參照 currentPhase 屬性,瞭解烤箱目前處於哪個週期:

   sequential {
    val starterNode =
      starter<_>(oven, OvenDevice, OvenCavityOperationalState /* Or OperationalState */)
    condition {
      expression = starterNode.phaseList[operationalState.currentPhase.toUInt()] equals "pre-heated"
    }
    action(speaker, SpeakerDevice) {
    command(AssistantBroadcast.broadcast("Oven Cycle Complete"))
  }
  // Additional actions here as needed
}

如需完整範例,請參閱「在烤箱達到所選溫度時閃爍燈光並發出通知」。