Zeitschaltuhr: Unterschied zwischen den Versionen
(Added DOIF example) |
Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
Eine Umwälzpumpe, die an einem FS20 Schalter hängt, soll zu bestimmten Tageszeiten alle 15 Minuten für jeweils 5 Minuten eingeschaltet werden - mit unterschiedlichen Zeiträumen je Wochentag. | Eine Umwälzpumpe, die an einem FS20 Schalter hängt, soll zu bestimmten Tageszeiten alle 15 Minuten für jeweils 5 Minuten eingeschaltet werden - mit unterschiedlichen Zeiträumen je Wochentag. | ||
== Lösungsansatz 1 == | == Lösungsansatz 1: at == | ||
Es wird der [http://fhem.de/commandref.html#at at-Befehl] verwendet. | Es wird der [http://fhem.de/commandref.html#at at-Befehl] verwendet. | ||
Zeile 21: | Zeile 21: | ||
} | } | ||
}</nowiki> | }</nowiki> | ||
== Lösungsansatz 2 == | == Lösungsansatz 2: at mit Prüflauf == | ||
Es wird ein dauerhafter Prüflauf genutzt, der alle 15 Minuten prüft, ob der Zeitpunkt der Ausführung erreicht ist. | Es wird ein dauerhafter Prüflauf genutzt, der alle 15 Minuten prüft, ob der Zeitpunkt der Ausführung erreicht ist. | ||
Zeile 27: | Zeile 27: | ||
<nowiki>define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we && $hour>=7 && $hour<9) }</nowiki> | <nowiki>define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we && $hour>=7 && $hour<9) }</nowiki> | ||
== Lösungsansatz 3 == | == Lösungsansatz 3: RandomTimer == | ||
Als (einfache) Alternative kann auch das Hilfsmodul [[RandomTimer]] verwendet werden. | Als (einfache) Alternative kann auch das Hilfsmodul [[RandomTimer]] verwendet werden. | ||
== Lösungsansatz 4 == | == Lösungsansatz 4: WeekdayTimer == | ||
Alternativ kann das Hilfsmodul [[WeekdayTimer]] genutzt werden. | Alternativ kann das Hilfsmodul [[WeekdayTimer]] genutzt werden. | ||
Aktuelle Version vom 17. Januar 2019, 10:53 Uhr
Anforderung
Eine Umwälzpumpe, die an einem FS20 Schalter hängt, soll zu bestimmten Tageszeiten alle 15 Minuten für jeweils 5 Minuten eingeschaltet werden - mit unterschiedlichen Zeiträumen je Wochentag.
Lösungsansatz 1: at
Es wird der at-Befehl verwendet.
Täglich zur gewünschten Startzeit wird geprüft, ob die Voraussetzungen erfüllt sind. Ist dies der Fall, wird die Pumpe n mal alle 15 Minuten für 5 Minuten eingeschaltet. Die jeweilige Laufzeit der Pumpe wird durch on-for-timer in Sekunden angegeben (300 Sekunden).
- Täglich 17 Uhr bis 23 Uhr (6 Stunden = 24 Wiederholungen à 15 Minuten)
define PumpeAbendsStart at *17:00:00 { { fhem("define PumpeAbends at +*{24}00:15:00 set Umwaelzpumpe on-for-timer 300") } }
- An Wochentagen 7 Uhr bis 9 Uhr (8 Wiederholungen), an Wochenenden 7 Uhr bis 17 Uhr (36 Wiederholungen)
define PumpeMorgensStart at *07:00:00 { if (!$we) { { fhem("define PumpeMorgens at +*{8}00:15:00 set Umwaelzpumpe on-for-timer 300") } } else { { fhem("define PumpeMorgens at +*{36}00:15:00 set Umwaelzpumpe on-for-timer 300") } } }
Lösungsansatz 2: at mit Prüflauf
Es wird ein dauerhafter Prüflauf genutzt, der alle 15 Minuten prüft, ob der Zeitpunkt der Ausführung erreicht ist.
- An Wochentagen 7 Uhr bis 9 Uhr
define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we && $hour>=7 && $hour<9) }
Lösungsansatz 3: RandomTimer
Als (einfache) Alternative kann auch das Hilfsmodul RandomTimer verwendet werden.
Lösungsansatz 4: WeekdayTimer
Alternativ kann das Hilfsmodul WeekdayTimer genutzt werden.
Lösungsansatz 5: DOIF
Siehe DOIF Intervall-Timer