Generalisierung in Verbindung mit wait (Warnung Fenster offen nach x Minuten)

Begonnen von All-Ex, 13 Dezember 2016, 20:00:54

Vorheriges Thema - Nächstes Thema

Damian

UPs da bin ich als Moderator wohl auf den Löschen-Knopf gekommen, also noch mal von vorne:

An dieser Stelle möchte ich eine Alternative mit dem FHEM-sleep Befehl vorstellen.

Der Nachteil eines at-Befehls ist, dass man Zeitangaben immer in der Form HH:MM:SS oder HH:MM angeben muss. Beim sleep Befehl werden Verzögerungen in Sekunden angeben, das hat den Vorteil, das diese als Zahl leichter berechnet werden können.

Das einfache Beispiel:

DOIF ["^window_:open|tilted"])
  (defmod at_$DEVICE at +00:05 set send Fenster $DEVICE offen)
DOELSEIF (["^window_:closed"])
  (delete at_$DEVICE)


lässt sich mit sleep so realisieren:

DOIF ["^window_:open|tilted"])
  (sleep 300 $DEVICE quiet;set send Fenster $DEVICE offen)
DOELSEIF (["^window_:closed"])
  (cancel $DEVICE quiet)


und hier mit dynamischer Zeitverzögerung abhängig von der Temperatur:

DOIF ["^window_:open|tilted"])
  (sleep {([mysensor:temperature]**2+300)} $DEVICE quiet;set send Fenster $DEVICE offen)
DOELSEIF (["^window_:closed"])
  (cancel $DEVICE quiet)


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

All-Ex