Einbindung meines Deckenventilators in fhem

Begonnen von Mathea, 27 November 2015, 16:27:17

Vorheriges Thema - Nächstes Thema

Mathea

Hallo Leute,

ich habe vor einiger Zeit meinen Deckenventilator mit Beleuchtungseinheit Homematic-fähig gemacht und in fhem eingebunden. Vielleicht interessiert das Vorgehen ja jemanden, also stelle ich es im folgenden Beitrag vor.

Warnung: Jeder, der in Betracht zieht, dieses Projekt in ähnlicher Weise nachzubauen, muss sich darüber bewusst sein, dass hier mit 230V Wechselspannung gearbeitet wird. Da das Gehäuse eines handelsüblichen Deckenventilators üblicherweise aus Metall ist, kann es passieren, dass es bei fehlerhafter Verkabelung unter Strom gesetzt wird. Der Schutzleiteranschluss darf nicht entfernt werden. Sämtliche Elektronikarbeiten wurden von mir im Spannungsfreien Zustand durchgeführt. Ich rate unerfahrenen Personen mit dem Umgang mit Elektronik davon ab, dieses Projekt nachzubauen.

Ausgangszustand:

Der Deckenventilator besitzt wie viele Standardmodelle zwei Zugschalter zum Ein- / Ausschalten der Beleuchtung und der Geschwindigkeitssteuerung des Ventilators. Ebenfalls kann mithilfe eines Schiebeschalters die Drehrichtung von Sommer- auf Winterbetrieb umgeschaltet werden. Dieser Ventilator hing bei mir an einer einfach geschalteten Leitung an meinem Wandlichtschalter. Leider ergaben sich durch diese Schaltung des Öfteren undefinierte Schaltzustände, was bedienungstechnisch sehr kompliziert war und einfach genervt hat. Hat man zum Beispiel im Sommer tagsüber den Ventilator auf Stufe 2 laufen gehabt und beim Verlassen des Zimmers den Ventilator mithilfe des Lichtschalters abgeschaltet, konnte man beim wieder Betreten des Zimmers bei Dunkelheit nicht einfach mit dem Lichtschalter das Licht einschalten, aber dafür ging der Ventilator auf Stufe 2 an. In der Dunkelheit versucht man also, die Zugkordeln zu finden, um das Licht einzuschalten, betätigt dabei allerdings aus Versehen die Kordel der Geschwindigkeitseinstellung... Es war eine Katastrophe, sowas muss doch auch einfacher gehen.

Also überlegte ich mir ein Konzept und setzte es wie folgt um:

Meinen Wand-Lichtschalter tauschte ich gegen einen Homematic 6-fach Funktaster aus:

(http://www.eq-3.de/system/html/HM-Funk-Wandtaster-6fach-V-Wand-web-350659a9.jpg)

Die Schaltleitung verband ich anschließend mit einer Lüsterklemme dauerhaft mit der Phase und hatte somit 230V Dauerspannung an der Leitung zum Ventilator anliegen.

Nun nahm ich den Ventilator auseinander und fand folgendes vor:

(http://i.imgur.com/DUJ85Vu.jpg)

Auf dem Bild zu erkennen sind der Dreistufenzugschalter für die Geschwindigkeitseinstellung des Motors und daran hängt ein Doppelkondensator (Zwei unterschiedlich Große Kondensatoren in einem Gehäuse). Nicht abgebildet ist der Einstufenzugschalter, der die Spannung für die Beleuchtung durchschaltet und der Schiebeschalter für die Drehrichtungsumkehr des Motors.

Der nächste Schritt war das Vermessen der Schaltzustände des Dreistufenzugtasters mithilfe eines Durchgangsprüfers und das Verstehen der Schaltung. Dabei stellte sich heraus, dass sich der Motor auf Stufe 1 drehte, sobald der Kondensator mit der kleineren Kapazität parallel zur Motorspule hinzugeschaltet wird. Stufe 2 bedeutete das alleinige Einschalten des größeren Kondensators und auf Stufe 3 waren beide Kondensatoren parallel zur Motorspule geschaltet. In AUS-Stellung wurde kein Kondensator durchgeschaltet.

Die Idee war es nun, hierfür eine Ersatzschaltung mithilfe von Relais umzusetzen. Dafür benutzte ich zwei Zweifach-Relaisplatinen (ebay), wobei ich drei Relais für die Motorsteuerung und das verbleibende vierte Relais zum Schalten der Beleuchtung verwende:

(http://ecx.images-amazon.com/images/I/51FGxOPkFoL._AC_UL160_SR160,160_.jpg)

Relais Nummer eins schaltet hierbei die Spannungsversorgung der Motorspule ein, Relais Nummer zwei den kleineren und Nummer drei den größeren Kondensator parallel zur Spule. Den Schiebeschalter mit der Drehrichtungsumkehr habe ich nicht angerührt, sodass diese Funktionalität weiterhin gegeben bleibt.

Da der Bauraum wirklich sehr eng war, war es schwierig, sämtliche Komponenten im Gehäuse unterzubringen. Beide Zugschalter flogen glücklicherweise raus:

(http://i.imgur.com/RiMzo3s.jpg)

Die rot-schwarze Leitung die man hier sieht, habe ich zusätzlich durch den Ventilator gezogen. Sie kommt aus der Deckenkuppel des Ventilators, in der das Gerät an 230V geklemmt wird und führt bis ins Gehäuse mit der Elektronik. Sie dient der 5V Stromversorgung der Relais und des zur Ansteuerung verwendeten Homematic 4-fach Funkmoduls:

(http://ecx.images-amazon.com/images/I/512QrOOFtlL._SX425_.jpg)

Das Funkmodul passte nun leider nicht mehr vollständig in das Gehäuse, weswegen es bearbeitet werden musste:

(http://i.imgur.com/yz26W6Q.jpg)

Mit den nun entfernten Ecken passt es gerade so in die runde Gehäuseabdeckung, an der auch die Lampen montiert sind.

(http://i.imgur.com/rlKEnFE.jpg)

Nun habe ich jeden Relaiskanal mit einem Schaltausgang des Homematic Moduls verdrahtet und konnte mit viel Fummelei das Gehäuse sogar vollständig schließen. Zuvor jedoch lernte ich das Homematic Modul in fhem an und maß durch, ob sämtliche Ausgänge wie geplant schalteten.

Zur 5V Stromversorgung der Elektronik montierte ich nun ein 5V Handy-USB Netzteil in der Deckenkuppel, und verdrahtete dessen Ausgang mit der vorher genannten rot-schwarzen Versorgungsleitung.

Anschließend war das System hardwareseitig fertig und es musste lediglich in fhem das Handling der Geschwindigkeitsstufen umgesetzt werden. Hierzu schrieb ich mir eine Routine zusammen, die bei Druck auf den jeweiligen Taster eine Dummyvariable "WZ_Deckenventilator_dummy" stufenweise von 0 bis 3 hoch- oder runterzählt, wobei die Wertigkeit "0" dem Zustand "Aus" entspricht. Ein langer Tastendruck auf die jeweilige Taste des Wandtasters schaltet die Variable entweder direkt auf 0 oder auf die höchste Stufe:

DOIF ([WZ_Taster_Btn_03:?Long]) (set WZ_Deckenventilator_dummy 0)
DOELSEIF ([WZ_Taster_Btn_04:?Long]) (set WZ_Deckenventilator_dummy 3)
DOELSEIF ([WZ_Taster_Btn_03:?Short] and [WZ_Deckenventilator_dummy] > 0) ({my $temp = Value('WZ_Deckenventilator_dummy') -1 ;; fhem("set WZ_Deckenventilator_dummy $temp")})
DOELSEIF ([WZ_Taster_Btn_04:?Short] and [WZ_Deckenventilator_dummy] < 3) ({my $temp = Value('WZ_Deckenventilator_dummy') +1 ;; fhem("set WZ_Deckenventilator_dummy $temp")})


Anschließend legte ich eine DOIF Routine an, welche je nach Zustand der Dummyvariable die korrespondierenden Relaiskanäle zur erwünschten Geschwindigkeitsstufe ansteuert. Da man einen Deckenventilator nach Möglichkeit nie auf der niedrigsten Stufe anlaufen lassen sollte, werden beim Schalten zunächst beide Kondensatoren ein- und das unbenötigte durch einen on-for-timer Befehl nach 2 Sekunden wieder abgeschaltet:

DOIF ([WZ_Deckenventilator_dummy:state] eq "0") (set WZ_Deckenventilator_Motor off, set WZ_Deckenventilator_Kondensator_1 off, set WZ_Deckenventilator_Kondensator_2 off)
DOELSEIF ([WZ_Deckenventilator_dummy] eq "1") (set WZ_Deckenventilator_Kondensator_2 on, set WZ_Deckenventilator_Kondensator_1 on-for-timer 2, set WZ_Deckenventilator_Motor on)
DOELSEIF ([WZ_Deckenventilator_dummy] eq "2") (set WZ_Deckenventilator_Kondensator_1 on, set WZ_Deckenventilator_Kondensator_2 on-for-timer 2, set WZ_Deckenventilator_Motor on)
DOELSEIF ([WZ_Deckenventilator_dummy] eq "3") (set WZ_Deckenventilator_Kondensator_1 on, set WZ_Deckenventilator_Kondensator_2 on, set WZ_Deckenventilator_Motor on)


Der Profi wird direkt erkennen, dass diese Programmierung unelegant ist, da der Ventilator beim Schalten von Stufe 2 auf Stufe 1 zunächst für 2 Sekunden auf Stufe 3 steht, was keinen Sinn macht. Außerdem muss die Funktion, die die Tastersignale auswertet ein wait Attribut von 2 Sekunden für jeden Befehl haben, da es sonst zu Problemen mit den "on-for-timer" Befehlen kommt. Aber ehrlich gesagt wäre mir ein eleganteres Handling in dem Moment zu viel Aufwand für zu wenig nutzen, weswegen ich das in Kauf nehme.

Durch die Dummyvariable kann man den Ventilator in der fhem Oberfläche auch direkt auf eine bestimmte Geschwindigkeitsstufe einschalten, ohne dass dafür weitere Stufen durchgeschaltet werden müssen.

Das Schalten der Beleuchtung funktioniert dabei via Direktverknüpfung zwischen Homematic 6-fach Taster und dem 4-fach Schaltmodul.

Fazit:
Das gesamte vorhaben hat mich insgesamt 4 vollständige Nachmittage und viele Nerven gekostet, da das Hauptproblem der sehr enge Bauraum war. Allerdings funktioniert jetzt alles so wie ich es mir vorgestellt habe und es hat sich meiner Meinung nach auf jeden Fall gelohnt. Positiver Nebeneffekt ist, dass ich nun auch im gleichen Zuge meine Beleuchtung automatisieren konnte.

In diesem Video kann man sehen, wie ich die verschiedenen Geschwindigkeitsstufen über die fhem Benutzeroberfläche durchschalte:
https://www.youtube.com/watch?v=b7FUoS9ZxSA&feature=youtu.be

Ausblick:
Ich habe vor, den Ventilator für den nächsten Sommer auch zimmertemperaturgeregelt zu schalten sobald sich jemand im Wohnzimmer aufhält, aber dafür muss ich zunächst sinnvolle Schwellwerte ermitteln damit sich meine Freundin nicht beschwert wenn der Ventilator bei zu kalter Temperatur eingeschaltet wird.

Ich hoffe, dass sich jemand für den Beitrag interessieren konnte!

Gruß,
Mathea

igami

Hallo Mathea,

super Beitrag, habe ich gleich erst mal auf Beobachten gesetzt, sowas steht bei mir auch noch an.
Was hat der ganze Spaß denn unterm Strich gekostet?

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Mathea

Hallo igami,

die Materialkosten im Ventilator belaufen sich auf etwa 30€ - 35€:

Homematic Modul: 20€
2x Relaiskarten: ~5€
Netzteil: ~5€ - 10€

Da das Handyladegerät permanent am Strom hängt und außerdem quasi auch im Ventilator eingebaut ist, habe ich hier aus Angst- und Effizienzgründen ein etwas höherwertigeres genommen.

Vorausgesetzt sind Lötzinn, ein paar kurze Leitungen, Isoliermaterial und natürlich ein laufendes fhem System mit Homematic-Einbindung.

Der Homematic Taster kostet als Bausatz 45€, aber wie du das Gerät letztendlich schaltest ist deine Entscheidung.

Gruß,
Mathea

eldrik

Hi,

interessantes Projekt, steht bei mir auch noch irgendwann an ;)

Die Relaisschraubkontakte haben ja scheinbar Heißkleber? zur Isolierung wegen des Metallgehäuses erhalten, die Relaiskontakte selber aber nicht?

Ich würde zur Sicherheit vl. noch ne Kunstofffolie/einlage rund herum reinlegen, damit nicht doch einmal ungewollt 230V an dem Gehäuse anliegen (selbst wenn es geerdet sein wird).

Greetz
Eldrik

Mathea

Zitat von: eldrik am 29 November 2015, 20:22:48

Die Relaisschraubkontakte haben ja scheinbar Heißkleber? zur Isolierung wegen des Metallgehäuses erhalten, die Relaiskontakte selber aber nicht?

Ich würde zur Sicherheit vl. noch ne Kunstofffolie/einlage rund herum reinlegen, damit nicht doch einmal ungewollt 230V an dem Gehäuse anliegen (selbst wenn es geerdet sein wird).

Greetz
Eldrik

Hi Eldrik,

das was dort an den Rändern der Relaiskarten durchsichtig schimmert war zum Zeitpunkt des Bildes provisorisches Tesaband. Vor dem finalen Zusammenbauen habe ich unter die Relaiskarten einige Lagen Isolierband geklebt um einen Kontakt zum Gehäuse zu verhindern. Aber ich finde das ehrlich gesagt nicht so elegant und ein umlaufender Kunststoffring zum Kontaktschutz wäre natürlich schöner.

Gruß,
Martin

MichaelLE

Guten Morgen!

Das Projekt ist super und genau, was ich suche.

Könntest du mir vielleicht noch ein paar Fragen beantworten?
Ich bin elektronisch nicht ganz so bewandert...

- Welche Relais genau muss ich denn benutzen?
- Wie werden die an das HM-Modul angeklemmt?
- Ist es möglich einen 3. Kondensator für ganz, ganz langsame Umdrehungen einzubauen?

Vielen Dank schonmal im Voraus
Michael