Komut dosyası içeren bir otomasyon oluşturma

1. Giriş

Neler öğreneceksiniz?

  • Komut dosyası içeren bir otomasyonu planlama ve yazma
  • Komut dosyası içeren bir otomasyonu test etme

İhtiyacınız olanlar

  • Google Home uygulamasının yüklü olduğu bir Android veya iOS telefon
  • Google Home ile Çalışır sertifikalı ve açılıp kapatılabilen bir akıllı ışık veya başka bir cihaz

2. Cihazınızı kurma

Cihazınız henüz kurulmadıysa evinizde kurun.

Cihazın Google Home uygulamasında göründüğünü ve Home uygulamasını kullanarak cihazı açıp kapatabildiğinizi onaylayın.

3. Komut dosyalı otomasyonunuzu planlama

İlk olarak, komut dosyası içeren otomasyonumuzun ne yapmasını istediğimizi düşünerek başlayacağız. Bu kapsamda aşağıdaki gibi hususları göz önünde bulunduracağız:

  • Hangi cihazları otomatikleştirmek istediğiniz
  • Komut dosyası oluşturulmuş otomasyonun yürütülmesini hangi başlatıcı (veya etkinlik) tetiklemelidir?
  • Komut dosyası içeren 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, komut dosyasıyla otomasyonun iki işlem yapmasını planlıyoruz:

  1. Işığınızı (veya diğer akıllı cihazınızı) belirli bir saatte açabilirsiniz.
  2. Cihazınızı belirli bir saatte kapatma

Komut dosyalı otomasyonumuzun tam olarak ne yapmasını istediğimiz konusunda net olduğumuza göre, komut dosyası düzenleyiciyi açıp komut dosyalı otomasyonu yazacağız.

4. Komut dosyalı otomasyonu yazma

Komut dosyası oluşturulan otomasyonlar, YAML veri serileştirme dili kullanılarak bildirimli bir şekilde yazılır.

Komut dosyası içeren otomasyonlar iki ana bölümden oluşur:

  1. Meta veriler: Komut dosyası oluşturulmuş otomasyonun adı ve ne yaptığına dair açıklama.
  2. Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.

Meta veri

Otomasyonumuzun meta verileri, kullanıcıya otomasyonun adını ve ne işe yaradığını söyler. Meta veriler, şu şekilde görünen metadata bloğunda belirtilir:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

Otomasyon kuralları

Asıl çalışma, otomasyon kuralında yapılır. Sırayla değerlendirilen üç bölümden (başlatıcılar, koşullar ve işlemler) oluşur:

1 Starters

2 Koşullar

3 İşlem

Başlatıcılar, otomasyonu başlatan öğelerdir. Sonraki koşulların değerlendirilmesi için en az bir başlatıcı true olarak değerlendirilmelidir.

Bunlar isteğe bağlıdır ve bir başlangıç öğesi etkinleştirildikten sonra değerlendirilen bir veya daha fazla ek kısıtlamadan oluşur. Koşullar true olarak çözümlenirse işlemler çalıştırılır. Bu işlemler false olarak çözümlenirse çalıştırılmaz.

Birden fazla kısıtlama eklerken bunları and ve or anahtar kelimeleriyle ayırarak tek bir mantıksal ifade oluşturun. Otomasyon işlemlerinin devam etmesi için bu ifadenin true olarak çözümlenmesi gerekir.

Koşul, durum değişikliği bildirimiyle aynı şey değildir:

  • Bir koşul, işlemlerin çalışması için başlatıcı "tetiklendiğinde" doğru olması gereken bir olguyu temsil eder.
  • Durum değişikliği bildirimi, başka bir cihazın açılması gibi bir etkinliktir.

İşlemler, başlatıcı ve tüm 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:

  1. İki automations kuralı vardır. Birincisi ışığı açar, ikincisi ise kapatır.
  2. Her kuralın tek bir işlemi vardır.
  3. on: true, ışığı aç anlamına gelir. Benzer şekilde, on: false simgesi ışığı kapat anlamına gelir.
  4. Her kuralda, otomasyona hangi saatte başlatılacağını bildiren tek bir time.schedule başlatıcı bulunur.
  5. Bu otomasyonda koşul yok.

5. Tam komut dosyalı otomasyon

Tüm bu parçaları bir araya getirdiğimizde, komut dosyası otomasyonunun tamamı aşağıdaki gibi görünür:

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
  1. Otomasyonu kopyalayın (yukarıda).
  2. Google Home Web'e gidin.
  3. Üç yıldız simgesiyle gösterilen otomasyonlar sekmesini seçin:
    Otomasyonlar sekmesi
  4. + Yeni ekle'yi tıklayın.
  5. Komut dosyası düzenleyicide otomasyon şablonunu silin.
  6. Otomasyonunuzu yapıştırın.
  7. Desk light - Office yerine cihazınızın adını ve konumunu yazın.
  8. Doğrula'yı tıklayın. Komut dosyası düzenleyici, komut dosyası oluşturulmuş otomasyonunuzda hata içeren bölümlerin altını çizer. Ortaya çıkan hataları giderin ve hata kalmayana kadar doğrulamaya ve 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.
  9. Kaydet'i tıklayın.
  10. Senaryonuzun metninin altındaki Etkinleştir anahtarının açık konumda olduğundan emin olun: Tamamen doğrulanmış ve etkinleştirilmiş komut dosyalı otomasyon içeren komut dosyası düzenleyici

6. Otomasyonu test etme

  1. Cihazınızın prize takılı olduğundan ve Google Home uygulamasında göründüğünden emin olun.
  2. Cihaz açıksa kapatın.
  3. Google Home Web'deki Otomasyonlar sayfasında otomasyonunuzun yanındaki "çalıştır" düğmesini tıklayın.
    Komut dosyası çalıştırma düğmesi
  4. Cihaz açılmalıdır.

Şimdi otomasyonu test edelim.

  1. Cihazı kapatın.
  2. Otomasyonu düzenleyin ve 7. satırdaki "cihazı açma" zamanını beş dakika sonrasına ayarlayın.
  3. 14. satırdaki "cihaz kapalı" zamanını, "açılma zamanından" kısa bir süre sonraki bir zamanla değiştirin.
  4. Doğrula'yı tıklayın. Oluşabilecek hataları düzeltin.
  5. Kaydet'i tıklayın.
  6. Etkinleştir anahtarının açık konumda olduğundan emin olun.
  7. İki başlangıç zamanının geçmesini bekleyin. Cihaz, belirttiğiniz saatlerde açılıp kapanmalıdır.

7. Tebrikler!

Komut dosyası içeren bir otomasyonu başarıyla oluşturdunuz. Tebrikler!

Bu codelab'de şunları öğrendiniz:

  • Otomasyon tasarlama ve yazma
  • Otomasyonları test etme

Sonraki adımlar

Bu codelab'de çok basit bir otomasyon oluşturduk. Otomasyonlar, güç anahtarının açılıp kapanmasını planlamaktan çok daha fazlasını yapabilir. Otomasyon oluşturmanın temel bilgilerini öğrendiğinize göre, Google Home ekosisteminde bulunan çeşitli başlangıç türlerini, koşulları ve işlemleri inceleyebilirsiniz.

Aşağıdaki alıştırmaları deneyin:

  • Otomasyona daha fazla time.schedule başlatıcı ekleyin.
  • Otomasyonu, aynı programda başka bir cihazı açıp kapatacak şekilde değiştirin.
  • time.schedule başlatıcılarını kaldırmadan otomasyonu, cihazları yalnızca başka bir cihaz açıldığında etkinleşecek şekilde değiştirin. condition ifadesini kullanan örnek komut dosyalarına bakın.
  • Otomasyonu, cihazları yalnızca evde biri 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: