Eine Sache die ESPEasy so praktisch und universell macht ist die Möglichkeit verschiedene Sensoren und Aktoren über Befehle auslesen und steuern zu können. Gerade in Kombination mit entsprechenden Rules ergeben sich dadurch unheimlich viele Möglichkeiten.
Um einzelne Befehle zu testen und/oder generell ausführen zu können, gibt es mehrere Möglichkeiten.
Diese sind im folgendem Artikel beschrieben.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet Ihr die ESPEasy Firmware auf dem von Euch verwendeten ESP8266 programmiert haben. Informationen dazu findet Ihr in den folgenden Artikel.
ESPEasy – Firmware flashen und WLAN Zugangsdaten konfigurieren
Benötigtes Werkzeug:
-keins-
Benötigtes Material:
In der folgenden Liste findet Ihr alle Werkzeuge die Ihr zur Umsetzung dieses Artikels benötigt.
Verfügbare Befehle
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
Darüberhinaus kann jedes Plugin zusätzliche Befehle mitbringen. Zu diesen Befehlen gibt es keine Zentrale Übersicht. Sie sollten aber vom Entwickler des Plugins zur Verfügung gestellt werden.
Bei Plugins von Nerdiy.de findet Ihr diese Informationen immer auf der jeweiligen Plugin-Seite auf Nerdiy.de. Alle verfügbaren ESPEasy-Plugins findet Ihr unter https://www.nerdiy.de/tag/ESPEasy-Plugin/
Befehle über die serielle Schnittstelle ausführen
Wenn Ihr noch lokal – also über USB – mit Eurem ESPEasy-device verbunden seid, könnt Ihr die serielle Schnittstelle nutzen um schnell und unkompliziert Befehle auszuführen. Öffnet dazu den seriellen Monitor Eurer Arduino-IDE oder ein anderes Terminalprogramm. Tipps dazu findet Ihr im Artikel Ardunio – Die serielle Schnittstelle verwenden.
Befehle über das Webmenü ausführen
Eine weitere Möglichkeit Befehle abzusetzen habt Ihr über das Webmenü Eures ESPEasy-devices. Wechselt dazu in das Webmenü und dann in den Reiter Tools.
Befehle über einen URL-Aufruf ausführen
Befehle können auch über einen angehängten URL-Aufruf ausgeführt werden. Dazu wird der Befehl einfach in Kombination mit der IP-Adresse/Domainnamen des ESPEasy-devices aufgerufen.
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=testbefehl,1,2,3
Befehle über UDP ausführen
Diese Funktion lässt sich wohl (bisher) nur zum versenden von Befehlen von einem ESPEasy-Gerät zu einem anderen nutzen. Dazu reicht es auf dem sendenden ESPEasy-Gerät folgenden Befehl auszuführen.
SendTo,COMMAND,
Befehle über Rules ausführen
Fast alle Befehle lassen sich auch innerhalb von Rules nutzen. Dies und generell Infos zum Thema Rules werde ich in einem extra Artikel beschreiben.
Befehle über MQTT ausführen
Befehle lassen sich auch über eine bestehende MQTT-Verbindung posten und vom verbundenen ESPEasy-Gerät ausführen.
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.
Wichtig ist hierbei auch, dass unter “Controller Subscribe” folgendes Eingetragen ist:
/%sysname%/#
%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.
Weiterführende Informationen
https://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
HI,
vielen Dank für Deine Beschreibung!
Ich bastle mehr Hardwareseitig und benutze nooooch keine Automatisierungssoftware a la open Hab oder IO Broker. Meine Frage ist also die, ist es möglich ein Gerät mit Tasmota geflasht UDP Daten an eine bestimmte IP zu senden? Ich habe mir eine smart Steckdose gekauft mit Energiezähler. Diese Energiedaten möchte ich per UDP an einen anderen ESP-Server schicken.
Kannst Du mir dabei weiter helfen, also auf Seiten von Tasmota? 😉 🙂
Vielen Dank und Grüße
MAT
Hi Mat,
soweit ich weiß lässt sich das mit UDP leider nicht erledigen. Muss es denn UDP sein?
Über MQTT müsste es eigentlich klappen. 🙂
Beste Grüße
Fabian
Hi, thanks a lot for this article. It is very helpfull because there is a very poor documentation for espeasy on the web. Thanks to you I was able to send my commands via MQTT to Espeasy. It was write nowhere that we have to use the OpenHAB controller for sendig command via MQTT…
Hi kankrola,
you are welcome. Had the same problem when I tried to fix it and tought it’s worth documenting it. I guess the guys behind ESPEasy are already pretty busy at maintaining the development so I’m happy to fill the documentation gap with this a bit. 🙂
Best regards
Fab
Ein kleines Tutorial oder Beispiel wie MQTT Befehle funktionieren wäre top. Ich bekmome es einfach nicht zum Laufen.
Hi Simon,
den Abschnitt “Befehle über MQTT ausführen” hast du gesehen?
Was funktioniert bei dir denn nicht? 🙂
Beste Grüße
Fabian