108. Exercice 23¶
108.1 MQTT entre deux boîtes Home Assistant¶
Dans cet exercice, vous devez travailler deux par deux. Chacun de vous utilisera sa boîte Home Assistant.
Vous aurez des manipulations à faire sur les deux boîtes domotiques mais vous ferez chaque manipulation ensemble pour vous assurer de bien comprendre les deux côtés de la médaille.
- Installez un client MQTT sur une des boîtes Home Assistant en utilisant l'option Utiliser le module complémentaire officiel Mosquitto Mqtt Broker afin d'installer également un agent MQTT. Dans le reste de l'exercice, cette boîte s'appellera boîte A.
- Dans l'autre boîte, installez un client MQTT en utilisant l'option Saisir manuellement les informations de connexion du courtier MQTT. Effectuez les configurations requises pour utiliser l'agent MQTT de la première boîte Home Assistant. Dans le reste de l'exercice, cette boîte s'appellera boîte B.
- Assurez-vous d'avoir un capteur réel et un capteur virtuel dans chacune des boîtes Home Assistant.
- Testons les possibilités de publication et d'abonnement.
- Dans la boîte A, testez votre installation pour publier un mot de votre choix,publier sur un canal au format mon_nom/premier_test.
- Dans la boîte B, faites un test pour savoir si vous êtes capables de recevoir des données MQTT sur le canal utilisé,tester.
- Testons l'inverse. Dans la boîte B, publiez un mot de votre choix sur un canal au format mon_nom/second_test.
- Dans la boîte A, faites un test pour être capable de recevoir ce mot.
- Refaites les tests mais en utilisant l'agent test.mosquitto.org.
- À l'aide de l'agent MQTT local installé sur la boîte A ou de l'agent test.mosquitto.org, vous devez contrôler un récepteur distant.
- Dans la boîte A, faites en sorte que dès qu'une valeur est reçue sur le canal de votre choix,abonnement, une lumière virtuelle s'allume si la valeur est 1. La lumière s'éteindra si la valeur est 0.
- Dans la boîte B, envoyez via MQTT la valeur 0 ou 1 pour contrôler la lumière virtuelle de la boîte A.
- Vous devez maintenant afficher la valeur d'un capteur distant.
- Dans la boîte B, faites afficher dans le tableau de bord la valeur du capteur réel de la boîte A de même que celle de son capteur virtuel.
- Important : ceci n'est pas un test pour savoir si MQTT fonctionne. La boîte B doit être abonnée au canal sur lequel la boîte A publie la valeur de son capteur. La boîte B doit donc ajouter une entrée dans le fichier configuration.yaml.
- Le but est que la valeur soit modifiée dans la boîte B dès que la valeur change dans la boîte A. La boîte A a donc du travail à faire pour automatiser le processus.
- Modifiez ces valeurs dans la boîte A (ex : mettez la main sur le capteur de luminosité ou modifiez à la main la valeur d'un virtuel) et vérifiez que les modifications sont effectives dans la boîte B.
- Vous devez maintenant faire l'inverse : faire afficher dans la boîte A la valeur des appareils branchés sur la boîte B.
- Pour ce dernier numéro, vous n'avez pas besoin d'être en équipe de deux. Votre professeur dispose d'un agent MQTT que vous devez utiliser avec votre Home Assistant pour effectuer une opération sur un autre système domotique qui est en la possession de votre professeur.
- Les coordonnées de l'agent MQTT vous seront données en classe.
- Ce que vous devez faire :
- Vous devez allumer la lumière intelligente branchée à la boîte domotique de votre prof en envoyant la charge utile on sur le canal exercice22/9 où 9 représente le numéro de votre Raspberry Pi.
- Pour refermer la lumière : la charge utile sera off.
- Après chaque opération, écoutez sur le canal exercice22/reponse/9 pour recevoir la réponse de la boîte domotique sur laquelle l'ampoule est connectée.