diff --git a/fhem/FHEM/11_FHT8V.pm b/fhem/FHEM/11_FHT8V.pm
index 07c018953..5d17496df 100755
--- a/fhem/FHEM/11_FHT8V.pm
+++ b/fhem/FHEM/11_FHT8V.pm
@@ -201,6 +201,90 @@ FHT8V_Get($@)
+=end html
+
+=begin html_DE
+
+
+
FHT8V
+
+
+ Fhem kann die Ventile vom Typ FHT8V durch einen CUL
+ direkt, ohne zwischengeschalteten FHT, ansteuern. Dieser Abschnitt
+ beschreibt einen der Bausteine, der andere ist das PID Device.
+
+
+
+
+ Define
+
+ define <name> FHT8V <Hauscode> [IODev|FHTID]
+
+
+ <Hauscode>
ist eine vierstellige hexadezimale Zahl, die
+ folgende Beziehung zum zuständigen CUL-Device aufweisen muss:
+
+ Bei gegebenem Hauscode des CUL als AABB muss dieser Hauscode die Form CCBB
+ haben, wobei CC größer oder gleich AA, aber kleiner AA+8 sein muss.
+
+
+ Diese Form wurde gewählt, damit der CUL alle FHT8V-Ventilstellungen
+ innerhalb von zwei Minuten aktualisieren kann.
+
+ <IODev>
muß angegeben werden, wenn der als letzter
+ definierte CUL nicht der zuständige ist. Normalerweise wird dies mit
+ dem IODev-Attribut gesetzt, da die
+ Überprüfung der Adresse aber während der Definition erfolgt,
+ brauchen wir hier eine Ausnahme.
+
+ Als Alternative kann man die FHTID des zuständigen IODev-Gerätes
+ (anstelle des IODev selbst) setzen. Diese Methode ist nötig, wenn man
+ FHT8V über FHEM2FHEM betreibt.
+
+ Beispiel:
+
+
+
+
+
+ Set
+
+ - set <name> valve <Wert>
+ Öffnet das Ventil auf den angegebenen Wert (in Prozent, von 0 bis 100).
+
+ - set <name> pair
+ Verbindet das Ventil mit dem CUL.
+
+ - set <name> decalc
+ Startet einen Entkalkungslauf des angegebenen Ventils.
+
+
+
+
+
+ Get
+
+ - get <name> valve
+ Liest die Ventilöffnung aus dem FHT-Puffer des CUL und wandelt sie
+ in Prozent (von 0 bis 100) um.
+
+
+
+
+
+ Attributes
+
+
+
=end html
+
=cut
diff --git a/fhem/FHEM/90_at.pm b/fhem/FHEM/90_at.pm
index fe307e46f..40f6f5d6e 100755
--- a/fhem/FHEM/90_at.pm
+++ b/fhem/FHEM/90_at.pm
@@ -234,7 +234,7 @@ at_State($$$$)
at
- Start an arbitrary fhem.pl command at a later time.
+ Start an arbitrary FHEM command at a later time.
@@ -355,4 +355,139 @@ at_State($$$$)
=end html
+
+=begin html_DE
+
+
+at
+
+
+ Startet einen beliebigen FHEM Befehl zu einem späteren Zeitpunkt.
+
+
+
+ Define
+
+ define <name> at <timespec> <command>
+
+ <timespec>
Format: [+][*{N}]<timedet>
+
+ Das optionale +
zeigt, dass die Angabe relativ ist
+ (also zur jetzigen Zeit dazugezählt wird).
+
+ Das optionale *
zeigt, dass die Ausführung
+ wiederholt erfolgen soll.
+
+ Das optionale {N}
nach dem * bedeutet, dass der Befehl genau
+ N-mal wiederholt werden soll.
+
+ <timedet> ist entweder HH:MM, HH:MM:SS oder {perlfunc()}, wobei
+ perlfunc HH:MM or HH:MM:SS zurückgeben muss. Hinweis: {perlfunc()}
+ darf keine Leerzeichen enthalten.
+
+
+
+
+ Beispiele:
+
+ # Absolute Beispiele:
+ define a1 at 17:00:00 set lamp on # fhem Befehl
+ define a2 at 17:00:00 { Log 1, "Teatime" } # Perl Befehl
+ define a3 at 17:00:00 "/bin/echo "Teatime" > /dev/console" # shell Befehl
+ define a4 at *17:00:00 set lamp on # Jeden Tag
+
+ # Realtive Beispiele:
+ define a5 at +00:00:10 set lamp on # Einschalten in 10 Sekunden
+ define a6 at +00:00:02 set lamp on-for-timer 1 # Einmal blinken in 2 Sekunden
+ define a7 at +*{3}00:00:02 set lamp on-for-timer 1 # Blinke 3 mal
+
+ # Blinke 3 mal wenn piri einen Befehl sendet
+ define n1 notify piri:on.* define a8 at +*{3}00:00:02 set lamp on-for-timer 1
+
+ # Lampe von Sonnenuntergang bis 23:00 Uhr einschalten
+ define a9 at +*{sunset_rel()} set lamp on
+ define a10 at *23:00:00 set lamp off
+
+ # Elegantere Version, ebenfalls von Sonnenuntergang bis 23:00 Uhr
+ define a11 at +*{sunset_rel()} set lamp on-till 23:00
+
+ # Nur am Wochenende ausführen
+ define a12 at +*{sunset_rel()} { fhem("set lamp on-till 23:00") if($we) }
+
+ # Schalte lamp1 und lamp2 ein von 7:00 bis 10 Minuten nach Sonnenaufgang
+ define a13 at *07:00 set lamp1,lamp2 on-till {sunrise(+600)}
+
+ # Schalte lamp jeden Tag 2 Minuten nach Sonnenaufgang aus
+ define a14 at +{sunrise(+120)} set lamp on
+
+ # Schalte lamp1 zum Sonnenuntergang ein, aber nicht vor 18:00 und nicht nach 21:00
+ define a15 at *{sunset(0,"18:00","21:00")} set lamp1 on
+
+
+
+ Hinweise:
+
+ - wenn kein
*
angegeben wird, wird der Befehl nur einmal
+ ausgeführt und der entsprechende at
Eintrag danach
+ gelöscht. In diesem Fall wird der Befehl im Statefile gespeichert
+ (da er nicht statisch ist) und steht nicht im Config-File (siehe auch save).
+
+ - wenn die aktuelle Zeit größer ist als die angegebene Zeit,
+ dann wird der Befehl am folgenden Tag ausgeführt.
+
+ - Für noch komplexere Datums- und Zeitabläufe muss man den
+ Aufruf entweder per cron starten oder Datum/Zeit mit perl weiter
+ filtern. Siehe hierzu das letzte Beispiel und das Perl
+ special.
+
+
+
+
+
+
+
+ Set
+
+
+ Get
+
+
+ Attribute
+
+
+ - disable
+ Kann für at/watchdog/notify/FileLog Devices gesetzt werden.
+ Deaktiviert das entsprechende at/notify oder FileLog Device. Hinweis:
+ Wenn angewendet auf ein at, dann wird der Befehl
+ nicht ausgeführt, jedoch die nächste Ausführungszeit
+ berechnet.
+
+
+ - skip_next
+ Wird bei at Befehlen verwendet um die nächste Ausführung zu
+ überspringen
+
+
+ - alignTime
+ Nur für relative Definitionen: Stellt den Zeitpunkt der
+ Ausführung des Befehls so, dass er auch zur alignTime
+ ausgeführt wird. Dieses Argument ist ein timespec. Siehe oben
+ fü die Definition
+
+ Beispiel:
+
+ # Stelle sicher das es gongt wenn eine neue Stunde beginnt.
+ define at2 at +*01:00 set Chime on-for-timer 1
+ attr at2 alignTime 00:00
+
+
+
+
+
+
+
+
+=end html
+
=cut
diff --git a/fhem/FHEM/91_watchdog.pm b/fhem/FHEM/91_watchdog.pm
index 0541b3983..1ec300929 100755
--- a/fhem/FHEM/91_watchdog.pm
+++ b/fhem/FHEM/91_watchdog.pm
@@ -235,5 +235,104 @@ watchdog_Undef($$)
+=end html
+
+=begin html_DE
+
+
+watchdog
+
+
+
+
+ Define
+
+ define <name> watchdog <regexp1> <timespec>
+ <regexp2> <command>
+
+
+ Startet einen beliebigen fhem.pl Befehl wenn nach dem Empfang des
+ Ereignisses <regexp1> nicht innerhalb von <timespec> ein
+ <regexp2> Ereignis empfangen wird.
+
+ Der Syntax für <regexp1> und <regexp2> ist der gleiche wie
+ regexp für notify.
+
+ <timespec> ist HH:MM[:SS]
+
+ <command> ist ein gewöhnlicher fhem Befehl wie z.B. in at oderr notify
+
+
+ Beispiele:
+
+ # Frage Daten vom FHT80 _einmalig_ ab, wenn wir keine Nachricht für
+ # 15 Minuten erhalten haben.
+ define w watchdog FHT80 00:15:00 SAME set FHT80 date
+
+ # Frage Daten vom FHT80 jedes Mal ab, wenn keine Nachricht für
+ # 15 Minuten emfpangen wurde, d.h. reaktiviere den Watchdog nachdem er
+ getriggert wurde.
+
+ # Kann gefährlich sein, da er so in einer Schleife getriggert werden
+ kann.
+ define w watchdog FHT80 00:15:00 SAME set FHT80 date;; trigger w .
+
+ # Alarmiere einmalig wenn vom FHT80 für 15 Minuten keine Nachricht
+ # emfpangen wurde.
+ define w watchdog HMS100-FIT 01:00:00 SAME "alarm-fit.sh"
+
+ # Sende eine Mail wenn das Fenster offen gelassen wurde
+ define w watchdog contact1:open 00:15 contact1:closed "mail_me close
+ window1"
+ attr w regexp1WontReactivate
+
+
+ Hinweise:
+
+ - Wenn <regexp1> . (Punkt) ist, dann aktiviere den Watchdog zur
+ definierten Zeit. Sonst wird er durch den Empfang des ersten passenden
+ Events aktiviert.
+
+ - <regexp1> Resetet den Timer eines laufenden Watchdogs. Um das
+ zu verhindern wird das regexp1WontReactivate Attribut gesetzt.
+
+ - Wenn <regexp2> SAME ist , dann ist es das gleiche wie das erste
+ regexp, und wird reaktiviert wenn es empfangen wird.
+
+ - trigger <watchdogname> . aktiviert den Trigger wenn dessen
+ Status defined ist und setzt ihn in den Status defined wenn sein status
+ triggered ist.
+
+ Der Watchdog musst immer mit diesem Befehl reaktiviert werden wenn er
+ getriggert wurde.
+
+ - Ein generischer Watchdog (ein Watchdog, verantwortlich für
+ mehrere Devices) ist derzeit nicht möglich.
+
+
+
+
+
+
+
+ Set
+
+
+ Get
+
+
+ Attributes
+
+ - disable
+ - regexp1WontReactivate
+ Wenn ein Watchdog aktiv ist, wird ein zweites Ereignis das auf regexp1
+ passt normalerweise den Timer zurücksetzen. Dieses Attribut wird
+ das verhindern.
+
+
+
+
+
=end html
=cut