Обработчики
Обработчики позволяют преобразовывать данные, полученные от объектов контроля. Каждый обработчик представляет собой исходный код, написанный на языке программирования JavaScript версии ES6, при помощи которого реализуется заложенный в нем алгоритм. Исходный код разрабатывается непосредственно самим пользователем, что дает возможность учитывать все аспекты при обработке данных.
Платформа позволяет осуществлять контроль текущих значений параметров объекта, которые регистрируются его датчиками. Все данные, полученные от устройства, сохраняются на платформе и в любой момент доступны для последующего анализа. Однако зачастую при анализе данных появляется необходимость в дополнительных расчетах на базе полученных значений. Или же наоборот, могут быть случаи, когда получены данные с избыточной или некорректной информацией. В подобных ситуациях необходима дополнительная фильтрация.
Для этого в архитектуре платформы существует отдельный слой - обработчики, которые позволяют обрабатывать входной пакет данных с целью его коррекции или дополнения. Данные могут быть обработаны таким образом, чтобы можно было, например, рассчитывать расстояние, пройденное транспортным средством, оперируя количеством оборотов колеса и длиной его окружности; осуществлять перевод величины одной единицы измерения в другую; фильтровать пакеты данных, отбрасывая избыточную информацию и оставляя наиболее существенную, и многое другое. Подобные действия можно реализовать в обработчике и затем запустить его. Для создания обработчика необходимо написать исходный код на языке программирования JavaScript версии ES6. Таким образом, вы сами реализуете алгоритм, с помощью которого можно учитывать все аспекты обработки данных для ваших пакетов.
Обработчики работают только с теми параметрами, которые пришли от устройства. Никаких дополнительных источников данных не привлекается.
Карточка обработчика

-
Имя обработчика
-
Описание обработчика
-
Количество объектов, добавленных в обработчик. Нажмите на него, чтобы применить фильтр к списку объектов и показать только те объекты, которые связаны с этим обработчиком
Назначение параметров входных и выходных данных
Заголовок раздела «Назначение параметров входных и выходных данных»“Управление обработчиком” — это интерфейс для настройки сопоставления параметров обработчика с параметрами моделей выбранных объектов. Здесь вы указываете, какие данные из модели будут использоваться как входные параметры и куда будут записываться результаты обработки.

Входные параметры:
Заголовок раздела «Входные параметры:»-
remainder = “Остаток до ТО” (зелёная рамка — выбрано)
-
motochron = “Моточасы” (белая рамка — не выбрано)
Выходные параметры:
Заголовок раздела «Выходные параметры:»- remainder = “Остаток до ТО” (оранжевая рамка)
Справа в панели параметров:
Заголовок раздела «Справа в панели параметров:»-
Выделен зелёным параметр “Моточасы” (motochron)
-
Это значит, вы выбрали его для одного из входных параметров

Входные параметры:
Заголовок раздела «Входные параметры:»-
remainder = “Остаток до ТО” (белая рамка)
-
motochron = “Моточасы” (зелёная рамка — выбрано)
Выходные параметры:
Заголовок раздела «Выходные параметры:»- remainder = “Остаток до ТО” (оранжевая рамка)
Справа в панели параметров:
Заголовок раздела «Справа в панели параметров:»-
Выделен зелёным параметр “Моточасы” (motochron)
-
Это значит, вы назначили его для motochron

Входные параметры:
Заголовок раздела «Входные параметры:»-
remainder = “Остаток до ТО” (белая рамка — уже назначен)
-
motochron = “Моточасы” (белая рамка — уже назначен)
Выходные параметры:
Заголовок раздела «Выходные параметры:»- remainder = “Остаток до ТО” (оранжевая рамка — выбрано сейчас)
Правая панель:
Заголовок раздела «Правая панель:»Выделен оранжевым/желтым цветом параметр “Остаток до ТО” (remainder)
Это значит, что вы только что выбрали этот параметр для выходного значения.
Создание обработчика
Заголовок раздела «Создание обработчика»Для создания нового обработчика перейдите на вкладку Обработчики. Добавьте обработчик, нажав на плюсик.
Заполните следующие поля:
-
имя — наименование обработчика;
-
описание — подробная характеристика обработчика, заполняется при необходимости;
-
параметры по умолчанию — поведение обработчика при получении пакета данных, в котором нет нужных входных аргументов:
-
брать последнее присланное значение — в качестве значений недостающих в пакете параметров будет подставлено последнее полученное значение по этим параметрам.Например, в обработчике вы рассчитываете эффективную температуру на базе двух входных значений: температура и влажность, однако они приходят не в одном пакете, а в разных, последовательно. Тогда при получении только температуры обработчик сам возьмет последнее полученное значение влажности для расчета, и наоборот.
-
заменять на “null” — в качестве значений недостающих в пакете параметров будет подставлен “null”. Например, в обработчике вы рассчитываете среднее значение скорости на базе последних десяти значений. Однако скорость вы получаете не в каждом пакете. Если вы выберете режим “брать последнее присланное значение”, то при получении пакета без скорости обработчик возьмет последнее значение скорости и проведет для него расчет. Вы получите некорректную выходную величину. Если же вы выберете режим “заменять на “null”, то такую ситуацию вы можете обработать и не проводить расчет:
-
if (speed === null) { return {};}
Нажмите кнопку Создать. Перед вами откроется готовый шаблон с небольшим кодом для расчета суммы двух входных значений. Используйте его в качестве наглядного примера того, каким образом может быть реализован обработчик.

Режим тестирования
Заголовок раздела «Режим тестирования»Для обработчиков доступен режим тестирования, который позволяет проверить работоспособность кода до того, как вы запустите его на объекте:
-
Нажмите кнопку Testing.
-
Выберите тип тестовых входных данных и впишите их в окно для ввода слева.
-
Нажмите кнопку Выполнить.
-
Выходные данные обработчика появятся справа.

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

Выберите нужные объекты

Нажмите на кнопку Сохранить, объекты появятся в списке с одним из статусов:
-
Не выбраны параметры - для модели данного объекта еще не установлено соответствие аргументов и входных/выходных параметров обработчика. Подробнее о заполнении параметров
-
Обработка - соответствие параметров сделано, обработчик работает на данном объекте.
В поле Обработка данных отображается время получения последнего обработанного пакета с данными.