Statusandquestion-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
==Beschreibung==
 
Plugin mit Möglichkeit einer Benutzerfrage aus einem Shell Script heraus auf.
 
  
Implementiert sind:
 
* Statusmeldungen
 
* Infomeldungen
 
* Warnungen
 
* Fehlermeldungen
 
* Mehrzeiliger Text (mit scrollen)
 
Zusätzliche "svdrpsend" Befehle:
 
<pre>
 
SAQTIME  SAQMESS  SAQMESI  SAQMESW  SAQMESE
 
SAQPARA  SAQTEXT  SAQLSTQ  SAQDELQ  SAQRESP
 
SAQLSTR  SAQDELR  SAQTEST
 
 
SAQTIME [ timeout ]
 
    Da Standardmäßig nur 2 Sekunden als Anzeigezeit von OSD-Nachrichten im
 
    Setup eingestellt sind, ist es möglich mit diesem Befehl vor dem Text
 
    die maximale Anzeigedauer zu bestimmen.
 
 
SAQMESS [ <message> ]
 
SAQMESI [ <message> ]
 
SAQMESW [ <message> ]
 
SAQMESE [ <message> ]
 
    Mit diesen 4 Befehlen werden kurze (ab VDR-Version 1.3.x einzeile)
 
    Texte an dem untern Bildschirmrand dargestellt. Durch die Verwendung
 
    der Skins ab 1.3.7 ist dort leider nur eine Zeile möglich.
 
    In der VDR-Version 1.2.6 können mehrere Zeilen durch ein '|' getrennt
 
    dargestellt werden, soll der Text mit einer Leerzeile beginnen/enden,
 
    so ist dort als erstes/leztes Zeichen ein '@' zu verwenden.
 
 
    Die 4 Befehle unterscheiden sich in der Farbe des Dargestellten Textes.
 
 
    Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
    dieses Typs zurück, wenn noch welche in der Warteschlange auf die
 
    Darstellung wartet.
 
 
    Es können bis zu 99 Nachrichten in der Warteschlange gespeichert werden.
 
 
SAQPARA [ title, red, green, yellow, blue ]
 
    Für die Menüdarstellung eines langen Textes wird mit diesem Befehl die
 
    Beschriftung der Farbtasten und des Titels festgelegt. Dieser Befehl
 
    speichert die Werte nur, er ist nur bei Veränderung aufzurufen.
 
    Sollten sich Nachrichten in der Warteschlange befinden, so wird auch
 
    die Änderung in der Warteschlange gespeichert, d. H. zum richtigen
 
    Zeitpunkt erst ausgeführt.
 
 
SAQTEXT [ long text ]
 
    Mit diesem Befehl wird ein Menü (z.Z. noch kein richtiges) angezeigt.
 
    Mit den Tasten Auf/Ab und Links/Rechts kann der Text gescrollt werden.
 
 
    Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
    dieses Typs zurück, wenn noch welche in der Warteschlange auf die
 
    Darstellung wartet.
 
 
SAQLSTQ
 
    Alle wartenden Nachrichten werden aufgelistet.
 
 
SAQDELQ
 
    Alle wartenden Nachrichten werden gelöscht.
 
 
SAQRESP [ id ]
 
    Jede Nachricht bei SAQMESx und SAQTEXT liefert eine ID zurück (gleich
 
    erster Wert in der Antwort), mit dieser ID läst sich die Reaktion des
 
    Benutzers festellen.
 
 
SAQLSTR
 
    Alle Antworten, die noch nicht abgefragt oder verfallen sind werden
 
    angezeigt.
 
 
SAQDELR
 
    Alle Antworten, die noch nicht abgefragt oder verfallen sind werden
 
    gelöscht, standardmäßig verbleiben sie aber auch nur 10 minutes in
 
    der Antwortwarteschlange.
 
</pre>
 
==Hardwareanforderungen==
 
Keine.
 
 
==Softwareanforderungen==
 
Patch des VDR's ([http://www.fast-info.de/vdr/svdrp_0.0.1.diff svdrp_0.0.1]) - noch nicht die entgültige Version, Klaus Schmidinger hat dabei andere Vorstellung der Schnittstelle
 
 
==Installation==
 
Siehe [[Plugin Installation]].
 
 
==Konfiguration==
 
==Sample==
 
Kleines bsp. für 2 Abfragen + Rückgabe Wert (Key):
 
<pre>#!/bin/sh
 
 
TIMEOUT=20
 
 
read_key() {
 
    case "${1}" in
 
0) KEY="UP" ;;
 
1) KEY="DOWN" ;;
 
2) KEY="MENU" ;;
 
3) KEY="OK" ;;
 
4) KEY="BACK" ;;
 
5) KEY="LEFT" ;;
 
6) KEY="RIGHT" ;;
 
7) KEY="RED" ;;
 
8) KEY="GREEN" ;;
 
9) KEY="YELLOW" ;;
 
10) KEY="BLUE" ;;
 
11) KEY="0" ;;
 
12) KEY="1" ;;
 
13) KEY="2" ;;
 
14) KEY="3" ;;
 
15) KEY="4" ;;
 
16) KEY="5" ;;
 
17) KEY="6" ;;
 
18) KEY="7" ;;
 
19) KEY="8" ;;
 
20) KEY="9" ;;
 
21) KEY="PLAY" ;;
 
22) KEY="PAUSE" ;;
 
23) KEY="STOP" ;;
 
24) KEY="RECORD" ;;
 
25) KEY="FASTFWD" ;;
 
26) KEY="FASTREW" ;;
 
27) KEY="POWER" ;;
 
28) KEY="CHAN+" ;;
 
29) KEY="CHAN-" ;;
 
30) KEY="VOL+" ;;
 
31) KEY="VOL-" ;;
 
32) KEY="MUTE" ;;
 
33) KEY="SCHEDULE" ;;
 
34) KEY="CCHANNELS" ;;
 
35) KEY="TIMERS" ;;
 
36) KEY="RECORDINGS" ;;
 
37) KEY="???" ;;
 
    38/37) KEY="SETUP" ;;
 
    39/38) KEY="COMMANDS" ;;
 
    40/39) KEY="USER1" ;;
 
    41/40) KEY="USER2" ;;
 
    42/41) KEY="USER3" ;;
 
    43/42) KEY="USER4" ;;
 
    44/43) KEY="USER5" ;;
 
    45/44) KEY="USER6" ;;
 
    46/45) KEY="USER7" ;;
 
    47/46) KEY="USER8" ;;
 
    48/47) KEY="USER9" ;;
 
    49/48) KEY="NONE" ;;
 
*) KEY=
 
    esac
 
}
 
 
wait_key() {
 
    ID=`echo ${1}|sed '/^250/!d;s#^.*id=##'`
 
    until [ "${KEY}" ] ; do
 
i=$[i+1]
 
sleep 1s
 
read_key "`svdrpsend.pl "SAQRESP ${ID}"|sed '/^250/!d'|cut -d' ' -f4`"
 
test "${i}" = "${TIMEOUT}" && {
 
    echo "Timeout ...?"
 
    exit 0
 
}
 
    done
 
 
    test "${KEY}" || {
 
echo "Key ...?"
 
exit 0
 
    }
 
}
 
 
# menu_1
 
svdrpsend.pl "SAQTIME 10"
 
svdrpsend.pl "SAQPARA TEST_1, <red>, <green>, <yellow>, <blue>"
 
wait_key "`svdrpsend.pl "SAQTEXT 1"`"
 
 
echo "1 ---> ${KEY}"
 
unset KEY
 
 
# menu_2
 
svdrpsend.pl "SAQTIME 10"
 
svdrpsend.pl "SAQPARA TEST_2, <red>, <green>, <yellow>, <blue>"
 
wait_key "`svdrpsend.pl "SAQTEXT 2"`"
 
 
echo "2 ---> ${KEY}"
 
unset KEY</pre>
 
==Probleme==
 
Rückgabewert (in SAQRESP) des Tastencodes ist in den VDR-Versionen und auch ja nach Patch des VDR's verschieden.
 
 
Der Name des Plugins war keine gute Wahl, es läßt sich erst durch Änderung übersetzen:<pre>
 
ln -s status+question-x.y.z statusplusquestion-x.y.z
 
            ^                    ^^^^</pre>
 
==Links==
 
{|
 
| [1]
 
| http://www.fast-info.de/vdr
 
| Homepage des Plugins
 
|}
 

Version vom 28. August 2004, 21:50 Uhr