Saltearse al contenido

MQTT Trigger

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

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredenciales del broker MQTT (broker_url, username, password).
topictextSiTopic MQTT al que suscribirse. Wildcards: + (un nivel), # (multi nivel). Ej: sensores/+/temperatura, dispositivos/#
qosselectNoCalidad de Servicio: 0 (como maximo una vez), 1 (al menos una vez), 2 (exactamente una vez). Por defecto: 0.
trigger_idhiddenNoID del trigger registrado. Se genera automaticamente.

Se requiere una credencial con los siguientes campos:

  • broker_url: URL del broker MQTT (ej: mqtt://broker.ejemplo.com:1883 o mqtts://... 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"
}
}
}
{
"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 raw siempre contiene el mensaje original como string, independientemente del parseo.
  • RedisTrigger (trigger similar para Redis Pub/Sub)
  • Webhook (trigger por peticion HTTP)
  • decision (para evaluar el contenido del mensaje)