> 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).

# Administrar atributos

Cree, edite y elimine atributos en el nodo Iniciar atributo. Use el autocompletado para construir rápidamente expresiones de fórmula a partir de los campos de telemetría disponibles.

El **Iniciar atributo** El Nodo le permite crear, editar y administrar atributos de datos en todo 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 crear fórmulas.

## Creación de atributos

Aquí le mostramos 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 %}

### Nombrar el 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 actuará como un [nombre de sensor personalizado 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 de 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 último valor válido de un atributo, puede omitir la sintaxis completa de `value()` 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 inmediatamente 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**: Cuándo se creó el dato
  * 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
* **Tiempo del servidor**: Cuándo IoT Logic recibió el dato
  * Use `now()` para establecer la hora actual en milisegundos
  * Use `srvTime('parameter_name', 0, 'valid')` para usar el tiempo 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 datos. Una configuración de tiempo adecuada garantiza que sus datos mantengan su integridad cronológica en todo el flujo.
{% endhint %}

### Autocompletado de nombres de atributos

Al crear fórmulas de cálculo, necesita hacer referencia a nombres de atributos existentes de dispositivos físicos o a 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](https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-246f310d842a27356a230db8e06eb7dfa5d87a8a%2Fimage-20250605-130755.png?alt=media) en la **Fórmula** campo.
2. Seleccione el atributo deseado de la lista que aparece; admite la entrada manual de texto para buscar.
3. Haga clic en el nombre del atributo para insertarlo en su fórmula.

El atributo seleccionado se inserta automáticamente en un formato listo para usar, utilizando 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 marca de validación. 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 en función de las fuentes de datos de su flujo y coincide con lo que es 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 simultáneamente:

* **Compatible con dispositivos** - El atributo debe ser compatible con al menos un dispositivo agregado actualmente a su flujo
* **Transmitido 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 es compatible tanto con 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 sea compatible con él.
{% endhint %}

#### Atributos indexados en el autocompletado

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

Por ejemplo, si necesita trabajar con lecturas de voltaje de la tercera entrada analógica de su dispositivo, estos datos llegan a través del atributo `analog_2` (usando indexación basada en cero, donde la primera entrada tiene í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 se marcan con el icono ![image-20250606-123725.png](https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-65afe9be52f6e729d0e1cc25714ef6f5dbd39294%2Fimage-20250606-123725.png?alt=media) 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 coloca 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 [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 a las dos opciones de sintaxis del lenguaje. La elección de la sintaxis depende del caso particular y está diseñada 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 la sintaxis corta y la larga en la misma fórmula.
{% endhint %}

Las fórmulas también pueden llamar a las funciones de la Zona, que leen la posición del dispositivo con respecto a las zonas geográficas de su cuenta. `geofenceName()` devuelve el nombre de la Zona en la que se encuentra el dispositivo, como texto, por lo que encaja directamente en un valor de atributo. Consulte [Funciones de zonas](/docs/user/es/guide/account/iot-logic/nodes/geofence-functions.md).

Ambas opciones de sintaxis pueden leer un valor que no está presente. Una fórmula que luego calcula con ese valor no produce nada, y el atributo se omite del paquete de datos. Consulte [Valores faltantes en expresiones](/docs/user/es/guide/account/iot-logic/nodes/missing-values-in-expressions.md).

### Sintaxis corta

La opción de fórmula corta accede al valor más reciente del atributo, sin comprobar la validez. Úsela cuando no necesite valores históricos en una fórmula. El valor que lee puede estar vacío, y la mayoría de los operadores no puede calcular con un valor vacío.

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

**Sintaxis:** `attribute_name`

**Valores predeterminados:**

* Índice: `0` (valor actual)
* Validación: `'todos'` (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

El uso de la sintaxis completa de la fórmula le permite acceder a valores históricos o al modo explícito de validación. Esto le ayuda cuando necesita usar valores que no sean los más recientes y manejar nulos. En el caso de la sintaxis completa, necesita definir la función completa `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>index</code></td><td>0-11</td><td>Posición histórica: 0=actual, 1=anterior, 11=valor almacenado más antiguo</td></tr><tr><td><code>validation</code></td><td><code>'todos'</code> o <code>'válido'</code></td><td><code>'todos'</code>=incluye nulos (índice exacto), <code>'válido'</code>=excluye nulos (lectura válida N.°)</td></tr></tbody></table>

Navixy almacena 12 lecturas por atributo para cada dispositivo, y las conserva hasta 30 días después del mensaje más reciente de ese dispositivo. Un dispositivo que regresa después de más de 30 días de silencio comienza sin historial. En el primer mensaje después de regresar, `value('temperature', 1, 'valid')` se resuelve como null. Para comprobar qué historial tiene actualmente un dispositivo, abra [Analizador de datos](/docs/user/es/guide/account/iot-logic/data-stream-analyzer.md).

**Ejemplos:**

* Cualquier lectura anterior

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

* 5.ª 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 %}

## Edición de atributos existentes

Para modificar un atributo existente:

1. Abra la ventana de configuración del Nodo pasando 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**, **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 %}

## Eliminación de atributos

Para quitar un atributo que ya no necesita:

1. Abra la ventana de configuración del Nodo pasando el mouse sobre el Nodo para mostrar las acciones rápidas o haciendo doble clic en el Nodo
2. Busque el atributo que desea quitar y haga clic en <img src="https://1900701122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-91fdf4a5f67bca3919ef3bde451fbd50678ef82e%2Fimage.png?alt=media" alt="" data-size="line">
3. Haga clic en **Aplicar cambios** para confirmar la configuración del Nodo

{% hint style="info" %}
Cuando elimine un atributo, ya no se calculará 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
