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 çıkarı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 her zaman net ve bire bir şekilde eşlenmez. Veri modelleri ve eşlemeleri hakkında daha ayrıntılı bilgi için iOS'te 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 (OvenDeviceType
) cihaz türü ve bileşen özellikleri, diğer cihaz türlerine kıyasla daha karmaşık bir şekilde uygulanır. Matter'da fırın 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 OvenCavityOperationalStateTrait
özelliğiyle temsil edilir ve Cloud-to-cloud
RunCycle
özelliğiyle eşlenir. "Ön ısıtma", "ön ı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, ç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 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.
Önerilen uygulama
Önceki bölümde belirtildiği gibi, Matter fırın uygulaması, Home API'lerinde OvenCavityOperationalStateTrait
özelliği olarak modellenen Fırın Boşluğu Çalışma Durumu kümesini uygulamalı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, OvenCavityOperationalStateTrait.phaseList
ve OvenCavityOperationalStateTrait.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, OperationalStateTrait.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 bakın:
sequential {
let operationalState = starter(
oven,
OvenDeviceType.self,
OvenCavityOperationalStateTrait.self
)
operationalState
condition {
operationalState.phaseList[operationalState.currentPhase.toUInt()].equals("pre-heated")
}
for speaker in speakers {
action(speaker, SpeakerDeviceType.self) {
Google.AssistantBroadcastTrait.broadcast(msg: "Oven Cycle Complete")
}
}
}
Tam bir örnek için Fırın döngüsü tamamlandığında TV açıksa salon ışıkları yanıp söner ve akıllı hoparlör "Fırın Döngüsü Tamamlandı" mesajını yayınlar başlıklı makaleyi inceleyin.