LCD-EPG-Plugin
==============

Autor:      rich
            readme.txt by DrStoned, modifiziert by rich
Datum:      15.08.2006
Version:    0.7a

Dieses Plugin ist eine Scriptlsung fr die immer einmal wieder angefragte 
Mglichkeit zur Anzeige des EPG-Titels im LCD-Display der D-Box. 
Inzwischen wurde auch noch eine Emailanzeige eingebaut.
Im Radiomodus besteht die Mglichkeit einzelne Zeilen des Premiere Radio EPG's 
anzuzeigen, z.B. oben der Interpret, darunter der Titel des Lieds das gerade
luft.

Vorraussetzungen:
-----------------
In der 'busybox' des Images mssen die Befehle 'cut' und 'sed' enthalten sein.
Dieses ist beim aktuellen JtG-Image aber der Fall.

Benutzer von YADI-Images knnen den fehlenden sed-Befehl durch die Installation 
der "Busybox-Enhanced" nachrsten. Zu finden unter: 

http://www.jackthegrabber.de/viewtopic.php?t=9190

Achtung! Wichtig ist noch, dass im Image auch das getrc-Plugin installiert ist.
--------------------------------------------------------------------------------------------

Das getrc-Plugin fragt die Tastendrcke der Fernbedienung ab, und dient zur 
Steuerung des LCD-EPG-Plugins. Es ist in diesem Archiv enthalten, auch die 
readme.txt dieses Tools wurde beigefgt. 
Vielen Dank an SnowHead vom New-Tuxwetter-Team fr die Erstellung von getrc.

Installation:
-------------
Fr die Installation einfach die Dateien wie unten beschrieben per FTP in die 
entsprechenden Verzeichnisse kopieren und die Rechte setzen. 
Dabei unbedingt darauf achten, dass im FTP-Programm als bertragungsmodus Binr 
eingestellt ist!!!


Datei               Speicherort             Rechte
--------------------------------------------------

getrc               /var/bin/               755
lcd_epg.sh          /var/plugins/           755
lcd_epg.conf        /var/tuxbox/config/     644 (wird automatisch angelegt)

Shellstarter fr das Features-Men (blaue Taste) optional

lcd_epg.so          /var/tuxbox/plugins/    755
lcd_epg.cfg         /var/tuxbox/plugins/    644
lcd_epg             /var/tuxbox/plugins/    755

Scripts um das Plugin bei bestimmten Ereignissen zu starten oder zu 
beenden, Falls diese schon existieren, nur die Inhalte ohne die Zeile
#!/bin/sh einfgen.

recording.start     /var/tuxbox/config/     755
recording.end       /var/tuxbox/config/     755
recording.timer     /var/tuxbox/config/     755
pictureviewer.start /var/tuxbox/config/     755
pictureviewer.end   /var/tuxbox/config/     755


Funktionen:
-----------

Beim ersten Start des Plugins wird die Config-Datei 
/var/tuxbox/config/lcd_epg.conf automatisch angelegt. 
Danach kann diese nach belieben mit einem UNIX-Editor ensprechend 
angepasst werden. 
Die vernderten Werte werden erst nach einem Neustart des Plugins aktiv.


LCD_ANSICHT=1                       - Auswahl zwischen der Ansicht 1, 2 oder 3
RADIO_EPG_ON=0                      - Nummer der EPG-Zeile (z.B. Premiere: Zeile 3), die im Radio-Mode als Standard angezeigt werden soll (0-10)
SLEEP_INPUT=ON                      - bei ON wird whrend der FB-Eingabe das Display fr Neutrino freigegeben
SLEEP_STANDBY=ON                    - bei OFF bleibt im Standby die Anzeige des Plugins aktiv
SLEEP_REC=ON                        - bei ON schaltet sich das Plugin im Aufnahme-Mode in den Hintergrund
SLEEP_MAIL=1                        - bei 0 - E-Mailberwachung aus, 1 - berwachung im TV- und Radio-Mode aktiv, 2 - berwachung stndig aktiv
SLEEP_TIMEOUT=7                     - Timeout in Sekunden nachdem der Zustand der Box im Sleep-Mode erneut geprft wird
INPUT_TIMEOUT=2500                  - Timeout in Millisekunden nachdem das Plugin nach einer FB-Eingabe das Display aktualisiert
GETRC=/var/bin/getrc                - Speicherort des getrc-Plugins

### Experten-Config ###
CHANNEL_FONT=1                      - Fontdatei, welche die Kanalanzeige anzeigt
CHANNEL_SIZE=12                     - Schriftgre der Kanalanzeige
EPG_FONT=0                          - Fontdatei, welche die EPG-Info anzeigt
EPG_SIZE=11                         - Schriftgre der EPG-Info
EPG_ZEICHEN=19                      - Lnge der Zeichenkette in der EPG-Info 
UHR_FONT=1                          - Fontdatei, welche die Uhr anzeigt
UHR_SIZE=13                         - Schriftgre der Uhr-Anzeige
UHR_POS=84                          - Position der Uhr
BLAU_FONT=2                         - Fontdatei, welche die Info 'ausblenden[BLAU]' in der E-Mail-Anzeige ausgibt
BLAU_SIZE=12                        - Schriftgre der Info 'ausblenden[BLAU]'
RADIO_TXT_DEL_1="^Interpret: *"     - Text, der in der 1. Zeile des Radio-EPG ausgeblendet werden soll
RADIO_TXT_DEL_2="^Titel: *"         - Text, der in der 2. Zeile des Radio-EPG ausgeblendet werden soll

LCD_ANSICHT=1 - 3-zeilige Ansicht mit Sendungsfortschrittsbalken unten
LCD_ANSICHT=2 - 2-zeilige Ansicht mit Sendungsfortschrittsbalken unten
                und Neutrino-Logo oben
LCD_ANSICHT=3 - 2-zeilige Ansicht mit Sendungsfortschhrittbalken oben
                und Lautstrkebalken unten

Der Wert SLEEP_TIMEOUT=7 kann auch auf 0 gesetzt werten. 
Dadurch wird das Plugin im Sleep-Mode ohne FB-Aktivitt komplett inaktiv. 
Dies hat den Vorteil, dass bei der Aufnahme oder im Movieplayer keine CPU-Last
erzeugt wird, aber auch den Nachteil, dass das Plugin nur durch eine FB-Eingabe 
wieder aufwacht, d.h. die Uhrzeitanzeige und der Sendungsfortschrittsbalken 
werden nicht aktualisiert bzw. die Neutrino Anzeige bleibt aktiv.

Ab der Version 0.7 ist nun die noch ausstehend Einstellbarkeit des unerwnschten 
Textes im Radio-EPG Modus (Zeile 2-10) hinzugekommen. Um zum Beispiel den Text
 'Interpret:' oder 'Titel:' auszublenden ist es notwendig, in die Datei 
 lcd_epg.conf die folgenden Werte einzutragen. Der Suchtext muss in " 
 eingeschlossen werden.
  
RADIO_TXT_DEL_1="^Interpret: *"
RADIO_TXT_DEL_2="^Titel: *" 


Der Wert 'RADIO_TXT_DEL_1' hat Auswirkung auf die erste Zeile im Display 
(Interpret, siehe Infobar) und der Wert 'RADIO_TXT_DEL_2' auf den Text aus 
'Info zur Sendung' (z.B. Titel, siehe [ROT][GELB]).
I#n dem eingestellten Suchtext darf kein " / oder `(Backticks) enthalten sein. 
Der Punkt (.) wird als Platzhalter fr ein beliebiges Zeichen, * als mehrfaches 
oder kein Vorkommen des vorangehenden Zeichens und ^ als Zeichen fr den 
Zeilenanfang verwendet. Umlaute und alle sonstigen im ASCII-Code nicht 
enthaltenen Zeichen werden automatisch als ein beliebiges Zeichen interpretiert.

Bedienung:
----------

Bei aktivierter Mailanzeige bleibt diese solange im LCD sichtbar, bis die 
blaue Taste gedrckt wird. 
In dieser neuen Version ist es im Radio-Mode mglich, einzelne Informationszeilen 
aus der EPG-Info, die man mit (Rot > Gelb) auf dem Bildschirm angezeigt bekommt, 
abzufragen und auf dem Display anzuzeigen. 
Getestet wurde dies mit den Radiokanlen von Premiere. 
Die einzelnen Zeilen kann man durch wiederholtes Drcken der gelben Taste 
auswhlen. Es wird dann eine Zeilennummer angezeigt, die man durch Drcken 
der gelben Taste weiterschalten kann.
Es sind die Zeilen 1-10 mglich, bei 'aus' wird der Titel aus der Infobar 
angezeigt. Wird jetzt beispielsweise die Anzeige Zeile 3 aktiviert, so steht 
in der obersten Zeile immer der Interpret, und in den folgenden der Titel des 
Lieds, das gerade luft. Die Zeilennummer die im Radiomodus als Standard 
angezeigt werden soll, kann in der lcd_epg.conf eingetragen werden.

Starten bzw. Beenden ber das FlexMen:
---------------------------------------

Optional kann das Plugin ber das Flexmen (shellexec) gestartet werden. 
Dieses Plugin ist nicht in diesem Archiv enthalten, kann aber hier 
runtergeladen werden.

http://www.jackthegrabber.de/viewtopic.php?t=6040

Dazu mssen dann die folgenden Zeilen mit einem Linux-Editor in die Datei
'shellexec.conf' in /var/tuxbox/config/ eingefgt werden.

DEPENDOFF=LCD-EPG einschalten,/var/plugins/lcd_epg.sh,/tmp/.lcd_epg.on
DEPENDON=LCD-EPG ausschalten,/var/plugins/lcd_epg.sh,/tmp/.lcd_epg.on

Einstellungen:
--------------

Um die richtige Konfiguration zu finden, sind 3 Beispieleinstellungen fr das 
Flexmen im Archiv enthalten. Diese knnen dann wahlweise ausgewhlt werden, 
danach ist der Menpunkt LCD-EPG Config neu laden auszuwhlen. 
Die momentan aktive Einstellung kann nicht ausgewhlt werden.

Diese Beispieleinstellungen sind im Archiv unter 
/var/tuxbox/config/in shellexec.conf einfuegen zu finden.
Diese Zeilen einfach die shellexec.conf in /var/tuxbox/config/ mit einem 
UNIX-Editor einfgen.

MENU=LCD
    DEPENDOFF=LCD-EPG einschalten,/var/plugins/lcd_epg.sh,/tmp/.lcd_epg.on
    DEPENDON=LCD-EPG ausschalten,/var/plugins/lcd_epg.sh,/tmp/.lcd_epg.on
    MENU=LCD-EPG Einstellungen...
        SHELLRESON=-&LCD-EPG - Ansicht 1,CONFIG=`cat /var/tuxbox/config/lcd_epg.conf`; echo "$CONFIG" | sed -e 's/^LCD_ANSICHT=.*/LCD_ANSICHT=1/' > /var/tuxbox/config/lcd_epg.conf,[ -s /var/tuxbox/config/lcd_epg.conf ] && grep -q '^LCD_ANSICHT=[23]' /var/tuxbox/config/lcd_epg.conf
        SHELLRESON=-&LCD-EPG - Ansicht 2,CONFIG=`cat /var/tuxbox/config/lcd_epg.conf`; echo "$CONFIG" | sed -e 's/^LCD_ANSICHT=.*/LCD_ANSICHT=2/' > /var/tuxbox/config/lcd_epg.conf,[ -s /var/tuxbox/config/lcd_epg.conf ] && grep -q '^LCD_ANSICHT=[13]' /var/tuxbox/config/lcd_epg.conf
        SHELLRESON=-&LCD-EPG - Ansicht 3,CONFIG=`cat /var/tuxbox/config/lcd_epg.conf`; echo "$CONFIG" | sed -e 's/^LCD_ANSICHT=.*/LCD_ANSICHT=3/' > /var/tuxbox/config/lcd_epg.conf,[ -s /var/tuxbox/config/lcd_epg.conf ] && grep -q '^LCD_ANSICHT=[12]' /var/tuxbox/config/lcd_epg.conf
        COMMENT=*
        DEPENDON=*-&LCD-EPG Config neu laden,touch /tmp/.lcd_epg.reload; sleep 6,/tmp/.lcd_epg.on
        DEPENDON=&LCD-EPG Autostart~T~T~Tein,rm /var/etc/.lcd_epg_auto,/var/etc/.lcd_epg_auto
        DEPENDOFF=&LCD-EPG Autostart~T~T~Taus,touch /var/etc/.lcd_epg_auto,/var/etc/.lcd_epg_auto
        COMMENT=*
        COMMENT=F~ur das Autostartmen~u ist ein Reboot der Dbox notwendig !  
        COMMENT=Bitte beachten, dass dazu die start_neutrino ge~andert
        COMMENT=werden muss !
    ENDMENU
ENDMENU

Autostart:
----------

Falls ein automatischer Start des Plugins gewnscht wird, kann folgender 
Eintrag in die Datei 'start_neutrino' eingefgt werden. Dieser Eintrag muss 
ebenfalls mit einem Linux-Editor (Ultraedit, Crimson-Editor, vi) gemacht werden.

Im JtG-Image ist dazu die Datei 'start_neutrino' aus dem Verzeichnis
/etc/init.d/ nach /var/tuxbox/ zu kopieren und dieser dann Ausfhrrechte (755) 
zu vergeben.
Bei Yadi-Images kommt diese Datei nach /var/etc/init.d/.

Dazu die Zeile 

/bin/neutrino -u -f

durch die folgenden ersetzen.

if [ -e /var/etc/.lcd_epg_auto ] ; then
    sleep 20 && /var/plugins/lcd_epg.sh &
fi

/bin/neutrino -u -f

if pidof lcd_epg.sh > /dev/null; then
    /var/plugins/lcd_epg.sh
    sleep 3
    wget -q -Y off -O - 'http://localhost/control/lcd?lock=1&clear=1&update=1&png=/share/tuxbox/lcdd/icons/power.png'
fi

Bitte beachten, dass die Eintragung unbedingt mit einem UNIX-Editor 
(vi, Ultraedit, Crimson-Editor) gemacht werden muss, und dass die Datei auch 
im UNIX-Format abgespeichert wird. Sonst startet die DBox2 nicht mehr. 
Falls das doch einmal passiert, besteht jedoch kein Grund zur Panik. 
Man kann nmlich immer noch per FTP oder Telnet auf die DBox2 zugreifen. 

Per FTP einfach die betreffende Datei nochmal von der DBox2 herunterladen 
und im UNIX-Format abspeichern. Dann wieder auf die DBox2 laden und diese neu 
starten. 

Per Telnet kann man sich unter Windows auf der DBox2 einloggen mit 
[Start] [Ausfhren], dann eingeben telnet <DBOXIP> wobei <DBOXIP> durch die 
IP-Adresse der DBox2 zu ersetzen ist, z.B.: 

telnet 192.168.0.23

Dann sollte ein Fenster auftauchen, in dem login drinsteht. Bei 

login: root
Password: dbox2

eingeben. Die Passworteingabe wird nicht angezeigt, ist also blind einzugeben. 
Bei YADI-Images ist standardmig kein Passwort vergeben. 

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 DBox2 auch wieder klarkommt. Dann die DBox2 neu starten. 

History:
--------
Version 0.1

- erstes Release

Version 0.2

- Funktionssicherheit erhht
- Anzeige der Umlaute eingefgt

Version 0.3

- 3 zeilige Anzeige fr das EPG
- automatische Aus- und Einschaltung im Standby-Modus, Movieplayer, Audioplayer
  und Scartmodus
- zustzliche Scripts fr die Aus- und Einschaltung bei Aufnahme und Bildbetrachter 

Version 0.4

- Plugin stoppt im Rec-Mode
- zwei- oder dreizeilige EPG

Version 0.4c

- Anzeige von Emails
- Umstellung auf Config-Datei /var/tuxbox/config/lcd_epg.conf 

Version 0.4d

- Problem mit der Email-Aktualisierung behoben

Version 0.5a

- Ansprechverhalten bei der Bedienung ber die Fernbedienung merklich verbessert
- Email-Aktualisierung nochmals gefixt

Version 0.6a

- Mglichkeit im Radiomodus einzelne Zeilen des Premiere Radio EPG's anzuzeigen
- bei aktivierter Zeile steht immer in der oberen Zeile der Interpret, in den 
  nchsten der Titel des Lieds, Album usw., mit mehrfachen Druck auf gelbe Taste 
  wird weitergeschaltet.
- lcd_epg.conf erweitert, um Fonts und Schriftgrssen dort zu defininieren, und
  die Standardanzeige fr den Radiomodus festzulegen.
  Achtung: Alte lcd_epg.conf muss vor dem 1. Start gelscht werden. 

Version 0.6e
- Funktion LCD-EPG Config neu laden

Version 0.6f
- Symbol vor dem Fortschrittsbalken in Ansicht 1 und 2 eingefgt

Version 0.7
- Einstellbarer Text, der im Radio-EPG Modus Zeile 2-10 ausgeblendet werden soll
- Probleme in der LCD-Aktualisierung bei 100% Sendungsfortschritt behoben
- weiteres Problem im Radiomodus bei fehlender EPG-Info behoben

Version 0.7a
-vernderte Ermittlung des Standby-Mode, zur Kompatibilitt von Images ohne YWeb 2.0.0

Vielen Dank an rich fr die Erstellung dieses tollen Scripts, das eine echte 
Bereicherung fr die Dbox darstellt.

Greetz von DrStoned :-) :-) :-)

