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

# Gestion des attributs

Le **Initialiser un Attribut** Le nœud vous permet de créer, modifier et gérer des attributs de données tout au long de votre flux IoT Logic. Ce guide couvre les actions de base de gestion des attributs (création, modification, suppression) et les opérations essentielles, y compris la fonction de remplissage automatique pour la création de formules.

## Créer des attributs

Voici comment créer un nouvel attribut dans le nœud Initialiser un Attribut :

{% stepper %}
{% step %}

### Ajouter un nouvel attribut

Cliquez sur le **Ajouter un attribut** bouton
{% endstep %}

{% step %}

### Nommer l'attribut

Saisissez un nom pour votre attribut (par ex. « Speed mph »). Ce nom s'affichera dans [Analyseur de données](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md) et fera office de [nom de capteur personnalisé dans Navixy](/docs/user/fr/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).
{% endstep %}

{% step %}

### Définir la formule

Définissez l'expression de la valeur. Pour créer la formule plus rapidement, utilisez [le remplissage automatique](#autofill-attribute-names).

{% hint style="info" %}
La syntaxe courte est le format par défaut pour les noms d'attributs remplis automatiquement dans les formules, et vous pouvez également l'utiliser pour la saisie manuelle de formules. Lorsque vous ne faites référence qu'à la dernière valeur valide d'un attribut, vous pouvez omettre la syntaxe complète `value()` de fonction et les guillemets. Par exemple, la formule de conversion de température peut être écrite ainsi `temperature*1.8 + 32` au lieu de `value('temperature', 0, 'valid')*1.8 + 32`.
{% endhint %}
{% endstep %}

{% step %}

### Finaliser la configuration

Cliquez sur **Enregistrer** pour confirmer la configuration du nœud
{% endstep %}
{% endstepper %}

Le nouvel attribut est enregistré dans le nœud et le calcul configuré est appliqué immédiatement dans le flux.

### Paramètres temporels des attributs

Les paramètres temporels vous permettent de contrôler les horodatages associés à vos attributs :

* **Temps de génération** : Quand les données ont été créées
  * Utilisez `now()` pour définir l'heure actuelle en millisecondes
  * Utilisez `genTime('parameter_name', 0, 'valid')` pour utiliser le temps de génération propre au paramètre
* **Heure du serveur** : Quand les données ont été reçues par IoT Logic
  * Utilisez `now()` pour définir l'heure actuelle en millisecondes
  * Utilisez `srvTime('parameter_name', 0, 'valid')` pour utiliser l'heure serveur du paramètre
  * Ajoutez des décalages pour tenir compte des fuseaux horaires (par exemple, `srvTime('can_speed', 0, 'valid') + 120000` ajoute 2 minutes)

{% hint style="info" %}
Les paramètres temporels sont importants pour l'analyse des données et la synchronisation. Une configuration correcte du temps garantit que vos données conservent leur intégrité chronologique tout au long du flux.
{% endhint %}

### Remplissage automatique des noms d’attributs

Lorsque vous créez des formules de calcul, vous devez faire référence aux noms d'attributs existants des appareils physiques ou aux attributs calculés provenant d'autres nœuds. Pour simplifier ce processus et éviter les fautes d'orthographe, IoT Logic fournit une fonction de remplissage automatique pour les noms d'attributs.

Pour utiliser le remplissage automatique lors de la création de formules :

1. Cliquez sur ![image-20250605-130755.png](/files/417384f29cfbd608e28dd6a0833134329729f949) dans les **champ Formule** champ.
2. Sélectionnez l'attribut souhaité dans la liste affichée ; elle prend en charge la saisie manuelle de texte à des fins de recherche.
3. Cliquez sur le nom de l'attribut pour l'insérer dans votre formule.

L'attribut sélectionné est automatiquement inséré dans le format prêt à l'emploi, en utilisant la [syntaxe courte](#short-syntax) du langage d'expression Navixy IoT Logic. Cela signifie que les entrées remplies automatiquement accèdent à la dernière valeur disponible de l'attribut sélectionné.

Vous pouvez modifier les paramètres selon vos besoins : changez le numéro d'index pour les valeurs historiques ou ajustez l'indicateur de validité. Pour ce faire, vous devez définir la formule en utilisant explicitement la [syntaxe complète](#full-syntax) dans la `value()` fonction.

La liste est filtrée en fonction des sources de données de votre flux et correspond à ce qui est visible dans [Analyseur de données](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md).

{% hint style="info" %}
La liste de remplissage automatique affiche uniquement les attributs qui remplissent **tous** les critères suivants simultanément :

* **Pris en charge par les appareils** - L'attribut doit être pris en charge par au moins un appareil actuellement ajouté à votre flux
* **Réellement transmis** - L'appareil doit avoir envoyé des données réelles pour cet attribut (et pas seulement le prendre en charge théoriquement)
* **Disponible dans le flux** - Cela inclut à la fois les paramètres de l'appareil et les attributs calculés provenant d'autres **Initialiser un Attribut** nœuds du même flux

**Exemple** : Si votre appareil prend en charge à la fois les capteurs de vitesse et de température, mais n'a transmis que des données de vitesse (peut-être en raison d'un capteur de température défectueux), la liste de remplissage automatique affichera l'attribut « speed », mais pas « temperature ». L'attribut de température n'apparaîtra que lorsque l'appareil enverra réellement des relevés de température, même si l'appareil le prend techniquement en charge.
{% endhint %}

#### Attributs indexés dans le remplissage automatique

Certains attributs de données contiennent plusieurs valeurs indexées au sein d'un même attribut, comme les relevés de plusieurs capteurs analogiques connectés à un appareil télématique principal. Pour utiliser ces attributs dans des calculs, vous devez préciser le numéro d'index exact correspondant au capteur ou à l'entrée spécifique que vous souhaitez référencer.

Par exemple, si vous devez travailler avec des relevés de tension provenant de la troisième entrée analogique de votre appareil, ces données passent par l'attribut `analog_2`  (avec une numérotation à partir de zéro, où la première entrée correspond à l'index 0). Dans votre formule, cela apparaîtrait ainsi `value('analog_2', 0, 'valid')`.

Le remplissage automatique gère également ce cas pour vous :

* Les attributs indexés sont marqués par l'icône ![image-20250606-123725.png](/files/70db3006ad9f64569d19c746ffe23b384599ed3b) dans la liste de remplissage automatique.
* Ces entrées affichent la plage d'index disponible entre crochets, comme `analog_[1..4]` pour les attributs prenant en charge cinq valeurs indexées (indices 1 à 4).
* Lorsque vous sélectionnez un attribut indexé, le curseur se positionne automatiquement à la fin du nom de l'attribut entre les guillemets, ce qui vous permet de saisir immédiatement le numéro d'index spécifique dont vous avez besoin.

## Langage d'expression

les spécifications de [Langage d’expression IoT Logic de Navixy](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). Vous trouverez ci-dessous une brève référence aux deux options de syntaxe du langage. Le choix de la syntaxe dépend du cas particulier et est conçu pour plus de commodité :

* La syntaxe courte est facile à écrire et fonctionne mieux lorsque vous n'avez besoin que des données les plus récentes.
* La syntaxe longue est un peu plus complexe, mais offre davantage de contrôle sur la profondeur des données lorsque vous devez traiter des valeurs historiques.

{% hint style="success" %}
L'option de syntaxe n'affecte pas la formule elle-même ! Vous pouvez également combiner la syntaxe courte et la syntaxe longue dans la même formule.
{% endhint %}

### Syntaxe courte

L'option de syntaxe courte accède à la dernière valeur de l'attribut, sans vérifier sa validité. C'est pratique lorsque vous n'avez pas besoin de valeurs historiques dans une formule et ne voulez pas filtrer les `null` valeurs.

{% hint style="info" %}
[Le ](#autofill-attribute-names)remplissage automatique utilise toujours la syntaxe courte.
{% endhint %}

**Syntaxe :** `attribute_name`

**Valeurs par défaut :**

* Index : `0` (valeur actuelle)
* Validation : `'all'` (inclut les valeurs nulles)

Par exemple, la forme courte `temperature` équivaut à la formule complète `value('temperature', 0, 'all')`. Cela signifie que vous pouvez facilement créer des calculs sans ajouter explicitement les paramètres par défaut :

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

### Syntaxe complète

L'utilisation de la syntaxe complète de formule vous permet d'accéder aux valeurs historiques ou au mode de validation explicite. Cela vous aide lorsque vous devez utiliser des valeurs autres que la plus récente et gérer les valeurs nulles. Dans le cas de la syntaxe complète, vous devez définir l'intégralité de la `value()` fonction.

**Fonction :** `value(attribute_name, index, validation)`

**Paramètres :**

<table><thead><tr><th width="152.54547119140625">Paramètre</th><th width="176.45452880859375">Plage/Valeurs</th><th>Description</th></tr></thead><tbody><tr><td><code>attribute_name</code></td><td>Tout attribut valide</td><td>Nom exact issu de la télémétrie de l'appareil (peut être <a href="#autofill-attribute-names">rempli automatiquement</a>)</td></tr><tr><td><code>index</code></td><td>0-12</td><td>Position historique : 0=valeur actuelle, 1=précédente, 12=12 relevés auparavant</td></tr><tr><td><code>validation</code></td><td><code>'all'</code> ou <code>'valid'</code></td><td><code>'all'</code>=inclut les valeurs nulles (index exact), <code>'valid'</code>=exclut les valeurs nulles (Nième relevé valide)</td></tr></tbody></table>

**Exemples :**

* Tout relevé précédent

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

* 5e relevé valide en arrière

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

* Variation de température (syntaxes courte et complète utilisées dans la même formule)

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

{% hint style="info" %}
Pour plus d'exemples de formules, voir [Exemples de calcul](/docs/user/fr/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).
{% endhint %}

## Modification des attributs existants

Pour modifier un attribut existant :

1. Ouvrez la fenêtre de configuration du nœud en survolant le nœud avec votre souris pour afficher les actions rapides, ou en double-cliquant sur le nœud
2. Trouvez l'attribut que vous souhaitez modifier dans la liste des attributs
3. Apportez les modifications nécessaires dans les champs de texte des propriétés de l'attribut : **Nom de l'attribut**, **champ Formule** ou les paramètres temporels
4. Si vous devez modifier d'autres attributs dans ce nœud, répétez l'étape 3 pour chacun d'eux
5. Cliquez sur **Enregistrer** pour appliquer vos modifications à la configuration du nœud

{% hint style="info" %}
Lorsque vous modifiez un attribut, les changements ne s'appliqueront qu'aux nouvelles données reçues après l'enregistrement. Les données historiques déjà collectées ne seront pas recalculées.
{% endhint %}

## Suppression des attributs

Pour supprimer un attribut qui n'est plus nécessaire :

1. Ouvrez la fenêtre de configuration du nœud en survolant le nœud avec votre souris pour afficher les actions rapides, ou en double-cliquant sur le nœud
2. Trouvez l'attribut que vous souhaitez supprimer et cliquez sur <img src="/files/1b3483a054335227eb542db9f3eb5872cc2e15fd" alt="" data-size="line">
3. Cliquez sur **Appliquez les modifications** pour confirmer la configuration du nœud

{% hint style="info" %}
Lorsque vous supprimez un attribut, il ne sera plus calculé pour les nouvelles données, mais les données historiques contenant cet attribut resteront inchangées dans la base de données.
{% 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/fr/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.
