Kaiten

[PMO] База знаний функциональности (интернет)

To Kaiten

Включение чайника по команде, только если вода остыла

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

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

Создайте новый автомат.

В данном случае автомат будет конечным. Дополнительно к конечному состоянию создайте три состояния.

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

Подсказка: Используйте событие Мгновенный переход, а не Получены данные, если хотите чтобы проверка условий была выполнена для текущих значений без ожидания получения нового пакета данных.

После выполнения определенных действий в одном из двух состояний нужно перейти в конечное состояние. Для этого подойдет событие Мгновенный переход. В данном случае проверка каких-либо условий уже не нужна.

Теперь определите, какие действия должны выполняться в состояниях. В состоянии проверки температуры никаких действий не требуется, в нем автомат находится, пока не придет пакет с актуальным значением температуры. В состоянии низкой температуры необходимо отправить команду включения чайника. В состоянии высокой температуры можно отправить уведомление в платформу о том, что температура достаточно высокая и включение не производится.

Автомат готов. Перейдите в модель устройств, чтобы создать команду, по которой он будет запускаться. В разделе Выполнить выберите автомат, который только что сделали.

Перейдите в объект чайника, на котором хотите выполнить эту команду. Отправленная команда будет считаться выполненной только тогда, когда автомат завершит работу.

В данном случае автомат завершит работу только после получения пакета данных и выполнения заданных действий - например, отправки уведомления при высокой температуре.