Back
Featured image of post Intégration de Tuya dans Home assistant

Intégration de Tuya dans Home assistant

Tutoriel pour ajouter des objets connectés Tuya dans Home Assistant

La gamme Tuya

Tuya est un acteur chinois de la domotique qui propose une infrastructure domotique as a service, cela va du cloud aux applications.

Beaucoup profitent de cela pour se lancer dans la domotique à moindre coup, ils ont juste à adapter des produits déjà existants au marché cible et à se reposer sur le cloud Tuya.

Chaque marque propose sa propre application basée sur celle de Tuya (Jinvoo Smart, Konyks, Smart Life, TuyaSmart etc.) mais nous pouvons en utiliser une seule pour contrôler tous nos objets connectés compatibles.

On retrouvera un peu de tout comme produit compatibles Tuya, des lumières, des prises, des interrupteurs, des caméras etc.

Cela permet de réduire les coups de R&D pour chaque entreprise s’associant à Tuya, d’où les prix très attractifs proposés.

Intégration dans Hassio

Officielle (limitée)

Home assistant dispose d’une intégration officielle Tuya (lien), on peut la retrouver à la cliquette directement depuis l’aplication, il suffit de rentrer ses identifiants Tuya et il remonte automatiquement tous nos objets connectés liés au compte. Super pratique et fonctionne vraiment très bien.

Cependant, certaines fonctions manquent à l’appel, comme la gestion de la consommation électrique pour les prises connectées supportant cette fonction.

Non officielle (Moins limitée)

Pour palier au manque de gestion de la consommation électrique, le projet localtuya (lien) a été créé sur Github.

Pré-requis

Compte developpeur Tuya

Il nous faut un compte developpeur sur iot.tuya.com.

  • Créez-en un ou connectez-vous.
  • Allez dans Cloud -> Project et cliquez sur Try it for free
    • Copier les Access ID/Client ID et Client secret dans un coin
  • Allez dans App -> App SDK -> Development et cliquez sur Create
    • Entrez n’importe quoi comme info (Le champ Androïd package name doit commencer par com.)
  • Retournez dans Cloud -> Project puis cliquez sur Link Device et Link Device by Apps
    • Selectionnez l’application créée plus tôt
    • Sur la même page, sur la gauche, cliquez sur API Group
      • Modifiez chacunes des options ci-dessous par open en cliquant sur Apply (entrez n’importe quoi en raison à chaque fois)
        • Authorization Management
        • Device Management
        • Device Control
        • User Management
        • Network Management
        • Data Service
        • Device User Mangement
        • Home Management
        • Device Statistics
    • Toujours dans Cloud -> Project, cliquez sur Link Device et Link Device by Apps Account
      • Cliquez sur Add App Account et scannez le QR Code qui s’affiche avec votre application TuyaSmart

En principe, la colonne Device Quantity doit vous afficher le nombre de device enregistrés sur l’application.

Récupérer des informations nécessaires

Afin de connecter un device sur Home Assitant, nous avons besoin de son device_id et d’une key.

Le device_id se récupère en allant dans Cloud -> Project -> Device List puis cliquez sur Detail du device pour l’obtenir.

Pour la key nous allons utiliser un outil en CLI.

  • Dans un terminal ou avec wsl, installez npm
    • sudo apt install npm
  • Puis installez tuyacli
    • sudo npm i @tuyapi/cli -g
  • Puis éxécutez la commande : tuya-cli wizard
  • Il vous est demandé
    • API Key qui correspond à Access ID/Client ID copié tout à l’heure
    • API Secret qui correspond à Client secret copié tout à l’heure
    • virtual ID qui correspond à un device_id dékà enregistré dans l’appli

Le résultat doit avoir la forme suivante (les data sont fausses) :

username@ordinateur $ tuya-cli wizard
? The API key from tuya.com: hrt8156561561bert
? The API secret from tuya.com fze156f1ze56f1ze561f56ze1f65
? Provide a 'virtual ID' of a device currently registered in the app: fze1f56ze165f
[ { name: 'Prise chauffage',
    id: '4561f56ze1f56ze156f',
    key: 'gfzergf1ze81f6' },
  { name: 'Prise TV',
    id: '18161556115641561',
    key: 'fze1fze85f85f1z' } ]

Notez dans un coin l'id et la key de chaque device à ajouter dans home assitant.

Installation

Afin de l’installer manuellement, voici les étapes :

  • Télécharger la dernière release puis dezipper-là
  • Copiez le dossier custom_components dans votre installation de hassio qui se trouve dans le répertoire config.

Redémarrez Home Assistant pour que l’intégration soit prise en compte.

  • Dans le fichier configuration.yml, ajoutez les instructions suivantes :
localtuya:
  - host: 192.168.1.X
    device_id: 4561f56ze1f56ze156f
    local_key: gfzergf1ze81f6
    friendly_name: Prise Chauffage
    protocol_version: "3.3"
    entities:
      - platform: switch
        friendly_name: Prise Chauffage
        id: 1

Puis dans le fichier sensor.yml, ajoutez-ceci, en l’adaptant bien sûr :

- platform: template
  sensors:
    prise_chauffage_voltage:
      friendly_name: "Voltage Chauffage"
      unit_of_measurement: 'V'
      value_template: "{{ states.switch.prise_chauffage.attributes.voltage }}"
      
    prise_chauffage_current:
      friendly_name: "Ampérage Chauffage"
      unit_of_measurement: 'mA'
      value_template: "{{ states.switch.prise_chauffage.attributes.current }}"
      
    prise_chauffage_current_consumption:
      friendly_name: "Consommation chauffage"
      unit_of_measurement: 'W'
      value_template: "{{ states.switch.prise_chauffage.attributes.current_consumption }}"

Redémarrez Home Assistant et le device tuya_p1 doit apparaître.

Resources

Généré avec Hugo
Thème Stack conçu par Jimmy