Automation API'yi 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 etmek için özel olarak tasarlanmış bir otomasyonla ilgilenebilir.
- Otomasyon için hangi cihaz türleri gerekiyor? Örneğin, kullanıcı evine üç yeni ışık eklediyse ışıkları kontrol etmek için özel olarak tasarlanmış bir otomasyonla ilgilenebilir. Örnek ışık cihazı türleri arasında
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceveyaExtendedColorLightDeviceyer alır. - Otomasyon için hangi özellik nitelikleri ve komutları gereklidir ve bunlar Android'deki Automation API tarafından destekleniyor mu?
- Başlatıcı olarak otomasyonu etkinleştirmesi gereken özellikler. Başlatıcılar, Android'de otomasyon bileşenleri bölümünde ele alınmıştır.
- Otomasyonun gerçekten çalıştırılıp çalıştırılmayacağını ve hangi işlemlerin gerçekleştirileceğini belirleyen ek koşullar.
- Otomasyonun yürütme akışı. Sırayla mı yoksa paralel olarak mı yürütülmeli? Birden fazla mantık yoluna ihtiyacınız var mı?
Tasarım yaparken otomasyonun akışını her adımda gereken mantıkla birlikte düğüm düğüm diyagram haline getirmek faydalı olabilir.
Bir otomasyon tasarladıktan sonra, otomasyonu oluşturmak için Otomasyon DSL'yi kullanın. Oluşturduğunuz otomasyon aslında bir "şablondur". İçindeki tüm yapılar ve cihazlar yer tutucudur ve her kullanıcının kendi kullanımı için otomasyonu "benimsediğinde" belirli yapısı ve cihazlarıyla doldurulur.
Aşağıda, bir uygulamanın Home API'leri 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
Saat 08:00'de panjurları açan bir otomasyon oluşturan bir uygulama yazmanız gerektiğini varsayalım. Bunu yapmak için uygulamanın, yapıda bulunan ve otomasyonları destekleyen storların (WindowCoveringDevice cihaz türüne sahip cihazlar) listesine ihtiyacı vardır. Bu liste, Discovery API tarafından sağlanabilir.
Belirli bir zamanda çalışması gereken otomasyonlar için kullanıcının, seçtiği yapıya bir açık adres atadığından (yapı oluşturma sırasında veya Google Home app (GHA) içinde) 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.
Yürütme akışı şu şekilde görünür:
- Discovery API'yi kullanarak
WindowCoveringDevicecihazların listesini alın. - Açık adres girilmemişse kullanıcıya açık adres girmesi gerektiğini bildirin (ör. GHA içinde) ve yürütmeyi durdurun.
- Aksi takdirde otomasyonu tanımlayın:
- Otomasyonu saat 08:00'de başlat.
- Her bir stor için
WindowCoveringözelliğininupOrOpenkomutunu ç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ı kullanmaya başlarken ilk yapılması gerekenlerden 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örüntüleyebilir ve kullanıcının hangi ışıkların yanıp sönmesini istediğini seçmesine izin verebilir.
Yürütme akışı:
- Discovery API'yi kullanarak yapıda bulunan ışık cihazlarının listesini alın. Cihaz türü
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceveyaExtendedColorLightDeviceolan tüm cihazlar bu listeye dahil edilir. - Yanıp sönen ışıkları seçmek için bir yöntem (ör. özel bir ayarlar paneli) sunun.
- Otomasyonu tanımlayın:
AreaPresenceStatecihazını izleyerek birisi evden ayrıldığında veya eve geldiğinde otomasyonu başlat.presenceState, yapının dolu olduğunu gösteriyorsa seçilen ışıkları yanıp söndür.
Genel otomasyon
Daha gelişmiş bir otomasyon örneği olarak, kullanıcının evindeki cihazların birine veya tümüne dayalı olarak ucu açık bir otomasyon oluşturmasına rehberlik eden bir otomasyonu ele alalım.
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. Bir oda genişletildiğinde içindeki cihazlar gösterilir. Bir cihazı daha da genişlettiğinizde, o cihaz tarafından desteklenen başlatıcılar ve komutlar listelenir.
Kullanıcı, kullanmak istediği cihazları, başlatıcıları ve komutları seçebilir ve otomasyon, kullanıcıya bir otomasyon oluşturma konusunda yol gösterebilir.
Kullanıcının tüm seçimleri ve kararları kesinleştiğinde otomasyon, otomasyonu oluşturur ve kullanıcının seçtiği yapıya kaydeder.
Genel olarak, bu tür bir otomasyonun Android için Structure API, Android için 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 |
|