Сценарии – это основной инструмент домашней автоматизации. У вас есть несколько интеллектуальных устройств, но чтобы они начали автоматически что-то делать, вы должны задать им программу, или алгоритм. Именно этот алгоритм и называется сценарием.
Сценарии еще часто называют “сценами”. Это калька с английского названия scene, но она не совсем точно передает смысл этого инструмента.
Простой пример сценария: если датчик движения сработал – включить свет. Сценарий посложнее: если датчик движения сработал, когда владельцев нет дома – включить сирену и отправить владельцу уведомление.
Любой сценарий автоматизации строится по принципу “если – то” и делится на две части: условие запуска сценария (trigger) и действие, которое нужно исполнить. Каждая из этих двух частей может включать только один элемент, а может быть очень сложной.
Например, в нашем первом сценарии “датчик движения сработал – включить свет” в каждой части было по одному элементу. Условие запуска – срабатывание датчика движения. Исполняемое действие – включение света. Во втором примере было два условия и два исполняемых действия.
Сценарии настраиваются через хаб (контроллер) – главное устройство домашней автоматизации. Каждый производитель контроллеров дает пользователям специальный интерфейс для настройки сценариев. Они могут различаться, но суть всегда одна и та же: условия запуска – и исполняемые действия.
Интерфейсы обычно несложные и рассчитаны на обычных пользователей, не намеренных вникать в технические детали. Пользователю предлагается сделать несколько последовательных шагов, например выбрать нужные устройства или требуемые действия. Доступные устройства, действия и функции представлены списков, из которого нужно только выбрать подходящее.
Кроме того, производители часто предлагают дополнительные инструменты для продвинутых пользователей – возможность добавить в сценарий программный код. Для кодирования используется специализированный язык Lua, достаточно простой для освоения.
Наряду со сценариями существует еще один, более простой инструмент автоматизации – ассоциации. Их суть сводится к тому, что вы связываете (ассоциируете) друг с другом несколько устройств – и они начинают работать синхронно. Например, если выключить одно такое устройство – одновременно выключатся ассоциированные с ним другие, если включить – включатся. У ассоциаций есть свои преимущества, и для некоторых ситуаций они подходят лучше сценариев, но в целом ассоциации позволяют создавать только очень простую автоматизацию.