Узел вычисления атрибута
Технический обзор и возможности
В IoT Logic узел Вычисление атрибута преобразует показания устройств, создавая новые атрибуты данных на основе входящей телеметрии. Этот узел позволяет изменять данные с помощью математических формул, переименовывать существующие параметры и выполнять побитовые операции с использованием языка выражений ГМ Телематика.
Узел является ключевым компонентом потока, позволяя обогащать данные перед их отправкой в целевые системы.

Интеграция в архитектуру потока
Узел Вычисление атрибута выполняет функции преобразования данных в архитектуре потока и позволяет:
Преобразовывать сырые телеметрические данные в значимые бизнес-метрики
Создавать вычисляемые поля на основе нескольких параметров
Конвертировать единицы измерения (например, километры в мили)
Вычислять разницу между текущими и предыдущими значениями
Формировать временную аналитику поведения устройства
Узел Вычисление атрибута (Initiate Attribute) требует подключения как минимум одного узла Источник данных. Без входящих данных вычисления выполняться не будут.
Возможности узла
Узел Вычисление атрибута (Initiate Attribute) предоставляет следующие возможности:
Преобразование атрибутов данных: создание новых атрибутов путём применения математических операций к данным, полученным из источников
Преобразование единиц измерения: перевод значений (например, скорость из км/ч в мвч или температура из °C в °F)
Вычисления на основе времени: сравнение текущих значений с предыдущими для определения изменений
Работа со временем: настройка временных меток (когда атрибут был создан на устройстве и когда получен сервером) для устранения несоответствий и унификации формата времени
Шаги настройки
Укажите имя узла (Name)
Введите понятное название, отражающее назначение узла. Используйте имя, которое поможет понять, какие вычисления выполняются внутри — оно будет отображаться в схеме потока для удобной идентификации.
Задайте имя атрибута
Добавьте уникальный идентификатор атрибута.
Это имя будет отображаться в Анализе Данных
Также его можно использовать для создания пользовательских датчиков в модуле Управление устройствами
Для этого узел Вычисление атрибута с данным атрибутом должен быть подключён к узлу Передачи Данных
Задайте формулу
Добавьте математическое выражение для расчёта значения атрибута.
Используйте формат
value('parameter_name', 0, 'valid')для обращения к параметрам устройстваПримечание: нажмите на иконку внутри поля Формула, чтобы открыть список доступных атрибутов и автоматически вставить нужный в корректном формате. Подробную информацию об автозаполнении имен атрибутов см. в разделе «Автозаполнение имен атрибутов».
Применяйте математические операции на основе языка выражений ГМ Телематика
Используйте разные значения индекса глубины (по умолчанию 0) для доступа к историческим данным
(Опционально) Добавьте дополнительные атрибуты
Нажмите Добавить атрибут, чтобы открыть форму настройки нового атрибута. Это полезно, если нужно выполнить несколько вычислений в одном узле.
Сохраните конфигурацию узла
Нажмите Применить, чтобы завершить создание узла.
Давайте рассмотрим практический пример настройки атрибутов:
В этом примере мы создаём атрибут, который переводит скорость из километров в мили в час, деля параметр скорости CAN на 1.609.
Подробности по вычислениям для новых атрибутов см. в разделе Примеры Вычислений.
Также вы можете найти подробный пример использования вычисляемых атрибутов в потоке в разделе Пример использования потока→ шаги 3 и 4.

Параметры отображения
Новые атрибуты, рассчитанные в узле Вычисление атрибута, можно отслеживать так же, как и реальные атрибуты данных, поступающие от устройств, в Анализ данных и модуле Мониторинг.
Для получения дополнительной информации о вариантах отображения см. раздел Отображение новых вычисляемых атрибутов на платформе ГдеМои.
Особенности потока данных
После настройки узла Вычисление атрибута убедитесь, что:
Узел подключён хотя бы к одному узлу Источник данных как вход
Выход подключён к узлу Передачи данных для отправки преобразованных данных
Внутри узла Вычисление атрибута значения параметров обрабатываются согласно заданным выражениям каждый раз при поступлении данных от устройства. На выходе вы получите:
Все исходные параметры устройства
Все вычисленные атрибуты с их значениями
Обновлённые значения времени генерации (generation time) и времени получения сервером (server time) согласно настройкам
Если вы используете для вычисляемого атрибута то же имя, что и у существующего параметра, новый атрибут заменит оригинальный параметр в выходном пакете данных.
Часто задаваемые вопросы
Можно ли использовать не последние значения в вычислениях?
Да. Используйте параметр индекса в функции value, чтобы обращаться к предыдущим значениям. Например, value('temperature', 1, 'valid') возвращает предыдущее корректное значение параметра температуры.
Как выполнять вычисления, связанные со временем?
Используйте функции genTime() и srvTime() для работы с временными метками. Вы можете рассчитывать разницу во времени, добавлять временные смещения или форматировать временные значения.
Что произойдёт, если удалить атрибут?
Атрибут больше не будет рассчитываться для новых данных, но исторические данные останутся без изменений. В новых пакетах данных этот атрибут больше не будет появляться.
Можно ли использовать атрибуты, созданные в одном узле Вычисление атрибута, в другом?
Да. Атрибуты, созданные ранее в потоке, можно использовать в последующих узлах Вычисление атрибута, что позволяет строить многоэтапные вычисления. Все созданные атрибуты также доступны с помощью функции автозаполнения для корректного использования имён.

Как избежать опечаток при указании имен атрибутов в формулах?
Используйте функцию автозаполнения в поле «Формула», чтобы выбрать один из доступных атрибутов. Подробные инструкции см. в разделе «Автозаполнение имен атрибутов» .