Steuerung Kellerbeleuchtung mit ESP8266

Begonnen von vobo, 10 März 2018, 10:13:45

Vorheriges Thema - Nächstes Thema

vobo

Hallo zusammen,

um hier auch mal was produktives beizutragen, möchte ich Euch mein Projekt "Kellerbeleuchtung" vorstellen :)

Den Großteil meines Hauses habe ich mittlerweile mit Homematic Schaltern, sowie einigen Sonoff´s "smart" gemacht.
Für den Keller ist mir die Variante mit den Homematic Geräten allerdings zu teuer. Da ich hier aber den Vorteil habe, dass die Verkabelung sowieso aufputz in Rohren verlegt ist, kann ich mich hier mal "austoben" :)

Basis der ganzen Steuerung ist ein NodeMCU V3 Lolin. Ausgelegt habe ich alles auf 24V um möglichst störungsfrei schalten zu können.
Damit ich mich nicht mit Netzspannungen rumschlagen muss, werden die Verbraucher (nur Beleuchtung) über Hutschienenrelais geschaltet.
Die Schaltung besitzt 8 optisch getrennte Eingänge und 16 Ausgänge (MCP23017) um Relais zu schalten.
Im Prinzip funktioniert das Ganze wie ein "Monster-Sonoff". Die Ausgänge 1-8 sind direkt mit den Eingängen gekoppelt (über Rules), damit das Gerät auch ohne eine Steuerung über Fhem funktioniert.
Momentan benutzte ich als Software auf der Steuerung die aktuelle Version von ESPEasy. Die Koppelung von Ein- und AUsgängen erfolgt per Rules.

Das funktioniert soweit auch sehr gut, bis auf 2 kleine Einschränkungen ...

Bei der "Kopplung" der Ein- und Ausgänge per Rules merkt man dann doch, dass der ESP8266 mit ESPEasy an seine Grenzen kommt. Das macht sich dadurch bemerkbar, dass die jeweiligen Schaltvorgänge langsamer stattfinden, je weiter sie "hinten" in den Rules stehen (schwer zu beschreiben).
Wird also Eingang 1 geschaltet, so schaltet Ausgang 2 ohne Zeitverzug. Bei Eingang 8 hingegen merkt man deutlich den Zeitverzug zwischen Eingang und Ausgang. Da es sich aber ja nur um eine Steuerung der Kellerbeleuchtung handelt, ist dieses nicht weiter schlimm.

Die zweite Einschränkung ist, dass ich in Fhem zwar den Status der "Schalter" sehen kann (ich habe sie als "Pushbutton" in ESPEasy definiert, sie schalten also zwischen 1 und 0 bei jedem Tastendruck hin und her), diesen Status aber von Fhem heraus nicht verändern kann. Schalten kann ich die Ausgänge von Fehm aus nur, wenn ich direkt den MCP23017 "anspreche". Dann stimmt natürlich der Status der definierten "Schalter" in ESPEasy nicht mehr.
Das kommt daher, dass ich in ESPEasy die Ausgangsports des MCP nicht einzeln als Task definieren kann.

Ich habe auch bereits versucht, die Schaltung mit einem ESP32 zu steuern. Das funktioniert im Prinzip auch. Sehr schön ist hier, dass dieser genügend Ausgänge hat, dass man auf dem MCP23017 verzichten kann. Auch gibt es bereits eine ganz frühe experimentelle Version von ESPEasy, welche mit 32 Task´s arbeiten kann. Allerdings habe ich hier einen extremen Zeitverzug zwischen Ein- und Ausgang. Auch wird der ESP32 Chip sehr warm dabei. Vielleicht tut sich hier in Zukunft ja nach was. Eine eigene Programmierung kommt für mich momentan nicht in Frage, da mir dafür einfach die Zeit fehlt.

Vielleicht weiß hier ja jemand noch eine Alternative ?

Viele Grüße
Volker


eiermann

Hallo Volker,

ein ähnliches Projekt hatte ich vor etwa 6 Monaten,

ZitatDas macht sich dadurch bemerkbar, dass die jeweiligen Schaltvorgänge langsamer stattfinden, je weiter sie "hinten" in den Rules stehen (schwer zu beschreiben).

Das selbe Problem hatte ich damals auch, das die letzteren abfragen in den Rules extrem "träge" war, nach drücken von Taster Nr 8 hatte es gefühlt 3-4 sekunden gedauert bis Relais Nr 8 reagiert hat,
ich hatte die Relais  zwar an einen PCF8574 angeschlossen, aber das macht eigentlich in der Geschwindigkeit kein unterschied, Flaschenhals ist halt anscheinend  ESPEasy.

mittlerweile habe ich das ganze durch einen SONOFF Dual abgelöst, momentan bleibt es auch so,
obwohl ich mir auch schon einen ESP32 zugelegt habe fehlt mir aber Leider die Zeit.

ich werde aber auch noch ein weilchen warten bis ESPEeasy stabil auf einem ESP32 läuft, mit irgendwelchen Sensoren zum loggen sollte es keine nennenswerten Probleme geben,
beim schalten von Lampen oder ähnlichem ist es mir dann doch etwas zu gewagt..

Gruß
Ayhan


Bapt. Reverend Magersuppe

--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

vobo

Zitat von: Bapt. Reverend Magersuppe am 12 März 2018, 11:25:30
Es gibt noch einen 4-fach Sonoff, der ist auch gleich hutschienentauglich.
https://github.com/arendst/Sonoff-Tasmota/wiki/Sonoff-4CH-and-4CH-Pro

da habe ich auch einen davon. Das ist aber ein anderer "Ansatz"; der hat ja keine 24V Eingänge für die Lichttaster.

lg
Volker

Klaus0815

Hallo Volker,

wie alt ist denn Deine ESPEasy-Version?
schau mal hier:
http://www.letscontrolit.com/forum/viewtopic.php?f=4&t=4997&p=25815&hilit=speed#p25815

Es hat sich wohl die letzten Tage gewaltig was getan.
Magst es evtl. mal testen?
Hatte eigentlich genau das Gleiche wie Du vor, und genau wegen Deinen Problemen habe ich es bislang nicht realisiert

Viele Grüße

Klaus

vobo

Hallo Klaus,

Zitat von: Klaus0815 am 18 März 2018, 13:47:17
wie alt ist denn Deine ESPEasy-Version?

Es hat sich wohl die letzten Tage gewaltig was getan.
Magst es evtl. mal testen?


bei mir ist die mega-20180223 aktuell drauf.
Ich werde die aktuellste Version mal testen, aber da werde ich erst am nächsten WE zu kommen

Viele Grüße
Volker

Klaus0815

Hallo Volker,

ich bin gespannt, bitte berichte was dabei heraus gekommen ist

Magst mir mal Deine Rules schicken oder hier veröffentlichen?
Vielleicht baue ich das Ganze mal testweise auf, habe zugegeben keine Lust alles zig fach für jeden Ein-/Ausgang zu kopieren...

vobo

Hi,

ich habe gerade mal die aktuelle Mega Version von heute aufgespielt.
Und ... was soll ich sagen ... Es ist in der Tat wie ein "Turbo-Boost".
Keine Probleme mehr mit verzögertem Schalten  ;D

Hier mal die Rules, sowie ein Bild meiner Konfiguration:

on button1#taster1 do
if [button1#taster1]=0
  MCPGPIO,1,0
else
  MCPGPIO,1,1
endif
endon

on button2#taster2 do
if [button2#taster2]=0
  MCPGPIO,2,0
else
  MCPGPIO,2,1
endif
endon

on button3#taster3 do
if [button3#taster3]=0
  MCPGPIO,3,0
else
  MCPGPIO,3,1
endif
endon

on button4#taster4 do
if [button4#taster4]=0
  MCPGPIO,4,0
else
  MCPGPIO,4,1
endif
endon

on button5#taster5 do
if [button5#taster5]=0
  MCPGPIO,5,0
else
  MCPGPIO,5,1
endif
endon

on button6#taster6 do
if [button6#taster6]=0
  MCPGPIO,6,0
else
  MCPGPIO,6,1
endif
endon

on button7#taster7 do
if [button7#taster7]=0
  MCPGPIO,7,0
else
  MCPGPIO,7,1
endif
endon

on button8#taster8 do
if [button8#taster8]=0
  MCPGPIO,8,0
else
  MCPGPIO,8,1
endif
endon


Viele Grüße
Volker