MQTT Trigger
Descripcion
Sección titulada «Descripcion»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 multiples niveles. El modulo intenta parsear automaticamente 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).
Configuracion
Sección titulada «Configuracion»Parametros
Sección titulada «Parametros»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| 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 maximo una vez), 1 (al menos una vez), 2 (exactamente una vez). Por defecto: 0. |
| trigger_id | hidden | No | ID del trigger registrado. Se genera automaticamente. |
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 autenticacion en el broker.password: Contrasena para autenticacion 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 basico
Sección titulada «Caso basico»{ "label": "MQTT Trigger", "credentials_id": "credencial_mqtt_broker", "topic": "sensores/+/temperatura", "qos": 0}- El mensaje se intenta parsear como JSON automaticamente. 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 multiples 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 peticion HTTP)
- decision (para evaluar el contenido del mensaje)