> 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/french/function-blocks/blocks-reference/input-output/communication/mqtt-subscribe-tls-beta.md).

# MQTT Subscribe (TLS-Beta)

Ce bloc de fonction se connecte à un broker MQTT et écoute les messages d’un topic choisi en utilisant une connexion TLS (sécurisée). Il reçoit des payloads texte entrants et signale lorsqu’une nouvelle donnée arrive, afin que vous puissiez la traiter ou la transmettre dans votre scénario.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Enable`\
Entrée booléenne qui active ou désactive l'abonnement. Mettre à TRUE pour recevoir les messages ; FALSE désactive le traitement.

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

`Data`\
Payload texte du dernier message reçu.

`New Data`\
Drapeau booléen qui devient TRUE pendant une seule évaluation lorsque un nouveau message a été reçu.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Server / Broker`\
Saisir l'adresse ou le nom d'hôte du broker MQTT.

`Port`\
Port du broker (le port TLS courant est 8883).

`Topic`\
Topic à souscrire. Les messages entrants sur ce topic apparaîtront sur la sortie `Data`.

`Client ID`\
Identifiant optionnel pour ce client auprès du broker.

`Username`\
Nom d'utilisateur optionnel pour l'authentification.

`Password`\
Mot de passe optionnel pour l'authentification.

`Use TLS`\
Activer la connexion sécurisée (TLS).

`CA Certificate`\
Option pour fournir ou référencer un bundle de certificats CA pour la vérification TLS (le bloc peut aussi utiliser la vérification CA système).

`Connect`\
Contrôle pour initier ou rétablir la connexion avec les paramètres actuels.

`Auto Reconnect`\
Permet de reconnecter automatiquement si la connexion est perdue.

Remarque : dans une interface compacte, certaines options avancées peuvent être regroupées ou placées dans une section "Advanced".

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Abonnement MQTT sécurisé avec prise en charge de TLS pour une communication chiffrée.
* Signalisation en temps réel des nouveaux messages via la sortie `New Data` pour déclencher le traitement en aval uniquement quand nécessaire.
* Sélection flexible du topic pour souscrire à n'importe quel topic MQTT valide.
* Paramètres de connexion et contrôles d'authentification couvrant la plupart des configurations de broker.
* Gestion de reconnexion automatique pour que des interruptions réseau temporaires n'exigent pas d'intervention manuelle.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Configurez les détails du broker via `Server / Broker`, `Port` et, si besoin, les contrôles d'authentification.
2. Saisissez le topic à écouter dans le contrôle `Topic`.
3. Activez le bloc en envoyant TRUE vers l'entrée `Enable` ou en utilisant le contrôle de connexion de l'UI du bloc.
4. Lisez les payloads texte entrants depuis la sortie `Data`. Utilisez la sortie `New Data` pour déclencher d'autres blocs uniquement lorsqu'un message frais arrive.
5. Si vous modifiez des paramètres de connexion, utilisez `Connect` (ou basculez `Enable`) pour appliquer les changements.

## 📊 Évaluation <a href="#evaluation" id="evaluation"></a>

Lorsque le bloc est actif, il maintient un abonnement sur le topic configuré. À chaque exécution il fournit sur `Data` le dernier payload reçu et positionne `New Data` à TRUE uniquement lorsqu’un nouveau message est arrivé depuis la dernière évaluation.

## 💡 Astuces et conseils <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Utilisez `Parse Data Dictionary` ou `Data to JSON` après `MQTT Subscribe (TLS-Beta)` pour convertir un texte JSON entrant en valeurs structurées pour traitement.
* Pour journaliser les messages entrants, connectez `Data` à `CSV Export` ou à `Data to JSON` puis à un bloc d’export.
* Combinez avec `Debug Input` pour afficher ou inspecter les messages lors de la configuration.
* Utilisez `Logic Input` ou `Rising Edge` pour déclencher des actions uniquement lorsque `New Data` devient TRUE.
* Dans des scénarios distribués, associez ce bloc à `Data Write Global` / `Data Read Global` pour partager le dernier message entre différentes branches du scénario.
* Si le message contient des références d’images ou des données d’image encodées, décodez l’image puis envoyez-la à `Show Image` pour la prévisualiser.
* Pour publier des réponses ou des accusés de réception, utilisez le bloc correspondant `MQTT Publish (TLS-Beta)` pour renvoyer des messages au broker.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Connexion échouée : vérifiez `Server / Broker`, `Port` et l’accès réseau. Assurez-vous que le port TLS et les règles de firewall sont corrects.
* Erreurs d’authentification : revérifiez `Username` et `Password`, et confirmez les ACLs du broker.
* Aucun message : confirmez la chaîne exacte de `Topic` (les wildcards et la hiérarchie importent) et qu’un autre client publie sur ce topic. Utilisez un client de test simple pour vérifier.
* Format de message inattendu : utilisez `Parse Data Dictionary` ou `String Operations` pour inspecter et normaliser les payloads.
* Problèmes TLS : si la vérification du certificat échoue, assurez-vous que le bundle CA est disponible ou activez l’option d’utilisation des CA système. À des fins de diagnostic, testez éventuellement une connexion non TLS (si le broker le permet) pour isoler la cause.
