Komut dosyası içeren bir otomasyon oluşturma

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:

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

  1. Meta veri: Komut dosyasıyla oluşturulan 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 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 true olarak değerlendirilmesi gerekir.

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 true olarak çözümlenirse işlemler çalıştırılır. false çözümlenirse 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 kelimeleriyle ayırın. Otomasyon işlemlerinin devam etmesi için bu ifade true olarak çözümlenmelidir.

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

  • Bir koşul, işlemlerin çalıştırılması için 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 etkinleştirilmesi gibi bir etkinliktir.

İş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:

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

6. Otomasyonu test edin

  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. Web için Google Home'daki Otomasyonlar sayfasında, otomasyonunuzun yanındaki "çalıştır" 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 7. satırdaki "cihaz açık" zamanını beş dakika sonraki bir zamanla değiştirin.
  3. 14. satırdaki "cihaz kapalı" zamanını "etkinleştirildiği tarihten" kısa bir süre sonra olacak şekilde değiştirin.
  4. Doğrula'yı tıklayın. Karşılaşabileceğiniz hataları çözün.
  5. Kaydet'i tıklayın.
  6. Activate (Etkinleştir) anahtarının açık konumunda olduğundan emin olun.
  7. İ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: