> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/devices/payload-decoding.md).

# Décodage des charges utiles et clés de connecteur

Découvrez quels champs votre appareil transmet et quelles valeurs ils contiennent, et comment ces noms de champ deviennent les métriques que vous voyez dans Kilo IoT Server.

Un appareil transmet une charge utile compacte — quelques octets, ou un petit message JSON. Un **décodeur** transforme cette charge utile en champs nommés, et ce sont ces champs que le reste de la plateforme utilise. Lorsque vous écrivez une règle, créez un widget de tableau de bord ou indiquez à une commande quel capteur vérifier, vous travaillez avec des valeurs issues du décodeur.

Deux noms sont en jeu, et ils ne sont généralement pas les mêmes :

* Un **clé de connecteur** est le nom de champ produit par votre décodeur — `t`, `socket_status`, `humidity_pct`. Il provient du firmware de l'appareil et de son codec.
* Un **métrique** est le nom que vous avez donné à ce champ lors du mappage — *Température*, *État de la prise*. C'est le nom affiché sur les tableaux de bord, dans les règles et dans l'éditeur de commandes.

Savoir quelle clé de connecteur se cache derrière quelle métrique — et quelles valeurs elle transporte réellement — est ce qui vous permet d'écrire dès la première fois une condition ou une vérification qui fonctionne.

## Voir ce que votre appareil rapporte

Ouvrez l'appareil et allez à son onglet **Métriques**  (**Mappage** pour les appareils MQTT). Le tableau des clés de connecteur répertorie chaque champ effectivement envoyé par l'appareil, avec :

* la **nom du champ** exactement comme l'appareil l'envoie
* sa **valeur actuelle**
* la **dernière mise à jour** heure

Il s'agit de données en direct provenant de l'appareil, actualisées à mesure que de nouveaux messages arrivent, et c'est le moyen le plus rapide de répondre à « que rapporte cet appareil, et sous quelle forme ? ». Copiez la valeur d'ici lorsque vous devez la faire correspondre ailleurs — une condition de règle, une condition de tableau de bord ou la valeur attendue pour une commande.

Un appareil qui n'a encore rien transmis n'affiche rien. Attendez son prochain message planifié, ou déclenchez-en un depuis l'appareil lui-même.

<figure><img src="https://3675309505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-c89aa3cc83a6eb8450e714f1bc3e886fab53343d%2Fdevice-mapping-connector-keys.jpg?alt=media" alt="The Mapping tab listing each device data key with its live value, last update and the metric it feeds"><figcaption></figcaption></figure>

## Où se trouve le décodeur

Le décodeur est le **Fonctions de code** champ sur l'onglet **Connexion** de l'appareil. La sélection d'un modèle de profil d'appareil le renseigne pour vous ; la configuration manuelle d'un appareil le laisse vide, et vous collez alors le codec tiré de la documentation du fabricant ou d'un dépôt de codecs communautaire.

Vous pouvez le modifier à tout moment. Si la sortie décodée manque de champs, produit de mauvaises valeurs ou utilise des noms qui ne correspondent pas à la documentation du fabricant, modifiez le code et enregistrez — le prochain message envoyé par l'appareil sera décodé avec votre version.

Pour le guide complet de configuration de l'appareil, voir [Enregistrer des appareils](/kilo-docs-fr/kilo-iot-server/devices/registering-devices.md).

## Associer des clés à des métriques

Le mappage est ce qui relie une clé de connecteur à un modèle de métrique, en donnant au champ brut un nom lisible, une unité et un type. Une fois mappé, cette mesure apparaît sous son nom de métrique partout dans la plateforme.

À faire depuis le même onglet Métriques ou Mappage — voir [Enregistrer des appareils](/kilo-docs-fr/kilo-iot-server/devices/registering-devices.md#mapping-raw-fields-to-metric-templates) pour le pas à pas, et [Métriques](/kilo-docs-fr/kilo-iot-server/devices/metric-templates.md) pour créer un modèle qui n'existe pas encore.

Une clé de connecteur qui n'est jamais mappée continue d'arriver mais n'a nulle part où aller : elle n'apparaîtra pas dans les règles, les tableaux de bord ni la vérification des commandes.

## Les valeurs conservent la forme envoyée par l'appareil

La plateforme stocke la valeur produite par le décodeur, inchangée. Si votre décodeur renvoie le texte `on`, la métrique conserve le texte `on` — pas `vrai`off `1`, et pas `1`. S'il renvoie le nombre

Cela compte partout où vous comparez une valeur :

* **Dans une règle**, une condition comparant du texte doit comparer à du texte : `vars.socket_status == "on"`.
* **Dans une commande**, la valeur attendue que vous saisissez doit correspondre à la forme rapportée par le capteur. Voir [Confirmation des commandes](/kilo-docs-fr/kilo-iot-server/devices/commands/verification.md#expected-value).
* **Dans une condition de tableau de bord**, la même règle s'applique.

Lorsqu'une comparaison ne correspond jamais, lisez la valeur actuelle dans le tableau des clés de connecteur et écrivez votre comparaison pour qu'elle corresponde à ce qui s'y trouve.

## Tester un décodeur mioty avant de vous y fier

Les appareils MIOTY décodent via un blueprint plutôt que via une fonction de code, et les blueprints sont livrés avec **Aperçu du décodage** — exécutez le décodeur sur une charge utile d'exemple et inspectez les champs qu'il produit avant de l'attacher à de vrais appareils. Voir [Blueprints MIOTY](/kilo-docs-fr/kilo-iot-server/devices/mioty-blueprints.md).

Pour les appareils LoRaWAN et MQTT, le tableau des clés de connecteur est l'endroit où vérifier le résultat : enregistrez le codec, attendez le prochain message et lisez les champs qu'il a produits.

## Lorsque les champs ne sont pas ceux que vous attendiez

**Des clés arrivent, mais rien n'apparaît dans les règles ni dans les tableaux de bord.** Les clés n'ont pas encore été mappées à des métriques. Ouvrez l'onglet Métriques ou Mappage et mappez celles que vous voulez utiliser.

**Les clés ne sont pas celles que vous attendiez.** Le décodeur produit des noms de champs différents de ceux que recherchent les capteurs de l'appareil — résultat courant d'un codec écrit pour une autre version du firmware ou du matériel. Comparez les noms du tableau des clés de connecteur avec vos mappages, puis mettez à jour les mappages ou remplacez le codec.

**Rien n'est décodé du tout.** Vérifiez que l'appareil transmet, puis vérifiez le codec lui-même. [Diagnostic de l’appareil](/kilo-docs-fr/kilo-iot-server/devices/device-diagnostics.md) indique combien de clés ont été décodées à partir des messages les plus récents.

## Associé

* [Enregistrer des appareils](/kilo-docs-fr/kilo-iot-server/devices/registering-devices.md) — configuration de l'appareil, codecs et flux de mappage
* [Métriques](/kilo-docs-fr/kilo-iot-server/devices/metric-templates.md) — Noms normalisés, unités et types de valeur
* [Diagnostic de l’appareil](/kilo-docs-fr/kilo-iot-server/devices/device-diagnostics.md) — Ce que l'appareil a envoyé en dernier et s'il a été décodé
* [Confirmation des commandes](/kilo-docs-fr/kilo-iot-server/devices/commands/verification.md) — Utiliser une métrique et sa valeur pour vérifier une commande


---

# 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://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/devices/payload-decoding.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.
