WeekdayTimer: Unterschied zwischen den Versionen
(Einige Anwendungsbeispiele eingefügt) |
(delayedExecutionCond Beispiel hinzugefügt) |
||
Zeile 36: | Zeile 36: | ||
* Umwälzpumpe für einen Brunnen einschalten, aber nur, wenn der Aktor nicht im Heizbetrieb verwendet wird und die Außentemperatur über einer Mindesttemperatur liegt | * Umwälzpumpe für einen Brunnen einschalten, aber nur, wenn der Aktor nicht im Heizbetrieb verwendet wird und die Außentemperatur über einer Mindesttemperatur liegt | ||
define Timer_Brunnen_Schildkroeten WeekdayTimer Wasser_Schildkroeten 10:45|1800 12:30|1800 14:00|1800 15:30|1800 17:00|1800 19:00|1800 { if (ReadingsVal("Aussentemperatur_Nord", "state", "no") > 8 && ReadingsVal("Heizung_Schildkroeten","state","active") eq "disabled") { fhem ("set $NAME on-for-timer $EVENT")}} | define Timer_Brunnen_Schildkroeten WeekdayTimer Wasser_Schildkroeten 10:45|1800 12:30|1800 14:00|1800 15:30|1800 17:00|1800 19:00|1800 { if (ReadingsVal("Aussentemperatur_Nord", "state", "no") > 8 && ReadingsVal("Heizung_Schildkroeten","state","active") eq "disabled") { fhem ("set $NAME on-for-timer $EVENT")}} | ||
=== Verzögerte bedingungsabhängige Auslösung === | |||
* Abbildung eines Anwesenheitstimers, der zusätzlich prüft, ob am zu schaltenden Gerät (hier: ein Dummy) ein Reading namens ''smartphone'' (noch) eine gegenläufige Info<ref>Hierfür wird ein [[Notify]] verwendet, das ähnlich wie das in [[FRITZBOX#Anwesenheitserkennung per Notify|FRITZBOX]] beschrieben ist.</ref> gegeben ist. | |||
Die eigentliche Auslöseverzögerung für die Abwesenheit erfolgt dann über die Auswertung des Attributs ''delayedExecutionCond''. | |||
define rr_Mann_Presence_Timer WeekdayTimer rr_Mann !$we|06:30|awoken !$we|06:40|home $we|08:00|awoken $we|08:30|home !$we|07:30|absent !$we|19:00|home 01234|21:45|gotosleep 01234|22:00|asleep 56|22:40|gotosleep 56|23:00|asleep | |||
attr rr_Mann_Presence_Timer commandTemplate set $NAME $EVENT | |||
attr rr_Mann_Presence_Timer delayedExecutionCond {ReadingsVal($NAME,'smartphone','absent') eq 'present' and $EVENT eq 'absent'?1:0} | |||
=== zeitweise Deaktivieren === | === zeitweise Deaktivieren === |
Version vom 9. Oktober 2018, 12:26 Uhr
Todo: Der Commandref-Abschnitt zu diesem Modul enthält noch einige Fehler und Ungenauigkeiten, die im Zusammenhang mit der Ausarbeitung dieser Wiki-Seite korrigiert werden sollten. Auf dieser Seite fehlen insbesondere noch Anwendungsbeispiele mit Screenshots sowie die Beschreibung von Besonderheiten wie die vereinfachte/integrierte Unterstützung von enable/disable. |
WeekdayTimer | |
---|---|
Zweck / Funktion | |
Definition von Wochen-Zeitschaltplänen | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstuetzende Dienste |
Modulname | 98_WeekdayTimer.pm |
Ersteller | igami (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
WeekdayTimer ist ein Hilfsmodul zur Erstellung von (Wochen-)Zeitschaltplänen für Geräte.
Voraussetzungen
Keine.
Anwendung
Define
Ein WeekdayTimer wird angelegt mittels
define meinWDT WeekdayTimer meinDevice <profil> ...
Details: siehe commandref/WeekdayTimer
Attribute
Siehe commandref/WeekdayTimer.
Anwendungsbeispiele
Einfache Timer
- Rolladensteuerung mit HomeMatic-Rolläden
define Timer_Rolladen_Automode_1 WeekdayTimer TYPE=CUL_HM:FILTER=model=HM-LC-Bl1PBU-FM:FILTER=automode=1 !$we|{sunrise("CIVIL",0,"06:45","08:00")}|on $we|{sunrise("CIVIL",0,"08:40","09:00")}|on {sunset("CIVIL",0,"20:45","22:20")}|off {fhem ("set $NAME:FILTER=STATE!=$EVENT $EVENT")}
Es werden bestimmte Rolläden, die ein userattr namens automode mit 1 gesetzt haben, zu unterschiedlichen Zeiten am Wochendende bzw. Feiertag und unter der Woche geöffnet bzw. bei Sonnenuntergang geschlossen.
- Schalten einer Umwälzpumpe für Warmwasser (HM-Aktor)
define Timer_Umwaelzpumpe WeekdayTimer AktorPumpe !$we|05:50|600 $we|06:55|600 12:30|600 set $NAME on-for-timer $EVENT
Timer mit Zusatzbedingungen
- Rollladen schließen, aber nur, wenn die zugehörige Ausgangstür geschlossen ist[1]:
define Innen.EG.Kueche.RolladenTuer.WT WeekdayTimer Innen.EG.Kueche.RolladenTuer Mo-So|{sunrise_abs(0,"06:30","10:00")}|on Mo-So|23:30|off (Value("Innen.EG.Kueche.RolladenTuer") eq "closed")
- Umwälzpumpe für einen Brunnen einschalten, aber nur, wenn der Aktor nicht im Heizbetrieb verwendet wird und die Außentemperatur über einer Mindesttemperatur liegt
define Timer_Brunnen_Schildkroeten WeekdayTimer Wasser_Schildkroeten 10:45|1800 12:30|1800 14:00|1800 15:30|1800 17:00|1800 19:00|1800 { if (ReadingsVal("Aussentemperatur_Nord", "state", "no") > 8 && ReadingsVal("Heizung_Schildkroeten","state","active") eq "disabled") { fhem ("set $NAME on-for-timer $EVENT")}}
Verzögerte bedingungsabhängige Auslösung
- Abbildung eines Anwesenheitstimers, der zusätzlich prüft, ob am zu schaltenden Gerät (hier: ein Dummy) ein Reading namens smartphone (noch) eine gegenläufige Info[2] gegeben ist.
Die eigentliche Auslöseverzögerung für die Abwesenheit erfolgt dann über die Auswertung des Attributs delayedExecutionCond.
define rr_Mann_Presence_Timer WeekdayTimer rr_Mann !$we|06:30|awoken !$we|06:40|home $we|08:00|awoken $we|08:30|home !$we|07:30|absent !$we|19:00|home 01234|21:45|gotosleep 01234|22:00|asleep 56|22:40|gotosleep 56|23:00|asleep attr rr_Mann_Presence_Timer commandTemplate set $NAME $EVENT attr rr_Mann_Presence_Timer delayedExecutionCond {ReadingsVal($NAME,'smartphone','absent') eq 'present' and $EVENT eq 'absent'?1:0}
zeitweise Deaktivieren
- disable Attribut setzen für WeekdayTimer über eine ReadingsGroup: siehe dieses Forenthema
Links
Hinweise
- ↑ Forenthread
- ↑ Hierfür wird ein Notify verwendet, das ähnlich wie das in FRITZBOX beschrieben ist.