Otomasyon API'sini kullanmaya başlamadan önce otomasyonlarınızı tasarlamanız gerekir.
Her otomasyon için aşağıdaki parametreleri belirleyin:
- Otomasyonun kullanıcıya önerilmesi gereken koşullar. Örneğin, kullanıcı evine yeni üç ışık eklediyse ışıkları kontrol etmeye yönelik belirli bir otomasyonla ilgilenebilir.
- Otomasyon için hangi cihaz türleri gereklidir? Örneğin, kullanıcı evine yeni üç ışık eklediyse ışıkları kontrol etmeye yönelik belirli bir otomasyonla ilgilenebilir. Örnek ışık cihazı türleri
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
veyaExtendedColorLightDevice
'dır. - Otomasyon için hangi özellik özelliklerinin ve komutlarının gerekli olduğu ve bunların Otomasyon API'si tarafından desteklenip desteklenmediği.
- Otomasyonu başlatıcı olarak etkinleştirmesi gereken özellikler. Başlatıcılar Otomasyon bileşenleri bölümünde ele alınmıştır.
- Otomasyonun gerçekten çalışıp çalışmayacağını ve hangi işlemlerin yapılacağını belirleyen ek koşullar.
- Otomasyonun yürütme akışı. Sıralı mı yoksa paralel mi yürütülmeli? Birden fazla mantık yoluna mı ihtiyacınız var?
Tasarım yaparken, her adımda gereken mantıkla birlikte otomasyonun akışını düğüm düğüm şematize etmek yararlı olabilir.
Bir otomasyon tasarladıktan sonra otomasyonu oluşturmak için otomasyon DSL'sini kullanın. Oluşturduğunuz otomasyon temelde bir "şablondur". İçindeki tüm yapılar ve cihazlar yer tutuculardır ve otomasyonu kendi kullanımları için "benimsediğinde" her kullanıcının özel yapısı ve cihazlarıyla doldurulur.
Aşağıda, bir uygulamanın Home API'lerini kullanarak oluşturabileceği farklı otomasyon türleri verilmiştir. Bu örneklerle ilgili kod alıntıları için Otomasyon oluşturma sayfasına bakın.
Basit otomasyon
Örneğin, sabah 8:00'de perdeleri açan bir otomasyon oluşturan bir uygulama yazmanız gerektiğini varsayalım. Bunu yapmak için uygulamanın, yapıda bulunan ve otomasyonu destekleyen panjurların (WindowCoveringDevice
cihaz türüne sahip cihazlar) Discovery API tarafından sağlanabilecek bir listesine ihtiyacı vardır.
Belirli bir zamanda çalıştırılması gereken otomasyonlar için kullanıcının Google Home app (GHA)'de seçtiği yapı için bir sokak adresi atadığından da emin olmanız gerekir. Aksi takdirde otomasyon, çalışacağı saat dilimini bilemez. Discovery API, yapıya bir adres atanıp atanmadığını belirlemenize yardımcı olabilir.
Dolayısıyla yürütme akışı şöyle görünür:
- Discovery API'yi kullanarak
WindowCoveringDevice
cihazlarının listesini toplayın. - Açık adres doldurulmamışsa kullanıcıya açık adres sağlaması gerektiğini bildirin ve yürütmeyi durdurun.
- Aksi takdirde otomasyonu tanımlayın:
- Otomasyonu 08:00'de başlatın.
- Her bir panjur için
WindowCovering
özelliğininupOrOpen
komutunu çağırın.
Karmaşık otomasyon
Hareket algılandığında ışıkların yanıp sönmesini tetikleyen bir otomasyon oluşturan bir uygulama düşünün.
Bu uygulamayı uygulamaya koyarken ilk yapılacak işlerden biri, Discovery API'yi kullanarak kullanıcının evinde hangi ışıkların bulunduğunu öğrenmektir. Bu bilgilerle uygulamanız artık mevcut ışıkları gösterebilir ve kullanıcının yanıp sönmesini istediği ışıkları seçmesine izin verebilir.
Yürütme akışı:
- Discovery API'yi kullanarak yapıda bulunan hafif cihazların listesini toplayın. Bu cihazlar,
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
veyaExtendedColorLightDevice
cihaz türüne sahip tüm cihazlardır. - Yanıp sönen ışıkları seçmenin bir yolunu (ör. özel bir Ayarlar paneli aracılığıyla) sağlayın.
- Otomasyonu tanımlayın:
AreaPresenceState
öğesini izleyerek, tesisten ayrılan veya tesise gelen her kullanıcı için otomasyonu başlatın.presenceState
, yapının dolu olduğunu gösteriyorsa seçili ışıkları yanıp söndürün.
Genel otomasyon
Daha karmaşık bir otomasyon örneği olarak, kullanıcıya evinde bulunan tüm cihazlara veya bir kısmına göre açık uçlu bir otomasyon oluşturma konusunda rehberlik eden bir otomasyon düşünebilirsiniz.
Otomasyon, kullanıcıdan önce bir yapı seçmesini isteyebilir.
Ardından otomasyon, yapıdaki tüm odaları genişletilebilir ana hat görünümünde gösterebilir. Oda genişletildiğinde içindeki cihazlar gösterilir. Bir cihazı daha ayrıntılı olarak incelediğinizde, bu cihaz tarafından desteklenen başlatıcıları ve komutları görebilirsiniz.
Kullanıcı, kullanmak istediği cihazları, başlatıcıları ve komutları seçebilir. Otomasyon, kullanıcıya otomasyon oluşturma konusunda yol gösterir.
Kullanıcının tüm seçimleri ve kararları kesinleştiğinde otomasyon oluşturulur ve seçilen yapıya kaydedilir.
Genel olarak, bu tür bir otomasyonun Structure API, Device API ve Discovery API'yi kullanarak kullanıcının evi hakkında çeşitli veri kümeleri toplaması gerekir.
API | Bilgi |
---|---|
Structure API |
|
Device API |
|
Discovery API |
|