1. Giriş
Neler öğreneceksiniz?
- Senaryolu otomasyon planlama ve yazma.
- Komut dosyası otomasyonu nasıl test edilir?
İhtiyacınız olanlar
- Google Home uygulamasını çalıştıran bir Android veya iOS telefon.
- Google Home ile Çalışır sertifikasına sahip, açılıp kapatılabilen bir akıllı ışık veya başka bir cihaz.
2. Cihazınızı kurma
Cihazınız henüz kurulmamışsa devam edin ve evinizde kurun.
Cihazın Google Home uygulamasında göründüğünü ve Home uygulamasını kullanarak açıp kapatabileceğinizi onaylayın.
3. Komut dosyası tabanlı otomasyonunuzu planlayın
Önce komut dosyası tabanlı otomasyonumuzun ne yapmasını istediğimizi düşünerek başlayalım. Bu, aşağıdaki hususları içerir:
- Otomatikleştirmek istediğiniz cihazlar.
- Komut dosyası tabanlı otomasyonun yürütülmesini hangi başlatıcının (veya etkinliğin) tetiklemesi gerektiği.
- Komut dosyası kullanılan otomasyonun tetiklendikten sonra çalışıp çalışmayacağını hangi ek koşullar (varsa) kontrol eder?
- Hangi işlemlerin yapılacağı.
Bu codelab'de amacımız, komut dosyası otomasyonunun iki adımını oluşturmaktır:
- Lambanızı (veya başka bir akıllı cihazı) belirli bir zamanda açabilirsiniz.
- Cihazınızı belirli bir zamanda kapatın.
Artık komut dosyası tabanlı otomasyonumuzun işlevini tam olarak anladığımıza göre komut dosyası düzenleyiciyi açıp komut dosyası otomasyonunu yazacağız.
4. Komut dosyası tabanlı otomasyonu yazın
Komut dosyası kullanılan otomasyonlar, YAML veri serileştirme dili kullanılarak bildirim temelli bir şekilde yazılır.
Komut dosyası tabanlı otomasyon iki ana bölümden oluşur:
- Meta veri: Komut dosyası tabanlı otomasyonun adı ve işleviyle ilgili açıklama.
- Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.
Meta veri
Otomasyonun meta verileri, kullanıcıya otomasyonun adını ve işlevini söyler. Meta veriler metadata
bloğunda belirtilir ve şu şekilde görünür:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Otomasyon kuralları
Otomasyon kuralı asıl işin gerçekleştiği yerdir. Program, sırayla değerlendirilen başlangıçlar, koşullar ve işlemler olmak üzere üç bölümden oluşur:
1 Başlatıcı | 2 Koşul | 3 İşlem |
Başlatıcılar, otomasyonu başlatır. Sonraki koşulların değerlendirilmesi için en az bir başlatıcının | Bunlar isteğe bağlıdır ve bir başlatıcı etkinleştirildikten sonra değerlendirilen bir veya daha fazla ek kısıtlamadan oluşur. Koşullar Birden fazla kısıtlama eklerken, tek bir mantıksal ifade oluşturmak için bunları Bir koşul, durum değişikliği bildirimiyle aynı değildir:
| Eylemler, başlatıcı ve herhangi bir kısıtlama koşulu karşılandığında gerçekleştirilen işlemlerdir. |
Otomasyonun automations
bloğu iki kural içerir:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
Aşağıdakileri göz önünde bulundurun:
- İki
automations
kuralı vardır. Birincisi ışığı yakıyor, ikincisi de söndürüyor. - Her kuralın tek bir işlemi vardır.
on: true
, ışığı aç anlamına gelir. Benzer şekilde,on: false
ışığı kapat anlamına gelir.- Her kuralın, otomasyona otomasyonun ne zaman başlatılacağını bildiren tek bir
time.schedule
başlatıcısı vardır. - Bu otomasyonda koşul yoktur.
5. Tam komut dosyası otomasyon
Tüm bu parçaları bir araya getirdiğimizde, komut dosyası tabanlı otomasyonun tamamını şöyle görebilirsiniz:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- Otomasyonu kopyalayın (yukarıda belirtilen)
- Google Home Web'e gidin.
- Üç yıldızlı bir simgeyle gösterilen otomasyonlar sekmesini seçin:
- + Yeni ekle'yi tıklayın.
- Komut dosyası düzenleyicide, otomasyon şablonunu silin.
- Otomasyonunuzu yapıştırın.
Desk light - Office
yerine cihazınızın adını ve konumunu yazın.- Doğrula'yı tıklayın. Komut dosyası düzenleyici, komut dosyası tabanlı otomasyonunuzda hata içeren bölümlerin altını çizer. Oluşan hataları düzeltin ve başka hata kalmayıncaya kadar doğrulayıp düzeltmeye devam edin. Örneğin, cihazınızın adı farklı olabilir. Bu durumda, geçerli bir cihaz adı seçmek için otomatik tamamlama özelliğini kullanabilirsiniz.
- Kaydet'i tıklayın.
- Komut dosyanız metninin altındaki Etkinleştir anahtarının açık konumunda olduğundan emin olun:
6. Otomasyonu test etme
- Cihazınızın fişe takılı olduğundan ve Google Home uygulamasında göründüğünden emin olun.
- Cihaz şu anda açıksa kapatın.
- Google Home Web'deki Otomasyonlar sayfasında "çalıştır"ı tıklayın düğmesini tıklayın.
- Cihaz açılır.
Şimdi otomasyonu test edelim.
- Cihazı kapatın.
- Otomasyonu düzenleyin ve "cihaz açık" ayarını değiştirin beş dakika ilerideki bir zamana dönüşmesini sağlar.
- "Cihazı kapalı" ayarını değiştirme "zamanında"dan kısa bir süre sonraya, 14. satırdaki zamana göre değişir.
- Doğrula'yı tıklayın. Karşılaşabileceğiniz hataları düzeltin.
- Kaydet'i tıklayın.
- Etkinleştir anahtarının açık konumda olduğundan emin olun.
- İki başlatma süresinin geçmesini bekleyin. Cihaz belirlediğiniz zamanlarda açılıp kapanacaktır.
7. Tebrikler!
Komut dosyası tabanlı otomasyonu başarıyla oluşturdunuz.
Bu codelab'de şunları öğrendiniz:
- Otomasyon tasarlama ve yazma.
- Otomasyonu test etme.
Sonraki adımlar
Bu codelab'de çok basit bir otomasyon oluşturduk. Otomasyonlar, bir güç anahtarının açılıp kapatılmasını programlamaktan çok daha fazlasını yapabilir. Otomasyon oluşturmayla ilgili temel bilgileri öğrendiğinize göre Google Home ekosisteminde bulunan çeşitli başlatıcı türlerini, koşulları ve işlemleri keşfedebilirsiniz.
Aşağıdaki alıştırmaları deneyin:
- Otomasyona daha fazla
time.schedule
başlatıcı ekleyin. - Otomasyonu değiştirerek başka bir cihazı aynı programa göre açıp kapatabilirsin.
time.schedule
başlatıcıları kaldırmadan, otomasyonu cihazları yalnızca başka bir cihaz açıkken açılacak şekilde değiştirin.condition
ifadesini kullanan örnek komut dosyalarına bakın.- Otomasyonu, cihazları yalnızca birisi evdeyken açacak şekilde değiştirin.
Daha fazla bilgi
Google Home otomasyonları hakkında daha fazla bilgi edinmek için otomasyon referans belgelerini inceleyin: