HowTo : ESPEasy - Exécuter des commandes et des actions via HTTP, MQTT, UDP et directement

Une chose qui rend ESPEasy si pratique et universel est la possibilité de lire et de contrôler divers capteurs et actionneurs via des commandes. Surtout en combinaison avec les règles correspondantes, cela se traduit par un nombre incroyable de possibilités.

Il existe plusieurs façons de tester des commandes individuelles et/ou de pouvoir les exécuter en général.

Ceux-ci sont décrits dans l'article suivant.


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 :
Avant de commencer cet article, vous devez avoir programmé le firmware ESPEasy sur l'ESP8266 que vous utilisez. Vous trouverez des informations à ce sujet dans l'article suivant.
ESPEasy - flasher le firmware et configurer les données d'accès WiFi

Outil requis :
-Non-

Matériel requis :

Dans la liste suivante, vous trouverez tous les outils dont vous avez besoin pour mettre en œuvre cet article.


Commandes disponibles

Zur Steuerung Eures ESPEasy-Geräts könnt Ihr Befehle aus verschiedenen “Quellen” nutzen. Zum einen gibt es System-Befehle die vom “ESPEasy-Betriebssystem” selber stammen. Mit diesen könnt Ihr allgemeine Funktionen steuern wie zum Beispiel das setzen der WLAN-Logindaten. Eine Liste dieser möglichen System-Befehle findet Ihr unter folgendem Link: https://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference

De plus, chaque plugin peut apporter des commandes supplémentaires. Il n'y a pas de vue d'ensemble centrale pour ces commandes. Cependant, ils doivent être fournis par le développeur du plugin.

Avec les plugins de Nerdiy.de, vous trouverez toujours ces informations sur la page de plugin correspondante sur Nerdiy.de. Tous les plugins ESPEasy disponibles peuvent être trouvés sur https://www.nerdiy.de/tag/ESPEasy-Plugin/


Exécuter des commandes via l'interface série

Si vous êtes toujours connecté à votre appareil ESPEasy localement - c'est-à-dire via USB - vous pouvez utiliser l'interface série pour exécuter des commandes rapidement et facilement. Pour ce faire, ouvrez le moniteur série de votre IDE Arduino ou d'un autre programme de terminal. Vous trouverez des conseils à ce sujet dans l'article Arduino - Utilisez le port série.

Habt ihr den “Seriellen Monitor” geöffnet könnt Ihr wie abgebildet Befehle an Euer ESPEasy-device senden. Dabei ist es wichtig, dass Ihr das “Zeilenumbruchzeichen (CR)” gesetzt habt.

Exécutez les commandes du menu Web

Vous avez une autre possibilité d'émettre des commandes via le menu Web de votre appareil ESPEasy. Pour ce faire, passez au menu Web puis à l'onglet Outils.

Dort wird euch im oberen Bereich ein Eingabefeld angeboten mithilfe dessen Ihr Befehle absetzen könnt. Zum Absetzen des Befehls reicht dann ein klick auf “Submit”.

Exécuter des commandes via un appel d'URL

Les commandes peuvent également être exécutées via un appel d'URL joint. Pour ce faire, la commande est simplement appelée en combinaison avec l'adresse IP/le nom de domaine de l'appareil ESPEasy.

Hat Eurer ESPEasy-device die IP-Adresse 192.168.0.15 und Ihr wollt den Befehl “testbefehl,1,2,3” ausführen, würde dieser Aufruf wie folgt aussehen:

http://192.168.0.15/tools?cmd=testcommand,1,2,3
Ceci est un autre exemple de la façon dont vous pouvez exécuter une commande via un appel d'URL.

Exécuter des commandes via UDP

Cette fonction ne peut probablement (jusqu'à présent) être utilisée que pour envoyer des commandes d'un appareil ESPEasy à un autre. Pour ce faire, il suffit d'exécuter la commande suivante sur l'appareil ESPEasy émetteur.

Envoyer à, COMMANDE,

Exécuter des commandes via des règles

Presque toutes les commandes peuvent également être utilisées dans les règles. Je vais décrire cela et des informations générales sur les règles dans un article séparé.


Exécuter des commandes via MQTT

Les commandes peuvent également être postées via une connexion MQTT existante et exécutées à partir de l'appareil ESPEasy connecté.

Dazu müsst Ihr auf dem ESPEasy-Gerät einen MQTT-Controller konfigurieren. Dieser muss auch auf dem ersten “Slot” der Controller liegen. Außerdem sollte der OpenHAB MQTT-Controller genutzt werden. Mit den anderen klappt die Befehlsausführung (soweit bekannt) leider nicht.

Pour ce faire, configurez votre contrôleur MQTT comme indiqué. Bien entendu, vous devez adapter le nom d'hôte du contrôleur à votre serveur et, si nécessaire, saisir également un nom d'utilisateur et un mot de passe.

Wichtig ist hierbei auch, dass unter “Controller Subscribe” folgendes Eingetragen ist:

/%sysnom%/#

%sysname% steht dabei für den Namen Eures ESPEasy-Geräts. Wenn Euer ESPEasy-Gerät z.B. den Namen “pxlBlckWohnzimmer” trägt bewirkt diese Kombination also, dass der MQTT-Controller alle Topics ab “/pxlBlckWohnzimmer/” aboniert. Damit empfängt der Controller also auch Nachrichten über “/pxlBlckWohnzimmer/cmd” welches sich nutzen lässt um die gewünschten Befehle auszuführen.

Zusammengefasst: Wenn Euer ESPEasy-Gerät also “pxlBlckWohnzimmer” heißt reicht es den gewünschten Befehl an das Topic “/pxlBlckWohnzimmer/cmd” zu senden.


Informations Complémentaires

https://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference


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       

6 commentaires

  1. SALUT,
    Merci pour votre descriptif !
    Je bricole plus du côté matériel et n'utilise aucun logiciel d'automatisation à la open Hab ou IO Broker. Ma question est donc la suivante: est-il possible qu'un appareil flashé avec Tasmota envoie des données UDP à une adresse IP spécifique? J'ai acheté une prise intelligente avec un compteur d'énergie. Je souhaite envoyer ces données énergétiques à un autre serveur ESP via UDP.
    Pouvez-vous m'aider davantage, c'est-à-dire de la part de Tasmota ? 😉 🙂

    Merci et salutations
    TAPIS

    1. Salut Mat,
      Autant que je sache, cela ne peut pas être fait avec UDP. Doit-il être UDP?
      Cela devrait fonctionner avec MQTT. 🙂
      Cordialement
      Fabien

  2. Salut, merci beaucoup pour cet article. C'est très utile car il y a une très mauvaise documentation pour espeasy sur le web. Grâce à vous j'ai pu envoyer mes commandes via MQTT à Espeasy. Il n'était écrit nulle part que nous devions utiliser le contrôleur OpenHAB pour envoyer la commande via MQTT…

    1. Salut Kankrola,
      je vous en prie. J'ai eu le même problème quand j'ai essayé de le réparer et j'ai pensé que ça valait la peine de le documenter. Je suppose que les gars derrière ESPEasy sont déjà très occupés à maintenir le développement, donc je suis heureux de combler un peu le manque de documentation avec cela. 🙂
      cordialement
      Fab

  3. Ein kleines Tutorial oder Beispiel wie MQTT Befehle funktionieren wäre top. Ich bekmome es einfach nicht zum Laufen.

    1. Salut Simon,
      den Abschnitt “Befehle über MQTT ausführen” hast du gesehen?
      Was funktioniert bei dir denn nicht? 🙂
      Cordialement
      Fabien

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.