Plugins:Kalender
Inhaltsverzeichnis
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 |
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.
Signalisierung
Die Signalisierung von Terminen ohne Uhrzeit, wird ohne weitere Maßnahmen, automatisch nur beim Start der Box aus dem Deep-Standby ausgeführt. Es besteht jedoch die Möglichkeit durch Einfügen von Befehlen in die Datei standby.off die Signalisierung auch beim Starten der Box aus dem Standby auszuführen. Des weiteren gibt es noch Möglichkeiten die Signalisierung auch beim Beenden des Movie- bzw. Audio-Players auszuführen. Auch das Abschalten der Signalisierung während einer Aufnahme über die Dateien recording.start und recording.end ist möglich, was vor allem für die Benutzer eines Videorecorders oder DVD-Recorders am Scart-Eingang wichtig ist. Außerdem werden alle aktuellen Termine beim Verlassen des Tuxcal-Plugins optisch und/oder akustisch angezeigt.
Optische Signalisierung
Bei der optischen Signalisierung über Popup- oder Message-Fenster werden alle aktuellen Termine abhängig von den Einstellungen in der Datei tuxcal.list angezeigt. Passen die Termine nicht auf ein Fenster, so taucht rechts im Fenster ein Scrollbalken auf. Mit [Runter] bzw. [Hoch]kann dann das nächste bzw. vorherige Fenster anzeigen. [Home] bzw. [Ok] schließt dieses Fenster. Es wird emmpfohlen in den Einstellungen für Neutrino beim Parameter VIDEO=4 einzustellen, da bei einem Popup die Anzeige zu schnell wieder verschwindet, bevor man sie lesen kann.
Wird bei einem Termin die Uhrzeit mit eingetragen, so wird nur dieser Termin zur eingestellten Uhrzeit angezeigt. Man beachte die Bildschirmuhr und die Uhrzeit des Termins. Die Signalisierung erfolgt wirklich genau auf die Sekunde.
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. Der folgende Code muss entweder in die start_neutrino oder in die rc.S bzw. rcS.local eingetragen werden. Bei Enigma kommt dieser Code in die start_enigma.
if [ -e /var/etc/.tuxcald ]; then if [ -e /var/bin/tuxcald ]; then /var/bin/tuxcald & else /bin/tuxcald & fi fi
Bitte beachten, dass die Eintragung unbedingt mit einem UNIX-Editor (vi, Ultaedit, Crimson-Editor) gemacht werden muss, und dass die Datei auch im UNIX-Format abgespeichert wird. Sonst startet die Box nicht mehr. Falls das doch einmal passiert, besteht jedoch kein Grund zur Panik. Man kann nämlich immer noch per FTP oder Telnet auf die Box zugreifen. Per FTP einfach die betreffende Datei nochmal von der Box herunterladen und im UNIX-Format abspeichern. Dann wieder auf die Box laden und diese neu starten. Per Telnet kann man sich unter Windows auf der Box einloggen mit [Start] [Ausführen], dann eingeben telnet <DBOXIP> wobei <DBOXIP> durch die IP-Adresse der Dbox zu ersetzen ist. Dann sollte ein Fenster auftauchen in dem login drinsteht. Bei
login root passwd dbox2
Beim YADI Image braucht man das Passwort nicht. Dann folgenden Befehl eingeben (dies bezieht sich jetzt auf eine fehlerhafte start_neutrino, die in /var/tuxbox/ liegt wie beim Jack-the-Grabber-Image. Andere Speicherorte und Dateien im Pfad anpassen):
dos2unix /var/tuxbox/start_neutrino
Mit diesem Befehl wird die Datei vom DOS- ins UNIX-Format umgewandelt, womit die Box auch wieder klarkommt. Dann die Box neu starten.
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.
Signalisierung 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.
Signalisierung während Aufnahme deaktivieren
Um beim Aufnehmen von Filmen nicht gestört zu werden, besteht die Möglichkeit den Daemon während der Aufnahme vorübergehend abzuschalten, und nach dem Beenden automatisch wieder zu aktivieren. Das Ausschalten von tuxcald erfolgt über das Script /var/tuxbox/config/recording.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 der Aufnahme wieder zu reaktivieren, ist im Script /var/tuxbox/config/recording.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 der Aufnahme angezeigt werden. Somit besteht das Risiko, einen wichtigen Termin zu verpassen.
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.
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.
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.
Termin-Editor
An dieser Stelle muss noch Text rein.
Versionsnummern anzeigen
Zur Fehlereingrenzung ist die genutzte Version von Daemon und Plugin wichtig. Diese kann durch drücken von [?] bzw. [Pause] ermittelt werden.
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.
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.
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.
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.
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/
Grundlagen - Installation - Debug-Mode - Hardware - CDK/Development
LCars - Neutrino - Enigma - Plugins - Spiele - Software - Tools - Howto - FAQ - Images
Hauptseite - News - Alle Artikel - Bewertungen - Gewünschte Seiten - Index - Neue Artikel - Impressum - Team
Hilfeportal - Seite bearbeiten - Bilder - Links - Tabellen - Textgestaltung