Inclure un objet connecté ESP8266 + DHT22 + Homie MQTT dans Home Assistant (HASS)

Accéder aux soldes du Black Friday Amazon Black friday Banggood Ventes flash Gearbest
9% de remise sur tout le site Banggood*

Profitez également de nombreuses réductions allant de 10% à 85% sur Smartphones, Quadricopters, Smart Watches, appareils domotiques, éclairages, caméra de sport 4K, kits et outillages électronique DIY... *Hors produits déjà en promotion

Voir le code promo
3 jours restants

Après avoir présenté la librairie Homie dans les deux articles précédents (bien débuter avec Homie, principe de programmation), il est temps de passer à un exemple complet d’application. Dans ce tutoriel nous allons apprendre comment inclure une sonde de température dans le serveur domotique Home Assistant développée à base d’un ESP8266 et d’une sonde DHT22. Pour réaliser cette sonde, nous utiliserons le code développé dans le tutoriel précédent.

Si vous débutez avec Homie ou le développement d’objets connectés, vous pouvez commencer par lire ces articles

Matériel utilisé

Circuit

Le circuit est un classique du genre. Si vous utilisez un shield DHT22 ou DHT11 pour Wemos d1 mini, le capteur est relié à la broche D4 (GPIO-2) de l’ESP8266.

IOT object connecté domotique home-assistant ESP8266+DHT22+MQTT_bb

Code Arduino du projet Homie

Créez un nouveau croquis depuis l’IDE Arduino et collez le code suivant.

Modifiez la broche sur laquelle est branchée le DHT22 puis téléversez le code. Vous pouvez changer la fréquence d’envoi des mesures en modifiant la variable TEMPERATURE_INTERVAL.

Suivez les instructions du tutoriel d’introduction à Homie pour configurer la connexion au réseau Wi-Fi et au broker MQTT (Mosquitto par exemple).


Vérification que tout fonctionne comme prévu

Une fois que l’accès au réseau Wi-Fi et au broker MQTT a été configuré, il est bon de vérifier que l’on reçoit bien des messages en provenance de l’ESP8266. Pour cela, il suffit d’ouvrir un Terminal et d’exécutez cette commande suivante

Si vous avez mis en place un authentification, compléter et exécutez cette commande

homie esp8266 mqtt library arduino json dht22 mosquitto subscribe

Inclusion d’un objet Homie dans Home Assistant

Maintenant que tout est prêt, nous pouvons inclure l’objet Homie dans Home Assistant.

Configuration de la connexion au broker MQTT

Placez vous dans le répertoire de Home Assistant. Si Home Assistant fonctionne dans un environnement virtuel python (recommandé depuis décembre 2016), il se trouve probablement à cet endroit

puis ouvrez le fichier de configuration

Ajoutez une section mqtt et adaptez les paramètres de connexion à votre configuration

Activer le débogage

Durant la mise au point, vous pouvez récupérer les messages MQTT directement dans le journal d’événement de Home Assistant. Pour cela ajouter cette configuration au bloc logger

Configuration des sensors

Ce n’est pas obligatoire, mais il est préférable de séparer les paramètres de configuration dans des fichiers séparés. Si vous n’avez pas encore de fichier de configuration pour les capteurs, ajoutez le paramètre suivant

Enregistrez le fichier (CTRL + X puis O ou Y)

Ouvrez le fichier de configuration des capteurs sensors.yaml

Collez la configuration suivante. Modifiez les Topics pour qu’ils correspondent à vos messages Homie. Il faudra déplacer la plateforme yr sinon vous obtiendrez une belle erreur qui empêchera HASS de se lancer.



Si vous voulez laisser les capteurs dans le fichier configuration.yaml, l’écriture est un peu différente. Il faut définir un bloc sensor pour chaque capteur comme ceci.

Explication des autres paramètres

  • name : il permet de définir le libellé qui sera affiché à l’écran. On s’en servira pour intégrer le capteur dans un groupe ou une vue en remplaçant les espaces par le caractère _
  • unit_of_measurement : l’unité de mesure qui sera affichée
  • value_template : masque de mise en forme de valeur. Ici, on fait un arrondi. Par exemple, un chiffre significatif pour la température et aucun pour l’humidité

Ajouter les mesures aux groupes

Il ne nous reste plus qu’à inclure les capteurs dans les groupes. Ici, j’ai déjà préparé des groupes provenant des tutoriels précédents sur MySensors, RFLink et Xiaomi Mi Home Aquara. Pour ajouter un capteur, on utilise le formalisme habituel sensor.nom_sensor. Le nom est obtenu en remplaçant les espaces par le symbole “_”. Ce qui donne

Enregistrez tous les fichiers de configuration (CTRL + O ou CTRL + X puis O) puis relancez le service Home Assistant

Ou avec cette commande si Home Assistant n’est pas installé dans un environnement virtuel Python

Pour surveiller que tout est correctement configuré, exécutez la commande suivante qui permet de suivre le journal d’exécution du service Home Assistant

Et voilà, après quelques instants, vous allez recevoir les premier messages MQTT en provenance de l’ESP8266.

home assistant homie esp8266 dht22 wemos d1 mini journalctl

Et voici l’affichage obtenu

home assistant homie esp8266 dht22 wemos d1 mini

Il est vraiment très facile d’intégrer des objets connectés développés avec la librairie Arduino Homie. Homie est une librairie très puissante qui a été pensée pour la domotique. Elle supporte très bien les commandes de relais mais aussi les variateurs d’intensité lumineuse très utilisés dans les éclairages à Led.

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous dés inscrire à tout moment.

Comparateur de prix

Bons plans

Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

Tags:

Projets DIY - Domotique et objets connectés à faire soi-même