Geschrieben von: Winfried Köhler
Projekt Internet Seite: wirbel.htpc-forum.de
Aktuelle Version: wirbel.htpc-forum.de/exec/index2.html
Beschreibung: führt zeitgesteuert Shell Kommandos innerhalb VDR aus.
Lizenz: GPL
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
See the file COPYING for more information.
0. Einführung
Dieses Plugin führt Kommandos zu einer gegebenen Zeit aus (ähnlich den Timern wie von VDR bekannt).
Diese Timer werden per SVDRP (oder über das exec Timer Menü) programmiert und können Shell Kommandos ausführen oder Messages in das VDR OSD einblenden.
Abgelaufene Timer (solche deren Startzeit bereits in der Vergangenheit liegt und die "single-shot" Timer sind) werden anschließend gelöscht.
1. SVDRP Befehle
Alle Beispiele hier nutzen das Perl Script svdrpsend.pl aus dem VDR Quellcode. Alternativ können auch andere Scripte/Programme für diesen Zweck benutzt werden, z.B. kann auch die BASH Shell direkt benutzt werden oder telnet, netcat..
1.1. NEWT (New Timer)
______________________________________________________________________
NEWT {DATE}:{TIME}:{TIMEOUT}:{ACTIVE}:{ACTION}:{WAKEUP}:{DETACH}:{EXECSTRING}
Format Beschreibung:
Hinweis: alle anderen Nummern reserviert für später.
Hinweise:
Dieses Beispiel programmiert
______________________________________________________________________
DELT {INDEX}
Index läuft von 0 (erster Timer) bis Anzahl-1 (letzter Timer).
Dieses Beispiel löscht den sechsten Timer in der Timer Liste, siehe Kommando LSTT:
______________________________________________________________________
RUNT {INDEX}
Index läuft von 0 (erster Timer) bis Anzahl-1 (letzter Timer).
Dieses Beispiel startet den vierten Timer in der Timer Liste, siehe Kommando LSTT:
______________________________________________________________________
LSTT
Beispiel
______________________________________________________________________
CLRT
Beispiel
______________________________________________________________________
NACT
Beispiel
______________________________________________________________________
NWUT
Beispiel
2. Zusätzliche Dateien
Dieses Plugin speichert seine Timer in $CONFIGDIR/plugins/exectimers.conf, wobei $CONFIGDIR z.B. /etc/vdr ist. Die Logdatei wird in /var/log/exec.log gespeichert.
Diese Datei wird automatisch generiert und ohne jegliche Warning überschrieben. Das Format dieser Datei entspricht exakt dem Kapitel SVDRP Kommandos - NEWT.
3. Wichtige Hinweise
===========================WARNUNG!!!============================================
DU MUSST ENTWEDER DIE PERMISSIONS ODER DIE LOGINS AUF DEINEN VDR COMPUTER EINSCHRÄNKEN.
=================================================================================
have phun..
wirbel (see you at vdr-portal.de)
BITTE LEST DIESE KOMPLETTE HILFE DATEI BEVOR IHR DIESES PLUGIN BENUTZT.
Das SVDRP Kommando NEWT programmiert einen neuen Timer. Die Syntax ist
{DATE}:
{TIME}:
Genau 10 Zeichen insgesamt.
Genau 5 Zeichen insgesamt.
Genau 2 Zeichen insgesamt.
MTWTFSS täglich
MTWTF-- jeden Tag, außer Wochenende
-----SS nur Wochenende
--W---- Mittwochs
usw. ;)
Hinweis: Erster Tag ist Montag, letzter Tag ist Sonntag.
{TIMEOUT}:
Hinweis: für wiederholte Timer wird -1 NICHT akzeptiert.
{ACTIVE}: Timer aktiv
{ACTION}:
nicht aktiv
aktiv
{WAKEUP}: (siehe VDRs INSTALL Datei, Kapitel "Automatic shutdown")
run shell command
shutdown computer durch VDR. Hinweis: {EXECSTRING} muss in dem Fall "SHUTDOWN" sein.
show message in VDR's OSD
show warning in VDR's OSD
{DETACH}: detach shell process, siehe vdr/thread.h. Nur für Shell Kommandos.
Computer nicht aufwachen für diesen Timer.
Hinweis: Falls der Computer zum Zeitpunkt des Timers nicht läuft, wird der Timer NICHT ausgeführt!
Computer aufwachen für diesen Timer.
{EXECSTRING}:
Ein String mit 1 .. 255 Zeichen, der
no detach (default)
detach
1.2. DELT (Delete Timer)
repräsentiert.
-bash-3.00# svdrpsend.pl plug exec NEWT 2007-12-24:1730:0:1:1:0:0:"play Chrismas_Song"
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 16:29:34 2007
250 new timer accepted.
221 TopLap closing connection
Das SVDRP Kommando DELT löscht einen Timer mit angegebenem Index. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec DELT 5
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:25:08 2007
250 timer deleted
221 TopLap closing connection
1.3. RUNT (Run Timer)
Das SVDRP Kommando RUNT führt einen Timer mit angegebenem Index jetzt aus. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec RUNT 3
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:25:08 2007
250 timer started
221 TopLap closing connection
1.4. LSTT (List Timers)
Das SVDRP Kommando LSTT listet alle Timer auf. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec LSTT
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 16:32:14 2007
250 2007-12-24:1730:0:1:1:0:0:play Chrismas_Song
221 TopLap closing connection
1.5. CLRT (Clear Timers)
Das SVDRP Kommando CLRT löscht alle Timer. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec CLRT
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:26:24 2007
250 list cleared
221 TopLap closing connection
1.6. NACT (Next ACtive Timer)
Das SVDRP Kommando NACT gibt den nächsten aktiven Timer zurück. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec NACT
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:29:17 2007
250 next active timer 2007-12-24:1730:0:1:1:0:0:play Chrismas_Song
221 TopLap closing connection
1.7. NWUT (Next WakeUp Timer)
Das SVDRP Kommando NWUT gibt den nächsten Timer zurück der den Computer aufweckt. Die Syntax ist
-bash-3.00# svdrpsend.pl plug exec NWUT
220 TopLap SVDRP VideoDiskRecorder 1.5.9; Sun Sep 23 17:29:17 2007
250 next wakeup timer 2007-09-23:1900:0:1:1:1:0:update_dvb_driver.sh
221 TopLap closing connection
JEDER NUTZER DER DIE MÖGLICHKEIT HAT EXEC TIMER ZU PROGRAMMIEREN KANN SO KOMMANDOS ÜBER DIESES PLUGIN MIT
DEN RECHTEN DEINES VDR AUSFÜHREN!!