1. Giriş
Neler öğreneceksiniz?
- Senaryolu otomasyon planlama ve yazma.
- Komut dosyası tabanlı otomasyon nasıl test edilir?
Gerekenler
- Google Home uygulamasını çalıştıran bir Android veya iOS telefon.
- Google Home ile çalışır sertifikasına sahip ve açılabilen ya da kapatılabilen bir akıllı ışık veya başka bir cihaz.
2. Cihazınızı kurma
Cihazınız henüz kurulmamışsa evinizde kurun.
Cihazın Google Home uygulamasında göründüğünü ve Home uygulamasını kullanarak açıp kapatabildiğinizi onaylayın.
3. Komut dosyası kullanılan otomasyonunuzu planlayın
Komut dosyası tabanlı otomasyonumuzun ne yapmasını istediğimizi düşünerek başlayalım. Buna aşağıdakiler de dahildir:
- Otomatikleştirmek istediğiniz cihazlar.
- Komut dosyası kullanılan otomasyonun yürütülmesini hangi başlatıcı (veya etkinlik) tetiklemelidir?
- Komut dosyasıyla oluşturulan otomasyonun, tetiklendikten sonra çalışıp çalışmadığını kontrol eden ek koşullar (varsa).
- Hangi işlemlerin gerçekleştirileceği.
Bu codelab'in amacına uygun olarak senaryolu otomasyonun iki şey yapmasını sağlamayı hedefliyoruz:
- Işığınızı (veya başka bir akıllı cihazı) belirli bir zamanda açın.
- Cihazınızı belirli bir zamanda kapatın.
Artık komutlu otomasyonumuzun tam olarak ne yapmasını istediğimiz konusunda net olduğumuza göre, komut dosyası düzenleyiciyi açıp senaryolu otomasyonu yazacağız.
4. Komut dosyası kullanılan otomasyonu yazın
Komutlu otomasyonlar, YAML veri serileştirme dili kullanılarak bildirim temelli bir şekilde yazılır.
Komut dosyası tabanlı bir otomasyon, iki ana bölümden oluşur:
- Meta veri: Komut dosyasıyla oluşturulan otomasyonun adı ve ne yaptığına dair açıklama.
- Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.
Meta veri
Otomasyonumuzun meta verileri kullanıcıya otomasyonun adını ve işlevi hakkında bilgi verir. Meta veri, metadata
bloğunda belirtilir. Şunun gibi görünür:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Otomasyon kuralları
Otomasyon kuralı, gerçek işin yapıldığı yerdir. Sırayla değerlendirilen üç bölümden (başlangıçlar, koşullar ve işlemler) 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 başlatıcı etkinleştirildikten sonra değerlendirilen bir veya daha fazla ek sınırlamadan 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:
| İşlemler, başlatıcı ve herhangi bir kısıtlama koşulları karşılandığında gerçekleştirilen işlemlerdir. |
Otomasyonumuzun 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 ışığı açar, ikincisi kapatır. - Her kuralın tek bir işlemi vardır.
on: true
, ışığı aç anlamına gelir. Benzer şekilde,on: false
de ışığı kapat anlamına gelir.- Her kuralın, otomasyona otomasyonu ne zaman başlatacağını bildiren tek bir
time.schedule
başlatıcısı vardır. - Bu otomasyonda herhangi bir koşul yok.
5. Tam komutlu otomasyon
Tüm bu parçalar bir araya getirildiğinde komutlu otomasyonun işleyişi aşağıdaki gibidir:
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).
- Web için Google Home'a gidin.
- Üç yıldız bulunan 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ı kullanılan otomasyonunuzun hata içeren bölümlerinin altını çizer. Ortaya çıkan hataları giderin 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ızdaki metnin altındaki Etkinleştir anahtarının açık konumunda olduğundan emin olun:
6. Otomasyonu test edin
- 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.
- Web için Google Home'daki Otomasyonlar sayfasında, otomasyonunuzun yanındaki "çalıştır" düğmesini tıklayın.
- Cihaz açılır.
Şimdi otomasyonu test edelim.
- Cihazı kapatın.
- Otomasyonu düzenleyin ve 7. satırdaki "cihaz açık" zamanını beş dakika sonraki bir zamanla değiştirin.
- 14. satırdaki "cihaz kapalı" zamanını "etkinleştirildiği tarihten" kısa bir süre sonra olacak şekilde değiştirin.
- Doğrula'yı tıklayın. Karşılaşabileceğiniz hataları çözün.
- Kaydet'i tıklayın.
- Activate (Etkinleştir) anahtarının açık konumunda olduğundan emin olun.
- İki başlangıç süresinin geçmesini bekleyin. Cihaz belirttiğiniz zamanlarda açılıp kapanır.
7. Tebrikler!
Komut dosyası tabanlı bir otomasyon oluşturdunuz. Çok iyi!
Bu codelab'de şunları öğrendiniz:
- Otomasyon tasarlama ve yazma.
- Otomasyon nasıl test edilir?
Sonraki adımlar
Bu codelab'de çok basit bir otomasyon oluşturduk. Otomasyonlar, güç anahtarının açılıp kapatılmasını planlamaktan çok daha fazlasını yapabilir. Otomasyon oluşturmanın temellerini öğrendiğinize göre artık Google Home ekosisteminde bulunan çeşitli başlatıcı, koşul ve işlem türlerini keşfedebilirsiniz.
Aşağıdaki alıştırmaları deneyin:
- Otomasyona daha fazla
time.schedule
başlatıcı ekleyin. - Otomasyonu, aynı programa göre başka bir cihazı açıp kapatacak şekilde değiştirin.
time.schedule
başlatıcılarını kaldırmadan otomasyonu yalnızca cihazları başka bir cihaz açıkken açacak şekilde değiştirin.condition
ifadesini kullanan örnek komut dosyalarına bakın.- Otomasyonu, cihazları yalnızca evde birisi varken açacak şekilde değiştirin.
Daha fazla bilgi
Google Home otomasyonları hakkında daha fazla bilgi edinmek için Otomasyonlar referans belgelerini inceleyin: