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 çıkarır.
Bu cihaz türlerinden bazılarını uygularken karşılaşılan zorluklardan biri, cihazların farklı özellik kombinasyonlarından oluşabilmesidir. Tüm kombinasyonlar aynı derecede iyi sonuç vermez. Ayrıca Cloud-to-cloud veri modeli, Matter veri modeliyle eşleşir ancak bu eşleşme her zaman net ve bire bir olmaz. Veri modellerini ve eşlemelerini daha ayrıntılı bir şekilde ele alan iOS'te veri modeli başlıklı makaleyi inceleyin.
Bu sayfada, belirli cihazların veri modellerinin birbirleriyle nasıl eşleştiğ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 uygulama sürecine sahiptir. Matter üzerinde fırın uygulamanın birden fazla yolu vardır ancak tüm yaklaşımlar diğer cihazlarla veya Google Home ekosistemiyle sorunsuz birlikte çalışmayla sonuçlanmaz.
Özellik eşleme
Oven Mode ve On Off kümelerini kullanarak Matter Oven cihazı uygulamak yerine Oven Cavity Operational State 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", "ö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 modelinin sınırlamaları vardır. Cloud-to-cloud Oven veri modeli, yalnızca tek bir RunCycle içeren tek bir bölmeye 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ı fırın cihazlarında, aşama listesinin çalışma zamanında değişmesi uygun olabilir. Örneğin, ön ısıtmayı destekleyen fırınların ön ısıtma aşamasında, ısıtma veya soğutma aşamalarındakinden farklı aşama listesi girişleri olabilir.
Önerilen uygulama
Önceki bölümde açıklandığı gibi, Matter Oven uygulaması, Home API'lerinde OvenCavityOperationalStateTrait özelliği olarak modellenen Oven Cavity Operational State 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 emin olun ve currentRunCycle özelliğini ayarlayarak mevcut durumu yayınlayın. Bu özellik, Home API'leri tarafından OvenCavityOperationalStateTrait.phaseList ve OvenCavityOperationalStateTrait.currentPhase özellikleri aracılığıyla gözlemlenebilir.
Fırın cihazı, RunCycle özelliğinin priority, status ve currentCycleRemainingTime özelliklerini güncelleyerek bir çalışma döngüsü cihaz bildirimi de yayınlamalıdır. Aşağıdaki örnekte bir OperationalStateTrait.OperationCompletion etkinliği gönderilir ve fırının "ön ısıtma" döngüsünden "önceden ı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 için 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")
}
}
}
Eksiksiz bir örnek için Fırın döngüsü tamamlandığında TV açıksa oturma odası ışıkları yanıp söner ve akıllı hoparlör "Fırın Döngüsü Tamamlandı" anonsu yapar başlıklı makaleyi inceleyin.