openHAB Licht-Timer erstellen

Ausgangssituation:
openHAB ist installiert und mehrere Lampen können damit geschaltet werden. Zum Beispiel über Homematic, Innogy oder einer beliebigen anderen Lösung.

Ziel:
Eine oder mehrere Lampen sollen eine Art Zeitschaltuhr erhalten, also per Regel nach einer bestimmten Anzahl an Minuten ausgeschaltet werden. Es ist auch möglich diese Regel für jede beliebige andere Operation anzuwenden.

Dazu soll nicht jede Lampe manuell programmiert werden müssen, sondern eine Regel, die auf alle Mitglieder einer Gruppe schaut.

Umsetzung:

Um das zu erreichen gibt es folgende Voraussetzungen:

  • Fertig eingerichtetes Persistance-Add-on, zum Beispiel RRD4j
  • Eine Gruppe, in der die Licht-Switches Mitglieder sind
  • Eine Regel

Wir gehen davon aus, dass die Gruppe gLightsTimer heißt und in einer .items Datei definiert ist, z.B. system.items:

Group gLightsTimer

Die Licht-Switches sind dann Mitglied davon und in einer anderen .items-Datei definiert:

In einer .rules Datei wird dann minütlich abgefragt, ob es Mitglieder in dieser Gruppe gibt, die eingeschaltet sind und sich seit mehr als X Minuten (in meinem Beispiel 20) nicht geändert haben.

Die Regel schaut dann so aus, ich habe am Ende jeder Zeile einen passenden Kommentar dazu:

Hier noch die Datei, deren .txt-Endung entfernt werden muss:

lights-timer.rules

Diese Datei muss dann unter \rules\ eingefügt werden.

Lasst euch nicht davon irritieren, dass der Eclipse-Designer einige Zeilen als fehlerhaft anzeigt. Das ist nicht korrekt, die Regel funktioniert so.

Das wars schon. Natürlich könnt ihr die Zeit anpassen, die Gruppen-Namen oder auch andere Dinge wie den Feueralarm-Schalter am Anfang. In dem Fall muss auch die passende Klammer hinten entfernt werden.

Ich wünsche viel Spaß damit.

3 Antworten auf „openHAB Licht-Timer erstellen“

Schreibe einen Kommentar zu Steffen Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert