1. Giriş
Neler öğreneceksiniz?
- Otomasyon şablonu tasarlama ve yazma
- Google Home Play Console'u kullanarak otomasyon şablonunu test etme
İhtiyacınız olanlar
- Google Home uygulamasının yüklü olduğu bir Android veya iOS telefon
- Evinize dahil edilmiş bir akıllı ışık veya Google Home Playground'daki simüle edilmiş bir cihaz.
Ön koşullar
Google Home ev otomasyonu yazmayı biliyor olmanız gerekir. Daha önce hiç otomasyon yazmadıysanız bu codelab'e başlamadan önce Create a scripted automation (Komut dosyasıyla otomasyon oluşturma) codelab'ini yapmanızı öneririz.
2. Otomasyon şablonları ve örnekleri
Geliştiriciler, Google Home Developer Console'daki otomasyon şablonu düzenleyiciyi kullanarak otomasyon şablonları oluşturur. Otomasyon şablonları, komut dosyası mantığının özünü içerir ve belirli cihazlara değil, cihaz türlerine referans verir.
Google Home Web'in otomasyon komut dosyası düzenleyicisini kullanan son kullanıcılar, bir otomasyon şablonu alıp kendi evlerindeki belirli cihazlarda çalışan kişiselleştirilmiş bir örnek oluşturur. Kaydedildikten sonra örnek, Google Home uygulamasındaki (GHA) Hane Rutinleri bölümünde görünür.
3. Otomasyon şablonunuzu planlama
Otomasyon oluştururken öncelikle çözmeye çalıştığınız sorunu ve otomasyonun bu sorunu çözmek için ne yapacağını düşünerek işe başlarsınız. Bu kapsamda aşağıdaki gibi hususlar yer alır:
- Hangi cihazları otomatikleştirmek istediğiniz
- Otomasyonun yürütülmesini hangi başlatıcı (veya etkinlik) tetiklemelidir?
- Otomasyonun tetiklendikten sonra çalışıp çalışmayacağını kontrol eden ek koşullar (varsa).
- Hangi işlemlerin gerçekleştirileceği.
Bu codelab'in amacı doğrultusunda otomasyonunuz iki işlem yapacak:
- Belirli bir saatte ışığı açma
- Aynı ışığı belirli bir saatte kapatma
Bu bilgileri göz önünde bulundurarak şablon düzenleyiciyi açıp otomasyonu yazmaya başlayabilirsiniz.
4. Otomasyon şablonunu yazma
Otomasyonlar, YAML veri serileştirme dili kullanılarak bildirimli bir şekilde yazılır.
Otomasyon şablonları üç ana bölümden oluşur:
- Meta veriler: Otomasyonun adı, ne yaptığına dair bir açıklama ve isteğe bağlı olarak otomasyonu sınıflandırmak için kullanılan bazı etiketler. Anahtar kelimeler:
- AYDINLATMA VE PRİZLER
- İKLİM VE ENERJİ
- GÜVENLİK VE FARKINDALIK
- EĞLENCE
- CİHAZLAR VE DİĞERLERİ
- Giriş: Otomasyonun hangi tür cihazları kontrol etmesi gerektiğini tanımlar. Otomasyon motoru, bu bilgileri kullanarak amaçlanan cihazlar için hangi tür işlemlerin geçerli olduğunu öğrenir.
- Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.
Kullanacağınız otomasyon şablonu:
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
Şablonu okuyun ve aşağıdakilere dikkat edin:
metadatabölümünde bu otomasyonun adı ve açıklaması yer alır.inputbölümü,LIGHTtüründe bir cihazı belirtenthe_lightadlı bir değişkeni tanımlar. Bu nedenle, bu şablon yalnızca ışıklar için kullanılabilir, diğer cihaz türleri için kullanılamaz. Başka bir deyişle, evinde otomasyonunuzu kuran bir kullanıcıya$the_lightiçin bir cihaz seçmesi istendiğinde, cihaz seçimi sizin belirttiğiniz türdeki cihazlarla sınırlı olur.inputbölümündetime_onvetime_offadlı iki değişken de tanımlanmıştır. Bu seçenekler, kullanıcının otomasyonları ne zaman başlatacağını belirtmesine olanak tanır.time_on, ışığın açılma zamanını,time_offise ışığın kapanma zamanını gösterir. Kullanıcıtime_onveyatime_offdeğerini ayarlamazsa varsayılan değerler kullanılır.- Otomasyonumuzun
automationsbölümünde iki otomasyon kuralı bulunur. Her kuralda, otomasyona hangi saatte başlatılacağını bildiren tek birtime.schedulebaşlatıcı bulunur.
Şablon düzenleyici
Otomasyon şablonu düzenleyici, otomasyon şablonları yazmak için kullandığınız araçtır.
- Google Home Developer Console'a gidin.
- Cihazınızın Google Home uygulamasında ayarlandığı hesapla oturum açın.
- Proje oluşturun veya mevcut bir projeyi seçin.
- Otomasyonlar bölümünde Geliştir'i tıklayın.
- Şablon oluştur'u tıklayın.
- "Işıkları zamanlama" otomasyon şablonunu kopyalayın.
- "Planlanmış ışık" otomasyon şablonunu şablon düzenleyiciye yapıştırın.
- Doğrula'yı tıklayın. Oluşabilecek hataları giderin ve hata kalmayana kadar doğrulamaya ve düzeltmeye devam edin.
- Şablonu kaydetmek için Kaydet'i tıklayın.
5. Şablonu test etme
Artık şablonu konsolda test edebilirsiniz.
- Işığınızın prize takılı olduğundan ve Google Home uygulamasında göründüğünden emin olun.
- Işık yanıyorsa kapatın.
- Google Home Developer Console'a gidin.
- Şablonunuzu oluşturduğunuz projeyi açın.
- Otomasyonlar'ı ve ardından Test sekmesini seçin.
- "Planlanmış ışık" otomasyon şablonunun yanındaki Aç'ı tıklayın.
- Şablonu test etmek istediğiniz yapıyı seçip Sonraki'yi tıklayın.
- InputValue düzenleyicisinde ışığınızın adını belirtin. Örneğin, ışığınızın adı "Masa lambası - Ofis" ise
lightssimgesinin sağını tıkladığınızda açılan açılır menüdenDesk light - Officesimgesini seçersiniz. Dilerseniz cihazın adını yazabilirsiniz. - Ayrıca InputValue düzenleyicisinde,
time_onzamanını beş dakika sonraki bir zaman olarak belirtin vetime_offzamanınıtime_onzamanından kısa bir süre sonraki bir zaman olarak değiştirin. - İşleminiz tamamlandığında InputValue düzenleyicisi aşağıdaki gibi görünmelidir:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am - Testi etkinleştir'i tıklayın.
- İki başlangıç zamanının geçmesini bekleyin. Işık, belirtilen saatlerde yanıp söner.
Şablonunuzu başarıyla test ettiğinizde otomasyonunuzun işlevsel olarak sağlam olduğunu bilirsiniz.
6. Tebrikler!
Otomasyon şablonunu başarıyla oluşturdunuz. Mükemmel!
Bu codelab'de şunları öğrendiniz:
- Otomasyon şablonu tasarlama ve yazma
- Google Home Developer Console'da nasıl test edeceğinizi öğrenin.
Sonraki adımlar
Bu codelab'de çok basit bir otomasyon oluşturdunuz. Otomasyonlar, ışık açma/kapatma zamanlamasından çok daha fazlasını yapabilir. Otomasyon şablonu oluşturma ve test etmenin temel bilgilerini öğrendiğinize göre, farklı başlatıcılar, koşullar ve işlemler kullanarak diğer cihaz türleri için otomasyon şablonları oluşturmayı deneyebilirsiniz.
Daha fazla bilgi
Google Home otomasyonları hakkında daha fazla bilgi edinmek için Otomasyonlar referans belgelerini inceleyin: