1. Введение
Что вы узнаете
- Как спроектировать и написать шаблон автоматизации.
- Как протестировать шаблон автоматизации с помощью консоли разработчика Google Home.
Что вам понадобится
- Телефон Android или iOS с приложением Google Home.
- Либо умный светильник, подключенный к вашему дому, либо смоделированное устройство на игровой площадке Google Home .
Предварительные условия
Вы должны быть знакомы с тем, как написать систему автоматизации Google Home. Если вы никогда не писали автоматизацию, рассмотрите возможность создания лаборатории кода автоматизации по сценарию, прежде чем приступить к этой работе.
2. Шаблоны и экземпляры автоматизации
Разработчики создают шаблоны автоматизации с помощью редактора шаблонов автоматизации в консоли разработчика Google Home. Шаблоны автоматизации содержат суть логики сценария, ссылаясь на типы устройств, а не на конкретные устройства.
Используя редактор сценариев автоматизации Google Home for Web, конечные пользователи берут шаблон автоматизации и создают персонализированный экземпляр, который действует на конкретных устройствах в их собственном доме. После сохранения экземпляр появится в разделе «Домашние процедуры» в приложении 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.schedule
, который сообщает системе автоматизации, в какое время запускать эту автоматизацию.
Редактор шаблонов
Редактор шаблонов автоматизации — это инструмент, который вы используете для написания шаблонов автоматизации.
- Перейдите в консоль разработчика 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, изучите справочную документацию по автоматизации: