HowTo : ESPEasy - Configurer le serveur MQTT et s'abonner aux topics

ESPEasy peut désormais lire de nombreux capteurs et/ou actionneurs de commande différents (voir également ESPEasy – capteurs et actionneurs). Mithilfe der “Rules” kann dann lokal auf dem ESP darauf reagiert und entsprechend gehandelt werden.

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.

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é.

Sobald Ihr die Konfigurationswebseite geöffnet habt, müsst Ihr auf den “Controllers”-Tab wechseln. Klickt dazu auf den “Controllers”-Button.

Klickt nun auf den “Add”-Button in einer der noch leeren Zeilen.

Cela vous amènera à une page où un menu déroulant apparaîtra.

Öffnet das Drop-Down-Menü indem Ihr darauf klickt und wählt den Eintrag “Home Assistant (openHAB) MQTT” aus.

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).

Außerdem müsst Ihr die Logindaten zu Eurem MQTT-Server angeben, wenn dieser eine Authentifizierung erfordert. Tragt dazu Benutzername und Passwort in die entsprechenden Felder ein und setzt den Haken bei “Use Extended Credentials”.

Vous pouvez configurer les paramètres restants comme indiqué. Dans un souci d'exhaustivité, une brève description suit.

  • “Controller Client ID”: Hier könnt Ihr den Namen/ID Eures Controllers gegenüber dem MQTT Server festlegen.
  • “Unique Client ID on Reconnect”: Ist dieser Haken gesetzt wird bei einem neuen verbindungsversuch eine zufällige ID angehängt. Dies verhindert (sehr wahrscheinlich), dass zwei Clienten mit der gleichen ID verbunden sind.
  • “Publish Retain Flag”: Ist dieser Haken aktiviert werden veröffentlichte Werte inkl. “Retain Flag” gesendet.
  • “Controller Subscribe”: Dieses Topic wird vom Controller aboniert. Über dieses Topic können dann zum Beispiel Befehle an ESPEasy gesendet werden. Informationen dazu findet Ihr auch im Artikel ESPEasy - Exécutez des commandes et des actions via HTTP, MQTT, UDP et directement.
  • “Controller Publish”: Hier wird das Topic festgelegt unter dem Sensorwerte (falls aktiviert) veröffentlicht werden.
  • “Controller LWT Topic”: Über das LWT(=”Last Will/Testament”) kann der MQTT-Server über den Verbindungsstatus des Clienten berichten.
  • “LWT Connect / Disconnect Message”: Mithilfe dieser Option kann die Nachricht festgelegt werden, welche über das LWT Topic im Verbindungsfall oder bei Verbindungsabbruch gesendet wird.
  • “Send LWT to broker”: Aktiviert/Deaktiviert die LWT-Funktionalität
  • “Will Retain”: Setzt das “Retain Flag” für die über das LWT Topic versendeten Nachrichten.
  • “Clean Session”: Aktiviert / Deaktiviert eine Anmeldung einer “sauberen Sitzung”
  • “Enabled”: Aktiviert / Deaktiviert diesen Controller

Sobald Ihr alle Einstellungen nach Euren Wünschen konfiguriert habt, könnt Ihr die Einstellungen durch einen Klick auf “Submit” übernehmen.

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é.

Wechselt dazu zunächst in den “Devices”-Tab indem Ihr auf den “Devices”-Button klickt.

Si vous ne l'avez pas déjà fait, vous devez d'abord configurer un capteur.

Dans cet exemple, le DHT11 est utilisé.

Klickt dazu im “Devices”-Tab auf den “Add”-Button in der ersten leeren Zeile.

Konfiguriert dann die Option für “GPIO Data” und “Sensor model” Eurem Sensor entsprechend.

Mais passons maintenant à la partie MQTT :
Damit ESPEasy die Sensordaten an den MQTT-Server sendet müsst Ihr den Haken im Abschnitt “Send to Controller” aktivieren. Da Ihr die Daten an den d'abord Controller senden wollt ist der Haken neben der “1” aufgeführt.

Mithilfe der “Interval”-Option könnt Ihr festlegen wie oft der Sensor ausgelesen wird. Die Daten werden dann im gleichen Intervall versendet. Im dargestellten Beispiel wird der Sensorwert also jede Sekunde ausgelesen und über MQTT versendet.

Speichert diese Einstellungen wieder durch einen Klick auf “Submit”.

Zurück im “Devices”-Tab könnt Ihr nun auch den eingetragenen Controller sehen.

Un client MQTT externe peut alors également être utilisé pour vérifier si les données sont envoyées.

Im Bild seht Ihr einen Ausschnitt aus der Ansicht des “MQTT Explorer”. Dieses Tool ist kostenlos und ist sehr hilfreich beim Umgang mit MQTT Botschaften.


Créer un appareil MQTT pour s'abonner à un sujet MQTT

Mithilfe eines weiteren virtuellen “Devices” könnt Ihr auch bestimmte andere Topics abonnieren. Die darüber empfangenen Werte können dann zum Beispiel mit Regeln weiterverarbeitet werden.

Wechselt dazu wieder in den “Devices”-Tab indem Ihr auf den “Devices”-Button klickt.

Klickt dann auf den “Add”-Button in der ersten leeren Zeile.

Daraufhin werdet Ihr wieder zu einem DropDown-Menü weitergeleitet. Wählt hier den Eintrag “Generic – MQTT Import” aus.

In dem dann dargestellten Menü könnt Ihr bis zu vier Topics abonnieren. Tragt diese dazu unter “MQTT Topic 1 – 4” ein.

Im Abschnitt “Values” könnt Ihr dann noch die Namen der Variablen festlegen. Diese Variablen beinhalten später die über MQTT empfangenen Werte. Dies ist zum Beispiel wichtig, wenn Ihr mithilfe von “Rules” auf diese Werte reagieren wollt.

Wen Ihr alles wie gewünscht konfiguriert habt prüft nochmal, dass Ihr den Haken bei “Enabled” gesetzt habt und bestätigt die Einstellungen durch einen Klick auf “Submit”.

Nun könnt Ihr mithilfe von Regeln auf die abonierten Topics reagieren. Dazu müsst Ihr zunächst in den “Rules”-Tab wechseln.

Si ce n'est pas visible, vous devez d'abord l'activer.

Klickt dazu auf “Tools” um zum “Tools”-Tab zu wechseln.

Klickt dort auf “Advanced”…

…und setzt einen Haken bei der Option “Rules”.

Bestätigt diese Einstellung dann durch einen Klick auf den “Submit”-Button.

Nun sollte der “Rules”-Tab sichtbar sein.

Falls nicht sollte er spätestens nach einem “Reload” der Seite sichtbar werden.

Sur MQTT#Value_of_TestTopic1 faire
si [MQTT#Value_of_TestTopic1]=1.00
pbani,5,150,0,0,0,0,0,
final
endon

Im “Rules”-Tab könnt Ihr dann zum Beispiel die dargestellten Regeln eintragen. Diese bewirken, dass jedes Mal, wenn über das Topic “Value_of_TestTopic1” eine eins empfangen wird, der Befehl “pbani,5,150,0,0,0,0,0,” ausgeführt wird.

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é. 🙂

Achetez-moi un café sur ko-fi.com       

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.