> 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 créer 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, 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éer, modifier, supprimer) et les opérations essentielles, y compris la fonctionnalité d’autoremplissage pour la création de formules.

## Création d’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 %}

### Nommez 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 valeur. Pour créer des formules plus rapidement, utilisez [l’autoremplissage](#autofill-attribute-names).

{% hint style="info" %}
La syntaxe courte est la valeur par défaut pour les noms d’attribut autoremplis dans les formules, et vous pouvez aussi l’utiliser pour la saisie manuelle de formules. Lorsque vous faites référence uniquement à la dernière valeur valide d’un attribut, vous pouvez omettre la syntaxe complète `value()` de la 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 **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 de temps pour les attributs

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

* **Heure 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 l’heure 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 du 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 de temps sont importants pour l’analyse des données et la synchronisation. Une configuration temporelle appropriée garantit que vos données conservent leur intégrité chronologique tout au long du flux.
{% endhint %}

### Remplissage automatique des noms d’attributs

Lors de la création de formules de calcul, vous devez faire référence à des noms d’attribut existants provenant de dispositifs physiques ou à des attributs calculés à partir d’autres nœuds. Pour simplifier ce processus et éviter les fautes d’orthographe, IoT Logic fournit une fonctionnalité d’autoremplissage pour les noms d’attribut.

Pour utiliser l’autoremplissage lors de la création de formules :

1. Cliquez ![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 qui s’affiche ; elle prend en charge la saisie de texte manuelle à 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 IoT Logic de Navixy. Cela signifie que les entrées autoremplies 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 d’autoremplissage affiche uniquement les attributs qui répondent **à tous** les critères suivants simultanément :

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

**Exemple** : Si votre dispositif prend en charge à la fois des 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 d’autoremplissage affichera l’attribut « speed », mais pas « temperature ». L’attribut de température n’apparaîtra que lorsque le dispositif enverra réellement des relevés de température, même s’il le prend techniquement en charge.
{% endhint %}

#### Attributs indexés dans l’autoremplissage

Certains attributs de données contiennent plusieurs valeurs indexées au sein d’un seul attribut, comme les relevés de plusieurs capteurs analogiques connectés à un dispositif télématique principal. Pour utiliser ces attributs dans des calculs, vous devez spécifier 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` (en utilisant une indexation à partir de zéro, où la première entrée a l’index 0). Dans votre formule, cela apparaîtrait comme `value('analog_2', 0, 'valid')`.

L’autoremplissage gère également ce cas pour vous :

* Les attributs indexés sont marqués avec 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 d’autoremplissage.
* 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 de 1 à 4).
* Lorsque vous sélectionnez un attribut indexé, le curseur se positionne automatiquement à la fin du nom de l’attribut, à l’intérieur des 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’expressions Navixy IoT Logic](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). Ci-dessous, vous trouverez une brève référence aux deux options de syntaxe du langage. Le choix de la syntaxe dépend du cas particulier et a été conçu pour être pratique :

* La syntaxe courte est facile à écrire et fonctionne mieux lorsque vous n’avez besoin que des données récentes.
* La syntaxe longue est légèrement 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 %}

Les formules peuvent aussi appeler les fonctions de zone géographique, qui lisent la position du dispositif par rapport aux zones géographiques de votre compte. `geofenceName()` renvoie le nom de la zone géographique dans laquelle se trouve le dispositif, sous forme de texte, afin qu’il puisse correspondre 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" %}
[Autoremplissage ](#autofill-attribute-names)La fonctionnalité d’autoremplissage 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. C’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 issu de la télémétrie du dispositif (peut être <a href="#autofill-attribute-names">autorempli</a>)</td></tr><tr><td><code>index</code></td><td>0-11</td><td>Position historique : 0=actuel, 1=précédent, 11=valeur stockée la plus ancienne</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 lecture valide)</td></tr></tbody></table>

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

**Exemples :**

* Tout relevé précédent

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

* 5e relevé 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 davantage 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. Recherchez 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 de temps
4. Si vous devez modifier d’autres attributs dans ce nœud, répétez l’étape 3 pour chacun d’eux
5. Cliquez **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 dont vous n’avez plus besoin :

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. Recherchez 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 **Appliquer 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.
