MQTT Trigger
Descripción
Sección titulada «Descripción»El modulo MqttTrigger es un trigger que inicia un workflow cuando se recibe un mensaje en un topic MQTT configurado. Se conecta a un broker MQTT mediante credenciales y se suscribe al topic especificado. Soporta wildcards: + para un nivel y # para múltiples niveles. El modulo intenta parsear automáticamente el mensaje como JSON; si no es JSON valido, lo pasa como string. Proporciona tanto el mensaje parseado como el mensaje raw al siguiente nodo, junto con metadata del trigger (topic, QoS, timestamp).
Configuración
Sección titulada «Configuración»Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| credentials_id | credentials | Si | Credenciales del broker MQTT (broker_url, username, password). |
| topic | text | Si | Topic MQTT al que suscribirse. Wildcards: + (un nivel), # (multi nivel). Ej: sensores/+/temperatura, dispositivos/# |
| qos | select | No | Calidad de Servicio: 0 (como máximo una vez), 1 (al menos una vez), 2 (exactamente una vez). Por defecto: 0. |
| trigger_id | hidden | No | ID del trigger registrado. Se genera automáticamente. |
Credenciales
Sección titulada «Credenciales»Se requiere una credencial con los siguientes campos:
broker_url: URL del broker MQTT (ej:mqtt://broker.ejemplo.com:1883omqtts://...para SSL).username: Nombre de usuario para autenticación en el broker.password: Contrasena para autenticación en el broker.
{ "nextModule": "siguiente_modulo", "data": { "topic": "sensores/sala/temperatura", "message": { "valor": 22.5, "unidad": "celsius" }, "raw": "{\"valor\":22.5,\"unidad\":\"celsius\"}", "_trigger": { "type": "mqtt", "topic": "sensores/sala/temperatura", "qos": 0, "timestamp": "2026-03-23T10:00:00.000Z" } }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso básico
Sección titulada «Caso básico»{ "label": "MQTT Trigger", "credentials_id": "credencial_mqtt_broker", "topic": "sensores/+/temperatura", "qos": 0}- El mensaje se intenta parsear como JSON automáticamente. Si falla, se mantiene como string.
- Soporta mensajes en formato Buffer, que se convierten a string UTF-8.
- Los wildcards MQTT son:
+(sustituye un nivel del topic) y#(sustituye múltiples niveles, solo al final). - QoS 0: sin garantia de entrega. QoS 1: al menos una entrega. QoS 2: exactamente una entrega.
- El campo
rawsiempre contiene el mensaje original como string, independientemente del parseo.
Nodos Relacionados
Sección titulada «Nodos Relacionados»- RedisTrigger (trigger similar para Redis Pub/Sub)
- Webhook (trigger por petición HTTP)
- decision (para evaluar el contenido del mensaje)