1. Введение
Что вы узнаете
- Как спланировать и написать скрипт автоматизации.
- Как протестировать автоматизированную программу, созданную с помощью скрипта.
Что вам понадобится
- Телефон на базе Android или iOS с установленным приложением Google Home.
- Умный светильник или другое устройство, сертифицированное для работы с Google Home и позволяющее включать и выключать его.
2. Настройте ваше устройство.
Если ваше устройство еще не настроено, настройте его дома.
Убедитесь, что устройство отображается в приложении Google Home и что вы можете включать и выключать его с помощью приложения Home.
3. Спланируйте автоматизацию с помощью скриптов.
Начнём с того, что подумаем о том, что именно мы хотим, чтобы делала наша автоматизированная скриптовая программа. Это включает в себя такие аспекты, как:
- Какие устройства вы хотите автоматизировать?
- Какой инициатор (или событие) должен запустить выполнение скриптовой автоматизации?
- Какие дополнительные условия, если таковые имеются, определяют, будет ли выполняться скрипт автоматизации после его запуска?
- Какие действия необходимо выполнить?
В рамках этого практического занятия мы планируем, чтобы автоматизированная программа выполняла две задачи:
- Включите свет (или другое умное устройство) в определенное время.
- Выключайте устройство в определенное время.
Теперь, когда нам точно ясно, что именно мы хотим, чтобы делал наш скрипт автоматизации, мы откроем редактор скриптов и напишем скрипт автоматизации.
4. Напишите скрипт автоматизации.
Автоматизированные сценарии пишутся в декларативном стиле с использованием языка сериализации данных YAML .
Автоматизированный скрипт состоит из двух основных разделов:
- Метаданные — название скрипта автоматизации и описание его функций.
- Правила автоматизации — определяют логику запуска и поведение автоматизации.
Метаданные
Метаданные нашей автоматизации сообщают пользователю, как называется автоматизация и что она делает. Метаданные указываются в блоке metadata , который выглядит следующим образом:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Правила автоматизации
Правило автоматизации — это то, где происходит настоящая работа. Оно состоит из трех частей: инициализирующих условий, условий и действий , которые оцениваются в определенном порядке:
1 Стартовый состав | 2 условия | 3 действия |
Запуски — это инициирующие условия. Для того чтобы последующие условия были оценены, по крайней мере одно из них должно быть | Эти условия являются необязательными и представляют собой одно или несколько дополнительных ограничений, которые оцениваются после активации стартового элемента. Если условия При указании нескольких ограничений разделяйте их ключевыми словами « Условие — это не то же самое, что уведомление об изменении состояния:
| Действия — это операции, которые выполняются после выполнения исходных условий и любых ограничений. |
Блок automations нашего модуля автоматизации содержит два правила:
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
Обратите внимание на следующее:
- Существует два правила
automations. Первое включает свет, а второе выключает. - Каждое правило выполняет только одно действие.
-
on: trueозначает включить свет . Аналогично,on: falseозначает выключить свет . - Каждое правило имеет один
time.schedulestarter, который указывает процессу автоматизации, в какое время его следует запустить. - В этой автоматизации нет никаких условий.
5. Полная автоматизация с помощью скриптов.
Собрав все эти элементы воедино, получаем вот как выглядит полная автоматизированная скриптовая система:
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
- Скопируйте автоматизацию (выше).
- Перейдите на главную страницу Google Home в веб-версии .
- Выберите вкладку «Автоматизация», обозначенную значком с тремя звездочками:

- Нажмите + Добавить новый .
- В редакторе скриптов удалите шаблон автоматизации.
- Вставьте вашу автоматизацию.
- Замените
Desk light - Officeна название и местоположение вашего устройства. - Нажмите «Проверить» . Редактор скриптов подчеркнет разделы вашей автоматизации, содержащие ошибки. Устраните все возникшие ошибки и продолжайте проверку и исправление, пока ошибок не останется. Например, имя вашего устройства может отличаться. В этом случае вы можете использовать функцию автозаполнения, чтобы выбрать допустимое имя устройства.
- Нажмите « Сохранить ».
- Убедитесь, что переключатель «Активировать» , расположенный под текстом вашего скрипта, находится в положении «включено» :

6. Протестируйте автоматизацию.
- Убедитесь, что ваше устройство подключено к сети и отображается в приложении Google Home.
- Если устройство в данный момент включено, выключите его.
- На странице «Автоматизация» в веб-версии Google Home нажмите кнопку «Запустить» рядом с вашей автоматизацией.

- Устройство должно включиться.
Теперь давайте протестируем автоматизацию.
- Выключите устройство.
- Отредактируйте автоматизацию и измените время включения устройства в строке 7 на время на пять минут вперед.
- Измените время выключения устройства в строке 14 на время, немного более позднее, чем время включения.
- Нажмите «Проверить» . Устраните все возникшие ошибки.
- Нажмите « Сохранить ».
- Убедитесь, что переключатель «Активировать» находится в положении «включено» .
- Дождитесь истечения двух заданных временных интервалов запуска. Устройство должно включиться и выключиться в указанное вами время.
7. Поздравляем!
Вы успешно создали скрипт автоматизации — отлично!
В этом практическом занятии вы научились:
- Как разработать и написать скрипт автоматизации.
- Как протестировать автоматизированную систему.
Следующие шаги
В этом практическом занятии мы создали очень простую автоматизацию. Автоматизация может делать гораздо больше, чем просто планировать переключение выключателя питания. Теперь, когда вы понимаете основы создания автоматизации, вы можете изучить различные типы запуска, условий и действий, доступных в экосистеме Google Home.
Попробуйте выполнить следующие упражнения:
- Добавьте в автоматизацию больше инициализирующих элементов
time.schedule. - Измените автоматизацию таким образом, чтобы другое устройство включалось и выключалось по тому же расписанию.
- Не удаляя параметры
time.schedule, измените автоматизацию таким образом, чтобы устройства включались только тогда, когда включается другое устройство. Обратитесь к примерам скриптов , использующихcondition. - Измените настройки автоматизации таким образом, чтобы устройства включались только тогда, когда кто-то находится дома.
Дополнительная информация
Чтобы узнать больше об автоматизации Google Home, ознакомьтесь с документацией по автоматизации: