1. Giriş
Neler öğreneceksiniz?
- Otomasyon şablonu tasarlama ve yazma.
- Google Home Geliştirici Konsolu'nu kullanarak otomasyon şablonunu test etme.
Gerekenler
- Google Home uygulamasını çalıştıran bir Android veya iOS telefon.
- Evinizde yerleşik olarak bulunan bir akıllı ışık ya da Google Home Playground'da simüle edilmiş bir cihaz
Ön koşullar
Google Home otomasyonu yazma hakkında bilgi sahibi olmalısınız. Daha önce otomasyon yazmadıysanız bu işleme devam etmeden önce Komut dosyası tabanlı otomasyon oluşturma codelab'ini kullanabilirsiniz.
2. Otomasyon şablonları ve örnekleri
Geliştiriciler, Google Home Developer Console'daki otomasyon şablonu düzenleyicisini kullanarak otomasyon şablonları oluştururlar. Otomasyon şablonları, komut dosyası mantığının özünü içerir ve belirli cihazlara değil, cihaz türlerine referans verir.
Son kullanıcılar, Google Home Web'in otomasyon komut dosyası düzenleyicisini kullanarak bir otomasyon şablonu alır ve kendi evlerindeki belirli cihazlarda işlem yapan kişiselleştirilmiş bir örnek oluşturur. Kaydedilen örnek, Google Home uygulamasındaki (GHA) Hane Rutinleri bölümünde görünür.
3. Otomasyon şablonunuzu planlayın
Otomasyon oluştururken öncelikle kişinin çözmeye çalıştığı sorun ve otomasyonun bu sorunu çözmek için ne yapacağı düşünülür. Bu, aşağıdaki hususları içerir:
- Otomatikleştirmek istediğiniz cihazlar.
- Otomasyonun yürütülmesini hangi başlatıcının (veya etkinliğin) tetiklemesi gerektiği.
- Hangi ek koşullar (varsa), otomasyonun tetiklendikten sonra çalışıp çalışmayacağını kontrol eder.
- Hangi işlemlerin yapılacağı.
Bu codelab'de otomasyonun iki işlevi vardır:
- Işığı belirli bir zamanda yak.
- Belirli bir zamanda aynı ışığı söndür.
Bu doğrultuda, şablon düzenleyiciyi açıp otomasyonu yazmaya hazırsınız.
4. Otomasyon şablonunu yazma
Otomasyonlar, YAML veri serileştirme dili kullanılarak bildirim temelli bir şekilde yazılır.
Bir otomasyon şablonunun üç ana bölümü vardır:
- Meta veri: Otomasyonun adı, ne yaptığının açıklaması ve isteğe bağlı olarak otomasyonu sınıflandırmak için kullanılan bazı etiketler. Anahtar kelimeler:
- AYDINLATMA VE SOHBETLER
- İKLİM VE ENERJİ
- GÜVENLİK VE BİLİNİRLİK
- EĞLENCE
- CİHAZLAR VE DAHA FAZLASI
- Giriş: Otomasyonun ne tür cihazları kontrol etmek istediğini tanımlar. Otomasyon motoru, hedeflenen cihazlar için ne tür işlemlerin geçerli olduğunu belirlemek amacıyla bu bilgileri kullanır.
- Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.
Üzerinde çalışacağınız otomasyon şablonu şudur:
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
Şablonun tamamını okuyun ve aşağıdakilere dikkat edin:
metadata
bölümünde bu otomasyonun adı ve açıklaması yer alır.input
bölümü,LIGHT
türündeki bir cihazı belirtenthe_light
adlı bir değişken tanımlar. Yani bu şablon yalnızca ışıklar için kullanılabilir, diğer cihaz türleri için kullanılamaz. Başka bir deyişle, evinde otomasyon ayarlarını yapan bir kullanıcıdan$the_light
için bir cihaz seçmesi istendiğinde cihaz seçimi sizin belirttiğiniz türdeki cihazlarla sınırlıdır.- Ayrıca
input
bölümündetime_on
vetime_off
adlı iki değişken de tanımlanmıştır. Bunlar, kullanıcının otomasyonların ne zaman başlatılacağını belirlemesine olanak tanır.time_on
ışığın açık olduğu,time_off
ise ışığın söndürüldüğü zamanı temsil eder. Kullanıcı,time_on
veyatime_off
değerini ayarlamazsa varsayılan değerler kullanılır. - Otomasyonun
automations
bölümünde iki otomasyon kuralı vardır. Her kuralın, otomasyona otomasyonun ne zaman başlatılacağını bildiren tek birtime.schedule
başlatıcısı vardır.
Şablon düzenleyici
Otomasyon şablonu düzenleyici, otomasyon şablonları yazmak için kullandığınız araçtır.
- Google Home Geliştirici Konsolu'na gidin.
- Google Home uygulamasında cihazınızı kurarken kullandığınız hesapla oturum açın.
- Bir proje oluşturun veya mevcut bir projeyi seçin.
- Otomasyonlar'ın altında Geliştir'i tıklayın.
- Şablon oluştur'u tıklayın.
- "Ayarlanmış ışık"ı kopyalama şablonu oluşturabilirsiniz.
- "Planlanmış ışık"ı yapıştırma şablon düzenleyiciye yükleyebilirsiniz.
- Doğrula'yı tıklayın. Karşılaşabileceğiniz hataları giderin ve hata ortaya çıkana kadar doğrulayıp düzeltmeye devam edin.
- Şablonu kaydetmek için Kaydet'i tıklayın.
5. Şablonu test etme
Artık şablonu Console'da test edebilirsiniz.
- Lambanızın takılı olduğundan ve Google Home uygulamasında göründüğünden emin olun.
- Işık yanıyorsa kapatın.
- Google Home Geliştirici Konsolu'na gidin.
- Şablonunuzu oluşturduğunuz projeyi açın.
- Otomasyonlar'ı, ardından Test et sekmesini seçin.
- "Programlanmış ışık"ın yanındaki Aç'ı tıklayın şablonu oluşturabilirsiniz.
- Şablonu test etmek istediğiniz yapıyı seçin, ardından İleri'yi tıklayın.
- InputValue düzenleyicisinde ışığınızın adını belirtin. Örneğin, ışığınızın adı "Masa ışığı - Ofis" ise
lights
öğesinin sağını tıkladığınızda görünen açılır menüdenDesk light - Office
değerini seçersiniz. Cihazın adını da yazabilirsiniz. - Ayrıca InputValue düzenleyicisinde, beş dakika sonra olacak şekilde
time_on
zamanını belirtin vetime_off
zamanınıtime_on
sonrasındaki bir zamanla değiştirin. - İşiniz bittiğinde, InputValue düzenleyicisi şu şekilde 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şlatma süresinin geçmesini bekleyin. Belirtilen zamanda ışık yanması ve sönmesi gerekir.
Şablonunuzu başarılı bir şekilde test ettikten sonra otomasyonun işlevsel olarak sağlam olduğunu anlarsınız.
6. Tebrikler!
Otomasyon şablonunu başarıyla oluşturdunuz. Mükemmel!
Bu codelab'de şunları öğrendiniz:
- Otomasyon şablonu tasarlama ve yazma.
- Google Home Geliştirici Konsolu'nda nasıl test edilir?
Sonraki adımlar
Bu codelab'de çok basit bir otomasyon oluşturdunuz. Otomasyonlar, bir ışığın açılıp kapatılmasını programlamaktan çok daha fazlasını yapabilir. Otomasyon şablonu oluşturup test etmeyle ilgili temel bilgileri öğrendiğinize göre farklı başlatıcılar, koşullar ve işlemler kullanarak diğer cihaz türlerinde otomasyon şablonları oluşturmayı deneyebilirsiniz.
Daha fazla bilgi
Google Home otomasyonları hakkında daha fazla bilgi edinmek için otomasyon referans belgelerini inceleyin: