AT an einem bestimmten Wochentag ausführen: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Kleinere Korrekturen)
Zeile 4: Zeile 4:
An jedem Mittwoch um 21:00 Uhr soll ein Schaltaktor (hier das FHEM-Gerät "Signallampe") einen Verbraucher ein- und 10 Minuten später wieder ausschalten.
An jedem Mittwoch um 21:00 Uhr soll ein Schaltaktor (hier das FHEM-Gerät "Signallampe") einen Verbraucher ein- und 10 Minuten später wieder ausschalten.


'''Vorbemerkung zu den Wochentagen:'''Wochenbeginn ist in Perl der Sonntag, welcher mit 0 definiert ist, also ist 3 = Mittwoch, 4 = Donnerstag usw.
'''Vorbemerkung zu den Wochentagen:''' Wochenbeginn ist in Perl der Sonntag, welcher mit 0 definiert ist, also ist 3 = Mittwoch, 4 = Donnerstag usw.


Der Befehl für die ''fhem.cfg''lautet dazu wie folgt:
Der Befehl für die ''fhem.cfg'' lautet dazu wie folgt:


Einzeiler:
Einzeiler (kein expliziter Zeilenumbruch):
 
:<code><nowiki>define Licht4An at *21:00:00 { if ($wday == 3) { fhem (&quot;set Signallampe on&quot;);; fhem (&quot;define Licht4Aus at +00:05:00 set Signallampe off &quot;) } }</nowiki></code>


<nowiki>define Licht4An at *21:00:00 { if ($wday == 3) { fhem (&quot;set Signallampe on&quot;);; fhem (&quot;define Licht4Aus at +00:05:00 set Signallampe off &quot;) } }</nowiki>
Mehrzeiler:
Mehrzeiler:


Zeile 19: Zeile 20:
  }\
  }\
}</nowiki>
}</nowiki>
Im Detail:
Im Detail:
* ''define Licht4An'' =&gt; lege ein neues Objekt ''Licht4An'' und ...
* ''define Licht4An'' =&gt; lege ein neues Objekt ''Licht4An'' und ...
* ''at *21:00:00'' =&gt; ... prüfe immer um 21:00 Uhr ...
* ''at *21:00:00'' =&gt; ... prüfe immer um 21:00 Uhr ...
Zeile 29: Zeile 30:
* ''set Signallampe off")'' =&gt; ... die Signallampe wieder ausschaltet.
* ''set Signallampe off")'' =&gt; ... die Signallampe wieder ausschaltet.


Das Objekt Licht4'''Aus'''werden Sie in der FHEM-Weboberfläche nur in den knapp 5 Minuten zu Gesicht bekommen, wo die Signallampe eingeschaltet ist, also bitte nicht wundern, dass Sie nur Licht4'''An'''in der Übersicht sehen.
Das Objekt Licht4'''Aus''' wird in der FHEM-Weboberfläche nur in den knapp 5 Minuten sichtbar, wo die Signallampe eingeschaltet ist, also bitte nicht wundern, dass nur Licht4'''An''' in der Übersicht auftaucht.
 
[[Kategorie:Code Snippets]]
[[Kategorie:Code Snippets]]

Version vom 3. Juli 2013, 13:01 Uhr

AT Zielvorgabe:

An jedem Mittwoch um 21:00 Uhr soll ein Schaltaktor (hier das FHEM-Gerät "Signallampe") einen Verbraucher ein- und 10 Minuten später wieder ausschalten.

Vorbemerkung zu den Wochentagen: Wochenbeginn ist in Perl der Sonntag, welcher mit 0 definiert ist, also ist 3 = Mittwoch, 4 = Donnerstag usw.

Der Befehl für die fhem.cfg lautet dazu wie folgt:

Einzeiler (kein expliziter Zeilenumbruch):

define Licht4An at *21:00:00 { if ($wday == 3) { fhem ("set Signallampe on");; fhem ("define Licht4Aus at +00:05:00 set Signallampe off ") } }

Mehrzeiler:

define Licht4An at *21:00:00 {\
 if ($wday == 3) {\
  fhem ("set Signallampe on");;\
  fhem ("define Licht4Aus at +00:05:00 set Signallampe off ")\
 }\
}

Im Detail:

  • define Licht4An => lege ein neues Objekt Licht4An und ...
  • at *21:00:00 => ... prüfe immer um 21:00 Uhr ...
  • if ($wday == 3) => ... ob der 3. Wochentag ist, wenn ja dann ...
  • fhem ("set Signallampe on");; => ... soll FHEM die Signallampe einschalten und ...
  • fhem ("define Licht4Aus => noch ein Objekt Licht4Aus anlegen ...
  • at +00:05:00 => ... welches in 5 Minuten ...
  • set Signallampe off") => ... die Signallampe wieder ausschaltet.

Das Objekt Licht4Aus wird in der FHEM-Weboberfläche nur in den knapp 5 Minuten sichtbar, wo die Signallampe eingeschaltet ist, also bitte nicht wundern, dass nur Licht4An in der Übersicht auftaucht.