> 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/es/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md).

# Gestionar atributos

El **Iniciar atributo** El nodo le permite crear, editar y administrar atributos de datos a lo largo de su flujo de IoT Logic. Esta guía cubre las acciones básicas de administración de atributos (crear, editar, eliminar) y las operaciones esenciales, incluida la funcionalidad de autocompletado para la creación de fórmulas.

## Crear atributos

Aquí se explica cómo crear un nuevo atributo en el nodo Iniciar atributo:

{% stepper %}
{% step %}

### Agregar nuevo atributo

Haga clic en el botón **Agregar atributo** botón
{% endstep %}

{% step %}

### Asignar nombre al atributo

Ingrese un nombre para su atributo (por ejemplo, "Speed mph"). Este nombre se mostrará en [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md) y funcionará como un [nombre personalizado del sensor en Navixy](/docs/user/es/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).
{% endstep %}

{% step %}

### Definir fórmula

Defina la expresión del valor. Para crear fórmulas más rápido, use [autocompletado](#autofill-attribute-names).

{% hint style="info" %}
La sintaxis corta es la predeterminada para los nombres de atributos autocompletados en las fórmulas, y también puede usarla para la entrada manual de fórmulas. Cuando haga referencia solo al valor válido más reciente de un atributo, puede omitir la `value()` sintaxis completa de la función y las comillas. Por ejemplo, la fórmula de conversión de temperatura puede escribirse como `temperature*1.8 + 32` en lugar de `value('temperature', 0, 'valid')*1.8 + 32`.
{% endhint %}
{% endstep %}

{% step %}

### Finalizar configuración

Haga clic en **Guardar** para confirmar la configuración del nodo
{% endstep %}
{% endstepper %}

El nuevo atributo se guarda en el nodo y el cálculo configurado se aplica de inmediato en el flujo.

### Configuración de tiempo para atributos

La configuración de tiempo le permite controlar las marcas de tiempo asociadas con sus atributos:

* **Tiempo de generación**: Cuando se crearon los datos
  * Use `now()` para establecer la hora actual en milisegundos
  * Use `genTime('parameter_name', 0, 'valid')` para usar el tiempo de generación propio del parámetro
* **Hora del servidor**: Cuando IoT Logic recibió los datos
  * Use `now()` para establecer la hora actual en milisegundos
  * Use `srvTime('parameter_name', 0, 'valid')` para usar la hora del servidor del parámetro
  * Agregue desplazamientos para ajustar las zonas horarias (por ejemplo, `srvTime('can_speed', 0, 'valid') + 120000` agrega 2 minutos)

{% hint style="info" %}
La configuración de tiempo es importante para el análisis y la sincronización de los datos. Una configuración de tiempo adecuada garantiza que sus datos mantengan la integridad cronológica a lo largo de todo el flujo.
{% endhint %}

### Autocompletar nombres de atributos

Al crear fórmulas de cálculo, debe referenciar nombres de atributos existentes de dispositivos físicos o atributos calculados de otros nodos. Para simplificar este proceso y evitar errores de escritura, IoT Logic ofrece funcionalidad de autocompletado para los nombres de atributos.

Para usar el autocompletado al crear fórmulas:

1. Haga clic en ![image-20250605-130755.png](/files/f796f87b57e2bd66b5fea6c924cb621d701c913e) en las **campo Fórmula** campo.
2. Seleccione el atributo deseado de la lista que aparece; admite la entrada manual de texto con fines de búsqueda.
3. Haga clic en el nombre del atributo para insertarlo en su fórmula.

El atributo seleccionado se inserta automáticamente en el formato listo para usar, usando la [sintaxis corta](#short-syntax) del Lenguaje de expresiones de Navixy IoT Logic. Esto significa que las entradas autocompletadas acceden al valor más reciente de cualquier atributo seleccionado.

Puede modificar los parámetros según sea necesario: cambie el número de índice para valores históricos o ajuste la bandera de validez. Para hacerlo, debe definir la fórmula usando la [sintaxis completa](#full-syntax) explícitamente, dentro de la `value()` función.

La lista se filtra según las fuentes de datos de su flujo y coincide con lo que está visible en [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md).

{% hint style="info" %}
La lista de autocompletado muestra solo los atributos que cumplen **todos** los siguientes criterios al mismo tiempo:

* **Compatibles con dispositivos** - El atributo debe ser compatible con al menos un dispositivo que esté agregado actualmente a su flujo
* **Transmitidos realmente** - El dispositivo debe haber enviado datos reales para este atributo (no solo admitirlo teóricamente)
* **Disponible en el flujo** - Esto incluye tanto parámetros del dispositivo como atributos calculados de otros **Iniciar atributo** nodos dentro del mismo flujo

**Ejemplo**: Si su dispositivo admite tanto sensores de velocidad como de temperatura, pero solo ha transmitido datos de velocidad (quizá debido a un sensor de temperatura defectuoso), la lista de autocompletado mostrará el atributo 'speed' pero no 'temperature'. El atributo de temperatura solo aparecerá una vez que el dispositivo envíe realmente lecturas de temperatura, aunque técnicamente el dispositivo lo admita.
{% endhint %}

#### Atributos indexados en el autocompletado

Algunos atributos de datos contienen múltiples valores indexados dentro de un solo atributo, como las lecturas de varios sensores analógicos conectados a un dispositivo telemático principal. Para usar estos atributos en cálculos, debe especificar el número de índice exacto correspondiente al sensor o entrada específica a la que desea hacer referencia.

Por ejemplo, si necesita trabajar con lecturas de voltaje de la tercera entrada analógica de su dispositivo, estos datos llegan mediante el atributo `analog_2` (usando indexación basada en cero, donde la primera entrada es el índice 0). En su fórmula, esto aparecería como `value('analog_2', 0, 'valid')`.

El autocompletado también maneja este escenario por usted:

* Los atributos indexados están marcados con el ícono ![image-20250606-123725.png](/files/bc2a4aaaefe748d1369866f0f227890f83246d0f) en la lista de autocompletado.
* Estas entradas muestran el rango de índices disponible entre corchetes, como `analog_[1..4]` para atributos que admiten cinco valores indexados (índices del 1 al 4).
* Cuando selecciona un atributo indexado, el cursor se posiciona automáticamente al final del nombre del atributo dentro de las comillas, lo que le permite escribir de inmediato el número de índice específico que necesita.

## Lenguaje de expresiones

Todas las fórmulas en IoT Logic siguen las especificaciones de [el lenguaje de expresiones de Navixy IoT Logic](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). A continuación, encontrará una breve referencia de las dos opciones de sintaxis del lenguaje. La elección de la sintaxis depende del caso particular y está pensada para brindar comodidad:

* La sintaxis corta es fácil de escribir y funciona mejor cuando solo necesita los datos más recientes.
* La sintaxis larga es un poco más compleja, pero ofrece más control sobre la profundidad de los datos cuando necesita manejar valores históricos.

{% hint style="success" %}
¡La opción de sintaxis no afecta la fórmula en sí! También puede combinar sintaxis corta y larga en la misma fórmula.
{% endhint %}

### Sintaxis corta

La opción de fórmula corta accede al valor más reciente del atributo, sin comprobar la validez. Es útil cuando no necesita valores históricos en una fórmula y no desea descartar `null` valores.

{% hint style="info" %}
[Autocompletado ](#autofill-attribute-names)la función siempre usa la sintaxis corta.
{% endhint %}

**Sintaxis:** `attribute_name`

**Predeterminados:**

* Índice: `0` (valor actual)
* Validación: `'all'` (incluye valores nulos)

Por ejemplo, la forma corta `temperature` equivale a la fórmula completa `value('temperature', 0, 'all')`. Esto significa que puede crear cálculos fácilmente sin agregar explícitamente los parámetros predeterminados:

```jexl
temperature * 1.8 + 32
```

### Sintaxis completa

Usar la sintaxis completa de la fórmula le permite acceder a valores históricos o al modo explícito de validación. Esto ayuda cuando necesita usar valores que no sean los más recientes y manejar nulos. En el caso de la sintaxis completa, debe definir la `value()` función.

**Función:** `value(attribute_name, index, validation)`

**Parámetros:**

<table><thead><tr><th width="152.54547119140625">Parámetro</th><th width="176.45452880859375">Rango/Valores</th><th>Descripción</th></tr></thead><tbody><tr><td><code>attribute_name</code></td><td>Cualquier atributo válido</td><td>Nombre exacto de la telemetría del dispositivo (puede ser <a href="#autofill-attribute-names">autocompletado</a>)</td></tr><tr><td><code>índice</code></td><td>0-12</td><td>Posición histórica: 0=actual, 1=anterior, 12=12 lecturas atrás</td></tr><tr><td><code>validación</code></td><td><code>'all'</code> o <code>'valid'</code></td><td><code>'all'</code>=incluye nulos (índice exacto), <code>'valid'</code>=excluye nulos (lectura válida n.° N)</td></tr></tbody></table>

**Ejemplos:**

* Cualquier lectura anterior

```jexl
value('temperature', 1, 'all')
```

* La quinta lectura válida hacia atrás

```jexl
value('speed', 5, 'valid')
```

* Cambio de temperatura (se usan sintaxis corta y completa en la misma fórmula)

```jexl
temperature - value('temperature', 1, 'all')
```

{% hint style="info" %}
Para ver más ejemplos de fórmulas, consulte [Ejemplos de cálculo](/docs/user/es/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).
{% endhint %}

## Editar atributos existentes

Para modificar un atributo existente:

1. Abra la ventana de configuración del nodo colocando el mouse sobre el nodo para mostrar las acciones rápidas, o haciendo doble clic en el nodo
2. Busque el atributo que desea editar en la lista de atributos
3. Realice los cambios necesarios en los campos de texto de las propiedades del atributo: **Nombre del atributo**, **campo Fórmula** o la configuración de tiempo
4. Si necesita editar otros atributos de este nodo, repita el paso 3 para ellos
5. Haga clic en **Guardar** para aplicar sus cambios a la configuración del nodo

{% hint style="info" %}
Cuando edita un atributo, los cambios solo se aplicarán a los datos nuevos recibidos después de guardar. Los datos históricos ya recopilados no se recalcularán.
{% endhint %}

## Eliminar atributos

Para quitar un atributo que ya no necesita:

1. Abra la ventana de configuración del nodo colocando el mouse sobre el nodo para mostrar las acciones rápidas, o haciendo doble clic en el nodo
2. Busque el atributo que desea eliminar y haga clic en <img src="/files/6fd6576891beba88190b7b3fb3f7cc506570ee7c" alt="" data-size="line">
3. Haga clic en **Aplique los cambios** para confirmar la configuración del nodo

{% hint style="info" %}
Cuando elimina un atributo, este dejará de calcularse para los datos nuevos, pero los datos históricos que contengan este atributo permanecerán sin cambios en la base de datos.
{% endhint %}


---

# 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/es/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.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.
