For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

The Mapping tab listing each device data key with its live value, last update and the metric it feeds

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.

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 para el paso a paso, y Métricas 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.

  • 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.

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 muestra cuántas claves se decodificaron de los mensajes más recientes.

Relacionado

Última actualización