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