> 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

Créez, modifiez et supprimez des attributs dans le nœud Initialiser un Attribut. Utilisez le remplissage automatique pour construire rapidement des expressions de formule à partir des champs de télémétrie disponibles.

Le **Initialiser un Attribut** Le nœud vous permet de créer, de modifier et de 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éer, modifier, supprimer) ainsi que les opérations essentielles, y compris la fonctionnalité 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 exemple, « Speed mph »). Ce nom sera affiché dans [Analyseur de données](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md) et servira 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 des formules plus rapidement, utilisez [le remplissage automatique](#autofill-attribute-names).

{% hint style="info" %}
La syntaxe courte est utilisée par défaut pour les noms d’attributs remplis automatiquement dans les formules, et vous pouvez aussi l’utiliser pour une saisie manuelle de la formule. Lorsque vous faites référence uniquement à la dernière valeur valide d’un attribut, vous pouvez omettre la syntaxe complète de la `value()` fonction ainsi que les guillemets. Par exemple, la formule de conversion de température peut s’écrire comme suit `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 :

* **Heure de génération** : Lorsque 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** : Lorsque 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 ajuster les 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 temporelle correcte 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 à des noms d’attributs existants provenant d’appareils physiques ou à des attributs calculés issus d’autres nœuds. Pour simplifier ce processus et éviter les fautes de frappe, IoT Logic propose une fonctionnalité 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](https://2196179364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-246f310d842a27356a230db8e06eb7dfa5d87a8a%2Fimage-20250605-130755.png?alt=media) dans le **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 inséré automatiquement dans un 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 cela, vous devez définir la formule en utilisant la [syntaxe complète](#full-syntax) explicitement, 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 n’affiche que 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é de vraies données pour cet attribut (et ne pas se contenter de 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 s’il 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 des relevés provenant de plusieurs capteurs analogiques connectés à un dispositif 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 transitent par l’attribut `analog_2` (en utilisant un indexation à partir de zéro, où la première entrée correspond à l’index 0). Dans votre formule, cela apparaîtrait comme `value('analog_2', 0, 'valid')`.

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

* Les attributs indexés sont signalés par l’icône ![image-20250606-123725.png](https://2196179364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-65afe9be52f6e729d0e1cc25714ef6f5dbd39294%2Fimage-20250606-123725.png?alt=media) dans la liste de remplissage automatique.
* Ces entrées affichent la plage d’index disponible entre crochets, par exemple `analog_[1..4]` pour des attributs prenant en charge cinq valeurs indexées (indices de 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

Toutes les formules dans IoT Logic suivent les spécifications de [le langage d'expression Navixy IoT Logic](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md).

* La syntaxe courte est facile à écrire et convient mieux lorsque vous n’avez besoin que des données récentes.
* La syntaxe longue est un peu plus complexe, mais offre un meilleur contrôle sur la profondeur des données lorsque vous devez gérer 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 une même formule.
{% endhint %}

Les formules peuvent également appeler les fonctions de zone géographique, qui lisent la position de l’appareil par rapport aux zones géographiques de votre compte. `geofenceName()` renvoie, sous forme de texte, le nom de la zone géographique dans laquelle se trouve l’appareil, afin qu’il s’intègre directement à une valeur d’attribut. Voir [Fonctions de zone géographique](/docs/user/fr/guide/account/iot-logic/nodes/geofence-functions.md).

Les deux options de syntaxe peuvent lire une valeur absente. Une formule qui calcule ensuite avec cette valeur ne produit rien, et l’attribut est omis du paquet de données. Voir [Valeurs manquantes dans les expressions](/docs/user/fr/guide/account/iot-logic/nodes/missing-values-in-expressions.md).

### Syntaxe courte

L’option de formule courte accède à la dernière valeur de l’attribut, sans vérifier sa validité. Utilisez-la lorsque vous n’avez pas besoin de valeurs historiques dans une formule. La valeur lue peut être vide, et la plupart des opérateurs ne peuvent pas calculer avec une valeur vide.

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

**Syntaxe :** `attribute_name`

**Valeurs par défaut :**

* Index : `0` (valeur actuelle)
* Validation : `'tous'` (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 la formule vous permet d’accéder aux valeurs historiques ou à un mode de validation explicite. Cela est utile 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 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 provenant 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-11</td><td>Position historique : 0=valeur actuelle, 1=précédente, 11=plus ancienne valeur stockée</td></tr><tr><td><code>validation</code></td><td><code>'tous'</code> ou <code>'valide'</code></td><td><code>'tous'</code>=inclut les valeurs nulles (index exact), <code>'valide'</code>=exclut les valeurs nulles (nième lecture valide)</td></tr></tbody></table>

Navixy stocke 12 relevés par attribut pour chaque appareil et les conserve jusqu’à 30 jours après le message le plus récent provenant de cet appareil. Un appareil qui revient après plus de 30 jours de silence recommence sans historique. Au premier message de retour, `value('temperature', 1, 'valid')` aboutit à null. Pour vérifier quel historique un appareil possède actuellement, ouvrez [Analyseur de données](/docs/user/fr/guide/account/iot-logic/data-stream-analyzer.md).

**Exemples :**

* Toute lecture précédente

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

* 5e lecture valide en remontant

```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 d’autres exemples de formules, voir [Exemples de calcul](/docs/user/fr/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).
{% endhint %}

## Modifier des attributs existants

Pour modifier un attribut existant :

1. Ouvrez la fenêtre de configuration du nœud en survolant le nœud avec la souris pour afficher les actions rapides, ou en double-cliquant sur le nœud
2. Repérez 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**, **Formule** ou 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 la souris pour afficher les actions rapides, ou en double-cliquant sur le nœud
2. Repérez l’attribut que vous souhaitez supprimer et cliquez sur <img src="https://2196179364-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. 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 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/fr/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.
