Birlikte çalışabilirlik

Google Home ekosistemindeki cihazlar Cloud-to-cloud, Matter veya her ikisi kullanılarak uygulanabilir. Bazı cihaz türleri diğerlerinden daha karmaşıktır ve Home API'leri ekosistemdeki diğer cihazlarla sorunsuz bir şekilde arayüz oluşturacak şekilde kullanırken geliştirme konusunda zorluk oluşturur.

Bu cihaz türlerinden bazılarını uygulamayla ilgili zorluklardan biri, cihazların farklı özellik kombinasyonlarından oluşabilmesidir. Bazı kombinasyonlar diğerlerinden daha iyi sonuç verir. Ayrıca Cloud-to-cloud veri modeli, Matter veri modeliyle eşlenir ancak her zaman net ve bire bir eşleşmez. Veri modellerini ve eşlemelerini daha ayrıntılı olarak ele alan Veri modeli başlıklı makaleyi inceleyin.

Bu sayfada, belirli cihazlara ait veri modellerinin birbiriyle eşleştirilmesi hakkında daha fazla bilgi verilmektedir. Ayrıca, bu cihaz türlerini uygulamak için hangi özelliklerin kullanılacağı konusunda bazı yönergeler sunulmaktadır.

Fırın

Fırın (OvenDevice) cihaz türünün ve bileşen özelliklerinin diğer cihaz türlerine kıyasla uygulanması kolay değildir. Matter'te fırın uygulamanın birden fazla yolu vardır ancak tüm yaklaşımlar diğer cihazlarla veya Google Home ekosistemiyle sorunsuz bir şekilde birlikte çalışamaz.

Özellik eşleme

Fırın modu ve açma/kapatma kümelerini kullanarak bir Matter fırın cihazı uygulamak yerine, fırın boşluğu çalışma durumu kümesini kullanmanızı öneririz. Bu küme, Home API'lerinde OvenCavityOperationalState özelliğiyle temsil edilir ve Cloud-to-cloud RunCycle özelliğiyle eşlenir. "Önceden ısıtma", "önceden ısıtılmış" ve "soğutma" gibi aşamaları tanımlar.

Home API'leri Cloud-to-cloud
OvenCavityOperationalState RunCycle

Cloud-to-cloud Fırın veri modelinde sınırlamalar vardır. Cloud-to-cloud Fırın veri modelinde yalnızca tek bir RunCycle içeren tek bir bölmeye izin verilir. Buna karşılık Matter, çok bölmeli bir fırını her bölme için bir Fırın Boşluğu Çalışma Durumu kümesi içeren bir cihaz uç noktası olarak modeller.

Bazı Oven cihazlarda, aşama listesinin çalışma zamanında değişmesi uygun olabilir. Örneğin, ön ısıtmayı destekleyen fırınlarda, ön ısıtma aşamasında aşama listesinde ısıtma veya soğutma aşamalarına kıyasla farklı girişler olabilir.

Önceki bölümde belirtildiği gibi, Matter Fırın uygulaması, Home API'lerinde OvenCavityOperationalState özelliği olarak modellenen Fırın Boşluğu Çalışma Durumu kümesini uygulamalıdır.

En iyi sonuçlar için Cloud-to-cloud Fırın cihazınızın RunCycle özelliğini uyguladığından ve currentRunCycle özelliğini ayarlayarak mevcut durumu yayınladığından emin olun. Bu özellik, OvenCavityOperationalState.phaseList ve OvenCavityOperationalState.currentPhase özellikleri aracılığıyla Home API'leri tarafından gözlemlenebilir.

Fırın cihazı, RunCycle cihazının priority, status ve currentCycleRemainingTime özelliklerini güncelleyerek bir çalışma döngüsü cihaz bildirimi de yayınlamalıdır. Aşağıdaki örnek, bir OperationalState.OperationCompletion etkinliğinin gönderilmesine neden olur ve fırının "ön ısıtma" döngüsünden "ön ısıtılmış" döngüye geçtiğini belirtmek için kullanılabilir:

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

Otomasyonda fırın kullanma

Fırın Boşluğu Çalışma Durumu kümesi kullanılarak uygulanan bir fırın için otomasyon oluştururken fırının hangi döngüde olduğunu öğrenmek üzere currentPhase özelliğine bakın:

   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
}

Tam bir örnek için Fırın seçilen sıcaklığa ulaştığında ışıkları yanıp söndürme ve duyuru yapma başlıklı makaleyi inceleyin.