Создайте шаблон автоматизации

О практической работе
schedule34 минуты
subjectПоследнее обновление: 26 сентября 2023 г.
account_circleАвторы: Jonathan Donald and Andres Gomez
  • Как спроектировать и написать шаблон автоматизации.
  • Как протестировать шаблон автоматизации с помощью консоли разработчика Google Home.
  • Телефон Android или iOS с приложением Google Home.
  • Либо умный светильник, подключенный к вашему дому, либо смоделированное устройство на игровой площадке Google Home .

Вы должны быть знакомы с тем, как написать систему автоматизации Google Home. Если вы никогда не писали автоматизацию, рассмотрите возможность создания лаборатории кода автоматизации по сценарию, прежде чем приступить к этой работе.

Разработчики создают шаблоны автоматизации с помощью редактора шаблонов автоматизации в консоли разработчика Google Home. Шаблоны автоматизации содержат суть логики сценария, ссылаясь на типы устройств, а не на конкретные устройства.

Используя редактор сценариев автоматизации Google Home for Web, конечные пользователи берут шаблон автоматизации и создают персонализированный экземпляр, который действует на конкретных устройствах в их собственном доме. После сохранения экземпляр появится в разделе «Домашние процедуры» в приложении Google Home (GHA).

3. Спланируйте свой шаблон автоматизации

Создавая автоматизацию, человек начинает с размышления о проблеме, которую пытается решить, и о том, что автоматизация сделает для ее решения. Сюда входят такие соображения, как:

  • Какие устройства вы хотите автоматизировать.
  • Какой стартер (или событие) должен инициировать выполнение автоматизации.
  • Какие дополнительные условия (если таковые имеются) определяют, запускается ли автоматизация после ее запуска.
  • Какие действия предстоит совершить.

Для целей этой кодовой лаборатории ваша автоматизация будет делать две вещи:

  1. Включайте свет в определенное время.
  2. Выключайте один и тот же свет в определенное время.

Имея это в виду, вы готовы открыть редактор шаблонов и написать автоматизацию.

4. Напишите шаблон автоматизации

Автоматизации пишутся декларативно с использованием языка сериализации данных YAML .

Шаблон автоматизации состоит из трех основных разделов:

  1. Метаданные — имя автоматизации, описание того, что она делает, и, при необходимости, некоторые теги, используемые для классификации автоматизации. Ключевые слова:
    • ОСВЕЩЕНИЕ И ВИЛКИ
    • КЛИМАТ И ЭНЕРГЕТИКА
    • БЕЗОПАСНОСТЬ И ОСВЕДОМЛЕННОСТЬ
    • РАЗВЛЕЧЕНИЕ
    • ТЕХНИКА И ДРУГОЕ
  2. Вход – определяет, каким устройством(ами) должна управлять система автоматизации. Механизм автоматизации использует эту информацию, чтобы знать, какие действия действительны для предполагаемых устройств.
  3. Правила автоматизации — определяют логику запуска и поведение автоматизации.

Это шаблон автоматизации, с которым вы будете работать:

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

Прочитайте шаблон и обратите внимание на следующее:

  • Раздел metadata содержит название и описание этой автоматизации.
  • В разделе input определяется переменная с именем the_light , которая указывает устройство типа LIGHT . Это означает, что этот шаблон можно использовать только для источников света, а не для других типов устройств. Другими словами, когда пользователю, настраивающему вашу автоматизацию у себя дома, предлагается выбрать устройство для $the_light , его выбор устройства ограничивается устройствами указанного вами типа.
  • В разделе input также определены две переменные с именами time_on и time_off . Они позволяют пользователю указать, когда запускать автоматизацию. time_on представляет время включения света, а time_off представляет время выключения света. Если пользователь не устанавливает значение time_on или time_off , используются значения по умолчанию.
  • Раздел automations нашей автоматизации содержит два правила автоматизации. Каждое правило имеет один стартовый элемент time.schedule , который сообщает системе автоматизации, в какое время запускать эту автоматизацию.

Редактор шаблонов

Редактор шаблонов автоматизации — это инструмент, который вы используете для написания шаблонов автоматизации.

  1. Перейдите в консоль разработчика Google Home .
  2. Войдите в систему с той же учетной записью, под которой настроено ваше устройство, в приложении Google Home.
  3. Создайте или выберите существующий проект.
  4. В разделе «Автоматизация» нажмите «Разработка» .
  5. Нажмите Создать шаблон .
  6. Скопируйте шаблон автоматизации «Свет по расписанию».
  7. Вставьте шаблон автоматизации «Свет по расписанию» в редактор шаблонов.
  8. Нажмите «Подтвердить» . Устраните любые ошибки, которые могут возникнуть, и продолжайте проверять и исправлять их до тех пор, пока ошибки не исчезнут.
  9. Нажмите «Сохранить» , чтобы сохранить шаблон.

5. Проверьте шаблон

Теперь вы можете протестировать шаблон в консоли.

  1. Убедитесь, что ваш светильник подключен к сети и виден в приложении Google Home.
  2. Если свет горит, выключите его.
  3. Перейдите в консоль разработчика Google Home .
  4. Откройте проект, в котором вы создали свой шаблон.
  5. Выберите «Автоматизация» , затем выберите вкладку «Тест» .
  6. Нажмите «Открыть» рядом с шаблоном автоматизации «Освещение по расписанию».
  7. Выберите структуру, в которой вы хотите протестировать шаблон, затем нажмите «Далее» .
  8. В редакторе InputValue укажите имя вашего источника света. Например, если ваш светильник называется «Настольный светильник — Офис», выберите Desk light - Office в раскрывающемся меню, которое появляется при нажатии справа от lights . Или вы можете ввести имя устройства.
  9. Также в редакторе InputValue укажите время time_on на время, скажем, через пять минут в будущем, и измените время time_off на время вскоре после time_on .
  10. Когда вы закончите, редактор InputValue должен выглядеть примерно так:
    inputValue:
     #add value
     
    the_light: Desk light - Office
     
    #add value
     
    time_off: 11:45 am
     
    #add value
     
    time_on: 11:40 am
  11. Нажмите «Активировать тест» .
  12. Подождите, пока пройдут два стартовых времени. Свет должен загореться и погаснуть в указанное время.

После успешного тестирования шаблона вы можете быть уверены, что ваша автоматизация функционально работоспособна.

6. Поздравляем!

Вы успешно создали шаблон автоматизации. Потрясающий!

В этой лаборатории вы узнали, как:

  • Как спроектировать и написать шаблон автоматизации.
  • Как протестировать это в консоли разработчика Google Home.

Следующие шаги

В этой кодовой лаборатории вы создали очень простую автоматизацию. Автоматизация может делать гораздо больше, чем просто планировать включение света. Теперь, когда вы понимаете основы создания и тестирования шаблона автоматизации, вы можете попробовать создавать шаблоны автоматизации для других типов устройств, используя разные стартеры, условия и действия.

Дальнейшее чтение

Чтобы узнать больше об автоматизации Google Home, изучите справочную документацию по автоматизации: