In dieser kleinen Anleitung möchte ich Euch zeigen wie einfach es ist, ein Relais über einen ESP 8266 mit Hilfe der ESP Easy Firmware zu steuern. Dabei möchte ich Euch nicht nur zeigen, wie man eine einfache „On“ / „Off“ Funktionalität umsetzt, sondern auch, wie man Schaltaufgaben des Relays an Zeiten koppelt. Dies treiben wir dann so weit, dass der ESP sogar eine Zeitschaltuhr ersetzen könnte.
Doch bevor wir mit dem Code los legen, müssen wir einen Port definieren, welcher das Relais ansteuern wird. Hier in unserem Fallbeispiel wird dies das PIN D4 auf einem NodeMCU sein, der in der Programmierumgebung mittels des GPIO Ports 2 angesprochen wird.
Hierzu wechseln wir in den Device Bereich …
….und legen ein neues Gerät an:
INFO-TIPP!!
Solltet ihr mit WEMOS ESPs und WEMOS D1 Relays arbeiten, so müsst ihr GPIO5 definieren! Denn beim WEMOS Pin-Out – liegt der Schaltkontakt auf D1!!
Normales ansprechen des Relais (an / aus):
Wir schalten den GPIO Port (2) auf High (1)
http://192.168.4.1/control?cmd=gpio,2,1
Und die Null (0) deaktiviert den Port wieder.
http://192.168.4.1/control?cmd=gpio,2,0
Zeitlich gesteuerter Ansteuerung (z.B. für eine Treppen / Gangbeleuchtung oder Flurlicht):
Hier macht es einen Sinn über eine Regel zu gehen, in der die Sekunden der aktiven Zeit hinterlegt werden:
On timerstart do gpio,2,1 //GPIO aktiv schalten timerSet,1,2 //timer 1 wird für 2 Sekunden gesetzt endon On timerstop do timerSet,1,0 //timer 1 wird auf 0 Sekunden gesetzt endon On Rules#Timer=1 do gpio,2,0 //nach Zeitablauf wird der GPIO ab geschalten endOn
Angesprochen werden diese Funktionen wie folgt:
http://192.168.4.1/control?cmd=event,timerstart
Frühzeitig kann die Regel mit diesem Aufruf abgebrochen werden:
http://192.168.4.1/control?cmd=event,timerstop
Wer kürzere Zeiten oder keine festen Zeiten benötigt, kann dies über den Pulse-Befehl realisieren. Hier wird die Schaltzeit in „ms“ angegeben.
http://192.168.4.1/control?cmd=pulse,2,1,1000
Geschaltet wird hier wieder der GPIO (2) auf High (1) für einen Zeitraum von (1000) ms. Danach wird der GPIO wieder auf aus gesetzt.
Das gleiche gibt es auch im Sekunden Bereich:
http://192.168.4.1/control?cmd=longpulse,2,1,10
Schaltet GPIO (2) ein (1) für 10 Sekunden.
Anzugsverzögerung / Abfallverzögerung des Relay
on delaystart do delay 6000 GPIO,2,1 endon on delayend do delay 6000 GPIO,2,0 endon
http://192.168.4.1/control?cmd=event,delaystart
http://192.168.4.1/control?cmd=event,delayend
Mit „delaystart“ wird der GPIO (2) nach 6 (6000 ms) Sekunden erst ausgelöst.
Mit „delayend“ wird der GPIO (2) erst nach 6 Sekunden abgeschalten.
Zeitschaltuhr Regel
Auch zeitlich bedingte Regeln lassen sich erstellen:
On Clock#Time=Sun,18:00 do // So um 18 Uhr wird der GPIO 2 eingeschalten gpio,2,1 endon On Clock#Time=All,19:00 do // GPIO 2 wird jeden Tag um 19 Uhr abgeschalten gpio,2,0 endon
Mögliche Zeitparameter:
all, sun, mon, tue, wed, thu, fri, sat
Über eine Zeit-Regel kann man auch Betriebszeiten definieren:
On Button#Switch=1 do If %systime% < 07:00 Gpio,2,1 Endif If %systime% > 19:00 Gpio,2,1 Endif Endon
Hier kann der GPIO Port (2) nur zwischen 19 Uhr und 7 Uhr am nächsten Tag durch einen Knopf aktiviert werden. (Button / Knopf muss konfiguriert werden)
Allgemeine Informationen zum Thema ESP Easy gibt es hier!
Tags:
- esp time relay
- esp32 zeitschaltuhr
- espeasy mehrere rules anlegen
- espeasy rules deutsch
- easyesp mit 6 relais
Hi, das ist ein super interessanter Beitrag, Danke dafür.
Ich habe derzeit die Situation, dass ich alles über MQTT realisiert habe und möchte das eigentlich auch gern weiterhin nutzen. Gibt es eine Möglichkeit diese Schaltimpulse auch über MQTT zu realisieren ?
Wenn nicht, muss ich in meinem einem Fall jetzt eben mit den GETrequests arbeiten, aber es wäre schön, wenn man alles einheitlich halten könnte :D Vielen Dank schon mal im Voraus.
OK hat sich erledigt, habe es rausgefunden durch ausprobieren.
Das ganze funktioniert so: /%sysname%/gpio/12/cmd und als message: „Pulse,12,1,500“
Servus, ich würde gern von einem einfachen DHT, den ich in ESP Easy konfiguriert habe über http://192.168.4.1/control? …..????? auslesen/ übergeben
Ich habe versucht etwas in den Foren zu finden aber die wollen immer gleich einen MQTT oder ähnliches benutzen. Hast du da einen Ansatz für mich?
Danke
Hallo eine Fragen
Wen ich im ESP Menü alles ein getragen habe und einen Reboot mache kann ich nicht mehr auf das Menü zugreifen es kommt: Diese Seite funktioniert nicht 192.168.178.20 hat keine Daten gesendet.
ERR_EMPTY_RESPONS Was mache ich falsch
Hallo,
Wenn ich ein Relais einschalte öffnet sich danach immer ein Log-Fenster im Browser.
Kann man das verhindern?