Website-Icon Dein Smart Home Blog

Lichtsteuerung Teil 2: Fibaro Tageszeiten Variable via LUA setzen

In diesem kurzen Tutorial gebe ich dir ein LUA Script an die Hand, welches automatisch die Tageszeiten als Variable setzt. Es berücksichtigt auch den Sonnenauf- und Untergang.

Im letzten Tutorial "Die perfekte Lichtsteuerung mit Fibaro LUA" hatte ich das Script von "Controlliving.nl" gepostet, welches die Lichter bei Bewegung intelligent einschaltet. Dabei werden neben Helligkeit, Anwesenheit und Sleepmodus auch die Tageszeiten berücksichtigt.

Hierzu ließt das Script die vordefinierte Variable "TimeOfDay" aus. Diese hatten wir bereits im letzen Tutorial angelegt, mit den Werten: Morning ; Day ; Evening ; Night

Das folgende LUA Script wird genau diese Werte berücksichtigen und auf die Variable "mappen".

Szene erstellen

Zunächst erstelle auf der Weboberfläche des Fibaro Home Center 2 unter "Szenen" > links: "Szene hinzufügen" eine neue LUA Szene.

In diese kannst du das folgende Script 1:1 übernehmen:

Hier noch eine kurze Erklärung

Getriggert, also ausgelöst wird das Script bei mir durch zwei Bewegungsmelder. Deren IDs stehen oben in den %% properties. Somit wird die Tageszeit jeweils bei "Bewegung" neu berechnet.

Tag und Nacht: in den Zeilen: 9 & 10 legst du jeweils die Startzeit fest, wann bei dir der Tag und wann bei dir Nacht beginnt.

Die Tageszeiten "Morning" und "Evening" werden vom Script anhand des Sonnenauf- und Untergang berechnet. Das passiert ab Zeile 34 für "Evening"

und ab Zeile 47 wird geprüft ob es "Morning" ist:

Das Script prüft quasi stets die Uhrzeit mit einer "if"  - also "Wenn" anfrage, ob ein bestimmter Wert schon erreicht ober überschritten , aber dennoch kleiner als der die Nachfolgende Variabel (Tageszeit) ist.

Zeitgesteuerte Szene

Wenn du möchtest, dass das Skript automatisch in 1 min-Zeitintervallen die Variablen ändert, dann nutze bitte folgendes Skript. Die Erklärungen von oben gelten natürlich auch hier.

Script Variationen

Gerade was die Tageszeiten angeht, sind wir wohl alle sehr unterschiedlich. Der Sonnenauf- bzw. Untergang ist nicht zwingend ausschlaggebend für unseren "Tagesstart" - also die Variable Morning, bzw. Evening. In diesem Fall kannst du das Script auch abwandeln und Beispielsweise feste Tageszeiten setzen. Dazu musst an die Zeilen 9 & 10 die beiden Variablen Morning & Evening anfügen und diesen in den "if" Abfragen (analog zur "Night" und "Day" Abfrage), anstelle der Abfrage nach "Sonnenauf- und Untergang" einsetzen.

Wenn man ganz auf starre Tageszeiten verzichten möchte, muss man zu einem VD - also einem Virtual Device greifen, um als eine Art "Wecker" zu bauen. Dieser könnte dann jeweils die Variable auf "Morning" setzen.

Oder einfach einen Wecker umbauen, wie die Kollegen: Wake up Light Alarm Clock

Deine Ideen sind wie immer herzlich willkommen, da unten haben wir ein Kommentarfeld eingebaut ;-)

Die mobile Version verlassen