> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node.md).

# Вычисление атрибута

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

## Технический обзор и возможности

{% columns %}
{% column %}
В IoT Logic, **Вычисление атрибута** узел преобразует показания устройства, создавая новые атрибуты данных на основе входящей телеметрии. Этот узел позволяет вам изменять данные с помощью математических формул, переименовывать существующие параметры и выполнять побитовые операции с использованием [языка выражений Navixy](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). Узел служит ключевым компонентом потока, позволяя вам обогащать данные перед отправкой в целевые системы.
{% endcolumn %}

{% column %}
![](https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-7e96978455ec9e7da74b1a6f2224ad0d7fcf15e0%2Fiot-logic-initiate-attribute-tile.png?alt=media)
{% endcolumn %}
{% endcolumns %}

**Вычисление атрибута** узел настраивается для каждого потока в пользовательском интерфейсе платформы Navixy. Сведения о конкретных вариантах синтаксиса и подробном справочнике по языку выражений см. [языка выражений Navixy](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md) в документации для пользователей.

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-65ef89cf366fb6c4e53d07f6aa05c617d0e3d1e1%2Fiot-logic-initiate-attribute-in-flow.png?alt=media" alt="Initiate attribute node in the flow workspace showing the node connected to other nodes in the flow"><figcaption></figcaption></figure>

### Интеграция с архитектурой потока

**Вычисление атрибута** узел работает в архитектуре потока, предоставляя возможности преобразования данных и позволяя:

* Обработка сырых данных телеметрии в значимые бизнес-метрики
* Создание вычисляемых полей на основе значений нескольких параметров
* Преобразование единиц измерения (например, километров в мили)
* Вычисление разницы между текущими и предыдущими показаниями
* Формирование аналитики по времени на основе поведения устройства

{% hint style="info" %}
Узел Вычисление атрибута требует как минимум одного **Источник данных** узла, подключенного к нему. Без входных соединений с данными вычисления выполняться не будут.
{% endhint %}

### Возможности узла

Узел **Вычисление атрибута** узел предлагает:

* **Преобразование атрибутов данных**: Создавайте совершенно новые атрибуты, применяя математические операции к тем, что поступают из источников данных
* **Преобразование единиц измерения**: Преобразуйте единицы измерения (например, скорость из *км/ч* в *миль/ч*, или температуру из *°C* в *°F*)
* **Вычисления по времени**: Сравнивайте текущие показания с предыдущими значениями, чтобы определить изменения
* **Работа со временем**: Настраивайте метки времени для момента, когда атрибут был сгенерирован на устройстве, и когда он был получен сервером, чтобы избежать несоответствий во времени и унифицировать форматы времени
* **Поиск по зоне**: Записывайте в атрибут название зоны, в которой находится устройство, с помощью `geofenceName()`, платной опции. См. [Функции зон](/docs/user/ru/guide/account/iot-logic/nodes/geofence-functions.md)

## Параметры конфигурации

{% columns %}
{% column valign="middle" %}
**Вычисление атрибута** узел позволяет вам определить, как параметры устройства преобразуются в атрибуты, которые будут доступны для дальнейшей обработки в вашем потоке данных.
{% endcolumn %}

{% column %}

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-1d6dbc91c7863368a349129f700135f56c46e5cb%2FInitiate_Attribute_node_edit.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Давайте посмотрим, какие элементы использует этот узел и что можно настроить при работе с ним:

### Шаги настройки

{% stepper %}
{% step %}

#### Укажите имя узла

Введите описательное имя, чтобы подчеркнуть назначение узла. Используйте имя, которое поможет вам определить вычисления, выполняемые в этом узле; оно будет отображаться в схеме потока для удобной идентификации.
{% endstep %}

{% step %}

#### Задайте имя атрибута

Добавьте уникальный идентификатор атрибута.

* Это имя будет отображаться в [Анализ данных](/docs/user/ru/guide/account/iot-logic/data-stream-analyzer.md),
* Вы также можете использовать это имя для создания пользовательских датчиков в [модуле Мониторинг](/docs/user/ru/guide/tracking.md) . Чтобы сделать это, **Вычисление атрибута** узел, содержащий этот атрибут, должен быть подключен к **узлу передачи данных** узлу, настроенному в режиме **Узел передачи данных по умолчанию** .
  {% endstep %}

{% step %}

#### Задайте формулу

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

* Используйте `value('parameter_name' 0, 'valid')` формат для ссылки на существующие параметры устройства.\
  **Примечание**. Нажмите ![image-20250605-115154.png](https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-3ae9e98cb2dff10c13a5b062c8b6c161b9b038df%2Fimage-20250605-115154.png?alt=media) внутри поля **Formula** чтобы открыть список доступных атрибутов и выбрать нужный. Он будет автоматически добавлен в поле в готовом к использованию формате. Подробности об автозаполнении имен атрибутов см. [Автозаполнение имен атрибутов](/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names).
* Применяйте математические операции на основе [Язык выражений Navixy IoT Logic](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md) для преобразования значений.
* Используйте разные значения индекса глубины для доступа к историческим значениям (по умолчанию 0).
* Обрабатывайте значения, которые могут отсутствовать. Если значение, необходимое формуле, отсутствует, формула не выдаст результат, а у атрибута для этого пакета не будет значения. См. [Отсутствующие значения в выражениях](/docs/user/ru/guide/account/iot-logic/nodes/missing-values-in-expressions.md).
  {% endstep %}

{% step %}

#### (необязательно) Добавьте дополнительные атрибуты

Нажмите **Добавить атрибут** чтобы открыть диалог настройки нового атрибута. Здесь вы можете создать новый атрибут данных, если вам нужно выполнить несколько вычислений в рамках одного узла.
{% endstep %}

{% step %}

#### Сохраните конфигурацию узла

Нажмите **Применить изменения** для завершения создания узла.
{% endstep %}
{% endstepper %}

Давайте рассмотрим практический пример настройки атрибутов:

{% columns %}
{% column valign="middle" %}
В этом примере создается атрибут, который преобразует скорость из километров в мили в час путем деления параметра CAN speed на 1,609.

Подробности о расчетах новых атрибутов см. [Примеры расчетов](/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).

Также вы можете найти подробный пример использования вычисляемых атрибутов в потоке в [Пример настройки потока → шаги 3 и 4](/docs/user/ru/guide/account/iot-logic/flow-management/flow-configuration-example.md#flow-configuration-steps).
{% endcolumn %}

{% column %}

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-ff0ba6cd28d37a00e2036a38e7dddc67526114b8%2FIitiate_Attribute_example.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

## Параметры отображения

Новые атрибуты, вычисленные в **Вычисление атрибута** узле, можно отслеживать так же, как реальные атрибуты данных, поступающие с устройств в **Анализе данных (DSA)** и в **модуле Мониторинг** модуле.

Подробнее о параметрах отображения см. [Отображение новых вычисленных атрибутов на платформе Navixy](/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).

## Вопросы, связанные с потоком данных

После настройки **Вычисление атрибута** узла убедитесь, что вы:

1. Подключите узел как минимум к одному **Источник данных** узлу в качестве входного
2. Подключите выход к **узлу передачи данных** узлу для отправки преобразованных данных

Внутри **Вычисление атрибута** узла значения параметров обрабатываются согласно вашим выражениям каждый раз, когда устройство передает данные. На выходе вы получите:

* Все исходные параметры устройства
* Все вычисленные атрибуты со значениями
* Обновленные значения времени генерации и серверного времени, как настроено

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

У атрибута, формулу которого не удалось вычислить, для этого пакета нет значения. Ничто не помечает это как ошибку. Если атрибут использует то же имя, что и параметр устройства, в пакете вместо этого остается исходное значение параметра, поэтому пакет выглядит нормально, а вычисление просто не произошло. См. [Отсутствующие значения в выражениях](/docs/user/ru/guide/account/iot-logic/nodes/missing-values-in-expressions.md).

## Часто задаваемые вопросы

#### Могу ли я использовать в расчетах не самые последние значения?

Да. Используйте параметр index в функции value, чтобы получить доступ к историческим значениям. Например, `value('temperature', 1, 'valid')` ссылается на предыдущее действительное значение параметра temperature.

#### Как выполнять расчеты, связанные со временем?

Используйте `genTime()` и `srvTime()` функции для работы с метками времени. Вы можете вычислять разницу во времени, добавлять временные смещения или форматировать метки времени для отображения.

#### Что происходит, если я удалю атрибут?

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

#### Могу ли я использовать атрибуты, созданные в одном узле Вычисление атрибута, в другом?

Да. На атрибуты, созданные ранее в потоке, можно ссылаться в последующих **Вычисление атрибута** узлах, что позволяет выполнять многоэтапные вычисления. Все созданные атрибуты также доступны через [функцию автозаполнения](/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names) для обеспечения правильного именования.

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-283b0e91f8050910026eb2295c18845b6d485b20%2Fiot-logic-initiate-attribute-chained.png?alt=media" alt="Example of a complete flow with two Initiate attribute nodes consecutively"><figcaption></figcaption></figure>

#### Как избежать опечаток при ссылке на имена атрибутов в формулах?

Используйте функцию автозаполнения в поле Formula, чтобы выбрать нужный атрибут из доступных. Подробные инструкции см. [Автозаполнение имен атрибутов](/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md#autofill-attribute-names).

#### Почему один из моих вычисляемых атрибутов иногда отсутствует?

Формулу не удалось вычислить для этих пакетов, чаще всего потому, что значение, которое она читает, отсутствовало в пакете. Тогда у атрибута нет значения, и ошибка не сообщается. См. [Отсутствующие значения в выражениях](/docs/user/ru/guide/account/iot-logic/nodes/missing-values-in-expressions.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/ru/guide/account/iot-logic/nodes/initiate-attribute-node.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
