>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Dompté le zoo Tuya et oublié les nuages chinois

Disons que vous avez acheté un chauffage intelligent, une ampoule ou un détecteur de fuite d'eau. La boîte arbore fièrement le logo Tuya ou SmartLife. Vous connectez l'appareil, installez l'application et tout semble fonctionner. Mais dès que l'internet fléchit ou que les serveurs chinois commencent à se sentir mal, votre maison « intelligente » se transforme en citrouille. Histoire familière ?

Beaucoup d'entre nous viennent à Home Assistant précisément pour arracher le contrôle de nos maisons aux griffes des services cloud. Mais Tuya a toujours eu un hic : l'intégration officielle passe par leur API, qui est soit payante, soit limitée à une période d'essai, soit tout simplement lente. Le projet tuya-local résout ce problème de manière radicale — il permet aux appareils de communiquer directement avec votre serveur via le réseau local.

Quel est l'intérêt de ce projet

Pour faire bref : c'est un composant personnalisé pour Home Assistant qui vous permet de contrôler les appareils Tuya en Wi-Fi sans intermédiaire.

L'intérêt principal ici n'est pas seulement la vitesse (bien que la réponse devienne quasi instantanée). La valeur fondamentale est que l'intégration peut « extraire » des fonctionnalités que le cloud officiel ne montre pas du tout. Par exemple, des modes de fonctionnement spécifiques des équipements climatiques ou des statistiques détaillées de consommation d'énergie que les Chinois ont décidé de cacher dans l'application mais qu'ils n'ont pas exposées via l'API.

Au fait, le projet prend en charge plus que les appareils en Wi-Fi. Si vous avez une passerelle Tuya, vous pouvez y connecter des périphériques Zigbee, bien que l'auteur avertisse honnêtement : les capacités du hub pour les connexions locales simultanées sont sévèrement limitées.

Ce que tuya-local peut faire

Le dépôt revendique la prise en charge de plus d'un millier d'appareils. Ce n'est pas juste « on/off » — c'est un fonctionnement à part entière avec des entités complexes.

  1. Climatisation et chauffage. Les convecteurs intelligents, les climatiseurs et les humidificateurs fonctionnent avec tous leurs capteurs et préréglages.
  2. Éclairage. La prise en charge de différents protocoles (de 3.1 à 3.5) vous permet de faire fonctionner localement même des lampes capricieuses qui refusaient auparavant de coopérer.
  3. Sécurité. Il y a une prise en charge de certains modèles de serrures. Elle implémente un schéma astucieux pour intercepter les clés de déverrouillage, ce qui est généralement rare pour les intégrations open source.
  4. Électroménager. Des distributeurs de nourriture pour animaux (avec prise en charge des horaires de repas) aux transmetteurs IR qui peuvent apprendre les commandes directement depuis l'interface Home Assistant.

Comment faire fonctionner tout ça sans se casser le dos

Auparavant, configurer Tuya en local évoquait un rituel d'invocation de démon : vous deviez créer un compte développeur, extraire local_key via la console et souffrir. Avec tuya-local, le processus a été considérablement simplifié.

L'intégration propose deux chemins de configuration. Le premier est l'« assistant cloud ». Vous vous connectez une fois avec votre compte SmartLife, l'intégration récupère automatiquement la liste des appareils et leurs clés secrètes, puis fonctionne avec eux en local uniquement. Cela vous épargne d'avoir à renouveler l'essai tous les six mois sur le portail Tuya IoT.

Le deuxième chemin est manuel. Si vous êtes un paranoïaque hardcore qui a déjà obtenu tous les ID et clés vous-même, vous les tapez simplement dans la fiche appareil.

logo

Subtilités et pièges

Il y a des nuances, bien sûr. Tuya n'est pas une norme unique — c'est plutôt une mosaïque de différentes versions de firmware.

Premièrement, de nombreux appareils ne tiennent qu'une seule connexion locale active. Si vous avez l'application ouverte sur votre téléphone ou une autre intégration en cours d'exécution (par exemple l'ancienne localtuya), la nouvelle ne pourra tout simplement pas atteindre le matériel.

Deuxièmement, les appareils alimentés par batterie (détecteurs de porte ou de fumée) ne fonctionneront pas en local sans hub. Ils se mettent en veille pour économiser l'énergie et ne se réveillent que pour « pinguer » des données vers le cloud. Vous ne pouvez pas tromper la physique ici — pour ceux-là, mieux vaut utiliser des versions Zigbee avec un stick approprié.

Troisièmement, certains matériels commencent à se comporter étrangement si vous bloquez complètement leur accès à Internet sur le routeur. Ils peuvent se retrouver dans une boucle de redémarrage infinie. L'auteur recommande de bloquer non seulement TCP mais aussi les requêtes DNS de l'appareil dans ce cas.

Pourquoi c'est mieux que les alternatives

Il existe une alternative populaire — localtuya. J'ai essayé les deux. localtuya est plus flexible en matière de configuration manuelle de chaque point de données spécifique (DP), mais c'est aussi sa perte : configurer un thermostat complexe se transforme en une heure de bidouillage avec des tableaux.

tuya-local adopte la voie des configurations prêtes à l'emploi. Si votre appareil est sur la liste des appareils pris en charge, vous sélectionnez simplement son type, et tous les capteurs/boutons apparaissent d'eux-mêmes. Cela fait gagner un temps fou. Si votre appareil n'est pas pris en charge, vous pouvez aider le projet en envoyant des logs avec un dump de données — la communauté y est très active.

Si votre maison est progressivement envahie par des appareils Tuya, installer cette intégration est un must. Ne serait-ce que pour le fait que les lumières s'allument instantanément, plutôt qu'une seconde après que le signal ait fait un aller-retour vers Francfort ou Shanghai.

Le projet est mature, avec une solide base de données d'appareils et une logique de configuration saine. Oui, Tuya est toujours un « zoo », mais avec cet outil entre vos mains, vous avez au moins un fouet approprié et un sac de friandises d'entraînement.

Cela vaut le coup d'essayer si :

  • Vous en avez marre des délais d'API cloud.
  • Vous avez un appareil Tuya spécifique qui ne se移植 pas bien dans HA avec les méthodes standard.
  • Vous voulez que les automatisations fonctionnent même lorsque votre FAI tombe en panne.

Vous pouvez trouver le projet dans HACS par son nom ou directement sur GitHub : make-all/tuya-local.

Projets similaires