Komut dosyası içeren bir otomasyon oluşturma

1. Giriş

Neler öğreneceksiniz?

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

İhtiyacınız olanlar

  • Google Home uygulamasını çalıştıran bir Android veya iOS telefon.
  • Google Home ile çalışır sertifikasına sahip ve açılıp kapatılabilen akıllı ışık veya başka bir cihaz.

2. Cihazınızı kurma

Cihazınız henüz kurulmamışsa evinize kurun.

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

3. Komut dosyalı otomasyonunuzu planlama

Komut dosyası otomasyonumuzun ne yapmasını istediğimizi düşünerek başlayacağız. Bu kapsamda aşağıdakiler gibi hususlar dikkate alınır:

  • Otomatikleştirmek istediğiniz cihazlar.
  • Komut dosyası otomasyonunun yürütülmesini tetikleyecek başlatıcı (veya etkinlik).
  • Tetiklendikten sonra komut dosyası otomasyonunun çalışıp çalışmayacağını kontrol eden ek koşullar (varsa).
  • Hangi işlemlerin yapılacağı.

Bu codelab'in amacı, komut dosyası otomasyonunun iki şey yapmasını sağlamaktır:

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

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

4. Komut dosyalı otomasyonu yazma

Komut dosyası içeren otomasyonlar, YAML veri serileştirme dili kullanılarak açıklayıcı bir şekilde yazılır.

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

  1. Meta veriler: Komut dosyası otomasyonunun adı ve işlevinin açıklaması.
  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, metadata bloğunda belirtilir. Bu blok şu şekilde görünür:

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

Otomasyon kuralları

Asıl işin yapıldığı yer otomasyon kurallarıdır. Başlatıcılar, koşullar ve işlemler olmak üzere üç bölümden oluşur ve sırayla değerlendirilir:

1 Başlatıcı

2 Koşul

3 İşlem

Başlatıcılar, otomasyonu başlatan öğelerdir. 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 çözülürse işlemler çalıştırılır. Değerler false olarak çözülürse işlemler çalışmaz.

Birden fazla kısıtlama eklerken tek bir mantıksal ifade oluşturmak için bunları and ve or anahtar kelimeleriyle ayırın. Bir otomasyonun işlemlerinin devam edebilmesi için bu ifadenin true olarak çözülmesi gerekir.

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

  • Koşul, başlatıcının "tetiklendiği" sırada işlemlerin çalıştırılması için 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.

İş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. Birinci düğme ışığı açar, ikinci düğme ise ışığı kapatır.
  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 kuralda, otomasyonun ne zaman başlatılacağını belirten tek bir time.schedule başlatıcı bulunur.
  5. Bu otomasyonda koşul yok.

5. Komut dosyası içeren tam otomasyon

Tüm bu parçaları bir araya getirdiğimizde komut dosyası otomasyonunun tamamı şu şekilde 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. Web için Google Home'a gidin.
  3. Üç yıldız içeren bir simgeyle gösterilen otomasyonlar sekmesini seçin:
    Otomasyonlar sekmesi
  4. + Yeni ekle'yi tıklayın.
  5. Komut dosyası düzenleyicisinde 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ı otomasyonunuzun hata içeren bölümlerini alt çizgiyle gösterir. Ortaya çıkan hataları giderin ve hata kalmayana kadar doğrulama ve düzeltme işlemlerine devam edin. Örneğin, cihaz adınız 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. Senaryo metninizin altındaki Etkinleştir anahtarının açık konumunda 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ı ve Google Home uygulamasında görünür olduğundan emin olun.
  2. Cihaz şu anda 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çılacaktır.

Şimdi otomasyonu test edelim.

  1. Cihazı kapatın.
  2. Otomasyonu düzenleyin ve 7. satırdaki "cihaz açık" saatini beş dakika sonra olacak bir saate değiştirin.
  3. 14. satırdaki "cihaz kapalı" saatini, "cihaz açık" saatinden kısa bir süre sonra olacak şekilde değiştirin.
  4. Doğrula'yı tıklayın. Olası 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 zamanlarda açılıp kapanır.

7. Tebrikler!

Komut dosyası içeren bir otomasyon oluşturmayı başarıyla tamamladınız.

Bu kod laboratuvarında ş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çma/kapatma işlemini planlamaktan çok daha fazlasını yapabilir. Otomasyon oluşturmanın temellerini anladığınıza göre 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, başka bir cihazı aynı programda açıp kapatacak şekilde değiştirin.
  • time.schedule başlatıcıları kaldırmadan, otomasyonu yalnızca başka bir cihaz açıldığında cihazları açacak şekilde değiştirin. condition yan tümcesini kullanan örnek komut dosyalarını inceleyin.
  • Otomasyonu, cihazları yalnızca evde biri olduğunda açacak şekilde değiştirin.

Daha fazla bilgi

Google Home otomasyonları hakkında daha fazla bilgi edinmek için otomasyonlar referans dokümanlarını inceleyin: