Plugins:Kalender

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche


Allgemeines

TuxCal ist ein Kalender, mit dem es möglich ist, Feiertage, Geburtstage, Termine und Zeiträume auf der DBox2 und auf der Dreambox zu verwalten. Die wichtigsten Feiertage sind fest im Programm integriert, es können jedoch auch regionale Feiertage eingefügt werden, die nicht fest eingebaut wurden. Der integrierte Daemon tuxcald erinnert auf Wunsch optisch und akustisch an die eingetragenen Events. Somit vergisst man keine wichtigen Termine und Geburtstage mehr. Außerdem kann auch noch eine Bildschirmuhr, frei positionierbar auf dem Bildschirm, angezeigt werden.

Das Programm besteht aus 2 Teilen:

  • dem Daemon tuxcald, welcher im Hintergrund läuft und die Uhr steuert und die Termine überwacht, und optisch und akustisch signalisiert.
  • dem Plugin tuxcal.so + tuxcal.cfg, das den Kalender anzeigt und in dem neue Events verwaltet werden können und das den Daemon steuert.

Außerdem wird noch eine Datendatei tuxcal.list verwendet. In ihr werden die Termine, Geburtstage, Zeiträume und frei definierbare Feiertage verwaltet.

Sobald der Daemon einen neuen Termin gefunden hat, wird eine optische und/oder akustische Benachrichtigung ausgelöst, um den Nutzer darüber zu informieren. Dies kann über ein Nachrichtenfenster erfolgen oder das Plugin kann gleich gestartet werden.

Um bei einer interessanten Sendung nicht gestört zu werden, kann die Abfrage über das Plugin angehalten und auch wieder gestartet werden. Sofern der Daemon aktiviert ist, werden beim Verlassen des Plugins, alle Feiertage, Geburtstage, Termine und Zeiträume innerhalb des konfigurierten Zeitraums signalisiert.


Installation

Folgende Dateien nach /var/tuxbox/plugins/ kopieren:

- tuxcal.cfg

- tuxcal.so

und folgende nach /var/bin/:

- tuxcald

Die Dateien tuxcal.so und tuxcald benötigen Ausführrechte (755).

Das Datenfile tuxcal.list kommt nach /var/tuxbox/config/tuxcal/.


Konfiguration

Damit der Daemon die Termine überprüfen kann, erzeugt er beim ersten Start die Konfigurationsdatei tuxcal.conf im Verzeichnis /var/tuxbox/config/tuxcal/, falls diese nicht existiert. Die Datei wird mit Standardwerten vorbelegt, die im Rahmen der Parametergrenzen geändert werden können. Hier können nun die gewünschen Angaben eingetragen, oder alternativ eine fertige Datei vom PC per FTP übertragen werden. Damit diese Datei erzeugt wird, muss das Plugin gestartet werden und der Autostart aktiviert werden, danach die Box neu starten.


Die Datei tuxcal.conf hat folgenden Aufbau:

Eintrag Bedeutung mögliche Werte Standard
STARTDELAY Wartezeit bis der Daemon mit der ersten Abfrage beginnt
(die GUI benötigt einige Zeit zum starten)
15...60 30
INTERVALL Abstand zwischen den Abfragen, bzw. Aktualisierung der Uhr in Sekunden 0...60 1
LOGGING loggen bestimmter Ausgaben des Daemon Y / N Y
AUDIO aktustische Signalisierung: (Benutzerdefinierte 12/24/48KHz PCM Wave-Dateien können unter
/var/tuxbox/config/tuxcal/tuxcal_birthday.wav, tuxcal_event.wav und tuxcal_timer.wav abgelegt werden.)
Y / N Y
VIDEO optische Signalisierung
(Message: muss per Fernbedienung bestätigt werden)
(Popup: wird nach einiger Zeit automatisch geschlossen)
1 = Plugin starten
2 = Enigma Popup
3 = Neutrino Message
4 = Neutrino Popup
5 = keine Signalisierung
1
SIGNAL 1: Termine nur von heute, 2: Termine von heute und morgen, 3: Termin bis 2 Tage voraus 1...3 1
SIGMODE 0: nur Termine und Geburtstage signalisieren, 1: auch Zeitspannen, 2: 0 + Feiertage, 3: alles 0...3 0
OSD TV-Ausgaben in Deutsch oder Englisch G / E G
SKIN Farbpalette wählen (1=blau, 2=grau) 1...3 1
WEBPORT Port des Webinterface der dbox 1 - 65535 80
WEBUSER Benutzername für das Webinterface der dbox Text ohne Leerzeichen von bis zu 32 Zeichen leer
WEBPASS Passwort für das Webinterface der dbox Text ohne Leerzeichen von bis zu 32 Zeichen leer
POS_X Position für die Bildschirmuhr horizontal(sinnvoll ca. 40 - 550) 0 - 720 500
POS_Y Position für die Bildschirmuhr vertikal(sinnvoll ca. 10 - 500) 0 - 540 30
DATE Bildschirmuhr Anzeige Datum Y / N N
CLOCK Bildschirmuhr Anzeige Uhrzeit Y / N Y
SEC Bildschirmuhr Anzeige der Sekunden Y / N Y
SIZE Bildschirmuhr Grösse der Anzeige (S)mall, (N)ormal oder (B)ig S / N / B S
COLOR Bildschirmuhr Schriftfarbe: 0 Transparent, 1: schwarz, 2: weiss
die direkte Angabe (ausser 0,1,2 funktioniert aber nur wenn DETECT = N)
0-255 1
BACK Bildschirmuhr Hintergrundfarbe: 0 Transparent, 1: schwarz, 2: weiss
die direkte Angabe (ausser 0,1,2 funktioniert aber nur wenn DETECT = N)
0-255 1
DETECT Bildschirmuhr Versuch der Erkennung der gewählten Farbe aus der bestehenden Palette 0 / 1 1
MAIL Bildschirmuhr Anzeige von mit Tuxmail empfangener, ungelesener Mails Y / N Y

"WEBUSER" und "WEBPASS" können leer gelassen werden, wenn das Webinterface keine Authorisation erfordert.


Konfigurationsbeispiel "tuxcal.conf"

STARTDELAY=40
INTERVALL=1
LOGGING=Y
AUDIO=Y
VIDEO=3
SIGNAL=3
SIGMODE=0

OSD=G

SKIN=1

WEBPORT=80
WEBUSER=#
WEBPASS=#

POS_X=75
POS_Y=20
DATE=N
CLOCK=Y
SEC=Y
SIZE=S
COLOR=2
BACK=0
DETECT=1
MAIL=Y
 


Datendatei tuxcal.list

Die Datendatei tuxcal.list ist eigentlich selbsterklärend:

das Format ist wie folgt: <Art>;<Datum bzw. Zeitraum>;<Text> z.B.:

Beispiel für frei definierte Feiertage:

f;26.10.;Nationalfeiertag Österreich;

Beispiele für Zeiträume:

z;10.02.-21.02.;Winterferien;
z;18.04.-25.04.;Osterferien;

Beispiele für Geburtstage:

g;29.05.;Freundin;
g;25.04.1911;Oma;
 

Beispiele für Termine:

t;23.05.;Hochzeitstag!!!;
t;03.12.2006;Freundin Blumen schenken!;
t;23.02.2006 14:45;Zahnarzt;

Abkürzungen:

f = Feiertag
z = Zeitraum
g = Geburtstag
t = Termin

Die Datendatei tuxcal.list kann entweder mit einem Unix-Editor auf dem PC erstellt werden und dann per FTP auf die Box nach /var/tuxbox/config/tuxcal/ kopiert werden. Oder sie kann direkt mit dem integrierten Termin-Editor auf der Box erstellt und bearbeitet werden.


Optische Signalisierung


Stop hand.png An dieser Stelle muss noch Text rein.
TuxCal16.png TuxCal17.png TuxCal15.png


Akustische Signalisierung durch Sounddateien

Für die akustische Signalisierung können noch spezielle benutzerdefinierte 12/24/48KHz PCM WAV-Dateien unter /var/tuxbox/config/tuxcal/

- tuxcal_birthday.wav, für die akustische Benachrichtigung bei Geburtstagen.

- tuxcal_timer.wav, für die akustische Benachrichtigung bei Terminen, die genau auf die Minute signalisiert werden sollen. Dazu ist es notwendig, eine Uhrzeit einzutragen.

- tuxcal_event.wav, für die akustische Benachrichtigung bei den restlichen Ereignissen.


Erstellung der Sounddateien

Die Box spielt nur Sounddateien in einem speziellen Format ab. Die PCM WAV-Dateien solltet ihr mit dem Audiorecorder unter Windows in 8 oder 16 Bit Mono, 12, 24, oder 48 KHz umwandeln. Stereo geht auch, die Dateien werden dann aber entsprechend größer. Ich empfehle deswegen 8 Bit Mono, 12 KHz. Dann noch mit einem Hex-Editor vor der Zeichenfolge data am Anfang der WAV-Datei aus dem Dateiheader 14 Bytes rauslöschen. Ich benutze dazu Ultraedit. Die Dateien laufen dann aber nicht mehr mit dem Windows-Mediaplayer, dafür auf der Box.


Bedienung

Zum Starten des Plugins [BLAU] drücken und dann den Eintrag "Kalender" wählen.

Das Plugin zeigt nun den Kalender an.

Tuxcal01.png


Das Plugin kann sowohl mit der Fernbedienung, als auch mit der IR-Tastatur bedient werden.

Die Zeile kann mit [HOCH] und [RUNTER] gewechselt werden, die Spalte [RECHTS] und [LINKS]. Mit [+] [-] bzw. [Bild Hoch] [Bild runter] kann das nächste bzw. vorhergehende Monat angezeigt werden. [DBOX] bzw. [Num] springt auf das aktuelle Datum.

Durch Druck auf [OK] bzw. [Enter] werden die Einträge des aktuellen Tages angezeigt. Man kann hier ebenfalls mit den vorher beschriebenen Tasten navigieren.

TuxCal02.png


Durch Betätigen von [Gelb] bzw. [F3]kann man einen neuen Termin einfügen, nach Bestätigung mit [OK] bzw [Enter] wird dieser eingefügt, [Home] bzw. [Esc] oder [Pos1] verlässt das Fenster, ohne den Eintrag zu einzufügen. Wird ein Eintrag eingefügt, so springt der Cursor jetzt auf den eingefügten Termin unten in Fenster. Hier kann noch bei mehreren Einträgen mit [HOCH] und [RUNTER]der gewünschte Eintrag gewechselt werden.

Durch Betätigen von [Blau] bzw. [F4] gelangt man in den Termin-Editor.

Durch Betätigen von [Rot] bzw. [F1] kann man Einträge nach einer Bestätigung durch [OK] oder [Enter] löschen, [Home] bzw. [Esc] oder [Pos1] verlässt das Fenster, ohne den Eintrag zu löschen.

Durch Betätigen von [Grün] bzw. [F2] gelangt man in den Markieren-Modus, wo bei mehreren Einträgen mit [HOCH] und [RUNTER]der gewünschte Eintrag gewechselt werden kann.

TuxCal03.png


Termin-Editor


Stop hand.png An dieser Stelle muss noch Text rein.
TuxCal04.png TuxCal12.png TuxCal13.png TuxCal14.png


Versionsnummern anzeigen

Zur Fehlereingrenzung ist die genutzte Version von Daemon und Plugin wichtig. Diese kann durch drücken von [?] bzw. [Pause] ermittelt werden.

TuxCal05.png


Autostart festlegen

Über das Plugin kann auch der Start des Daemon kontrolliert werden. Ein Druck auf [STANDBY] aktiviert den Autostart, ein weiterer deaktiviert diesen wieder.


TuxCal06.png TuxCal07.png

Vom Plugin wird dabei unter /var/etc/ die Datei .tuxcald angelegt oder gelöscht. Eine vorhandene .tuxcald bedeutet das der Autostart aktiviert ist. Allerdings muss dies vom Initscript der DBox2 oder dem Startscript der jeweiligen GUI (start_enigma, start_neutrino, start_lcars) ausgewertet werden.


Scriptbeispiel um Daemon über das Startscript der Box automatisch zu starten

Ohne einen aktiven Daemon tuxcald findet keine Abfragen statt und die Bildschirmuhr wird auch nicht angezeigt. Der Autostart muss vom Nutzer also erst einmal aktiviert werden, da er standardmäßig deaktiviert ist. Bei jedem Start der DBox2 bzw. GUI wird er danach automatisch gestartet.

if [ -e /var/etc/.tuxcald ]; then
   if [ -e /var/bin/tuxcald ]; then
	/var/bin/tuxcald &
   else 
	/bin/tuxcald &
   fi
fi
 


Plugin verlassen

Das Plugin kann mittels [Home] bzw. [Esc] oder [Pos1] beendet werden. Die Einträge in der tuxcal.list werden beim Verlassen des Plugins bei aktivem Daemon tuxcald sofort geprüft, und alle aktuellen Termine optisch und akustisch signalisiert.


Abfrage steuern

Normalerweise wird der Daemon beim Start der Box automatisch gestartet und überwacht die Termine. Die Abfrage kann auch mit [MUTE] gesteuert werden, z.B. wenn man eine Sendung ungestört ansehen oder eine manuelle Prüfung auslösen möchte. Ein Druck schaltet die Abfrage aus, ein weiterer wieder ein. Dabei wird auch die Bildschirmuhr aus- bzw. eingeschaltet. Die Einträge werden beim Verlassen des Plugins sofort geprüft, und alle aktuellen Termine bei aktiviertem Daemon optisch und akustisch signalisiert.

TuxCal08.png TuxCal09.png

Signalisierung nach Start aus dem Standby

Um die Abfrage gleich nach dem Aufwachen aus dem Standby zu aktivieren, kann unter Enigma das Script /var/etc/enigma_leave_standby.sh sowie unter Neutrino das Script /var/tuxbox/config/standby.off mit dem Inhalt

if [ -e /tmp/tuxcald.pid ]; then kill -hup $(cat /tmp/tuxcald.pid); fi

angelegt werden.


Abfragen während Movieplayer und Audioplayer deaktivieren

Um beim Abspielen von Filmen im Movieplayer oder MP3's im Audioplayer nicht gestört zu werden, besteht die Möglichkeit den Daemon während der Wiedergabe vorübergehend abzuschalten, und nach dem Beenden automatisch wieder zu aktivieren. Das Ausschalten von tuxcald erfolgt über die Scripte /var/tuxbox/config/movieplayer.start bzw. /var/tuxbox/config/audioplayer.start. Dort muß folgender Code eingefügt werden:

if [ -e /tmp/tuxcald.pid ]; then kill -usr2 $(cat /tmp/tuxcald.pid); fi

Um den Daemon tuxcald nach dem Beenden von Movie- bzw. Audioplayer wieder zu reaktivieren, ist in den Scripten /var/tuxbox/config/movieplayer.end bzw. /var/tuxbox/config/audioplayer.end folgender Code einzufügen:

if [ -e /tmp/tuxcald.pid ]; then kill -usr1 $(cat /tmp/tuxcald.pid); fi

Bitte beachten, dass dabei auch Termine, die uhrzeitgesteuert angezeigt werden sollen, erst nach dem Beenden von Movie- bzw. Audioplayer angezeigt werden. Somit besteht das Risiko, einen wichtigen Termin zu verpassen.


Kommandozeile

Der Daemon tuxcald kann auch von der Kommandozeile aus gestartet bzw. kontrolliert werden. Folgende Startparameter sind derzeit möglich:

  • -nodelay : die Einträge in tuxcal.list werden sofort nach dem Start abgefragt und das festgelegte STARTDELAY übergangen.
  • -syslog : die Informationen werden nicht auf die Konsole ausgegeben, sondern an einen Syslog-Server gesendet.
  • -play <audio-Datei> : die angegebene Audio-Datei wird gespielt, der Daemon wird nicht gestartet.
  • -v : die Versionsnummer von tuxcald wird angezeigt. Der Daemon wird nicht gestartet.

Um alle Ausgaben des Daemons auf seinen PC umzuleiten muss auf der Box mittels

syslogd -R <IP-Adresse>

des PC das Logging aktiviert werden. Auf dem PC muss natürlich ein Syslog-Server installiert sein, welcher die Ausgaben entgegen nimmt. Zur lokalen Speicherung auf der Box genügt ein syslogd ohne Parameter. Die Ausgaben werden so unter /var/log/messages gespeichert. Alternativ kann durch syslogd -O <Pfad der Logdatei> auch ein anderer Pfad eingestellt werden.

Sobald der Daemon läuft kann er über Signale an seine PID gesteuert werden. Die PID kann auf 2 Arten ermittelt werden:

  • verwenden des Befehls ps | grep tuxmcald oder pidof tuxcald und nutzen der kleinsten aufgelisteten PID
  • auslesen aus der Datei /tmp/tuxcald.pid z.B. mit cat /tmp/tuxcald.pid

Damit kann nun die Konfiguration aktualisiert, die Kontenabfrage gesteuert oder der Daemon sauber beendet werden.


Konfiguration aktualisieren

Falls zur Laufzeit die Konfiguration geändert wurde, kann der Daemon die neue Konfiguration einlesen, ohne hierfür extra beendet und neugestartet zu werden:

kill -HUP <PID> bzw. kill -1 <PID>


Abfrage steuern

Die Abfrage kann ebenfalls unterbrochen und wieder gestartet werden, ohne den Daemon zu beenden.

kill -USR1 <PID> bzw. kill -10 <PID> startet die Abfrage,
kill -USR2 <PID> stoppt die Abfrage,


Daemon beenden

Ein sauberes Beenden erfolgt mit diesem Befehl:

kill -TERM <PID> bzw. kill -15 <PID> oder einfach mit kill <PID>


Scriptbeispiel zum Daemon beenden

kill -term $(cat /tmp/tuxcald.pid)


Bildschirmuhr

Ist der Daemon tuxcald aktiviert, und die Konfigurationsdatei tuxcal.conf wurde entsprechend konfiguriert, wird an der definierten Stelle eine Digitaluhr auf dem Bildschirm eingeblendet. Wenn der Parameter MAIL=Y eingestellt ist, werden bei neu eingegangenen Mails im Email-Plugin, links von der Uhrzeit abwechselnd die Zahl der eingegangenen Mails und ein Briefsymbol angezeigt. Diese Anzeige bleibt solange aktiviert, bis man das Email-Plugin aufruft. Diese Information wird aus der Datei tuxmail.new in /tmp/ ausgelesen.

TuxCal10.png TuxCal11.png


Links

Das neue TuxCal-Plugin befindet sich noch in der experimentellen Phase. Es wurde jedoch bereits ins CVS eingepflegt. Im aktuellen Jack-the-Grabber-Snapshot ist es bereits eingebaut worden. Wer ein anderes Image benutzt, und nicht darauf warten will, kann es aktuell (16.02.2006) unter folgendem Link im Jack-The-Grabber-Forum herunterladen.

Download: http://www.jackthegrabber.de/viewtopic.php?t=6126
Diskussion: http://www.jackthegrabber.de/viewtopic.php?t=6126

Bitte beachten, dass man sich im Jack-the-Grabber-Forum registrieren und einloggen muss, um die Downloadlinks zu sehen.

Registrierung: http://www.jackthegrabber.de/



Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.