Zeitschaltuhr: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „== Anforderung == Eine Umwälzpumpe, die an einem FS20 Schalter hängt, soll zu bestimmten Tageszeiten alle 15 Minuten für jeweils 5 Minuten eingeschaltet wer…“)
 
Zeile 27: Zeile 27:
  <nowiki>define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we &amp;&amp; $hour&gt;=7 &amp;&amp; $hour&lt;9) }</nowiki>
  <nowiki>define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we &amp;&amp; $hour&gt;=7 &amp;&amp; $hour&lt;9) }</nowiki>
== Weitere Beispiele ==
== Weitere Beispiele ==
[http://fhemwiki.de/wiki/AT_zu_einem_absoluten_Datum_ausführen AT-Beispiele]
[[AT zu einem absoluten Datum_ausführen|AT-Beispiele]]


[http://fhemwiki.de/wiki/Wakeuplight Wakeup-Light]
[[Wakeuplight|Wakeup-Light]]
[[Kategorie:Code Snippets]]

Version vom 12. Mai 2013, 00:40 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

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

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) }

Weitere Beispiele

AT-Beispiele

Wakeup-Light