ESPEasy peut désormais lire de nombreux capteurs et/ou actionneurs de commande différents (voir également ESPEasy – capteurs et actionneurs). À l'aide des « Règles », vous pouvez alors réagir localement sur l'ESP et agir en conséquence.
Mais les données de capteur collectées peuvent également être envoyées. Par exemple, ces données peuvent être collectées ou traitées ultérieurement dans le système SmartHome. L'envoi via le protocole MQTT est idéal pour cela.
L'article suivant décrit comment enregistrer votre instance ESPEasy auprès d'un serveur MQTT.
Consignes de sécurité
Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/
Liens d'affiliation/publicitaires
Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂
Conditions préalables
Articles utiles :
Vous pouvez trouver des conseils supplémentaires sur ESPEasy dans les articles suivants.
- ESPEasy - Exécutez des commandes et des actions via HTTP, MQTT, UDP et directement
- ESPEasy - Compiler et flasher le firmware et configurer les données d'accès WiFi
- Catégorie – ESPEasy
Outil requis :
- Non -
Matériel requis :
Quel serveur MQTT utiliser ?
Il existe maintenant plusieurs serveurs MQTT qui peuvent être utilisés. Par exemple, il existe également des serveurs MQTT publics accessibles via Internet.
Personnellement, je ne veux pas les utiliser car je pense qu'il y a deux inconvénients:
- Mes données quittent mon réseau et se retrouvent sur un serveur étranger. Même si les normes de protection des données sont désormais très élevées, des attaques/erreurs peuvent toujours entraîner la publication de mes données.
- Le serveur MQTT public n'est accessible que s'il existe une connexion Internet à ce serveur. Si cela échouait, la transmission des données à cet endroit échouerait également. Cela peut également signifier que toutes les automatisations associées ne fonctionnent plus.
Ces deux inconvénients peuvent être très bien évités en utilisant votre propre serveur MQTT. Cela peut être installé sur un RaspberryPi, par exemple. Vous trouverez des informations à ce sujet dans l'article RaspberryPi - Installer le serveur MQTT sur le RaspberryPi.
Configurer la connexion au serveur MQTT
Pour que vous puissiez entrer le serveur MQTT dans votre instance ESPEasy, le firmware ESPEasy doit déjà être installé et accessible sur l'ESP8266. Vous pouvez également trouver des informations à ce sujet dans l'article ESPEasy - Compiler et flasher le firmware et configurer les données d'accès WiFi.
Tout d'abord, ouvrez le site Web de configuration de votre ESP8266 programmé avec ESPEasy en saisissant son adresse IP dans votre navigateur Web. Des informations sur la façon de connaître l'adresse IP sont également dans l'article Afficher/connaître l'adresse IP des appareils du réseau résumé.
Une fois que vous avez ouvert le site Web de configuration, vous devez passer à l'onglet « Contrôleurs ». Pour ce faire, cliquez sur le bouton « Contrôleurs ».
Cliquez maintenant sur le bouton « Ajouter » dans l’une des lignes encore vides.
Cela vous amènera à une page où un menu déroulant apparaîtra.
Ouvrez le menu déroulant en cliquant dessus et sélectionnez l'entrée « Home Assistant (openHAB) MQTT ».
Vous serez alors redirigé vers la page de configuration de ce contrôleur (=serveur MQTT). Vous pouvez d'abord choisir si vous souhaitez saisir l'adresse du serveur MQTT en tant que nom d'hôte ou adresse IP.
Dans l'exemple montré ici, j'utilise un nom d'hôte. Mais vous pouvez également utiliser une adresse IP. Si vous faites cela, vous devez configurer votre routeur pour que l'adresse IP soit fixe.
Vous pouvez accepter les autres paramètres comme indiqué.
Il est important que le port soit défini sur le port configuré de votre serveur MQTT (1883 par défaut).
Vous devez également fournir les informations de connexion de votre serveur MQTT s'il nécessite une authentification. Pour ce faire, saisissez votre nom d'utilisateur et votre mot de passe dans les champs appropriés et cochez la case « Utiliser les informations d'identification étendues ».
Vous pouvez configurer les paramètres restants comme indiqué. Dans un souci d'exhaustivité, une brève description suit.
- « ID client du contrôleur » : ici, vous pouvez spécifier le nom/ID de votre contrôleur pour le serveur MQTT.
- « ID client unique à la reconnexion » : si cette case est cochée, un identifiant aléatoire sera ajouté lorsqu'une nouvelle connexion est tentée. Cela empêche (très probablement) la connexion de deux clients avec le même identifiant.
- « Publish Retain Flag » : Si cette case est cochée, les valeurs publiées incluant le « Retain Flag » sont envoyées.
- « Controller Subscribe » : Ce sujet est abonné par le contrôleur. Les commandes peuvent ensuite être envoyées à ESPEasy via cette rubrique par exemple. Vous pouvez également trouver des informations à ce sujet dans l'article ESPEasy - Exécutez des commandes et des actions via HTTP, MQTT, UDP et directement.
- « Publication du contrôleur » : le thème sous lequel les valeurs des capteurs (si activées) sont publiées est défini ici.
- « Controller LWT Topic » : Le serveur MQTT peut rendre compte de l'état de connexion du client via le LWT (« Last Will/Testament »).
- « Message de connexion / déconnexion LWT » : Cette option permet de préciser le message qui est envoyé via le topic LWT en cas de connexion ou si la connexion est perdue.
- « Envoyer LWT au courtier » : active/désactive la fonctionnalité LWT
- « Will Retain » : définit le « Retain Flag » pour les messages envoyés via le sujet LWT.
- « Clean Session » : active/désactive une connexion « clean session »
- « Activé » : Active/Désactive ce contrôleur
Dès que vous avez configuré tous les paramètres selon vos souhaits, vous pouvez appliquer les paramètres en cliquant sur « Soumettre ».
Après cela, votre contrôleur devrait être répertorié dans la vue d'ensemble du contrôleur.
Si vous avez configuré plusieurs contrôleurs, vous devez vous souvenir du nombre de parties dans lesquelles le serveur MQTT est configuré. Dans cet exemple, le serveur MQTT est le d'abord contrôleurs.
Configurer l'envoi des données du capteur
Une fois le serveur MQTT configuré, vous pouvez maintenant également envoyer les données d'un capteur connecté via MQTT à votre serveur MQTT précédemment configuré.
Pour ce faire, passez d'abord à l'onglet « Appareils » en cliquant sur le bouton « Appareils ».
Si vous ne l'avez pas déjà fait, vous devez d'abord configurer un capteur.
Dans cet exemple, le DHT11 est utilisé.
Pour cela, cliquez sur le bouton « Ajouter » dans la première ligne vide de l'onglet « Appareils ».
Configurez ensuite l'option « Données GPIO » et « Modèle de capteur » en fonction de votre capteur.
Mais passons maintenant à la partie MQTT :
Pour qu'ESPEasy envoie les données du capteur au serveur MQTT, vous devez activer la coche dans la section « Envoyer au contrôleur ». Puisque vous envoyez les données au d'abord Si vous souhaitez envoyer le contrôleur, la coche est répertoriée à côté de « 1 ».
En utilisant l'option « Intervalle », vous pouvez spécifier la fréquence à laquelle le capteur est lu. Les données sont ensuite envoyées au même intervalle. Dans l'exemple présenté, la valeur du capteur est lue toutes les secondes et envoyée via MQTT.
Enregistrez à nouveau ces paramètres en cliquant sur « Soumettre ».
De retour dans l'onglet « Appareils », vous pouvez désormais également voir le contrôleur saisi.
Un client MQTT externe peut alors également être utilisé pour vérifier si les données sont envoyées.
Sur l'image, vous pouvez voir un extrait de la vue de « MQTT Explorer ». Cet outil est gratuit et est très utile pour traiter les messages MQTT.
Créer un appareil MQTT pour s'abonner à un sujet MQTT
Vous pouvez également vous abonner à certains autres sujets en utilisant un autre « appareil » virtuel. Les valeurs reçues peuvent ensuite être traitées ultérieurement à l'aide de règles, par exemple.
Pour cela, revenez à l'onglet « Appareils » en cliquant sur le bouton « Appareils ».
Cliquez ensuite sur le bouton « Ajouter » dans la première ligne vide.
Vous serez alors redirigé vers un menu déroulant. Sélectionnez ici l’entrée « Générique – MQTT Import ».
Dans le menu qui apparaît, vous pouvez vous abonner à jusqu'à quatre sujets. Saisissez-le sous « MQTT Sujet 1 – 4 ».
Dans la section « Valeurs », vous pouvez ensuite préciser les noms des variables. Ces variables contiennent ultérieurement les valeurs reçues via MQTT. Ceci est important, par exemple, si vous souhaitez réagir à ces valeurs à l'aide de « Règles ».
Une fois que vous avez tout configuré comme vous le souhaitez, vérifiez à nouveau que vous avez bien coché « Activé » et confirmez les paramètres en cliquant sur « Soumettre ».
Vous pouvez désormais réagir aux sujets auxquels vous êtes abonné à l'aide de règles. Pour ce faire, vous devez d'abord passer dans l'onglet « Règles ».
Si ce n'est pas visible, vous devez d'abord l'activer.
Pour cela, cliquez sur « Outils » pour passer à l'onglet « Outils ».
Cliquez sur « Avancé »…
...et cochez l'option « Règles ».
Confirmez ensuite ce paramètre en cliquant sur le bouton « Soumettre ».
L'onglet « Règles » devrait maintenant être visible.
Dans le cas contraire, il devrait devenir visible au plus tard après un « rechargement » de la page.
Sur MQTT#Value_of_TestTopic1 faire
si [MQTT#Value_of_TestTopic1]=1.00
pbani,5,150,0,0,0,0,0,
final
endon
Dans l'onglet « Règles », vous pouvez ensuite saisir les règles affichées, par exemple. Ceux-ci provoquent à chaque fois le sujet «Value_of_TestTopic1" un un est reçu, la commande "pbani,5,150,0,0,0,0,0," est effectuée.
Cette commande fait partie du plugin pxlBlck. Vous pouvez également trouver des informations à ce sujet ici pxlBlck - Commandes pour configurer le pxlBlck
Plus de capteurs à connecter à l'ESP8266 / ESP32
Vous trouverez un aperçu des autres articles pour connecter des capteurs et des actionneurs à ESPEasy dans la catégorie suivante.
Amusez-vous avec le projet
J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂
PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂