Модули прошивки: модуль составных команд

прочитано 158 раз
15.10.2017 20:19

Сложная логика поведения

Как вы уже наверное поняли, логика работы контроллера строится при помощи гибкой системы правил, которые реагируют на внешние условия. Сами правила при этом предоставляют массу настроек по реагированию на эти внешние условия, а также механизм отклика по наступлению события. И этот механизм - крайне прост: выполнение команды, которую понимает контроллер. А поскольку с контроллером можно (и даже нужно) общаться посредством простых текстовых команд (что, собственно, и делает конфигуратор), то и в правиле можно задать такую команду, например, открыть фрамуги по достижению установленного порога температуры - и контроллер её послушно выполнит.

Проблемы двунаправленности

Но вот незадача: команда, которую может выдать правило, как правило (простите за тавтологию) - однонаправленная, т.е. делающая строго определённые действия: открыть фрамугу, включить канал полива, выставить на пине нужный уровень, и т.п. Но что делать, когда по наступлению внешних условий надо выполнить разнонаправленные действия? Простой пример: допустим, по достижении 30 градусов на датчике температуры вам захочется открыть окна номер 1 и 2, и - закрыть окно номер 3? Выход, конечно, есть - можно создать два правила. А если вам захочется добавить третье действие, например - ещё и включить канал полива номер 2? Добавлять третье правило? Десятое? Не очень красиво, согласитесь, да и при таком подходе мы быстро исчерпаем лимит правил, т.к. их может быть всё же ограниченное количество. Что делать, спросите вы?

Решение

А решение - простое, и вынесено в заголовок статьи: модуль составных команд. При помощи этого модуля вы можете составить список команд на выполнение, сохранив его в контроллер. Можете составить несколько списков - не вопрос. И в любой нужный вам момент времени вы можете изменить правило, сказав ему "по срабатыванию условия - выполни, пожалуйста, составную команду номер 2". И всё! Как видите - всё предельно просто, однако - за этой кажущейся простотой скрывается мощный, и, главное - удобный механизм для реализации сложного поведения контроллера.

Не забывайте о наличии такого мощного инструмента настройки контроллера, который доступен вам в прошивке wink