Hausautomation Teil 3 - Automatisierung mit FHEM

Hausautomation mittels FHEM und EnOcean im WeberHaus Citylife 500

FHEM wird mächtiger und mächtiger

Knapp drei Monate nach unserem letzten Beitrag über Hausautomatisierung wollen wir Euch auch hier auf den neusten Stand bringen, denn zwischenzeitlich hat sich viel getan.

Fangen wir mal hardwaremäßig an:

Im Schaltschrank wurde etwas "umverkabelt", so dass die zusätzlichen zwei Deckenspots über dem Esstisch nun auf dem ehemaligen Kanal des F4SR14-LED für die eigentliche Wohnzimmerbeleuchtung liegen. Die Wohnzimmerbeleuchtung wurde dann auf einen neu eingebauten FUD14/800W aufgelegt. Zudem haben wir noch einen Treppenlicht Nachlaufschalter FTN14 eingebaut, der aber aktuell aufgrund der nicht zu gebrauchenden Funktionen in Zusammenhang mit unseren LED ungenutzt ist. Außerdem kann kein normaler Bewegungsmelder eingelernt werden - also können wir die Funktion auch mit einem normalen Aktor und FHEM realisieren.

Im Bad im OG wurde ein zusätzlicher dezentraler Aktor im Waschtisch verbaut, mit dem die Waschtischbeleuchtung (LED Leiste zwischen Waschbecken und Schrankkorpus) geschalten werden kann. Außerdem wurden ein Bewegungs- und Helligkeitssensor Eltako FBH im Bad verbaut. Mit diesem wird das komplette Bad "automatisiert". Ein zusätzlicher Bewegungsmelder wurde in der Ankleide positioniert, dass auch hier alles automatisch abläuft. Zu beiden Punkten gibt es unten dann mehr Informationen.

Außerdem wurde noch eine Wetterstation gebaut, dabei handelt es sich um den Weatherman - der allerdings noch nicht zu 100% funktioniert - hier müssen nochmal alle Sensoren durchgemessen werden - vermutlich ist einer der kombinierten Sensoren defekt, da nicht alle Werte erkannt werden. Die Daten vom Weatherman werden per HTTPMOD und JSON Abfrage in FHEM übernommen. Hiermit sollen je nach Sonnenstand, Helligkeit und Temperatur dann automatisch die Rollläden abgeschattet werden. Dazu gibt es später aber noch einen gesonderten Beitrag, wenn der Fehler am Weatherman gefunden ist und alles ordnungsgemäß funktioniert.

Zudem wurde auch die Stromversorgung der Garage aufgeteilt - WeberHaus hatte hier ja eine 5adrige Leitung verlegt aber nur einen FI-Schalter auf eine Leitung aufgelegt. Wir haben hier noch zwei FI-Schalter gekauft, eingebaut und die beiden anderen Leitungen aufgelegt. So wurden nun Steckdosen und Licht in der Garage getrennt. Die dritte Leitung dient zur Stromversorgung für die Außengestaltung (Gartenhaus, Terrasse, Rolltor).

Softwaremäßig haben wir auch einiges ergänzt und geändert:

Natürlich wurden zwischenzeitlich alle Aktoren als Gateway in FHEM eingelernt und in entsprechenden Gruppen sortiert. Die Aktoren wurden dann in einem Floorplan übersichtlich im Grundriss für Erdgeschoss und Obergeschoss abgebildet. So hat man nun eine grafische Oberfläche zum einfachen Schalten der Aktoren von jedem Handy, Tablet und PC - sogar von unterwegs aus - das könnte der von WeberHaus mitgelieferte Wibutler zumindest in Sachen Beleuchtung und Rolladensteuerung auch noch. Bei der Temperaturregelung geht das aber nicht mehr. Ab hier hat sich der Umstieg zu FHEM im Prinzip dann schon gelohnt. Nun ist es möglich die gewünschte Raumtemperatur auch per FHEM zu steuern. Wobei wir noch am Abwägen sind, ob wir diese Option überhaupt nutzen wollen. Eventuell verzichten wir auf die Raumthermostate und regeln unser Heizsystem nur über hydraulischen Abgleich und die THZ. Zumindest ist das die energieeffizienteste Methode. Wobei wir aktuell noch nicht geheizt haben. Wir nutzen die Wärmepumpe aktuell nur zur Warmwasser Bereitung. Wir können die Temperatur im Haus momentan noch nach Beschattung der Fenster in Verbindung mit der Wärmerückgewinnung der Lüftungsanlage regeln. Hier können wir je nach Grad der Beschattung zwischen 23 und 28 Grad erzielen.

Floorplan EG
Übersicht der Rolläden in FHEM
Übersicht Raumaufteilung der Bäder mittels Gruppen

Jetzt kommen wir aber zum wichtigsten Punkt - der Automatisierung - dem zweiten Wort in Hausautomatisierung - und damit zur Stärke von FHEM. Dem normalen WeberHaus-EnOcean-Nutzer reicht vermutlich die Funktion des Wibutlers aus - schöne grafische Oberfläche am Handy zum Schalten der Leuchten und Rolläden per Smartphone - schön was zum Umherzeigen für Verwandte und Bekannte beim ersten Besuch. Das reicht uns aber nicht aus - wir wollen mehr. Dazu haben wir erstmal klein angefangen - mit der automatischen Beleuchtung bei Bewegungserkennung in Ankleide und Hauptbad im OG - natürlich in Abhängigkeit von Helligkeit und Zustand der Rollläden. Denn wir wollen ja nicht, dass bei Dunkelheit das Licht automatisch angeht und das Rollo noch oben ist und der Nachbar einen überspitzt gesagt "nackt" im Bad oder Ankleide sieht.
Dazu stellen wir euch mal unsere beiden Lösungen für Ankleide und Badezimmer anhand der entsprechenden Definition in FHEM.

Hier fangen wir mal einfach mit dem Bewegungsmelder in der Ankleide an:

In der Ankleide haben wir natürlich die Lampe an sich (Licht_Ankleide), den Rollladen (Rollo_Ankleide) und den Bewegungsmelder (Bewegungsmelder_Ankleide) definiert. Darauf gehen wir hier nicht weiter ein.

Da der Weatherman noch nicht richtig läuft, mussten wir zur Helligkeitserkennung das Hilfsmodul Twilight definieren.

define myTwilight Twilight 49.xxxxxx 10.2xxxxxx 1 7004xx
attr myTwilight room Wetter


Danach sind alle Parameter für eine automatische Steuerung der Ankleide vorhanden. Diese können dann in einem DOIF zur Automatisierung zusammengefasst werden. Das sieht bei uns dann so aus:

define Ankleide_Automatik DOIF ([Bewegungsmelder_Ankleide:motion] eq "on" and [Rollo_Ankleide:position] > 80) (set Licht_Ankleide An) (set Licht_Ankleide Aus) DOELSEIF ([Bewegungsmelder_Ankleide:motion] eq "on" and [Rollo_Ankleide:position] <= 80 and [myTwilight:light] < 3) (set Rollo_Ankleide Ab, set Licht_Ankleide An) (set Licht_Ankleide Aus)
attr Ankleide_Automatik do resetwait
attr Ankleide_Automatik group Schlafzimmer
attr Ankleide_Automatik wait 0,240:0,240


Wenn der Bewegunsmelder also seinen Status "on" meldet und das Rollo mehr als 80% geschlossen ist, wird das Licht eingeschalten und vier Minuten später wieder ausgeschalten - konstruktionsbedingt sendet der Bewegungsmelder alle 2 Minuten ein erneutes Anwesenheitssignal, falls weitere Bewegung erkannt wird. Ein "off" sendet dieser Bewegungsmelder leider erst nach 10 Minuten ohne Bewegungserkennung. Deshalb wird das Ausschalten auch auf 4 Minuten gelegt - wird da erneut Bewegung erkannt, geht das Licht sofort wieder an. Ansonsten bleibt das Licht einfach aus.
Sendet der Bewegungsmelder "on", wenn das Rollo weniger oder gleich 80% geschlossen ist und es draußen dämmert (ermittelt durch Twilight), wird das Rollo heruntergefahren und das Licht angeschalten. Auch hier wird nach 4 Minuten geprüft ob noch Bewegung vorhanden ist.
Soweit alles verstanden? Wenn ja geht's zum nächsten Beispiel - der Badautomatik.

Beispiel Bewegungsmelder im Bad:

Hier haben wir auch wieder die Lampe an sich (Licht_Bad_OG), ein Waschtischbeleuchtung als Nachtlicht (Licht_Bad_OG_WT), das Rollo (Rollo_Bad_OG) und den Bewegungs-/Helligkeitssensor (Bewegungsmelder_Bad_OG). Dieser Bewegungsmelder liefert neben dem Status "on", den er übrigens nicht nur alle 2 Minuten sendet, auch einen Status "off" nach einer Minute ohne Bewegungserkennung. Außerdem wird ein Lux-Wert für die aktuelle Helligkeit ausgegeben. Für das kurze Orientierungslicht wird noch der Status vom Taster abgefragt (Taster_Bad_OG_L_R). Das Konstrukt sieht dann so aus:

define Bad_Automatik DOIF ([?23:00-05:59] and [$SELF:dunkel]) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus) DOELSEIF ([Rollo_Bad_OG:position] < 100 and [$SELF:dunkel]) (set Rollo_Bad_OG position 100) (set $SELF cmd_3) DOELSEIF ([Rollo_Bad_OG:position] == 100 and [$SELF:dunkel]) (set Licht_Bad_OG An) DOELSEIF ([Taster_Bad_OG_L_R:state] eq "A0" and [Taster_Bad_OG_L_R:buttons] eq "pressed") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus) DOELSEIF ([Bewegungsmelder_Bad:motion] eq "off") (set Licht_Bad_OG Aus) (set Licht_Bad_OG_WT An) (set Licht_Bad_OG_WT Aus)
attr Bad_Automatik DOIF_Readings dunkel:[Bewegungsmelder_Bad:motion] eq "on" and [Bewegungsmelder_Bad:brightness] <= 15 and [?$SELF] ne "cmd_4_1"
attr Bad_Automatik group Bad_OG
attr Bad_Automatik wait 0,120:0,3:0:0,0,3:0,0,3



Hier wird es schon etwas komplexer. Der Sensor reagiert anders als der in der Ankleide. Im DOIF wird ein eigenes Reading dunkel erzeugt, was im DOIF selbst zum triggern genutzt wird. Außerdem wird ein Orientierungslicht per Zeitabfrage eingefügt. Aber fangen wir hier auch ganz vorn an. Das Reading dunkel ist aktiv, wenn der Bewegungsmelder "on" meldet und die Helligkeit im Bad <= 15 Lux ist. Den letzten Teil muss man nicht hinzufügen, er dient nur der besseren Bedienung und wird etwas ausführlicher erklärt.. Dieser ist nur da, um den Bewegungsmelder nicht wieder sofort triggern zu lassen, wenn mit dem Taster ausgeschalten wurde. Sonst würde er beim Rausgehen direkt wieder auslösen, wenn jemand per Hand das Licht ausschaltet. Es ist im Prinzip eine "Sicherheitsschaltung" für Besucher, die sich wundern würden warum das Licht nach dem Ausschalten direkt wieder an geht.
In allen Zweigen wird das "dunkel" abgefragt. Die ganze Schaltung greift also nur bei einer Helligkeit under 15 Lux im Bad. Alles darüber wird nicht erfasst. Im ersten Zweig wird das Nachtlicht zwischen 23 Uhr und 05:59 Uhr für 2 Minuten an und dann wieder aus geschalten. Der zweite Zweig handelt das Verhalten bei nicht vollständig geschlossenem Rollo ab. Hier wird zuerst das Rollo geschlossen - 3 Sekunden später wird das Licht eingeschalten - das reicht bei uns soweit, dass das Rollo mindestens so weit geschlossen ist, wie üblicherweise unsere Plisees den Rest des Fensters verdecken und wir somit vor neugierigen Nachbarblicken geschützt sind. Das Licht bleibt dann so lange an, bis keine Bewegung mehr realisiert wird oder mit dem Taster ausgeschalten wird. In beiden Fällen wird beim Ausschalten das Nachtlicht zur Orientierung noch 3 Sekunden ein und dann wieder aus geschalten.
Der dritte Zweig deckt das Verhalten bei geschlossenem Rollo ab - hier wird einfach nur das Licht angeschalten. Zweig 4 ist dann die oben erwähnte manuelle Betätigung des Ausschalttasters mit der dreisekündigen Orientierungslichtfunktion. Der fünfte Zweig deckt dann das Ausschalten der Beleuchtung beim Status "off" des Bewegungsmelders ab. Dieser meldet eine Minute nach der letzten Bewegungserkennung den Status "off".
Hier wird kein do resetwait benötigt, da der Melder zeitnah ein "off" sendet.

So läuft das also mit der Automatisierung. Sobald die Wetterstation zuverlässig arbeitet und wir den Fehler daran gefunden haben, kommt noch die automatische Abschattung der Rollläden mittels Modul hinzu. Entweder machen wir das mit dem Rollo Modul oder mit dem gerade in der FHEM Community neu entstehenden Modul von cooltux.

Die Fritzbox haben wir auch mit Calllist und Callmonitor integriert. So zeigt die Weboberfläche und die verpassten Anrufe. Außerdem greifen wir hier mit einem Notify auf den Residens Status zurück. Hier wird mittels WLAN ermittelt, welcher Bewohner gerade daheim ist. Das ganze funktioniert natürlich nur wenn man ein Handy mit eingeschaltetem WLAN oder einen kleinen WLAN Sender hat. Hierüber steuern wir später auch die Beschattung. Denn nach der Nachtschicht sollen die Rollos im Schlafzimmer nicht hochfahren, wenn der Hausherr im Bett liegt und schläft.

Sprachsteuerung mittels Amazon Echo / Alexa

Das coolste an unserer Haussteuerung per FHEM ist die Sprachsteuerung per Amazon Echo. Wir haben das vorerst über die simple Methode über IFTTT und Weblinks gelöst. Aber allein diese Funktion ist schon richtig gut. Man hinterlegt bei IFTTT einen entsprechenden Weblink mit seiner Remoteverbindung (bei uns dyndns) mit FHEM Befehl z.B. set Licht_Bad_OG An. Außerdem hinterlegt man noch den "Trigger" -den Wortlaut den man sagt um die Aktion anzustoßen, in diesem Beispiel "Licht Bad an".
Das ganze muss man dann noch für die entsprechende Aktion zum Ausschalten machen. Allgemein muss man für jede gewünschte Aktion eine IFTTT Applet erzeugen. Und hier liegt genau der wunde Punkt bei der Sache. Es sind unzählige Applets zu erstellen. Deshalb werden wir im Winter, wenn wir an der Außengestaltung nichts mehr machen können, auf das Alexa Modul in FHEM umstellen. Hier ist die Integration zuerst etwas aufwändig - allerdings können dann hier mehrere Befehle und Devices ganz einfach hinzugefügt werden. Ein weiterer Vorteil ist, dass man sich das Wort "trigger" im Befehl spart. Momentan müssen wir bei jeder Aktion "Alexa trigger" sagen. Das stört uns zwar nicht, aber die Funktionsvielfalt nur durch jede Menge Fleiß zu erreichen. Mit dem Modul kann man das Rollo dann z.B. in jede Position fahren oder es beim Fahren mit Stop auch anhalten.

Wie man sieht, haben wir schon einige tolle Sachen realisiert. Das Tablet UI ist allerdings noch nicht vorangekommen. Das folgt vermutlich auch im Winter. Wir berichten für Technikinteressierte jedenfalls schön weiter....

Kommentare

Top 5 Beiträge der letzten 30 Tage

Küchenplanung - was kostet eine große Küche?

Ausstattungsberatung in der World of Living bei WeberHaus in Linx - Tag 1

THZ 404 - Operation am offenen Herzen

UPDATE: Abstimmung Wärmepumpe tecalor THZ404 - FHEM Plots

Elektroplanung - die größte Sonderausgabe

Hier erreicht Ihr uns per Mail

Name

E-Mail *

Nachricht *