1. Введение
Что вы узнаете
- Как разработать и написать шаблон автоматизации.
- Как протестировать шаблон автоматизации с помощью консоли разработчика Google Home.
Что вам понадобится
- Телефон на базе Android или iOS с установленным приложением Google Home.
- Это может быть либо умный светильник, встроенный в вашу систему умного дома, либо устройство, имитирующее умный светильник, в Google Home Playground .
Предварительные требования
Вы должны быть знакомы с тем, как писать сценарии автоматизации для Google Home. Если вы никогда не писали сценарии автоматизации, перед тем как приступить к этому заданию, рекомендуется выполнить практический урок по созданию сценариев автоматизации .
2. Шаблоны и экземпляры автоматизации
Разработчики создают шаблоны автоматизации с помощью редактора шаблонов автоматизации в консоли разработчика Google Home. Шаблоны автоматизации содержат основную логику сценария, ссылаясь на типы устройств, но не на конкретные устройства.
Используя редактор сценариев автоматизации в веб-версии Google Home, конечные пользователи берут шаблон автоматизации и создают персонализированный экземпляр, который взаимодействует с конкретными устройствами в их доме. После сохранения экземпляр появляется в разделе «Домашние сценарии» в приложении Google Home (GHA).
3. Спланируйте шаблон автоматизации.
При создании автоматизации сначала нужно обдумать проблему, которую необходимо решить, и то, что автоматизация будет делать для решения этой проблемы. Это включает в себя такие соображения, как:
- Какие устройства вы хотите автоматизировать?
- Какой инициатор (или событие) должен запустить выполнение автоматизации?
- Какие дополнительные условия, если таковые имеются, определяют, будет ли запущена автоматизация после её срабатывания?
- Какие действия необходимо выполнить?
В рамках этого практического занятия ваша автоматизированная система будет выполнять две задачи:
- Включайте свет в определенное время.
- Выключайте этот же свет в определенное время.
Учитывая это, вы готовы открыть редактор шаблонов и написать сценарий автоматизации.
4. Напишите шаблон автоматизации.
Автоматизация выполняется в декларативном стиле с использованием языка сериализации данных YAML .
Шаблон автоматизации состоит из трех основных разделов:
- Метаданные — название автоматизации, описание её функций и, при необходимости, несколько тегов, используемых для классификации автоматизации. Ключевые слова:
- ОСВЕЩЕНИЕ И РОЗЕТКИ
- КЛИМАТ И ЭНЕРГЕТИКА
- БЕЗОПАСНОСТЬ И ОСВЕДОМЛЕННОСТЬ
- РАЗВЛЕЧЕНИЕ
- БЫТОВАЯ ТЕХНИКА И НЕ ТОЛЬКО
- Входные данные — определяют, каким типам устройств предназначена автоматизация. Механизм автоматизации использует эту информацию, чтобы определить, какие действия допустимы для этих устройств.
- Правила автоматизации — определяют логику запуска и поведение автоматизации.
Это шаблон автоматизации, с которым вы будете работать:
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.schedulestarter, который указывает, в какое время следует запустить автоматизацию.
Редактор шаблонов
Редактор шаблонов автоматизации — это инструмент, который вы используете для создания шаблонов автоматизации.
- Перейдите в консоль разработчика Google Home .
- Войдите в систему, используя ту же учетную запись, которая используется в приложении Google Home на вашем устройстве.
- Создайте или выберите существующий проект.
- В разделе «Автоматизация» нажмите «Разработать» .
- Нажмите «Создать шаблон» .
- Скопируйте шаблон автоматизации "Запланированное освещение".
- Вставьте шаблон автоматизации "Запланированное освещение" в редактор шаблонов.
- Нажмите «Проверить» . Устраните все возникающие ошибки и продолжайте проверку и исправление, пока ошибки не исчезнут.
- Нажмите «Сохранить» , чтобы сохранить шаблон.
5. Проверьте шаблон.
Теперь вы можете протестировать шаблон в консоли.
- Убедитесь, что ваш светильник подключен к сети и отображается в приложении Google Home.
- Если индикатор горит, выключите его.
- Перейдите в консоль разработчика Google Home .
- Откройте проект, в котором вы создали свой шаблон.
- Выберите «Автоматизация» , затем перейдите на вкладку «Тест» .
- Нажмите кнопку «Открыть» рядом с шаблоном автоматизации «Запланированное освещение».
- Выберите структуру, в которой вы хотите протестировать шаблон, затем нажмите «Далее» .
- В редакторе InputValue укажите название вашего светильника. Например, если ваш светильник называется "Настольный светильник - Офис", выберите "
Desk light - Officeиз выпадающего меню, которое появляется при щелчке справа отlights. Или вы можете ввести название устройства. - Также в редакторе InputValue укажите время
time_on, например, на пять минут вперед, и измените времяtime_offна время вскоре послеtime_on. - После завершения работы редактор InputValue должен выглядеть примерно так:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am - Нажмите «Активировать тест» .
- Дождитесь истечения двух временных интервалов запуска. Индикатор должен загореться и погаснуть в указанное время.
После успешного тестирования шаблона вы можете быть уверены в функциональной корректности вашей автоматизации.
6. Поздравляем!
Вы успешно создали шаблон автоматизации. Отлично!
В этом практическом занятии вы научились:
- Как разработать и написать шаблон автоматизации.
- Как это протестировать в консоли разработчика Google Home.
Следующие шаги
В этом практическом задании вы создали очень простую автоматизацию. Автоматизация может делать гораздо больше, чем просто планировать включение/выключение света. Теперь, когда вы понимаете основы создания и тестирования шаблона автоматизации, вы можете попробовать создать шаблоны автоматизации для других типов устройств, используя различные начальные условия, условия и действия.
Дополнительная информация
Чтобы узнать больше об автоматизации Google Home, ознакомьтесь с документацией по автоматизации: