MQTT Subscribe
Este bloque de función escucha un topic de MQTT y entrega los mensajes entrantes para usarlos en otras partes de tu escenario. Lleva un registro de si un mensaje es nuevo para que puedas activar acciones sólo cuando llegue data fresca.
📥 Entradas
EnableInput socket — Habilita o deshabilita la suscripción. Cuando está activo, el bloque se conecta al broker y escucha mensajes.
📤 Salidas
DataOutput socket — Última carga (payload) recibida (texto) desde el topic suscrito.New DataOutput socket — Salida booleana que se vuelve true por una ejecución cuando llega un nuevo mensaje.
🕹️ Controles
Broker AddressHostname o IP del broker MQTT a conectar.PortPuerto TCP del broker (comúnmente 1883 o 8883 para TLS).TopicCadena del topic a suscribirse (soporta coincidencia exacta de topic).Client IDIdentificador opcional para el cliente MQTT.UsernameNombre de usuario opcional para autenticación en el broker.PasswordContraseña opcional para autenticación en el broker.Keep AliveIntervalo usado para mantener la conexión con el broker.Use TLSAlternar para habilitar conexión segura TLS (si el broker lo soporta).Reconnect / ConnectBotón o lógica automática en la UI para (re)establecer la conexión cuando cambian los ajustes.
(la apariencia de estos controles en la UI puede variar; proporciona parámetros de conexión válidos y habilita el bloque para comenzar a recibir mensajes)
🎯 Características
Suscripción persistente mientras
Enableesté true — los mensajes se reciben en tiempo real.Proporciona tanto la
Datacruda como una bandera de una-ejecuciónNew Datapara que los bloques posteriores respondan solo a mensajes nuevos.Se reconecta automáticamente si cambian los parámetros de conexión.
Mensajes informativos y estado básico de conexión aparecen en la UI del bloque para ayudar a diagnosticar eventos de conexión.
⚙️ Mecanismo de ejecución
Cuando
Enableestá activo, el bloque usa la configuración de conexión para conectarse al broker MQTT y suscribirse alTopicelegido.Los mensajes entrantes se almacenan internamente y se exponen en la salida
Data.El bloque pone
New Dataen true sólo para la ejecución inmediatamente posterior a la llegada de un nuevo mensaje; en ejecuciones posteriores se resetea a false hasta que llegue otro mensaje.Cambiar los parámetros de conexión provoca que el bloque se reconecte para que los nuevos valores entren en efecto.
📝 Instrucciones de uso
Completa los parámetros de conexión:
Broker Address,PortyTopic(añade credenciales si el broker las requiere).Habilita el bloque mediante la entrada
Enable.Usa la salida
Datapara pasar los payloads recibidos a otros bloques. Usa la salidaNew Datapara desencadenar procesamiento aguas abajo solo cuando llegue un mensaje nuevo.Si cambias los ajustes de conexión, espera un momento corto para que el bloque se reconecte.
💡 Tips y trucos
Para reenviar mensajes recibidos a un servidor o servicio, conecta
DataaREST API - Post.Para republicar o hacer eco de mensajes, combina este bloque con
MQTT PublishoMQTT Publish (TLS-Beta).Usa
Data to JSONpara estructurar múltiples campos del texto entrante antes de registrarlos o exportarlos.Guarda los mensajes entrantes para revisión posterior conectando
DataaCSV Exporto aSQL-DB Operations(víaData to JSONo el formateo apropiado).Añade un bloque
Debug Inputpara inspeccionar rápidamente el contenido de los mensajes en la ventana de logs durante el desarrollo.Cuando trabajes con formatos cambiantes, usa
Replace NoneoIs Nonepara manejar mensajes faltantes o malformados de forma segura.
(los consejos anteriores usan únicamente los bloques de función disponibles en el sistema)
🛠️ Solución de problemas
No se reciben mensajes: verifica que
Broker Address,PortyTopicsean correctos y que el broker sea accesible desde la máquina que ejecuta el escenario.Errores de autenticación: revisa
UsernameyPasswordy si tu broker requiere TLS.Conexión intermitente: comprueba la red/firewall y prueba habilitar TLS o ajustar
Keep Alive.Los mensajes llegan pero no se reenvían: asegúrate de que los bloques aguas abajo estén habilitados y utiliza la bandera
New Datasi deben ejecutarse sólo con payloads nuevos.Si cambias parámetros, espera brevemente después de re-habilitar para que el bloque se reconecte antes de esperar mensajes.
Última actualización
¿Te fue útil?