Aller au contenu principal

Intégration domotique Tuya, gratuite et open source

Intégration Tuya pour Gladys Assistant

Prises, compteurs, clims, fil pilote, caméras, sonnettes, aspirateurs Tuya / Smart Life (cloud+LAN).

Pilotez vos appareils Tuya / Smart Life depuis Gladys, via le cloud et, quand c'est possible, directement sur votre réseau local (LAN) pour un fonctionnement plus rapide et indépendant d'internet.

Appareils pris en charge​

  • Prises connectées (dont la prise LSC FR avec mesure de conso) : marche/arrêt, verrou enfant, puissance, tension, courant, énergie.
  • Compteurs d'énergie (dont triphasé) : puissance, tension, courant, énergie importée/exportée.
  • Climatiseurs : marche/arrêt, mode (auto / froid / chaud / déshu / ventilation), consigne, température ambiante, vitesse de ventilation et les deux axes d'oscillation. Les modèles qui ont leur propre vocabulaire sont aussi gérés (ex. la clim de camping MEDION P502 : modes en majuscules, ventilation à deux vitesses, oscillation marche/arrêt).
  • Thermostats fil pilote (gamme RP5, Konyks eCosy) : mode de chauffe, consigne, température ambiante, verrou enfant, énergie.
  • Caméras (dont LSC) : mode privé, détection de mouvement, sirène, suivi de mouvement, filtre humain, enregistrement, retournement d'image, et un capteur de mouvement utilisable dans vos scènes. Caméras motorisées (PTZ) : orientation gauche/droite/haut/bas depuis le tableau de bord (Gladys 4.86.1 ou plus). Réglages en listes : vision nocturne, sensibilité de détection de mouvement et sonore, détection sonore, mode d'enregistrement, anti-scintillement, horodatage à l'image. Image en direct : l'image de la caméra est une capture du flux en direct, rafraîchie toutes les 5 minutes et à la demande (tableau de bord, « montre-moi la caméra », scènes) ; il faut le service d'API IoT Video Live Stream sur votre projet cloud Tuya, sinon l'image n'est mise à jour qu'à un mouvement / un coup de sonnette. Direct vidéo (WebRTC) : avec un Gladys qui le prend en charge (GladysAssistant/Gladys#3215), le bouton lecture du widget caméra ouvre la vidéo en direct, du cloud Tuya directement vers votre navigateur (caméras H264 ; les modèles uniquement HEVC ne sont pas lisibles dans un navigateur).
  • Sonnettes vidéo : sonnerie (fonctionnalité sonnette dédiée), photo du visiteur, détection de mouvement, enregistrement, voyant d'état.
  • Distributeurs de croquettes : distribution à la demande, dernière quantité distribuée, distribution lente, voyant, batterie (pourcentage ou tension brute avec l'alerte batterie faible selon le modèle), repas programmés.
  • Ventilateurs et VMC (catégorie fs, par ex. le récupérateur AV-TTW5-W) : marche/arrêt, vitesse (les niveaux de l'appareil, par ex. 1 à 3), lumière, verrou enfant, sens de rotation, oscillation horizontale/verticale, température ambiante quand l'appareil la mesure.
  • Déshumidificateurs (catégorie cs, par ex. Qlima D825A) : marche/arrêt, humidité, température, vitesse de ventilation, minuterie et temps restant, mode, humidité cible (quand elle est proposée par paliers), verrou enfant. Les vitesses, durées de minuterie et modes proposés sont exactement ceux que déclare votre modèle.
  • Capteurs de température et d'humidité (catégorie wsdcg, par ex. Konyks Termo) : température, humidité, alerte batterie faible (et pourcentage de batterie sur les modèles qui le mesurent). Ces appareils à pile dorment entre deux relevés : ils passent par le cloud, pas par le LAN.
  • Osmoseurs / purificateurs d'eau (catégorie js, par ex. The Box) : TDS en entrée et en sortie (ppm), durée de vie restante de chaque étage de filtration (PP, CTO, RO) en pourcentage et en jours, état de fonctionnement. Les remises à zéro « filtre remplacé » restent dans l'application Tuya (un clic par erreur effacerait l'usure réelle du filtre).
  • Vannes d'arrosage / programmateurs (catégorie sfkzq, ex. R2601) : ouverture/fermeture, état de la vanne (l'eau coule ou non), débit instantané, batterie, verrou enfant, mode d'arrosage (auto/manuel), durée d'arrosage manuel. Appareils sur batterie : servis par le cloud. Les programmes d'arrosage restent dans l'application Tuya.
  • Compteurs triphasés / pinces ampèremétriques (catégorie zndb, ex. Power Clamp) : puissance, courant, tension et énergie consommée de chaque phase, puissance, courant et énergie totaux, température interne de la pince. Cloud ou local.
  • Détecteurs de mouvement (catégorie pir, ex. « Luminance Motion sensor » Zigbee derrière une passerelle Tuya) : mouvement (utilisable dans les scènes), luminosité, batterie, sensibilité et durée de maintien en listes. Servis par le cloud (les appareils Zigbee passent par leur passerelle). La passerelle Zigbee elle-même n'a rien à piloter : elle reste sans fonctionnalité.
  • Aspirateurs robots (Honiture Q6 Pro) : démarrer/arrêter, pause, retour à la base, état de nettoyage, batterie, puissance d'aspiration, niveau d'eau, boost tapis, mode personnalisé (pièce), lavage en Y, fréquence de collecte des poussières, durée de vie restante des brosses principale/latérale. À noter : sur ce modèle, désactiver la pause alors que le robot est complètement arrêté lance aussi un nouveau cycle de nettoyage — ce n'est pas un simple bouton de pause.
  • Interrupteurs, lumières et volets via les correspondances génériques.

Les caméras et sonnettes exposent leurs photos, pas un flux vidéo en direct : Tuya ne publie aucun point d'accès RTSP/ONVIF local stable.

La sonnerie des sonnettes et la ventilation / les oscillations des climatiseurs nécessitent Gladys 4.84.2 ou plus récent. La puissance d'aspiration / le niveau d'eau / la fréquence de collecte des poussières de l'aspirateur nécessitent Gladys 4.86.1 ou plus récent. Sur un Gladys plus ancien, l'intégration continue de fonctionner, sans ces fonctionnalités.

Une nouvelle installation depuis le store nécessite Gladys 4.86.1 ou plus récent ; une intégration déjà installée continue de se mettre à jour quelle que soit la version de Gladys.

Chaque appareil affiche un macaron Local ou Cloud pour savoir comment il communique.


1. Créer un projet Tuya IoT Cloud​

L'intégration a besoin d'un projet Tuya IoT Cloud (gratuit) pour atteindre vos appareils.

  1. Rendez-vous sur la Tuya IoT Platform et connectez-vous (créez un compte si besoin).
  2. Ouvrez Cloud → Development et cliquez sur Create Cloud Project.
    • Donnez-lui le nom que vous voulez.
    • Industry / Development method : laissez les valeurs par défaut (Smart Home).
    • Data Center : choisissez la région la plus proche (ex. Central Europe pour la France). Retenez ce choix — vous choisirez la même région dans Gladys.
  3. Une fois le projet créé, ouvrez-le. Dans l'onglet Overview, notez l'Access ID / Client ID et l'Access Secret / Client Secret.
  4. Ouvrez l'onglet Service API et vérifiez que IoT Core est autorisé (souscrivez-y sinon — c'est gratuit). Caméras : autorisez aussi IoT Video Live Stream (images en direct).

⚠️ L'essai IoT Core expire. Tuya offre ce service en essai gratuit (un mois, prolongeable ensuite de six mois sans frais). Une fois expiré, Tuya rejette tous les appels API de votre projet et l'ensemble de vos appareils décroche dans Gladys, avec le message « IoT Core service subscription has expired ».

Pour le prolonger : Cloud → Development → votre projet → Service API (ou Cloud → Cloud Services → IoT Core), puis Extend Trial Period. C'est gratuit et effectif immédiatement. Pensez à mettre un rappel — c'est à refaire tous les six mois.

2. Lier votre compte de l'application Smart Life / Tuya​

Vos appareils doivent appartenir à un compte de l'app Tuya que le projet peut voir.

  1. Dans le projet, ouvrez Devices → Link Tuya App Account → Add App Account.
  2. Scannez le QR code avec votre application Smart Life ou Tuya Smart (Moi → icône de scan en haut à droite).
  3. De retour sur la plateforme, ouvrez Devices → Link Tuya App Account : vos appareils apparaissent.
  4. Notez votre App account UID (affiché à côté du compte lié).

3. Renseigner la configuration dans Gladys​

Dans l'écran de configuration de l'intégration, renseignez :

ChampOù le trouver
EndpointLa région (Data Center) choisie à l'étape 1
Client IDOverview du projet → Access ID / Client ID
Client SecretOverview du projet → Access Secret / Client Secret
App account UIDDevices → Link Tuya App Account → l'UID du compte lié

Enregistrez. Le statut Connexion en bas de l'écran doit passer à Connecté. En cas d'erreur, le message vous indique quoi corriger (identifiants incorrects, mauvaise région…).

4. Découvrir vos appareils​

Ouvrez l'onglet Découverte, laissez Gladys lister vos appareils Tuya, puis créez ceux que vous voulez. Chaque appareil apparaît avec ses fonctionnalités et un macaron Local/Cloud.


Mode local (LAN)​

Le contrôle local est plus rapide et continue de fonctionner sans internet. Il est activé par le bouton « Préférer la connexion locale » (activé par défaut).

  • Quand il est activé, Gladys essaie d'atteindre chaque appareil sur votre réseau ; si elle y parvient, l'appareil affiche un macaron Local et son état se met à jour instantanément. Sinon, l'appareil bascule automatiquement sur le Cloud.
  • Le contrôle local nécessite que Gladys connaisse l'adresse IP et le protocole de chaque appareil. La plupart sont trouvés automatiquement par le scan réseau lors de la découverte.
  • Un appareil qui pourrait fonctionner en local (son IP est connue et la préférence activée) mais qui tourne actuellement via le cloud garde un macaron Cloud avec un point orange — survolez-le pour savoir pourquoi (appareil basculé après des échecs, info réseau incomplète…). Un vrai appareil cloud-only garde un macaron Cloud bleu simple.
  • Un appareil local est lu toutes les 10 s sur le réseau ; ce qu'il ne remonte que par le cloud (fonctionnalités sans correspondance locale, ou tout, le temps que le local échoue) est rafraîchi au plus toutes les 30 s, pour ménager le quota du cloud Tuya.

Un appareil reste en Cloud alors qu'il est sur votre réseau​

Certains appareils ne sont pas trouvés par le scan automatique (sous-réseau différent, en veille pendant le scan…). Tant qu'un appareil créé et pilotable en local n'a pas d'IP, l'intégration relance d'elle-même un scan du réseau toutes les 15 minutes et le passe en local dès qu'il répond : un appareil simplement en veille n'a besoin de rien d'autre. Pour un appareil sur un autre sous-réseau (jamais joignable par le scan), ajoutez-le à la main :

  1. Ouvrez l'écran Configuration → action Détecter le protocole local (IP manuelle).
  2. Choisissez l'appareil dans la liste (ou, s'il n'est pas encore créé dans Gladys, saisissez son nom ou son identifiant Tuya) et saisissez son adresse IP.
  3. Exécutez. En cas de succès, l'appareil passe en local au cycle suivant.

Astuce : attribuez une IP fixe (réservation DHCP) à vos appareils Tuya sur votre box pour qu'ils restent joignables.


Événements cloud en temps réel (Pulsar) — optionnel​

Pour les appareils utilisés via le cloud, Gladys peut recevoir leurs changements d'état instantanément (en ~1–2 s) au lieu d'attendre le prochain relevé. Cela utilise le Message Service de Tuya (aussi appelé Pulsar). Les appareils déjà pilotés en local ont déjà un retour instantané et n'en ont pas besoin.

Deux étapes pour l'activer :

  1. Sur la Tuya IoT Platform : ouvrez votre projet → Service API → souscrivez au Message Service (gratuit). Sans cela, la connexion est refusée et Gladys écrit un message explicite dans les journaux.
  2. Dans Gladys : activez le bouton « Événements cloud en temps réel (Pulsar) » dans la configuration, puis enregistrez.

Un appareil ne remonte via Pulsar que ce qu'il envoie réellement au cloud Tuya : certains remontent tout leur état, d'autres seulement une partie (ex. marche/arrêt), d'autres rien — ceux-là conservent simplement le rafraîchissement cloud classique. C'est un comportement de l'appareil/firmware, pas une limite de Gladys.


Signaler un appareil non supporté​

Un appareil créé sans fonctionnalité (ou avec une seule) expose des codes Tuya que l'intégration ne connaît pas encore — c'est fréquent sur les variantes d'un même modèle.

Dans la configuration de l'intégration, lancez l'action Diagnostic d'un appareil, choisissez l'appareil dans la liste (ou saisissez son nom ou son identifiant Tuya s'il n'est pas créé dans Gladys), et copiez le résultat dans une issue GitHub. Le rapport liste chaque code remonté par l'appareil, sa valeur et ce que l'intégration en fait. Il ne contient ni clé locale, ni adresse IP, ni identifiant Tuya : il peut être collé publiquement tel quel.


Noms des fonctionnalités (langue) — optionnel​

Les noms de fonctionnalités générés automatiquement par cette intégration (ex. « Dock », « Suction power ») et les labels d'options sont en anglais par défaut, conformément à la convention de tous les types d'appareils qu'elle prend en charge — un nom réellement lu sur l'appareil lui-même (rare) reste tel quel quel que soit ce réglage. L'option de configuration « Noms des fonctionnalités » permet de basculer les appareils nouvellement découverts en français, allemand ou espagnol, traduits via un petit dictionnaire intégré.

Seuls les noms de fonctionnalités changent pour les appareils nouvellement découverts. Changer cette option ne renomme pas les fonctionnalités déjà créées dans Gladys — renommez-les à la main si vous le souhaitez, ou supprimez puis recréez l'appareil depuis l'onglet Découverte pour appliquer la nouvelle langue. Les labels d'options font exception : sur un appareil existant, les labels des listes (ex. la puissance d'aspiration de l'aspirateur) suivent la nouvelle langue à la découverte suivante, car Gladys resynchronise alors les options de chaque appareil. Un nom/label que l'intégration ne sait pas encore traduire reste en anglais dans tous les cas, jamais deviné.


Widgets du tableau de bord​

Gladys 5.1 ou plus récent : dans un tableau de bord, Modifier → Ajouter une boîte → Widgets d'intégrations, l'intégration Tuya propose cinq widgets (choisissez l'appareil dans les réglages du widget) :

  • Caméra Tuya : l'image en direct d'une caméra (rafraîchie chaque minute tant que le tableau de bord est ouvert), son mode privé, sa détection de mouvement et son enregistrement, les quatre flèches PTZ sur une caméra motorisée (l'image se met à jour après le mouvement), ou un bouton mode privé et un bouton actualiser sur une caméra fixe.
  • Compteur Tuya : pour un compteur triphasé, un compteur ou une prise mesurant la puissance — une jauge de puissance (son maximum est un réglage du widget), la puissance de chaque phase en temps réel, le courant, l'énergie, la courbe de puissance des dernières 24 heures, la tension et le courant de chaque phase.
  • Appareils Tuya : combien d'appareils sont en ligne, en local ou sur le cloud, ceux à surveiller (hors ligne, local injoignable), la connexion au cloud, le mode local et les événements temps réel, et un bouton de recherche.
  • Aspirateur Tuya : état, batterie, usure des brosses, aspiration et niveau d'eau, boutons démarrer / pause / base.
  • Purificateur Tuya : la durée de vie restante de chaque filtre, le TDS en entrée et en sortie, les jours restants (en orange sous 15 jours).

Actions utiles​

  • Détecter le protocole local (IP manuelle) : active le mode local pour un appareil que le scan n'a pas trouvé (voir ci-dessus).
  • Diagnostic d'un appareil : construit le rapport de ce qu'un appareil expose (voir ci-dessus).
  • Se déconnecter du cloud Tuya : coupe la connexion au cloud jusqu'au prochain enregistrement de la configuration.

Dépannage​

  • La connexion affiche une erreur → vérifiez les quatre identifiants et que l'Endpoint correspond bien au Data Center de votre projet.
  • Un appareil n'a pas d'état / ne se pilote pas → regardez son macaron. En Cloud sans rien qui remonte, l'appareil est peut-être hors ligne dans l'app Tuya.
  • Les événements cloud en temps réel ne démarrent pas → vérifiez que le Message Service est bien souscrit sur votre projet Tuya (un 401 dans les journaux signifie que non).
  • Les journaux sont disponibles dans l'onglet Journaux de l'intégration.

Paramètres de configuration​

Voici les paramètres demandés par Tuya dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Pour commencersectionNonCette intégration communique avec vos appareils via un projet Tuya IoT Cloud. Créez-en un (gratuit) sur la Tuya IoT Platform, souscrivez au service "IoT Core", liez votre compte de l'application Smart Life / Tuya, puis reportez les quatre valeurs ci-dessous. Le pas à pas complet est dans le lien Documentation ci-dessus.
EndpointselectOuiRégion du data center Tuya de votre projet cloud.
Client IDstringOuiAccess ID / Client ID de votre projet cloud Tuya IoT.
Client SecretsecretOuiAccess Secret / Client Secret de votre projet cloud Tuya IoT.
UID du compte de l’applicationstringOuiUID du compte de l'application Smart Life / Tuya lié à votre projet cloud.
Événements cloud en temps réel (optionnel)sectionNonPour les appareils utilisés via le cloud, Gladys peut recevoir leurs changements d'état instantanément au lieu d'attendre le prochain relevé. Cela nécessite d'avoir souscrit au "Message Service" sur votre projet Tuya IoT, puis d'activer l'option ci-dessous. Les appareils déjà pilotés en local ont déjà un retour instantané et n'en ont pas besoin.
Événements cloud en temps réel (Pulsar)booleanNonRetour d'état cloud instantané via le Tuya Message Service. Nécessite 'Message Service' activé sur votre projet Tuya IoT.
Noms des fonctionnalitésselectNonS'applique aux noms des appareils nouvellement découverts. Les noms de fonctionnalités générés par cette intégration sont en anglais par défaut (convention du dépôt) — traduisez ceux que l'intégration connaît en français, allemand ou espagnol, ou gardez l'anglais. Sur un appareil déjà créé, les labels d'options suivent la nouvelle langue à la découverte suivante, mais pas les noms. Une fonctionnalité absente du dictionnaire garde son nom anglais dans tous les cas ; vous pouvez toujours renommer une fonctionnalité ensuite dans Gladys.

Comment installer Tuya dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Tuya apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/terdious/gladys-tuya:1.30.0), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/Terdious/gladys-tuya.

Tuya nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

Guides associés​

À propos des intégrations externes​

Tuya est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par Terdious, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂