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

# Gerenciando atributos

Crie, edite e exclua atributos no nó Iniciar Atributo. Use o preenchimento automático para construir expressões de fórmula rapidamente a partir dos campos de telemetria disponíveis.

A **Iniciar Atributo** o nó permite que você crie, edite e gerencie atributos de dados em todo o seu fluxo do IoT Logic. Este guia aborda as ações básicas de gerenciamento de atributos (criar, editar, excluir) e as operações essenciais, incluindo a funcionalidade de preenchimento automático para a criação de fórmulas.

## Criar atributos

Veja como criar um novo atributo no nó Iniciar Atributo:

{% stepper %}
{% step %}

### Adicionar novo atributo

Clique no **Adicionar atributo** botão
{% endstep %}

{% step %}

### Nomear o atributo

Digite um nome para o seu atributo (por exemplo, "Speed mph"). Esse nome será exibido em [Analisador de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md) e atuará como um [nome de sensor personalizado no Navixy](/docs/user/pt-br/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).
{% endstep %}

{% step %}

### Definir fórmula

Defina a expressão do valor. Para criar fórmulas mais rapidamente, use [preenchimento automático](#autofill-attribute-names).

{% hint style="info" %}
A sintaxe curta é o padrão para nomes de atributos preenchidos automaticamente nas fórmulas, e você também pode usá-la para entrada manual da fórmula. Ao referenciar apenas o valor válido mais recente de um atributo, você pode omitir a sintaxe completa da `value()` função e as aspas. Por exemplo, a fórmula de conversão de temperatura pode ser escrita como `temperature*1.8 + 32` em vez de `value('temperature', 0, 'valid')*1.8 + 32`.
{% endhint %}
{% endstep %}

{% step %}

### Concluir a configuração

Clique em **Salvar** para confirmar a configuração do nó
{% endstep %}
{% endstepper %}

O novo atributo é salvo no nó e o cálculo configurado é aplicado imediatamente no fluxo.

### Configurações de tempo para atributos

As configurações de tempo permitem que você controle os carimbos de data e hora associados aos seus atributos:

* **Tempo de geração**: Quando os dados foram criados
  * Use `now()` para definir o horário atual em milissegundos
  * Use `genTime('parameter_name', 0, 'valid')` para usar o próprio tempo de geração do parâmetro
* **Tempo do servidor**: Quando os dados foram recebidos pelo IoT Logic
  * Use `now()` para definir o horário atual em milissegundos
  * Use `srvTime('parameter_name', 0, 'valid')` para usar o tempo do servidor do parâmetro
  * Adicione deslocamentos para ajustar os fusos horários (por exemplo, `srvTime('can_speed', 0, 'valid') + 120000` adiciona 2 minutos)

{% hint style="info" %}
As configurações de tempo são importantes para a análise e a sincronização de dados. A configuração correta do tempo garante que seus dados mantenham a integridade cronológica em todo o fluxo.
{% endhint %}

### Nomes de atributos com preenchimento automático

Ao criar fórmulas de cálculo, você precisa referenciar nomes de atributos existentes de dispositivos físicos ou atributos calculados de outros nós. Para simplificar esse processo e evitar erros de digitação, o IoT Logic fornece funcionalidade de preenchimento automático para nomes de atributos.

Para usar o preenchimento automático ao criar fórmulas:

1. Clique em ![image-20250605-130755.png](https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-246f310d842a27356a230db8e06eb7dfa5d87a8a%2Fimage-20250605-130755.png?alt=media) no **Fórmula** campo.
2. Selecione o atributo desejado na lista exibida; ela oferece suporte à entrada manual de texto para fins de pesquisa.
3. Clique no nome do atributo para inseri-lo na sua fórmula.

O atributo selecionado é inserido automaticamente em um formato pronto para uso, usando a [sintaxe curta](#short-syntax) da linguagem de expressões do Navixy IoT Logic. Isso significa que as entradas preenchidas automaticamente acessam o valor mais recente de qualquer atributo selecionado.

Você pode modificar os parâmetros conforme necessário - alterar o número do índice para valores históricos ou ajustar a sinalização de validade. Para isso, você precisa definir a fórmula usando a [sintaxe completa](#full-syntax) explicitamente, dentro da `value()` função.

A lista é filtrada com base nas fontes de dados do seu fluxo e corresponde ao que está visível em [Analisador de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md).

{% hint style="info" %}
A lista de preenchimento automático exibe apenas atributos que atendem **a todos** os critérios a seguir simultaneamente:

* **Compatível com dispositivos** - O atributo deve ser compatível com pelo menos um dispositivo atualmente adicionado ao seu fluxo
* **Realmente transmitido** - O dispositivo deve ter enviado dados reais para esse atributo (e não apenas suportá-lo teoricamente)
* **Disponível no fluxo** - Isso inclui tanto parâmetros do dispositivo quanto atributos calculados de outros **Iniciar Atributo** nós dentro do mesmo fluxo

**Exemplo**: Se o seu dispositivo for compatível com sensores de velocidade e temperatura, mas tiver transmitido apenas dados de velocidade (talvez devido a um sensor de temperatura com defeito), a lista de preenchimento automático mostrará o atributo 'speed', mas não 'temperature'. O atributo de temperatura só aparecerá quando o dispositivo realmente enviar leituras de temperatura, mesmo que o dispositivo ofereça suporte técnico a isso.
{% endhint %}

#### Atributos indexados no preenchimento automático

Alguns atributos de dados contêm vários valores indexados dentro de um único atributo, como leituras de vários sensores analógicos conectados a um dispositivo telemático principal. Para usar esses atributos nos cálculos, você precisa especificar o número exato do índice correspondente ao sensor ou à entrada específica que deseja referenciar.

Por exemplo, se você precisar trabalhar com leituras de voltagem da terceira entrada analógica do seu dispositivo, esses dados chegam por meio do atributo `analog_2` (usando indexação baseada em zero, em que a primeira entrada é o índice 0). Em sua fórmula, isso apareceria como `value('analog_2', 0, 'valid')`.

O preenchimento automático também lida com esse cenário para você:

* Os atributos indexados são marcados com o ícone ![image-20250606-123725.png](https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-65afe9be52f6e729d0e1cc25714ef6f5dbd39294%2Fimage-20250606-123725.png?alt=media) na lista de preenchimento automático.
* Essas entradas exibem o intervalo de índices disponível entre colchetes, como `analog_[1..4]` para atributos que suportam cinco valores indexados (índices de 1 a 4).
* Quando você seleciona um atributo indexado, o cursor é posicionado automaticamente no final do nome do atributo dentro das aspas, permitindo que você digite imediatamente o número do índice específico de que precisa.

## Linguagem de expressões

Todas as fórmulas no IoT Logic seguem as especificações de [Linguagem de Expressões do IoT Logic da Navixy](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). Abaixo, você encontra uma breve referência às duas opções de sintaxe da linguagem. A escolha da sintaxe depende do caso específico e foi projetada para oferecer praticidade:

* A sintaxe curta é fácil de escrever e funciona melhor quando você precisa apenas dos dados mais recentes.
* A sintaxe longa é um pouco mais complexa, mas oferece mais controle sobre a profundidade dos dados quando você precisa lidar com valores históricos.

{% hint style="success" %}
A opção de sintaxe não afeta a fórmula em si! Você também pode combinar sintaxe curta e longa na mesma fórmula.
{% endhint %}

As fórmulas também podem chamar as funções de geocerca, que leem a posição do dispositivo em relação às geocercas da sua conta. `geofenceName()` retorna o nome da geocerca em que o dispositivo está, como texto, para que se encaixe diretamente em um valor de atributo. Consulte [Funções de geocerca](/docs/user/pt-br/guide/account/iot-logic/nodes/geofence-functions.md).

Ambas as opções de sintaxe podem ler um valor que não existe. Uma fórmula que então calcula com esse valor não produz nada, e o atributo é omitido do pacote de dados. Consulte [Valores ausentes em expressões](/docs/user/pt-br/guide/account/iot-logic/nodes/missing-values-in-expressions.md).

### Sintaxe curta

A opção de fórmula curta acessa o valor mais recente do atributo, sem verificar a validade. Use-a quando você não precisar de valores históricos em uma fórmula. O valor que ela lê pode estar vazio, e a maioria dos operadores não consegue calcular com um valor vazio.

{% hint style="info" %}
[Preenchimento automático ](#autofill-attribute-names)sempre usa a sintaxe curta.
{% endhint %}

**Sintaxe:** `nome_do_atributo`

**Padrões:**

* Índice: `0` (valor atual)
* Validação: `'all'` (inclui valores nulos)

Por exemplo, a forma curta `temperature` é equivalente à fórmula completa `value('temperature', 0, 'all')`. Isso significa que você pode criar cálculos facilmente sem adicionar explicitamente os parâmetros padrão:

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

### Sintaxe completa

Usar a sintaxe completa da fórmula permite que você acesse valores históricos ou o modo de validação explícito. Isso ajuda quando você precisa usar valores não mais recentes e lidar com nulos. No caso da sintaxe completa, você precisa definir a `value()` função.

**Função:** `value(attribute_name, index, validation)`

**Parâmetros:**

<table><thead><tr><th width="152.54547119140625">Parâmetro</th><th width="176.45452880859375">Intervalo/Valores</th><th>Descrição</th></tr></thead><tbody><tr><td><code>nome_do_atributo</code></td><td>Qualquer atributo válido</td><td>Nome exato da telemetria do dispositivo (pode ser <a href="#autofill-attribute-names">preenchido automaticamente</a>)</td></tr><tr><td><code>index</code></td><td>0-11</td><td>Posição histórica: 0=atual, 1=anterior, 11=valor armazenado mais antigo</td></tr><tr><td><code>validation</code></td><td><code>'all'</code> ou <code>'valid'</code></td><td><code>'all'</code>=inclui nulos (índice exato), <code>'valid'</code>=exclui nulos (N-ésima leitura válida)</td></tr></tbody></table>

O Navixy armazena 12 leituras por atributo para cada dispositivo e as mantém por até 30 dias após a mensagem mais recente desse dispositivo. Um dispositivo que retorna depois de mais de 30 dias de inatividade começa sem histórico. Na primeira mensagem após o retorno, `value('temperature', 1, 'valid')` é resolvido como null. Para verificar qual histórico um dispositivo possui no momento, abra [Analisador de dados](/docs/user/pt-br/guide/account/iot-logic/data-stream-analyzer.md).

**Exemplos:**

* Qualquer leitura anterior

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

* 5ª leitura válida anterior

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

* Variação de temperatura (sintaxes curta e completa usadas na mesma fórmula)

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

{% hint style="info" %}
Para mais exemplos de fórmulas, consulte [Exemplos de cálculo](/docs/user/pt-br/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).
{% endhint %}

## Editar atributos existentes

Para modificar um atributo existente:

1. Abra a janela de configuração do nó passando o mouse sobre o nó para exibir as ações rápidas ou dando duplo clique no nó
2. Localize o atributo que você deseja editar na lista de atributos
3. Faça as alterações necessárias nos campos de texto das propriedades do atributo: **Nome do atributo**, **Fórmula** ou configurações de tempo
4. Se precisar editar outros atributos neste nó, repita a etapa 3 para eles
5. Clique em **Salvar** para aplicar suas alterações à configuração do nó

{% hint style="info" %}
Quando você edita um atributo, as alterações serão aplicadas apenas aos novos dados recebidos após o salvamento. Os dados históricos já coletados não serão recalculados.
{% endhint %}

## Excluir atributos

Para remover um atributo que não é mais necessário:

1. Abra a janela de configuração do nó passando o mouse sobre o nó para exibir as ações rápidas ou dando duplo clique no nó
2. Localize o atributo que você deseja remover e clique em <img src="https://1308974401-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. Clique em **Aplicar alterações** para confirmar a configuração do nó

{% hint style="info" %}
Quando você excluir um atributo, ele deixará de ser calculado para novos dados, mas os dados históricos que contêm esse atributo permanecerão inalterados no banco de dados.
{% 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/pt-br/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.
