Android'de 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 ekosistemdeki diğer cihazlarla sorunsuz arayüz oluşturmaya izin verecek şekilde Home API'leri kullanırken geliştirme açısından zorluk yaratır.

Bu cihaz türlerinden bazılarının uygulanmasındaki zorluklardan biri, cihazların farklı özellik kombinasyonlarından oluşabilmesidir. Bazı kombinasyonlar diğerleri kadar iyi çalışmaz. Ayrıca, Cloud-to-cloud veri modeli Matter veri modeliyle eşlenir ancak bu eşleme her zaman net ve bire bir şekilde gerçekleşmez. Veri modelleri ve eşlemeleri hakkında daha ayrıntılı bilgi için Android'deki veri modeli başlıklı makaleyi inceleyin.

Bu sayfada, belirli cihazların veri modellerinin birbirleriyle nasıl eşlendiği hakkında daha fazla bilgi verilmekte ve bu cihaz türlerini uygulamak için hangi özelliklerin kullanılacağı konusunda bazı bilgiler sunulmaktadır.

Fırın

Fırın (OvenDevice) cihaz türü ve bileşen özellikleri, diğer cihaz türlerine kıyasla daha karmaşık bir şekilde uygulanır. Matter'da Oven'ı uygulamak için birden fazla yöntem vardır ancak tüm yaklaşımlar diğer cihazlarla veya Google Home ekosistemiyle sorunsuz birlikte çalışmayı sağlamaz.

Özellik eşleme

Matter Fırın cihazını Fırın Modu ve Açma/Kapama kümelerini kullanarak 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. "Ön ı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 Oven veri modeli sınırlamalara tabidir. Cloud-to-cloud Fırın veri modeli yalnızca tek bir bölmeye ve tek bir RunCycle izin verir. Buna karşılık, Matter her bölme için Fırın Boşluğu Çalışma Durumu kümesi olan bir cihaz uç noktası olarak çok bölmeli bir fırını modeller.

Bazı Oven cihazlarında, aşama listesinin çalışma zamanında değişmesi uygun olabilir. Örneğin, ön ısıtmayı destekleyen fırınlar, ön ısıtma aşamasında, ısıtma veya soğutma aşamalarına göre farklı aşama listesi girişlerine sahip olabilir.

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

En iyi sonuçları elde etmek 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ı, priority, status ve currentCycleRemainingTime özelliklerini güncelleyerek bir çalışma döngüsü cihaz bildirimi de yayınlamalıdır. RunCycle. Aşağıdaki örnek, OperationalState.OperationCompletion etkinliğinin gönderilmesiyle sonuçlanır ve fırının "ön ısıtma" döngüsünden "ön ısıtılmış" döngüsüne 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

Oven Cavity Operational State 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 başvurun:

   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ı yakıp söndür ve duyuru yap başlıklı makaleyi inceleyin.