ESPEasy peut désormais lire de nombreux capteurs et/ou actionneurs de commande différents (voir également ESPEasy – capteurs et actionneurs). A l'aide des "règles" il est alors possible de réagir localement sur l'ESP et d'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 "Controllers". Pour cela, cliquez sur le bouton "Controllers".

Ouvrez le menu déroulant en cliquant dessus et en sélectionnant 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 saisir les données de connexion de votre serveur MQTT s'il nécessite une authentification. Pour ce faire, entrez votre nom d'utilisateur et votre mot de passe dans les champs appropriés et cochez la case "Utiliser des informations d'identification étendues".
Vous pouvez configurer les paramètres restants comme indiqué. Dans un souci d'exhaustivité, une brève description suit.
- « Controller Client ID » : Ici, vous pouvez définir le nom/l'ID de votre contrôleur sur le serveur MQTT.
- "Identifiant client unique lors de la reconnexion" : si cette case est cochée, un identifiant aléatoire sera ajouté à une nouvelle tentative de connexion. Cela empêchera (très probablement) deux clients de se connecter avec le même ID.
- "Publish Retain Flag": Si cette coche est activée, les valeurs publiées incluant le "Retain Flag" sont envoyées.
- « Controller Subscribe » : ce sujet est abonné par le contrôleur. Ce sujet peut ensuite être utilisé pour envoyer des commandes à ESPEasy, 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.
- "Controller Publish": Ici, le sujet est défini sous lequel les valeurs des capteurs (si activé) sont publiées.
- "Controller LWT Topic": Le serveur MQTT peut utiliser le LWT(="Last Will/Testament") pour signaler l'état de la connexion du client.
- "Message de connexion/déconnexion LWT" : cette option peut être utilisée pour spécifier le message qui est envoyé via le sujet LWT en cas de connexion ou de déconnexion.
- "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 d'une "clean session"
- "Enabled" : active/désactive ce contrôleur

Dès que vous avez configuré tous les paramètres selon vos souhaits, vous pouvez accepter 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é.

Si vous ne l'avez pas déjà fait, vous devez d'abord configurer un capteur.
Dans cet exemple, le DHT11 est utilisé.

Configurez ensuite l'option "Données GPIO" et "Modèle de capteur" en fonction de votre capteur.
Mais passons maintenant à la partie MQTT :
Pour que ESPEasy envoie les données du capteur au serveur MQTT, vous devez activer la coche dans la section "Envoyer au contrôleur". Depuis vos données jusqu'au d'abord Si vous souhaitez envoyer le contrôleur, la coche est répertoriée à côté du "1".
Vous pouvez utiliser l'option « Intervalle » pour spécifier la fréquence de lecture du capteur. Les données sont ensuite envoyées au même intervalle. Dans l'exemple illustré, la valeur du capteur est lue toutes les secondes et envoyée via MQTT.
Enregistrez à nouveau ces paramètres en cliquant sur "Soumettre".

Un client MQTT externe peut alors également être utilisé pour vérifier si les données sont envoyées.
Dans l'image, vous pouvez voir une section de la vue "Explorateur MQTT". Cet outil est gratuit et très utile pour traiter les messages MQTT.
Créer un appareil MQTT pour s'abonner à un sujet MQTT
Avec l'aide d'un autre "dispositif" virtuel, vous pouvez également vous abonner à certains autres sujets. Les valeurs reçues via celui-ci peuvent ensuite être traitées ultérieurement avec des règles, par exemple.

Pour cela, revenez dans 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 - Importation MQTT".

Dans le menu qui s'affiche alors, vous pouvez vous abonner à jusqu'à quatre sujets. Entrez ceci sous "MQTT Sujet 1 - 4".
Dans la section "Valeurs", vous pouvez ensuite spécifier 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".

Si vous avez tout configuré comme vous le souhaitez, vérifiez à nouveau que vous avez coché "Activé" et confirmez les paramètres en cliquant sur "Soumettre".

Vous pouvez maintenant utiliser des règles pour réagir aux sujets auxquels vous êtes abonné. Pour ce faire, vous devez d'abord passer à l'onglet "Règles".
Si ce n'est pas visible, vous devez d'abord l'activer.
Pour cela, cliquez sur "Outils" pour passer dans l'onglet "Outils".

L'onglet "Règles" devrait maintenant être visible.
Sinon, il devrait être 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 font que chaque fois sur 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é. 🙂