Otomasyon şablonu oluşturma

1. Giriş

Neler öğreneceksiniz?

  • Otomasyon şablonu tasarlama ve yazma
  • Google Home Play Console'u kullanarak otomasyon şablonunu test etme

İhtiyacınız olanlar

  • Google Home uygulamasının yüklü olduğu bir Android veya iOS telefon
  • Evinize dahil edilmiş bir akıllı ışık veya Google Home Playground'daki simüle edilmiş bir cihaz.

Ön koşullar

Google Home ev otomasyonu yazmayı biliyor olmanız gerekir. Daha önce hiç otomasyon yazmadıysanız bu codelab'e başlamadan önce Create a scripted automation (Komut dosyasıyla otomasyon oluşturma) codelab'ini yapmanızı öneririz.

2. Otomasyon şablonları ve örnekleri

Geliştiriciler, Google Home Developer Console'daki otomasyon şablonu düzenleyiciyi kullanarak otomasyon şablonları oluşturur. Otomasyon şablonları, komut dosyası mantığının özünü içerir ve belirli cihazlara değil, cihaz türlerine referans verir.

Google Home Web'in otomasyon komut dosyası düzenleyicisini kullanan son kullanıcılar, bir otomasyon şablonu alıp kendi evlerindeki belirli cihazlarda çalışan kişiselleştirilmiş bir örnek oluşturur. Kaydedildikten sonra örnek, Google Home uygulamasındaki (GHA) Hane Rutinleri bölümünde görünür.

3. Otomasyon şablonunuzu planlama

Otomasyon oluştururken öncelikle çözmeye çalıştığınız sorunu ve otomasyonun bu sorunu çözmek için ne yapacağını düşünerek işe başlarsınız. Bu kapsamda aşağıdaki gibi hususlar yer alır:

  • Hangi cihazları otomatikleştirmek istediğiniz
  • Otomasyonun yürütülmesini hangi başlatıcı (veya etkinlik) tetiklemelidir?
  • 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 otomasyonunuz iki işlem yapacak:

  1. Belirli bir saatte ışığı açma
  2. Aynı ışığı belirli bir saatte kapatma

Bu bilgileri göz önünde bulundurarak şablon düzenleyiciyi açıp otomasyonu yazmaya başlayabilirsiniz.

4. Otomasyon şablonunu yazma

Otomasyonlar, YAML veri serileştirme dili kullanılarak bildirimli bir şekilde yazılır.

Otomasyon şablonları üç ana bölümden oluşur:

  1. Meta veriler: Otomasyonun adı, ne yaptığına dair bir açıklama ve isteğe bağlı olarak otomasyonu sınıflandırmak için kullanılan bazı etiketler. Anahtar kelimeler:
    • AYDINLATMA VE PRİZLER
    • İKLİM VE ENERJİ
    • GÜVENLİK VE FARKINDALIK
    • EĞLENCE
    • CİHAZLAR VE DİĞERLERİ
  2. Giriş: Otomasyonun hangi tür cihazları kontrol etmesi gerektiğini tanımlar. Otomasyon motoru, bu bilgileri kullanarak amaçlanan cihazlar için hangi tür işlemlerin geçerli olduğunu öğrenir.
  3. Otomasyon kuralları: Otomasyonun başlatma mantığını ve davranışını tanımlar.

Kullanacağınız otomasyon şablonu:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

Şablonu okuyun ve aşağıdakilere dikkat edin:

  • metadata bölümünde bu otomasyonun adı ve açıklaması yer alır.
  • input bölümü, LIGHT türünde bir cihazı belirten the_light adlı bir değişkeni tanımlar. Bu nedenle, bu şablon yalnızca ışıklar için kullanılabilir, diğer cihaz türleri için kullanılamaz. Başka bir deyişle, evinde otomasyonunuzu kuran bir kullanıcıya $the_light için bir cihaz seçmesi istendiğinde, cihaz seçimi sizin belirttiğiniz türdeki cihazlarla sınırlı olur.
  • input bölümünde time_on ve time_off adlı iki değişken de tanımlanmıştır. Bu seçenekler, kullanıcının otomasyonları ne zaman başlatacağını belirtmesine olanak tanır. time_on, ışığın açılma zamanını, time_off ise ışığın kapanma zamanını gösterir. Kullanıcı time_on veya time_off değerini ayarlamazsa varsayılan değerler kullanılır.
  • Otomasyonumuzun automations bölümünde iki otomasyon kuralı bulunur. Her kuralda, otomasyona hangi saatte başlatılacağını bildiren tek bir time.schedule başlatıcı bulunur.

Şablon düzenleyici

Otomasyon şablonu düzenleyici, otomasyon şablonları yazmak için kullandığınız araçtır.

  1. Google Home Developer Console'a gidin.
  2. Cihazınızın Google Home uygulamasında ayarlandığı hesapla oturum açın.
  3. Proje oluşturun veya mevcut bir projeyi seçin.
  4. Otomasyonlar bölümünde Geliştir'i tıklayın.
  5. Şablon oluştur'u tıklayın.
  6. "Işıkları zamanlama" otomasyon şablonunu kopyalayın.
  7. "Planlanmış ışık" otomasyon şablonunu şablon düzenleyiciye yapıştırın.
  8. Doğrula'yı tıklayın. Oluşabilecek hataları giderin ve hata kalmayana kadar doğrulamaya ve düzeltmeye devam edin.
  9. Şablonu kaydetmek için Kaydet'i tıklayın.

5. Şablonu test etme

Artık şablonu konsolda test edebilirsiniz.

  1. Işığınızın prize takılı olduğundan ve Google Home uygulamasında göründüğünden emin olun.
  2. Işık yanıyorsa kapatın.
  3. Google Home Developer Console'a gidin.
  4. Şablonunuzu oluşturduğunuz projeyi açın.
  5. Otomasyonlar'ı ve ardından Test sekmesini seçin.
  6. "Planlanmış ışık" otomasyon şablonunun yanındaki 'ı tıklayın.
  7. Şablonu test etmek istediğiniz yapıyı seçip Sonraki'yi tıklayın.
  8. InputValue düzenleyicisinde ışığınızın adını belirtin. Örneğin, ışığınızın adı "Masa lambası - Ofis" ise lights simgesinin sağını tıkladığınızda açılan açılır menüden Desk light - Office simgesini seçersiniz. Dilerseniz cihazın adını yazabilirsiniz.
  9. Ayrıca InputValue düzenleyicisinde, time_on zamanını beş dakika sonraki bir zaman olarak belirtin ve time_off zamanını time_on zamanından kısa bir süre sonraki bir zaman olarak değiştirin.
  10. İşleminiz tamamlandığında InputValue düzenleyicisi aşağıdaki gibi görünmelidir:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. Testi etkinleştir'i tıklayın.
  12. İki başlangıç zamanının geçmesini bekleyin. Işık, belirtilen saatlerde yanıp söner.

Şablonunuzu başarıyla test ettiğinizde otomasyonunuzun işlevsel olarak sağlam olduğunu bilirsiniz.

6. Tebrikler!

Otomasyon şablonunu başarıyla oluşturdunuz. Mükemmel!

Bu codelab'de şunları öğrendiniz:

  • Otomasyon şablonu tasarlama ve yazma
  • Google Home Developer Console'da nasıl test edeceğinizi öğrenin.

Sonraki adımlar

Bu codelab'de çok basit bir otomasyon oluşturdunuz. Otomasyonlar, ışık açma/kapatma zamanlamasından çok daha fazlasını yapabilir. Otomasyon şablonu oluşturma ve test etmenin temel bilgilerini öğrendiğinize göre, farklı başlatıcılar, koşullar ve işlemler kullanarak diğer cihaz türleri için otomasyon şablonları oluşturmayı deneyebilirsiniz.

Daha fazla bilgi

Google Home otomasyonları hakkında daha fazla bilgi edinmek için Otomasyonlar referans belgelerini inceleyin: