Statusandquestion-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Beschreibung)
Zeile 24: Zeile 24:
 
SAQMESE [ <message> ]
 
SAQMESE [ <message> ]
 
     Mit diesen 4 Befehlen werden kurze (ab VDR-Version 1.3.x einzeile)
 
     Mit diesen 4 Befehlen werden kurze (ab VDR-Version 1.3.x einzeile)
     Texte an dem untern Bildschirmrand dargestellt. Durch die Verwendung
+
     Texte am unteren Bildschirmrand dargestellt. Durch die Verwendung
 
     der Skins ab 1.3.7 ist dort leider nur eine Zeile möglich.
 
     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
 
     In der VDR-Version 1.2.6 können mehrere Zeilen durch ein '|' getrennt
 
     dargestellt werden, soll der Text mit einer Leerzeile beginnen/enden,
 
     dargestellt werden, soll der Text mit einer Leerzeile beginnen/enden,
     so ist dort als erstes/leztes Zeichen ein '@' zu verwenden.
+
     so ist dort als erstes/letztes Zeichen ein '@' zu verwenden.
  
     Die 4 Befehle unterscheiden sich in der Farbe des Dargestellten Textes.
+
     Die 4 Befehle unterscheiden sich in der Farbe des dargestellten Textes.
  
 
     Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
     Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
     dieses Typs zurück, wenn noch welche in der Warteschlange auf die
 
     dieses Typs zurück, wenn noch welche in der Warteschlange auf die
     Darstellung wartet.
+
     Darstellung warten.
  
 
     Es können bis zu 99 Nachrichten in der Warteschlange gespeichert werden.
 
     Es können bis zu 99 Nachrichten in der Warteschlange gespeichert werden.
Zeile 43: Zeile 43:
 
     speichert die Werte nur, er ist nur bei Veränderung aufzurufen.
 
     speichert die Werte nur, er ist nur bei Veränderung aufzurufen.
 
     Sollten sich Nachrichten in der Warteschlange befinden, so wird auch
 
     Sollten sich Nachrichten in der Warteschlange befinden, so wird auch
     die Änderung in der Warteschlange gespeichert, d. H. zum richtigen
+
     die Änderung in der Warteschlange gespeichert, d.h. erst zum richtigen
     Zeitpunkt erst ausgeführt.
+
     Zeitpunkt ausgeführt.
  
 
SAQTEXT [ long text ]
 
SAQTEXT [ long text ]
Zeile 52: Zeile 52:
 
     Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
     Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
 
     dieses Typs zurück, wenn noch welche in der Warteschlange auf die
 
     dieses Typs zurück, wenn noch welche in der Warteschlange auf die
     Darstellung wartet.
+
     Darstellung warten.
  
 
SAQLSTQ
 
SAQLSTQ
Zeile 74: Zeile 74:
 
     der Antwortwarteschlange.
 
     der Antwortwarteschlange.
 
</pre>
 
</pre>
 +
 
==Hardwareanforderungen==
 
==Hardwareanforderungen==
 
Keine.
 
Keine.

Version vom 17. September 2004, 21:08 Uhr

Inhaltsverzeichnis

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:

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 am unteren 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/letztes 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 warten.

    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. erst zum richtigen
    Zeitpunkt 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 warten.

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.

Hardwareanforderungen

Keine.

Softwareanforderungen

Patch des VDR's (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):

#!/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

Probleme

  • Rückgabewert (in SAQRESP) des Tastencodes ist in den VDR-Versionen und auch ja nach Patch des VDR's verschieden.

Links

[1] http://www.fast-info.de/vdr Homepage des Plugins