> 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-es/kilo-iot-server/devices/payload-decoding.md).

# Decodificación de carga útil y claves de conector

Descubre qué campos reporta tu dispositivo y qué valores contienen, y cómo esos nombres de campo se convierten en las métricas que ves en Kilo IoT Server.

Un dispositivo transmite una carga útil compacta — unos pocos bytes o un pequeño mensaje JSON. Un **decodificador** convierte esa carga útil en campos con nombre, y esos campos son con los que trabaja el resto de la plataforma. Cuando escribes una regla, construyes un widget de panel o le indicas a un comando qué sensor comprobar, estás trabajando con valores que salieron del decodificador.

Intervienen dos nombres, y por lo general no son el mismo:

* Una **clave de conector** es el nombre del campo que produce tu decodificador — `t`, `socket_status`, `humidity_pct`. Proviene del firmware del dispositivo y de su codec.
* Una **métrica** es el nombre que le diste a ese campo cuando lo mapeaste — *Temperatura*, *Estado del socket*. Este es el nombre que se muestra en los paneles, en las reglas y en el editor de comandos.

Saber qué clave de conector está detrás de qué métrica — y qué valores transporta realmente — es lo que te permite escribir una condición o una comprobación de verificación que funcione a la primera.

## Ve lo que está informando tu dispositivo

Abre el dispositivo y ve a su **Métricas** pestaña (**Mapeo** para dispositivos MQTT). La tabla de claves de conector enumera cada campo que el dispositivo ha enviado realmente, con:

* la **nombre del campo** exactamente como lo envía el dispositivo
* su **valor actual**
* la **última actualización** hora

Estos son datos en vivo del dispositivo, actualizados a medida que llegan nuevos mensajes, y es la forma más rápida de responder "¿qué informa este dispositivo y en qué formato?". Copia el valor desde aquí cuando necesites coincidirlo en otro lugar — una condición de regla, una condición de panel o el valor esperado en un comando.

Un dispositivo que aún no ha transmitido no muestra nada. Espera a su siguiente mensaje programado o haz que el propio dispositivo envíe uno.

<figure><img src="https://3373664356-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>

## Dónde vive el decodificador

El decodificador es el **Funciones de código** campo en la **Conexión** pestaña del dispositivo. Seleccionar una plantilla de perfil de dispositivo lo completa por ti; configurar un dispositivo manualmente lo deja vacío, y pegas el codec desde la documentación del fabricante o desde un repositorio comunitario de codecs.

Puedes editarlo en cualquier momento. Si la salida decodificada carece de campos, produce valores incorrectos o usa nombres que no coinciden con la documentación del fabricante, cambia el código y guarda: el siguiente mensaje que envíe el dispositivo se decodifica con tu versión.

Para ver el recorrido completo de configuración del dispositivo, consulta [Registro de dispositivos](/kilo-docs-es/kilo-iot-server/devices/registering-devices.md).

## Asignación de claves a métricas

La asignación es lo que conecta una clave de conector con una plantilla de métrica, dando al campo en bruto un nombre legible, una unidad y un tipo. Una vez asignada, esa medición aparece bajo su nombre de métrica en toda la plataforma.

Hazlo desde la misma pestaña de Métricas o Asignación — consulta [Registro de dispositivos](/kilo-docs-es/kilo-iot-server/devices/registering-devices.md#mapping-raw-fields-to-metric-templates) para el paso a paso, y [Métricas](/kilo-docs-es/kilo-iot-server/devices/metric-templates.md) para crear una plantilla que aún no exista.

Una clave de conector que nunca se asigna sigue llegando, pero no tiene a dónde ir: no aparecerá en reglas, paneles ni verificaciones de comandos.

## Los valores conservan la forma en que el dispositivo los envió

La plataforma almacena el valor que produjo el decodificador, sin cambios. Si tu decodificador devuelve el texto `on`, la métrica contiene el texto `on` — no `verdadero`, y no `1`. Si devuelve el número `1`, la métrica contiene un número.

Eso importa dondequiera que compares un valor:

* **En una regla**, una condición que compara texto necesita comparar contra texto: `vars.socket_status == "on"`.
* **En un comando**, el valor esperado que escribas debe coincidir con la forma en que el sensor lo informa. Consulta [Confirmación de comandos](/kilo-docs-es/kilo-iot-server/devices/commands/verification.md#expected-value).
* **En una condición de panel**, se aplica la misma regla.

Cuando una comparación nunca coincide, lee el valor actual en la tabla de claves de conector y escribe tu comparación para que coincida con lo que hay allí.

## Probar un decodificador mioty antes de depender de él

Los dispositivos MIOTY se decodifican mediante un blueprint en lugar de una función de código, y los blueprints incluyen **Vista previa de decodificación** — ejecuta el decodificador contra una carga útil de ejemplo e inspecciona los campos que produce antes de conectarlo a dispositivos reales. Consulta [Blueprints MIOTY](/kilo-docs-es/kilo-iot-server/devices/mioty-blueprints.md).

Para dispositivos LoRaWAN y MQTT, la tabla de claves de conector es donde compruebas el resultado: guarda el codec, espera al siguiente mensaje y lee los campos que produjo.

## Cuando los campos no son los que esperabas

**Las claves están llegando pero no aparece nada en reglas ni paneles.** Las claves aún no se han asignado a métricas. Abre la pestaña Métricas o Asignación y asigna las que quieras usar.

**Las claves no son las que esperabas.** El decodificador está produciendo nombres de campo distintos de los que buscan los sensores del dispositivo — un resultado habitual de un codec escrito para una revisión distinta del firmware o del hardware. Compara los nombres en la tabla de claves de conector con tus asignaciones, y actualiza las asignaciones o reemplaza el codec.

**No se decodifica nada en absoluto.** Comprueba que el dispositivo esté transmitiendo y luego comprueba el codec en sí. [y lee el estado de recepción — informa de si el dispositivo ha llegado a la red, de si se están recibiendo mensajes y de si se están almacenando los valores que contienen, con el siguiente paso específico para cada caso. Consulta](/kilo-docs-es/kilo-iot-server/devices/device-diagnostics.md) muestra cuántas claves se decodificaron de los mensajes más recientes.

## Relacionado

* [Registro de dispositivos](/kilo-docs-es/kilo-iot-server/devices/registering-devices.md) — Configuración del dispositivo, codecs y flujo de asignación
* [Métricas](/kilo-docs-es/kilo-iot-server/devices/metric-templates.md) — Nombres, unidades y tipos de valor normalizados
* [y lee el estado de recepción — informa de si el dispositivo ha llegado a la red, de si se están recibiendo mensajes y de si se están almacenando los valores que contienen, con el siguiente paso específico para cada caso. Consulta](/kilo-docs-es/kilo-iot-server/devices/device-diagnostics.md) — Lo último que envió el dispositivo y si se decodificó
* [Confirmación de comandos](/kilo-docs-es/kilo-iot-server/devices/commands/verification.md) — Usar una métrica y su valor para verificar un comando


---

# 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-es/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.
