№5 Хендлер

В этом уроке мы познакомимся с обработчиком – модулем, обеспечивающим дополнительную обработку полученных данных.

Предположим, нам необходимо рассчитать дополнительный параметр – эффективную температуру, значение которой зависит от влажности и температуры согласно формуле 

ЭТ =  t – 0,4 (t–10)(1– f/100), 

где  f – влажность воздуха, а t – температура.

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

Теперь переходим в раздел «Handlers» и нажимаем «Create».

Заполняем поля «Name» и «Description». 

Нажимаем «Create» и видим появление примера кода, который считает сумму значений двух параметров и записывает ее в третий параметр.

Редактируем описание и код под нашу задачу. Нажимаем «Save».

Далее переходим во вкладку «Objects», чтобы выбрать объекты, по которым необходимо запустить данный обработчик.

Нажимаем на «+», выбираем объект и нажимаем «Select».

Теперь переходим во вкладку «Parameters», чтобы соотнести названия переменных, указанных в коде, и идентификаторы реальных параметров.

После заполнения всех полей нажимаем кнопку «Start». Обработчик запущен.

Переходим в раздел «Objects», во вкладке «Handlers» выбранного объекта видим запущенный обработчик. 

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

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

После того, как были отредактированы все условия, нажимаем кнопку «Save» и возвращаемся к объекту. Для того, чтобы новый автомат вступил в силу, нужно нажать кнопку «Refresh». 

Теперь автомат выводит соответствующие уведомления на основании значений рассчитанной эффективной температуры. Например, при значении температуры 25°, прошлый автомат выдавал уведомление «Fine», но теперь эффективная температура рассчитывается на основании двух показателей, и в случае, когда она получается меньше 20°, выводится сообщение «Coldly».

Перейти к следующему уроку > №6 Умный светильник за 7 минут

Присоединяйтесь к чату и задавайте вопросы