EspEasy und Node Red bieten jeweils für sich genommen schon einige Möglichkeiten zur Automatisierung.
Noch mehr Möglichkeiten bekommt man wenn man beide Systeme miteinander kombiniert. In dem Artikel ESPEasy – Befehle und Aktionen per HTTP, MQTT, UDP und direkt ausführen hatte ich schonmal allgemein beschrieben wie man einem ESPEasy Gerät bestimmte Befehle aus Node Red heraus senden kann.
In diesem Beispiel ist beschrieben wie Ihr dies nutzen könnt um zum Beispiel einen bestimmten GPIO des ESPEasy Geräts zu aktivieren bzw. zu deaktivieren.
Inhalte
- 1 Sicherheitshinweise
- 2 Affiliatelinks/Werbelinks
- 3 Voraussetzungen
- 4 Node Red code importieren
- 5 ESPEasy Gerät konfigurieren
- 6 MQTT Server konfigurieren
- 7 GPIO ein und ausschalten
- 8 GPIO Zustand umschalten
- 9 Längeren Impuls (1 bis 999 Sekunden) auf GPIO schalten
- 10 Längeren Impuls (10 bis 15000 Millisekunden) auf GPIO schalten
- 11 Kurzen Impuls (1 bis 1000 Millisekunden) auf GPIO schalten
- 12 Ansicht der Zustandsänderungen im Weblog
- 13 Weitere Artikel zum Thema NodeRed und ESPEasy
- 14 Viel Spaß mit dem Projekt
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:
Damit Ihr neue Nodes installieren könnt sollte NodeRed natürlich schon auf Eurem RaspberryPi installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.
- RaspberryPi – Einrichten für Nerdiys!
- RaspberryPi – Die Erste Konfiguration!
- RaspberryPi – Den RaspberryPi über SSH steuern
- NodeRed – Installation von NodeRed auf dem RaspberryPi
- NodeRed – Neue Nodes installieren
- NodeRed – Node-Code importieren und exportieren
Benötigtes Werkzeug:
-keins-
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
Node Red code importieren
In diesem Abschnitt findet Ihr den Node Red code den Ihr benötigt. Wie ihr diesen in Eure NodeRed Umgebung importieren könnt ist im Artikel NodeRed – Node-Code importieren und exportieren beschrieben.
Um den unten verlinkten Node Code mit Eurem ESPEasy Device nutzen zu können, müsst Ihr dazu noch ein paar Änderungen vornehmen. Diese sind im nächsten Abschnitt beschrieben.
Den Node Red code findet Ihr im Nerdiy-Git-Repository unter folgendem Link:
ESPEasy Gerät konfigurieren
Damit Ihr Befehle per MQTT an euer ESPEasy Gerät senden könnt, muss dieses natürlich passend konfiguriert sein. Dazu müsst Ihr zunächst den “Unit Name” Eures ESPEasy Geräts passend einstellen.
Öffnet dazu die Ansicht der Webkonfiguration, wechselt auf den Tab “Config” und konfiguriert den Namen Eures ESPEasy Geräts. Den eingestellten Namen solltet Ihr Euch merken, denn Ihr benötigt ihn später.
MQTT Server konfigurieren
Im nächsten Schritt solltet Ihr den MQTT Server auf Eurem ESPEasy Gerät konfigurieren.
Öffnet dazu das Webmenü Eures ESPEasy Geräts und öffnet den Tab “Controllers”. Dort solltet Ihr den MQTT Server wie unten gezeigt einstellen. Wichtig ist dabei neben dem “Controller Hostname” auch das “Controller Subscribe” topic.
Weitere Informationen dazu findet Ihr auch in dem Artikel ESPEasy – MQTT-Server konfigurieren und Topics abonnieren.
GPIO ein und ausschalten
Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr den GPIO einfach nur ein- und ausschalten wollt.
Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.
Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.
GPIO Zustand umschalten
Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr den GPIO mit einem Befehl umschalten wollt.
Ansicht des Node Red Flows in der Konfigurationsoberfläche.
Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.
Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.
Längeren Impuls (1 bis 999 Sekunden) auf GPIO schalten
Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 1 bis 999 Sekunden länge ausgeben wollt.
Ansicht des Node Red Flows in der Konfigurationsoberfläche.
Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.
Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.
Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.
Längeren Impuls (10 bis 15000 Millisekunden) auf GPIO schalten
Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 10 bis 15000 Millisekunden länge ausgeben wollt.
Ansicht des Node Red Flows in der Konfigurationsoberfläche.
Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.
Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.
Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.
Kurzen Impuls (1 bis 1000 Millisekunden) auf GPIO schalten
Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 1 bis 1000 Millisekunden länge ausgeben wollt.
Ansicht des Node Red Flows in der Konfigurationsoberfläche.
Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.
Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.
Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.
Ansicht der Zustandsänderungen im Weblog
Die Zustandsänderung bzw. die erfolgreiche Ausführung des Befehls könnt Ihr auch mit dem Weblog Eures ESPEasy Geräts überprüfen. Öffnet dazu die Webansicht Eures ESPEasy Geräts unter “Tools” und “Log”.
In der geöffneten Ansicht könnt Ihr dann alle ausgeführten Befehle sehen. In diesem Fall die GPIO Befehle.
Weitere Artikel zum Thema NodeRed und ESPEasy
In den folgenden Kategorien findet Ihr weitere Links zum Thema NodeRed und ESPEasy.
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. 🙂