ESP Easy – Relais ansteuern mit Schaltzeiten

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
Die mobile Version verlassen