Salut la communauté Gladys!
Je suis le créateur d’OpenMQTTGateway et Theengs, on discute depuis quelques temps avec Pierre-Gilles sur l’integration dans Gladys. Une premiere étape est l’intégration MQTT avec auto discovery. Voici un tutoriel rédigé par Claude qui décrit comment ca fonctionne avec un petit thermomètre Bluetooth à écran, ThermoPro ou Xiaomi, acheté 10 € pour surveiller l’humidité ou la température.
Ce que peu de gens savent : ces capteurs diffusent leurs mesures en Bluetooth Low Energy en permanence — et Gladys peut maintenant les récupérer automatiquement.
Côté budget, la comparaison pour équiper 8 pièces avec Zigbee:
| Solution | Coût pour 8 pièces |
|---|---|
| Zigbee (Sonoff SNZB-02P ~14 € + dongle ~25 €) | ~135 € |
| BLE ThermoPro (~9 €/unité en pack) + ESP32 8 € | ~80 € |
| BLE Xiaomi LYWSD03MMC ~5 € (prochain tutoriel) + ESP32 8 € | ~48 € |
Et contrairement au Zigbee : écran LCD intégré sur chaque capteur (lisible sans ouvrir Gladys), pile bouton qui dure ~1 an, et les capteurs que vous possédez déjà comptent pour 0 €. Il suffit d’une « antenne » pour les écouter : un ESP32 à ~8 € flashé avec OpenMQTTGateway, qui décode plus de 120 modèles de capteurs et les publie en MQTT.
Et la cerise sur le gâteau : l’intégration MQTT de Gladys gère désormais la découverte automatique (format Home Assistant Discovery, annoncée par Pierre-Gilles ici) — il faut Gladys 5 pour qu’elle fonctionne avec OpenMQTTGateway. Résultat : les capteurs apparaissent tout seuls dans Gladys, avec leurs features déjà configurées. Zéro topic MQTT à taper à la main.
Voici le principe :
Capteurs BLE (5-10 €) ESP32 + OpenMQTTGateway (~8 €)
┌──────────────┐
│ ThermoPro │ )))
├──────────────┤ ┌─────────────┐
│ Xiaomi T301 │ ))) ~~BLE~~> │ ESP32 │
├──────────────┤ │ OMG │
│ Mi Flora │ ))) └──────┬──────┘
└──────────────┘ │ WiFi / MQTT
▼
┌─────────────────┐
│ Broker Mosquitto│
│ (dans Gladys) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Gladys 5 │
│ Découverte auto │
└─────────────────┘
Temps total : 15 minutes. Aucune soudure, aucun outil à installer sur votre ordi. C’est parti !
Le matériel nécessaire
| Matériel | Prix | Rôle |
|---|---|---|
| ThermoPro TP357/TP358 | ~10-12 € (moins cher en pack de 2 ou 3) | Température + humidité, avec écran — LE capteur star : zéro configuration, décodé d’origine |
| Govee H5075 / H5072 | ~12-15 € | Alternative sans configuration, avec écran, décodée d’origine |
| Xiaomi LYWSD03MMC | ~5 € | Le moins cher, mais demande un petit flash sans fil — ce sera l’objet d’un prochain tutoriel |
| Mi Flora HHCCJCY01 | ~12-15 € | Capteur de plantes (humidité du sol, lumière, fertilité) |
| SwitchBot Meter | ~15 € | Température + humidité, avec écran |
| ESP32 (n’importe quel modèle dev board, ou M5Stack) | ~8 € | L’antenne BLE → MQTT |
| Câble USB | déjà dans un tiroir | Alimentation de l’ESP32 |
Pourquoi le ThermoPro TP357 en capteur vedette ? Il est décodé d’origine par Theengs Decoder (aucun flash, aucune app, aucune clé : on met la pile et il émet en clair), il a un écran, il est trouvable partout sur Amazon.fr (souvent ~8-9 €/unité en pack de 2 ou 3), et c’est un des capteurs de mon setup réel. La promesse « 15 minutes chrono » tient avec lui.
De mon côté, le setup testé : un M5Stack (ESP32) flashé avec OpenMQTTGateway v1.8.x (binaire esp32 BLE), et une poignée de capteurs ThermoPro, Xiaomi et SwitchBot. Mais n’importe quel ESP32 à 8 € fait exactement le même travail.
Un seul ESP32 couvre ~10 m à la ronde. Pour une grande maison, mettez-en un par étage : ils publient tous sur le même broker, Gladys ne verra aucune différence.
Étape 1 — Mettre à jour Gladys + activer le broker MQTT (2 min)
D’abord : mettez à jour vers Gladys 5 !
La découverte automatique est apparue en 4.86, mais les versions 4.x rejetaient les topics d’état « wildcard » utilisés par OpenMQTTGateway. Si vous voyez ce message dans les logs de Gladys :
ignoring state topic +/+/BTtoMQTT/xxx, wildcards are not allowed
…c’est que vous n’êtes pas sur Gladys 5, qui inclut le correctif. Si vous utilisez Watchtower (installation Docker recommandée), la mise à jour se fait automatiquement. Sinon, mettez à jour le conteneur Gladys avant de continuer.
Ensuite : le broker MQTT en un clic
- Allez dans Intégrations, tapez « mqtt » dans la recherche et ouvrez MQTT Virtual Devices.
2. Dans l’onglet Setup, activez le toggle « Use broker in a Docker container ». Un encart bleu vous prévient qu’un broker Mosquitto va être lancé sur le port 1883 : cliquez sur « Install broker on Docker ».
- Une fois installé, l’écran affiche « Connected to the MQTT broker with success! » et la configuration :
- Broker URL :
mqtt://localhost - Username :
gladys - un mot de passe généré (l’icône œil pour l’afficher) → copiez-le, on en aura besoin à l’étape 3.
- Broker URL :
Le broker écoute sur le port 1883 de l’IP de votre serveur Gladys, accessible depuis tout le réseau local. Notez cette IP (exemple : 192.168.1.117).
Étape 2 — Flasher OpenMQTTGateway depuis le navigateur (5 min)
Pas besoin d’installer quoi que ce soit : le flash se fait directement depuis le navigateur grâce au Web Serial.
-
Branchez l’ESP32 en USB sur votre ordinateur.
-
Ouvrez Chrome ou Edge (Firefox et Safari ne gèrent pas le Web Serial) et allez sur :
(Option 1) Upload from the web | Theengs OpenMQTTGateway v1.8.1 -
Dans la liste des binaires, choisissez
esp32dev-ble. -
Cliquez sur Connect, sélectionnez le port série de votre ESP32, puis Install.
-
Patientez 2-3 minutes pendant le flash.

C’est tout. L’ESP32 redémarre avec OpenMQTTGateway à bord, Theengs Decoder inclus (le décodeur des 120+ modèles de capteurs BLE).
Étape 3 — Configurer le WiFi et le MQTT de l’ESP32 (5 min)
Au premier démarrage, l’ESP32 ne connaît pas encore votre réseau : il crée son propre point d’accès WiFi.
- Sur votre téléphone ou ordinateur, connectez-vous au réseau WiFi créé par l’ESP32 (nom du type
OpenMQTTGateway). - Un portail de configuration s’ouvre (sinon, ouvrez
192.168.4.1dans le navigateur). - Renseignez :
| Champ du portail | Valeur |
|---|---|
| SSID / mot de passe WiFi | votre réseau WiFi |
mqtt server |
l’IP de votre serveur Gladys (ex : 192.168.1.17) |
mqtt port |
1883 |
mqtt user |
gladys |
mqtt pass |
le mot de passe copié depuis l’écran MQTT de Gladys à l’étape 1 |
mqtt base topic |
home/ ( |
- Validez. L’ESP32 redémarre et se connecte à votre WiFi puis au broker de Gladys.
À partir de là, il scanne le BLE toutes les ~55 secondes et publie chaque capteur décodé sur un topic du type :
home/<nom-gateway>/BTtoMQTT/<MAC-du-capteur>
Par exemple, pour un ThermoPro TP357 :
{"tempc": 26.6, "hum": 88, "batt_low": true}
Ou pour mon Oria T301 (un clone Xiaomi dont le firmware d’usine émet en clair, MAC en A4:C1:38...) :
{"tempc": 26.3, "hum": 62, "batt": 100}
Et surtout, il publie les configs de découverte (retained) sur homeassistant/.../config — exactement ce que la nouvelle intégration MQTT de Gladys sait lire. ![]()
Étape 4 — Créer les appareils découverts dans Gladys (2 min)
Retournez dans Gladys : Intégrations → MQTT Virtual Devices → onglet Discovery.
Magie : vos capteurs sont là, avec leur nom, leur modèle et leurs features (température, humidité, batterie…) déjà détectées.
- Cliquez sur chaque appareil pour le créer dans Gladys.
- Assignez-lui une pièce (Chambre, Salle de bain, Cave…).
- Ajoutez les features à vos dashboards : une carte par pièce avec température + humidité, c’est très lisible.
Quelques exemples réels de ce qui remonte tout seul chez moi :
- ThermoPro TP357/TP358 : température, humidité, alerte batterie faible
- Oria T301 (clone famille LYWSD03MMC, firmware non chiffré d’usine) : température, humidité, batterie
- Beacons BlueCharm : température, accéléromètre, tension de la pile
- SwitchBot Curtain / Blind Tilt : position, batterie, niveau de lumière (en lecture — voir la section limites plus bas)
Patience à la première découverte : les capteurs BLE n’émettent que toutes les 1 à 10 minutes selon les modèles. Laissez tourner 10 minutes avant de conclure que ça ne marche pas.
Étape 5 — Des scènes utiles avec tout ça
Maintenant que chaque pièce remonte sa température et son humidité, quelques idées de scènes qui changent la vie :
Alerte gel (cave, garage, serre)
- Déclencheur : température de la cave < 3 °C
- Action : envoyer un message Telegram «
Risque de gel dans la cave (2.1 °C), pense aux canalisations ! »
Humidité salle de bain → VMC
- Déclencheur : humidité de la salle de bain > 70 %
- Action : allumer la VMC (prise connectée)
- Et la scène inverse : humidité < 55 % → éteindre la VMC.
Avec le ThermoPro à 88 % d’humidité vu plus haut, autant dire que la VMC tourne après chaque douche. ![]()
Suivi de la cave à vin
- Déclencheur : température de la cave > 16 °C pendant la journée
- Action : notification + graphique dans le dashboard pour suivre la dérive sur l’année.
Les limites honnêtes (et la suite)
Soyons transparents, tout n’est pas encore parfait :
- Le pilotage des actionneurs SwitchBot (Curtain, Blind Tilt) n’est pas encore supporté par la découverte de Gladys. Leurs capteurs remontent très bien (position, batterie, niveau de lumière), mais les entités
covertilt-only et les command templates utilisés par OpenMQTTGateway ne sont pas encore gérés. Donc : lecture oui, commande non — pour l’instant. - La découverte couvre les capteurs classiques (température, humidité, batterie, etc.). Les entités plus exotiques peuvent être ignorées.
- Côté Gladys, une intégration Bluetooth native est en cours de spécification — les discussions sont ouvertes sur ce topic. À terme, on pourra imaginer se passer de MQTT pour le BLE. En attendant, la solution OpenMQTTGateway + découverte MQTT est ce qui se fait de mieux, et elle est très robuste.
Dépannage : les 5 pièges classiques
1. Rien n’apparaît dans l’onglet Discovery, et les logs Gladys disent ignoring state topic +/+/BTtoMQTT/xxx, wildcards are not allowed → Votre Gladys n’est pas à jour : il faut Gladys 5. Mettez à jour (Watchtower le fait automatiquement) et redémarrez l’ESP32 pour qu’il republie ses configs.
2. Vous avez changé le base topic → Laissez le base topic à home/ (la valeur par défaut). C’est le format attendu, ne le personnalisez pas.
3. « Ça ne marche pas » après 2 minutes → Les capteurs BLE n’émettent que toutes les 1 à 10 minutes selon le modèle. À la première découverte, laissez tourner 10 minutes. L’ESP32, lui, scanne toutes les ~55 s.
4. Toujours rien après 10 minutes → Vérifiez que l’ESP32 est bien connecté au broker : il publie son statut (LWT) sur le topic home/<nom-gateway>/LWT, qui doit valoir online. Vous pouvez le vérifier avec MQTT Explorer, ou avec :
mosquitto_sub -h <IP-Gladys> -u gladys -P <mot-de-passe> -t "home/+/LWT" -v
Si c’est offline ou vide : revérifiez l’IP du broker, le port 1883, le username gladys et le mot de passe copié depuis Gladys.
5. Un capteur du fond du jardin ne remonte jamais → La portée BLE est d’environ 10 m (murs compris, c’est vite moins). La solution est simple et pas chère : ajoutez un deuxième ESP32 (un par étage, un dans le garage…), tous configurés sur le même broker. Gladys fusionne tout naturellement.
Conclusion
Pour moins de 20 € (1 ESP32 + 1 ThermoPro), vous avez un premier thermomètre connecté qui apparaît tout seul dans Gladys, sans le moindre flash de capteur — et si un ThermoPro ou un Xiaomi traîne déjà chez vous, votre premier capteur est gratuit. Ensuite, chaque pièce supplémentaire ne coûte que ~10 €.
Prochain tutoriel : le Xiaomi LYWSD03MMC à 5 € — le meilleur rapport qualité/prix du marché, au prix d’un petit flash sans fil de 2 minutes depuis le navigateur. Restez à l’écoute !
15 minutes de mise en place
Zéro soudure, zéro ligne de commande obligatoire
1 an d’autonomie sur pile bouton
120+ modèles de capteurs supportés
Un grand merci à Pierre-Gilles pour la découverte automatique MQTT qui rend tout ça possible sans configuration manuelle. ![]()
Et vous, quels capteurs BLE avez-vous chez vous ? Partagez vos payloads et vos scènes dans les réponses !





