Website-Icon Dein Smart Home Blog

Die perfekte Lichtsteuerung mit Fibaro LUA – Update 1

Christian Hillebrand

Lichtsteuerung

Vor kurzem hatte ich dir hier ein Script für die perfekte Lichtsteuerung mit Fibaro vorgestellt. controlliving.nl hat das Script noch weiter entwickelt. So intelligent ist die Lichtsteuerung nun geworden:

Neben der Bewegung und der Helligkeit im Raum, welche das Script auch von mehreren Sensoren auswerten kann, wird für die Lichtsteuerung auch die Tageszeit, Anwesenheit und der Zustand vom Haus (schlafend oder wach) berücksichtigt. Bereits in der letzten Version des Scripts (welches ich hier vorgestellt hatte) war es möglich im Abschnitt: ExtraXXXFunc des Scripts, individuell nach Tageszeit eigenen Quellcode zu implementieren. Diese Funktion wird immer bei Bewegung ausgelöst.

Somit kannst du Beispielsweise in der extraEveningFunc (also am Abend) einfügen, dass wenn der Fernseher eingeschaltet ist und Bewegung erkannt wird, die Rollos herunterfahren und die Stehleuchte mit den bunten ZipaBulbs auf ein harmonisches rot/gelb Licht gehen und sich auf 30% dimmen. Oder du schaltest zusätzliche Geräte an und so weiter.

In der neuen Version kannst du nun auch in Abhängigkeiten bestimmen, ob das Licht ein- oder ausgeschaltet werden soll.

Praktische Funktion für den TV Abend

Das Script hat eine sogenannte "OnTime" Funktion. Diese gibt an, wieviel Sekunden das Licht noch anbleiben soll, nachdem keine Bewegung mehr erkannt wurde. Das ist toll in Nutzräumen wie Flur, Küche, Bad usw. Im Wohnzimmer hingegen kann dies manchmal ziemlich lästig sein. Da liegt man entspannt auf der Couch, bewegt sich selten bis gar nicht und da passiert es: Das Licht schaltet aus.

In der neuen Version des Lichtsteueurngs-Script hat controlliving die sogenannte: extraOffChecks Funktion eingebaut. In dieser kannst du eigenen Quellcode hinterlegen, welcher zum Beispiel prüft ob der Fernseher noch an ist. In diesem Fall, schaltet das Script das Licht nicht aus, auch wenn keine Bewegung mehr erkannt wurde und die OnTime abgelaufen ist. Diese Funktion findest du ab der Zeile 107.

Hier ein Beispiel

Hierbei wird der aktuelle Energiebedarf der Steckdose (im Beispiel ID 131) in die lokale Variable "Verbrauch" geschrieben. Danach wird geprüft ob dieser größer als 40 ist. (Den Wert kannst du natürlich anpassen) Ist dies der Fall, bekommt die Funktion ein "return true" zurück. Erst wenn der Verbrauch unter die 40 Watt fällt, läuft das Script weiter und wird dann das Licht (sofern keine Bewegung mehr erkannt wurde) abschalten.

Übrigens auch praktisch im Büro / Arbeitszimmer, wenn man mal wieder länger vor dem PC sitzt ;-)

Das Licht nicht einschalten

In der folgenden Funktion, welche sich da "extraLightTriggerChecks" nennt, passiert genau das Gegenteil. Hier kannst du eigenen Code einfügen welcher verhindert, dass die Lichter eingeschaltet werden. Wann braucht man so etwas? Das kann sein, das du vielleicht die Stehlampe im Wohnzimmer eingeschaltet hast und nicht möchtest das dass Deckenlicht zugeschaltet wird bei Bewegung. Oder du möchtest einen DVD Streaming Abend starten und zuviel Licht verdirbt dir die Atmosphäre.

Ich habe an diese Stelle ein paar Zeilen Code gebaut, welcher prüft ob Wasser / Feueralarm ausgelöst wurde. Warum? Im Fall von Wasser bzw. Feuer, setze ich die Lampen in der gesamten Wohnung auf blau bzw. rot und lasse diese blinken. Würde das Lichtsteuerungsscript während dessen durch Bewegung getriggert, also ausgelöst, dann überschreibt dieses die Farbe und den Dimmwert der Lampen durch die, der jeweiligen Tageszeit.

Mein Code ab Zeile 97 sieht wie folgt aus:

Sobald der Wasser- oder Rauchmelder anschlägt, wird die Globale Variable "Alarm" auf "erkannt" gesetzt. Dies geschieht in einer anderen Szene, welche auch die Lampen einschaltet und blinken lässt solange der Alarm besteht. (Das Script gibts hier im Forum). In diesem Fall schaltet das Script der intelligenten Lichtsteuerung die Lampen nicht ein und überschreibt somit nicht die Farbeinstellungen der Lampen, die aufgrund des Alarms blinken.

Die intelligente Lichtsteuerung in der Version 1.6.7 kannst du dir hier herunterladen.

Die mobile Version verlassen