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

Vous pouvez utiliser des commandes provenant de différentes « sources » pour contrôler votre appareil ESPEasy. D'une part, il existe des commandes système qui proviennent du "système d'exploitation ESPEasy" lui-même. Avec ceux-ci, vous pouvez contrôler les fonctions générales telles que la configuration des données de connexion WLAN. Une liste de ces commandes système possibles se trouve sous le lien suivant : 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.

Si vous avez ouvert le "Serial Monitor", vous pouvez envoyer des commandes à votre appareil ESPEasy comme indiqué. Il est important que vous ayez défini le "caractère de saut de ligne (CR)".

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.

Là, un champ de saisie vous sera proposé dans la zone supérieure, que vous pourrez utiliser pour émettre des commandes. Pour envoyer la commande, il suffit de cliquer sur "Soumettre".

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.

Si votre appareil ESPEasy a l'adresse IP 192.168.0.15 et que vous souhaitez exécuter la commande "test command,1,2,3", cet appel ressemblera à ceci :

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

Pour ce faire, vous devez configurer un contrôleur MQTT sur l'appareil ESPEasy. Celui-ci doit également se trouver sur le premier "slot" du contrôleur. De plus, le contrôleur OpenHAB MQTT doit être utilisé. Malheureusement, l'exécution de la commande (pour autant que l'on sache) ne fonctionne pas avec les autres.

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.

Il est également important que les éléments suivants soient saisis sous "Controller Subscribe":

/%sysnom%/#

%sysname% représente le nom de votre appareil ESPEasy. Par exemple, si votre appareil ESPEasy est nommé "pxlBlckLiving Room", cette combinaison amène le contrôleur MQTT à s'abonner à tous les sujets de "/pxlBlckLiving Room/". Le contrôleur reçoit également des messages via "/pxlBlckWohnzimmer/cmd" qui peuvent être utilisés pour exécuter les commandes souhaitées.

En résumé : Si votre appareil ESPEasy s'appelle "pxlBlckLiving Room" il suffit d'envoyer la commande souhaitée au topic "/pxlBlckLiving Room/cmd".


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. Un petit tutoriel ou un exemple du fonctionnement des commandes MQTT serait formidable. Je n'arrive tout simplement pas à le faire fonctionner.

    1. Salut Simon,
      den Abschnitt „Befehle über MQTT ausführen“ hast du gesehen?
      Qu'est-ce qui ne fonctionne pas pour vous ? 🙂
      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.