Komut dosyası içeren bir otomasyon oluşturma

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:

  1. Lambanızı (veya başka bir akıllı cihazı) belirli bir zamanda açabilirsiniz.
  2. 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:

  1. Meta veri: Komut dosyası tabanlı otomasyonun adı ve işleviyle ilgili açıklama.
  2. 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 true olarak değerlendirilmesi gerekir.

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 true olarak değişirse işlemler çalıştırılır. Düzeltmeleri false durumunda kalırsa işlemler çalıştırılmaz.

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

Bir koşul, durum değişikliği bildirimiyle aynı değildir:

  • Koşul, başlatıcının "tetiklendiği" zamanda doğru olması gereken bir gerçeği temsil eder .
  • Durum değişikliği bildirimi, başka bir cihazın açılması gibi bir etkinliktir.

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:

  1. İki automations kuralı vardır. Birincisi ışığı yakıyor, ikincisi de söndürüyor.
  2. Her kuralın tek bir işlemi vardır.
  3. on: true, ışığı aç anlamına gelir. Benzer şekilde, on: false ışığı kapat anlamına gelir.
  4. Her kuralın, otomasyona otomasyonun ne zaman başlatılacağını bildiren tek bir time.schedule başlatıcısı vardır.
  5. 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
  1. Otomasyonu kopyalayın (yukarıda belirtilen)
  2. Google Home Web'e gidin.
  3. Üç yıldızlı bir simgeyle 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ı 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.
  9. Kaydet'i tıklayın.
  10. Komut dosyanız metninin altındaki Etkinleştir anahtarının açık konumunda olduğundan emin olun: Tamamen doğrulanmış ve etkinleştirilmiş komut dosyası otomasyonuna sahip komut dosyası düzenleyici

6. Otomasyonu test etme

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

Şimdi otomasyonu test edelim.

  1. Cihazı kapatın.
  2. Otomasyonu düzenleyin ve "cihaz açık" ayarını değiştirin beş dakika ilerideki bir zamana dönüşmesini sağlar.
  3. "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.
  4. Doğrula'yı tıklayın. Karşılaşabileceğiniz 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ş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: