Wissen

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 easy zeitschaltuhr
  • relaiskarte mit esp easy
  • easyesp relais
  • welches gerät mit namen esp
  • espeasy gpio schalten
Tags

Related Articles

3 Comments

  1. 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 😀 Vielen Dank schon mal im Voraus.

  2. 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

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close

Send this to a friend