Hallo zusammen,
In der jetzigen Innogy-App gibt es bei der Verwendung des Schaltbefehls "An/Aus" kein Zeitverzögertes Ausschalten von Lichtern.
Bei der Verwendung von des Befehls "Einschalten" sehr wohl. Dies verschwendet allerdings unnötigerweise Tasten an Schaltern oder Fernbedienungen, da man dann für jedes Licht ja zwei Tasten benötigt - eine zu Einschalten und eine zum Ausschalten.
Mit OpenHAB lässt sich hierfür ein praktischer Workaround bauen, der auf Wunsch auch vorhandene Bewegungsmelder mit einbeziehen kann.
Das folgende Konstrukt erzeugt beim Einschalten des Lichtes einen Timer. Nach Ablauf des Timers wird das Licht wieder ausgeschaltet. Beim Ausschalten des Lichts, wird der Time abgebrochen (und läuft nicht im Hintergrund weiter). Er beginnt von neuem, wenn das Licht wieder eingeschaltet wird oder eine Bewegung im Bad festgestellt wird. Jede Bewegung verlängert also den Timer wieder von Neuem.
Bisherige Versuche, das in der Livisi-App nachzubauen, führten nicht zum Erfolg - auch wenn es auf den ersten Blick möglich erscheint....
In der LIVISI-App könnte man zwar eine Regel erstellen, mit z. B. " nach 10 Minuten....ausschalten"....diese 10 Minuten laufen aber auch ab, wenn man das Licht nach 8 Minuten von Hand ausschaltet. Wenn dann wieder nach einer Minuten das Licht wieder eingeschaltet wird, dann geht es nach 1 Minuten aus, weil dann der 10-Minuten-Timer des ersten Schaltvorgangs abgelaufen sind......keine Ahnung, ob ich mich verständlich ausgedrückt habe....egal.....
Was wird benötigt ?
In OpenHAB benötigen wir das Item für das Licht und optional noch ein Item für einen Bewegungsmelder....
In unserem Beispiel gibt es das Licht "DS_Bad_Raumlicht" und einen Bewegungsmelder "BW_Bad"
Desweiteren gibt es noch ein String-Item "Timer_Bad_Raumlicht_Info", welches man in eine Sitemap einbauen kann, um den Status des Timers anzuzeigen.
Desweiteren benötigen wir folgende Regel:
//Das muss ganz oben stehen
var Timer timer_Bad_Raumlicht
var int limit_Bad_Raumlicht = 600 //Sekunden = 10 Minuten
rule "Timer Bad Raumlicht"
when
Item DS_Bad_Raumlicht changed or
Item BW_Bad changed
then
if(timer_Bad_Raumlicht !== null){timer_Bad_Raumlicht.cancel}
if (DS_Bad_Raumlicht.state == 0) {
Timer_Bad_Raumlicht_Info.postUpdate("Aus")
}else{
Timer_Bad_Raumlicht_Info.postUpdate(new DateTimeType().format("%1$tH:%1$tM:%1$tS") + " | " + limit_Bad_Raumlicht / 60 + " Min")
timer_Bad_Raumlicht = null
timer_Bad_Raumlicht = createTimer(now.plusSeconds(limit_Bad_Raumlicht))
[
DS_Bad_Raumlicht.sendCommand(0)
Timer_Bad_Raumlicht_Info.postUpdate("Aus")
]
}
end
Display More
Wer die Info in der Sitemap nicht braucht, kann die Zeilen mit dem Info-Item gerne löschen...
Viel Erfolg beim Nachbauen!
Gruß Ralph
PS: Das Problem löst sich natürlich, wenn das zeitverzögerte Ausschalten bei der An/Aus-Funktion mal nachgeliefert wird. Diesbezüglich habe ich ein Ticket bei LIVISI am Laufen. Es gibt allerdings noch keine endgültige Aussage ob, und wann das umgesetzt wird. In der frühen "RWE 1.0-Software" war das mal drin...