RU

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

Создадим следующий вариант автоматизации:

Конечно, есть возможность реализовать аналогичную логику прямо на устройстве. Однако реализация такого сценария с помощью платформы дает очевидное преимущество: при необходимости изменить логику работы достаточно отредактировать состояние или условие перехода в автомате. Для этого не требуются навыки программирования и не придется заново прошивать устройство.

Для решения этой задачи нам понадобится плата esp8266 и сам светодиод, цветом которого будем управлять из платформы. О подключении подобного устройства мы рассказали здесь.

Модель объекта можно импортировать к себе в проект:

Ссылка на GitHub

Ардуино скетч:

Ссылка на GitHub

Ссылка на разбор этого кейса на нашем YouTube канале.

1. Создание автомата

Переходим в раздел «Logic» и создаем новый автомат. При создании определяем имя автомата и выбираем модель подключенного устройства.

В этом автомате нам понадобится как минимум 5 состояний:

Создаем эти состояния в автомате.

В состояние “Start” добавим действие “message to operator”, чтобы отправить информацию о том, что автомат запущен, в интерфейс платформы. Из этого состояния создадим переход в состояние “Turn off”, добавим событие “Instant transition”. Этот переход сработает сразу после запуска автомата.

art-11.jpg

В другие состояния добавим соответствующие команды управления светодиодом:

Также добавим действие “message to operator” для оповещения о смене состояния запущенного автомата.

Теперь добавим переходы между состояниями и зададим для них условия. В этих переходах мы будем использовать событие “Data received”. Оно будет происходить каждый раз, когда устройство будет посылать данные. Чтобы реализовать наш сценарий, мы добавим дополнительные условия перехода. Например, чтобы перейти в состояние “Coldly” из состояния “Turn off”, необходимо в условии перехода (кнопка “Add conditions”) добавить проверку температуры. Такое же условие должно проверяться в переходах из “Fine” в “Coldly”, из “Hot” в “Coldly”.

art-12.jpg

Аналогично зададим логику переходов для других состояний. После заполнения всех условий переходов автомат принимает следующий вид:

art-13.jpg

Итоговый автомат можно импортировать к себе в проект:

Ссылка на GitHub

2. Запуск сценария

Перейдем в раздел “Objects”, выберем наше устройство и во вкладке “Services”/”Logic” добавим созданный автомат. Нажимаем кнопку “Start” для запуска.

art-14.jpg

При получении данных о температуре, находящейся в разных диапазонах, публикуются соответствующие сообщения и загорается требуемый цвет светодиода.

art-15.jpg