> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/communication/mqtt-subscribe-tls-beta.md).

# MQTT Subscribe (TLS-Beta)

Este bloque de función se conecta a un broker MQTT y escucha mensajes en un topic elegido usando opciones de conexión TLS (segura). Recibe payloads de texto entrantes y señala cuando han llegado datos nuevos, para que puedas procesarlos o reenviarlos en tu escenario.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Enable`\
Este socket de entrada booleano controla si la suscripción está activa. Enviar TRUE permite recibir mensajes; FALSE desactiva el procesamiento.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Data`\
Payload de texto del mensaje recibido más recientemente.

`New Data`\
Bandera booleana que se vuelve TRUE por una única evaluación cuando se ha recibido un nuevo mensaje.

## 🕹️ Controls <a href="#controls" id="controls"></a>

* `Server / Broker` — Introduce la dirección o el hostname del broker MQTT.
* `Port` — Configura el puerto del broker (el puerto TLS común es 8883).
* `Topic` — Especifica el topic al que suscribirse. Los mensajes entrantes en este topic aparecen en la salida `Data`.
* `Client ID` — Identificador opcional para este cliente en el broker.
* `Username` — Nombre de usuario opcional para la autenticación contra el broker.
* `Password` — Contraseña opcional para la autenticación.
* `Use TLS` — Interruptor para habilitar el modo de conexión segura (TLS).
* `CA Certificate` — Opción para proporcionar o referenciar un bundle de CA para la verificación del certificado TLS (el bloque soporta verificación con CA del sistema).
* `Connect` — Control para iniciar o restablecer la conexión con la configuración actual.
* `Auto Reconnect` — Interruptor para reconectar automáticamente si se pierde la conexión.

Nota: Si el bloque dispone de una interfaz compacta, algunas opciones avanzadas pueden agruparse o estar bajo una sección "Advanced".

## 🎯 Features <a href="#features" id="features"></a>

* Suscripción MQTT segura con soporte TLS para comunicación cifrada.
* Señalización en tiempo real de mensajes nuevos mediante la salida `New Data`, para activar procesamiento aguas abajo solo cuando sea necesario.
* Selección flexible de topics para suscribirse a cualquier topic MQTT válido.
* Parámetros de conexión y controles de autenticación básicos para la mayoría de las configuraciones de broker.
* Manejo de reconexión para que fallos temporales de red no requieran intervención manual.

## 📝 Usage Instructions <a href="#usage" id="usage"></a>

1. Configura los datos del broker usando `Server / Broker`, `Port` y los controles de autenticación si es necesario.
2. Introduce el topic que quieres escuchar en el control `Topic`.
3. Habilita el bloque enviando TRUE a la entrada `Enable` o utilizando el control de conexión en la UI del bloque.
4. Lee los payloads de texto entrantes desde la salida `Data`. Usa la salida `New Data` para disparar bloques aguas abajo solo cuando llegue un mensaje nuevo.
5. Si cambias parámetros de conexión, usa el control `Connect` (o alterna `Enable`) para aplicar los cambios.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

Cuando está activo, este bloque mantiene una suscripción al topic configurado. En cada ejecución emite el payload más reciente en `Data` y pone `New Data` en TRUE únicamente cuando ha llegado un mensaje nuevo desde la última evaluación.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Usa `Parse Data Dictionary` o `Data to JSON` después de `MQTT Subscribe (TLS-Beta)` para convertir texto JSON entrante en valores estructurados para su procesamiento.
* Si quieres registrar mensajes entrantes, conecta `Data` a `CSV Export` o a `Data to JSON` y luego a un bloque de exportación.
* Combínalo con `Debug Input` para imprimir o inspeccionar mensajes durante la puesta a punto.
* Usa `Logic Input` o `Rising Edge` para desencadenar acciones solo cuando `New Data` pase a TRUE.
* Para escenarios distribuidos, empareja este bloque con `Data Write Global` / `Data Read Global` para compartir el último mensaje entre ramas separadas del escenario.
* Si el mensaje contiene referencias a imágenes o datos de imagen codificados, envía la imagen decodificada a `Show Image` para previsualizarla.
* Al publicar respuestas o acuses de recibo, usa el bloque correspondiente `MQTT Publish (TLS-Beta)` para enviar mensajes de vuelta al broker.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* Fallo de conexión: Verifica `Server / Broker`, `Port` y el acceso de red. Asegúrate de que el puerto TLS y las reglas de firewall son correctas.
* Errores de autenticación: Revisa `Username` y `Password`, y confirma las ACL del broker.
* No aparecen mensajes: Confirma la cadena exacta de `Topic` (los comodines y la jerarquía importan) y que otro cliente está publicando en él. Usa un cliente de prueba simple para verificar.
* Formato de mensaje inesperado: Usa `Parse Data Dictionary` o `String Operations` para inspeccionar y normalizar los payloads.
* Problemas con TLS: Si falla la verificación del certificado, asegúrate de que el bundle de CA esté disponible o usa la opción de CA del sistema. Solo para depuración, prueba una conexión sin TLS (si el broker lo permite) para aislar la causa.
