nhttpd /control api doku
Der Neutrino HTTP-Server laeuft auf Port 80. Die Steuerfunktionen
fuer externe Programme sind unter dem Context /control/ oder /cgi-bin/
zu finden.
Erste Version von derdirch@web.de oder Dirch in #dbox2
API-Aufrufe
Handler: http://dbox/control/channellist
Parameter: keine
Rueckgabe:
Es wird die gesamte Kanalliste von Neutrino zurueckgegeben.
Jede Zeile wird von einem Enter (\n) von der Naechsten getrennt.
Eine Zeile enthaelt ein Programm.
Rueckgabe-Format: channel_id Programmname
Die channel_id dient als Handle fuer andere Operationen wie Zappen oder EPG.
Die channel_id ist eine 64 bit Hexadezimalzahl.
Beispiel:
>>>http://dbox/control/channellist
16dca Das Erste
16e29 EinsExtra
16e2a EinsFestival
16e2b EinsMuXx
16d66 ZDF
Handler: http://dbox/control/epg
Parameter: keine
Rueckgabe:
Es werden alle verfuegbaren EPG's aller Programme, zur aktuellen Zeit
zurueckgegeben. Jede Zeile wird von einem Enter (\n) von der
Naechsten getrennt. Eine Zeile enthaelt die Information ueber die
aktuell laufende Sendung.
Rueckgabe-Format: channel_id EVENTID Titel der Sendung
Die EVENTID dient als Handle um genauere Informationen abzufragen.
Beispiel:
>>>http://dbox/control/epg
8716804 571264467523 Wasserloch Nr. 3
8716304 571231699926 Ein Kaefig voller Helden
8716311 571232198133 Cop Rock
Parameter: channel_id (64 bit, hexadezimal)
Rueckgabe:
Als Rueckgabe wird die Eventliste des durch die channel_id
identifizierten Senders gesendet, d.h. eine Liste, welche Filme auf
diesem Sender kommen. Jede Zeile wird von einem Enter (\n) von der
Naechsten getrennt.
Rueckgabe-Format: EVENTID Startzeit Dauer Titel der Sendung
Die EVENTID dient als Handle um genauere EPG-Informationen abzufragen.
Beispiel:
>>>http://dbox/control/epg?8716304
571231699925 1021322700 1500 Shooting Stars
571231699926 1021324200 1500 Ein Kaefig voller Helden
571231699927 1021325700 1500 The Hitchhiker
571231699928 1021327200 1500 The Hitchhiker
Parameter: id=channel_id
Rueckgabe:
Als Rueckgabe wird die Eventliste des durch die channel_id
identifizierten Senders gesendet, das heisst eine Liste, was fuer
Filme auf einem Sender kommen. Jeder Datensatz wird von einem
EnterEnter (\n\n) vom Naechsten getrennt.
Rueckgabe-Format:
EVENTID Startzeit DURATION
TITLE
INFO1
INFO2
Die EVENTID dient als Handle um genauere EPG-Informationen abzufragen.
Beispiel:
>>>http://dbox/control/epg?id=16dcb
6143198520 1067754600 1800
Daten der Woche
Moderation: Andrea Müller
Themen: Kandidatenkür: Maas wird Spitzenkandidat
Aufsteiger: Auszeichnung für Scheer Dikussion: Längere
Arbeitszeiten; dazu ein Interview mit Christian Scholz,
Wirtschaftswissenschaftler Ladenschluss: Öffnungszeiten am
Sonntag
6143198521 1067756400 1800
Abendschau
Themen: Protestmarsch "Es reicht" Vorabdruck: Harry
Potter Militär-MusikfestŠAbendschauNews Ermittlungen
gegen Michael Krausz Bahnunfall am Alexanderplatz Aubis
Urteil
Parameter: eventid=EVENTID
Rückgabe:
Es wird die ausführliche Beschreibung eines Films
zurückgegeben. Diese besteht aus einem Titel, einer allgemeinen
Info und der Beschreibung. Titel Info und Beschreibung derwen mit
einem Enter (\n) vonneinander getrennt. Es muss beachtet werden, dass
in der Beschreibung weitere Enter vorkommen können.
Rückgabe-Format:
Titel
Info
Beschreibung
Beispiel:
>>>http://dbox/control/epg?eventid=571231699926
Ein Käfig voller Helden
Operation 'Tiger'
blablabla
Parameter: ext
Rueckgabe:
Es werden alle verfuegbaren EPG's aller Programme, zur aktuellen Zeit
zurueckgegeben. Jede Zeile wird von einem Enter (\n) von der
Naechsten getrennt. Eine Zeile enthaelt die Information ueber die
aktuell laufende Sendung.
Rueckgabe-Format: channel_id Startzeit Dauer EVENTID Titel der Sendung
Die EVENTID dient als Handle um genauere Informationen abzufragen.
Beispiel:
>>>http://dbox/control/epg?ext
8716330 1025382300 6900 571233417784 Rocky 2
Parameter: xml=true&channelid=<channel_id>|channelname=<channel
name>[&details=true][&max=<max items>][&stoptime=<long:stop time>]
Rückgabe:
Liefert zum angegebenen channel (angegeben durch channel_id oder channel_name)
das EPG als XML-Liste zurück.
channel_name=Ein oder mehrere durch Komma getrente Sendernamen.
Wird details=true angegeben, dann werden zusätzlich info1 and info2 mit
ausgegeben.
Zur Begrenzung der Menge der Listeneinträge kann max für die Anzahl der Elemente
oder
stoptime für die Uhrzeit bis zu der Angaben gemacht werden sollen, begrenzt
werden.
Beispiel:
>>>http://192.168.0.15/control/epg?xml=true&channelid=44d00016dca&details=true&max=2
<?xml version="1.0" encoding="iso-8859-1"?>
<epglist>
<channel_id>44d00016dca</channel_id>
<channel_name><![CDATA[Das Erste]]></channel_name>
<prog>
<eventid>309903955495411052</eventid>
<eventid_hex>44d00016dcadd6c</eventid_hex>
<start_sec>1148314800</start_sec>
<start_t>18:20</start_t>
<stop_sec>1148316600</stop_sec>
<stop_t>18:50</stop_t>
<duration_min>30</duration_min>
<description><![CDATA[Marienhof]]></description>
<info1><![CDATA[(Folge 2868)]]></info1>
<info2><![CDATA[Sülo verachtet Constanze wegen ihrer Intrige. Luigi plündert das
Konto und haut ab. Jessy will Carlos über ihre Chats aufklären.]]></info2>
</prog>
<prog>
<eventid>309903955495411054</eventid>
<eventid_hex>44d00016dcadd6e</eventid_hex>
<start_sec>1148316600</start_sec>
<start_t>18:50</start_t>
<stop_sec>1148320200</stop_sec>
<stop_t>19:50</stop_t>
<duration_min>60</duration_min>
<description><![CDATA[Großstadtrevier]]></description>
<info1><![CDATA[239. Fenstergespenster]]></info1>
<info2><![CDATA[Pech für Dirk Matthies: Da steigt er auf eine Leiter, weil ihn
mal der Putzfimmel überkommt, und - knacks! - bricht eine Sprosse. Das Bein ist
gebrochen, mehrere Rippen geprellt. Katja Metz versorgt ihn mit dem
Nötigsten.]]></info2>
</prog>
</epglist>
3. Die DBox herunterfahren
Handler: http://dbox/control/shutdown
Parameter: keine
Rückgabe:
Es wird der Text ok bei Erfolg oder error im Fehlerfall
zurückgegeben. Die Dbox schaltet sich bei ok sofort ab.
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/shutdown
ok
Handler: http://dbox/control/standby
Parameter: on
Rückgabe:
Schaltet in den Standby Mode
Rückgabe-Format: ok /error
Beispiel:
>>>http://dbox/control/standby?on
ok
Parameter: off
Rückgabe:
Schaltet den Standby Mode aus
Rückgabe-Format: ok /error
Beispiel:
>>>http://dbox/control/standby?off
ok
Handler: http://dbox/control/volume
Parameter: keine
Rückgabe:
Es wird die aktuell eingestellte Lautstärke zurückgegeben - die
Werte bewegen sich zwischen 0 (leise) und 100 (laut).
Rückgabe-Format: Lautstärke
Beispiel:
>>>http://dbox/control/volume
80
Parameter: <Lautstärke als ganze Zahl in 5er Schritten>
Rückgabe:
Es kann die Lautstärke eingestellt werden - die Werte müssen
sich zwischen 0 (leise) und 100 (laut) bewegen. Es sollten nur Werte
in 5er-Schritten gesetzt werden (5,10,...).
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/volume?40
ok
Parameter: mute
Rückgabe:
Die Audio-Ausgabe wird abgeschaltet. Es kommt als Bestätigung der
String mute zurück.
Rückgabe-Format: ok
Beispiel:
>>>http://dbox/control/volume?mute
mute
Parameter: unmute
Rückgabe:
Die Audio-Ausgabe wird wieder eingeschaltet. Es kommt als
Bestätigung der String unmute zurück.
Rückgabe-Format: ok
Beispiel:
>>>http://dbox/control/volume?mute
unmute
Parameter: status
Rückgabe:
Es wird der Status (ob gerade mute aktiv ist) zurückgegeben.
0 - unmuted
1 - mute
Rückgabe-Format: 0 oder 1
Beispiel:
>>>http://dbox/control/volume?status
1
Handler: http://dbox/control/zapto
Parameter: keine
Rueckgabe:
Es wird die channel_id (hex-value, 64 bit, kein 0x-prefix) des aktuell
laufenden Senders zurueckgegeben.
Beispiel:
>>>http://dbox/control/zapto
16dcb
Parameter: getpids
Rückgabe:
Es werden die VPID und die APID des laufenden Senders angezeigt. Die
beiden Werte sind durch ein Enter voneinander getrennt.
Rückgabe-Format:
VPID
APID
Beispiel:
>>>http://dbox/control/zapto?getpids
305
306
Parameter: getallpids
Rückgabe:
Es werden die VTXT PID, VPID und alle APIDs des laufenden Senders
angezeigt. Die Werte sind durch ein Enter voneinander getrennt.
Hinter jeder APID wird eine kurze Beschreibung angegeben, bei AC3
Streams zusätzlich (AC3).
Rückgabe-Format:
VPID
APID <description> [(AC3)]
[APID...]
[VTXT PID]
Beispiel:
>>>http://dbox/control/zapto?getallpids
00511
00512 deutsch
00513 englisch
00515 Dolby Digital 2.0
00032 vtxt
00101 pmt
oder
00101
00102 German
00104 vtxt
00100 pmt
Parameter: getallsubchannels
Rückgabe:
Es werden die Unterkanäle des aktuellen Senders zurückgegeben:
Rückgabe-Format:
channel_id channel_name
Beispiel:
>>>http://dbox/control/zapto?getallsubchannels
400850012 Direkt Portal
1008500d4 D 1 - 11:30
3008500f1 D 1 - 12:00
3008500dc D 1 - 12:30
1008500d3 D 2 - 11:30
3008500f4 D 2 - 12:00
3008500f0 D 2 - 12:30
4008500d2 D 3 - 11:45
3008500f3 D 3 - 12:45
4008500d1 D 4 - 13:00
4008500d0 D 5 - 12:30
Parameter: stopplayback
Rückgabe:
Stoppt die Decodierung um Graben zu können. Zusätzlich wird der
Sectionsd gestoppt. Rückgabewert sollte ok für Erfolg sein.
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/zapto?stopplayback
ok
Parameter: startplayback
Rückgabe:
Startet die Decodierung nach dem Graben wieder, Sectionsd wird auch
wieder gestartet. Rückgabewert sollte ok für Erfolg sein.
Rückgabe-Format: ok
Beispiel:
>>>http://dbox/control/zapto?startplayback
ok
Parameter: statusplayback
Rückgabe:
'1': Playback aktiv, '0': kein Playback aktiv
Rückgabe-Format: 0/1
Beispiel:
>>>http://dbox/control/zapto?statusplayback
0
Parameter: stopsectionsd
Rückgabe:
Stoppt den Sectionsd zum Grabben. Rückgabewert sollte ok für Erfolg sein.
Rückgabe-Format: ok
Beispiel:
>>>http://dbox/control/zapto?stopsectionsd
ok
Parameter: startsectionsd
Rückgabe:
Startet Sectionsd nach dem Graben wieder. Rückgabewert sollte ok
für Erfolg sein.
Rückgabe-Format: ok
Beispiel:
>>>http://dbox/control/zapto?startsectionsd
ok
Parameter: statussectionsd
Rückgabe:
gibt den status des sectionsd zurück. (Scanning, bzw, kein scanning)
Rückgabe-Format: '1': sectionsd scanning an, '0': sectionsd scanning aus
Beispiel:
>>>http://dbox/control/zapto?statussectionsd
1
Parameter: channel_id (64 bit, hexidecimal value)
Rueckgabe:
Zappt auf den angegebenen Kanal.
Als Rueckgabe ist im Erfolgsfall ok zu erwarten.
Rueckgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/zapto?16dcb
ok
Parameter: channel_name oder channel_names (Ein oder mehrere durch Komma
getrente Sendernamen; URI encoded)
Rueckgabe:
Zappt auf den angegebenen Kanal.
Als Rueckgabe ist im Erfolgsfall ok zu erwarten.
Rueckgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/zapto?name=Das%20Erste
ok
Handler: http://dbox/control/setmode
Parameter: status
Rückgabe:
Es wird der aktuelle record mode status zurückgegeben on / off
Beispiel:
>>>http://dbox/control/setmode?status
on
Parameter: radio
Rückgabe:
Schaltet in den radio mode
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/setmode?radio
ok
Parameter: tv
Rückgabe:
Schaltet in den tv mode
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/setmode?tv
ok
Parameter: record
Rückgabe:
Schaltet in den record mode. Dies beinhaltet auch das stoppen, bzw,
das starten des sectionsd scanning, das starten des playbacks(immer)
und stoppen des playbacks (nur bei stopplayback=true).
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/setmode?record=start
ok
>>>http://dbox/control/setmode?record=start&stopplayback=true
ok
>>>http://dbox/control/setmode?record=stop
ok
Handler: http://dbox/control/getmode
Parameter:
Rückgabe: "tv", "radio", "unkown"
Es wird der aktuelle mode zurückgegeben tv / radio / unknown (shouldn't happen)
Beispiel:
>>>http://dbox/control/getmode
tv
9. Datum von der Box abfragen
Handler: http://dbox/control/getdate
Parameter: keine
Rückgabe:
Es wird das Datum zurückgegeben.
Rückgabe-Format: dd.mm.yyyy
Beispiel:
>>>http://dbox/control/getdate
11.01.2002
10. Zeit von der Box abfragen
Handler: http://dbox/control/gettime
Parameter: keine
Rückgabe:
Es wird die Uhrzeit zurückgegeben.
Rückgabe-Format: hh:mm:ss
Beispiel:
>>>http://dbox/control/gettime
20:34:24
Parameter: rawtime
Rückgabe:
Es wird das Uhrzeit im time_t Format zurückgegeben.
Rückgabe-Format: time_t
Beispiel:
>>>http://dbox/control/gettime?rawtime
1046804654
11. Allgemeine Informationen abfragen
Handler: http://dbox/control/info
Parameter: streaminfo
Rückgabe:
Es werden Streaminfos zurückgegeben. Die Werte sind durch Enter (\n) getrennt
Rückgabe-Format: X_res Y_res Bitrate VideoFormat Framerate AudioFormat
Beispiel:
>>>http://dbox/control/info?streaminfo
480
576
997500
4:3
25
joint stereo
Parameter: version
Rückgabe:
Es wird der Inhalt der Datei /.version zurückgegeben.
Beispiel:
>>>http://dbox/control/info?version
version: 1.1.27032002-21.8
md5sum: f1d7d47578bb9040a82085182934ce0e
Erstellt von alexW
Parameter: settings
Rückgabe:
Aktuelle Settings und DBox Typ
Beispiel:
>>>http://dbox/control/info?settings
Boxtype Nokia
videooutput RGB
videoformat 4:3
Parameter: httpdversion
Rückgabe:
Version des httpd
1 : nhttpd (legacy api)
2 : thttpd
3 : nhttpd
Beispiel:
>>>http://dbox/control/info?httpdversion
3
Parameter: nhttpd_version
Rückgabe: Version des nhttpd (Neutrino)
Beispiel:
>>>http://dbox/control/info?nhttpd_version
2.2.1
12. Aktuellen Kanal abfragen
Handler: http://dbox/control/getonidsid
Parameter:
Rueckgabe:
Es wird die TSIDONIDSID des aktuellen Kanals zurueckgegeben.
Diese Funktion sollte NICHT mehr verwendet werden und ist durch
folgenden Aufruf ersetzt:
http://dbox/control/zapto
Rueckgabe-Format: TSIDONIDSID
Beispiel:
>>>http://dbox/control/getonidsid
44d00016dca
Handler: http://dbox/control/getservicesxml
Parameter:
Rückgabe:
Es wird der Inhalt der Datei /var/tuxbox/config/zapit/services.xml
zurückgegeben.
Beispiel:
>>>http://dbox/control/getservicesxml
<?xml version="1.0" encoding="iso-8859-1"?>
<ZAPIT>
<cable>
<transponder transportID="00001" networkID="0">
<cable frequency="04020" symbolRate="06900" fec="0" polarity="0"/>
...
14. bouquets.xml auslesen
Handler: http://dbox/control/getbouquetsxml
Parameter:
Rückgabe:
Es wird der Inhalt der Datei /var/tuxbox/config/zapit/bouquet.xml
zurückgegeben.
Beispiel:
>>>http://dbox/control/getbouquetsxml
<?xml version="1.0" encoding="iso-8859-1"?>
<ZAPIT>
<Bouquet name="beispielbouquet" hidden="0" locked="0">
<channel serviceID="6d67" name="3sat" onid="0001"/>
...
Handler: http://dbox/control/getbouquets
Parameter:
Rückgabe:
Es werden alle Bouquets zurückgeliefert
Beispiel:
>>>http://dbox/control/getbouquets
1 ARD
3 Premiere World
4 VisionProgramme
5 ZDFvision
Handler: http://dbox/control/getbouquet
Parameter: bouquet=Bouquet Nr. und mode=TV | RADIO oder actual und und
mode=TV | RADIO optional: xml=true
Rueckgabe:
Es werden alle Sender des Bouquets zurueckgeliefert. Wird actual mit
angegeben, dann wird das Bouquet genommen, welches den aktuellen
Sender als erstes enthält.
Nummer_des_Kanals channel_id Name_des_Senders
Beispiel:
>>>http://dbox/control/getbouquet?bouquet=2&mode=TV
20 12ee3 RTL Television
21 85002e SAT.1
22 850382 ProSieben
23 12ef4 RTL2
24 12f1c VOX
Wird xml=1 angegeben, dann wird die Liste im XML-Format zurückgegeben:
Beispiel:
>>>http://192.168.0.15/control/getbouquet?bouquet=3&xml=true
<?xml version="1.0" encoding="iso-8859-1"?>
<bouquetlist>
<bouquet>
<bnumber>3</bnumber>
</bouquet>
<channel>
<number>33</number>
<id>44d00016dca</id>
<name><![CDATA[Das Erste]]></name>
</channel>
<channel>
<number>34</number>
<id>44d00016dcd</id>
<name><![CDATA[arte]]></name>
</channel>
</bouquetlist>
Handler: http://dbox/control/message
Parameter: popup=text or nmsg=text
Return value: ok
Character encoding: UTF-8, spaces must be transmitted using %20
Neutrino opens a pop up (popup) or message (nmsg) window in which the
text part of the parameter is displayed. A pop up window closes
itself after a few seconds whereas a message window must be closed
using the remote control.
Examples:
>>>http://dbox/control/message?popup=Hello%20World
opens a popup window on the TV screen with content "Hello World"
>>>http://dbox/control/message?nmsg=Hello%20Welt
opens a message window on the TV screen with content "Hello World"
Setting up UTF-8 for KDE Konqueror users:
-----------------------------------------
Use "Settings -> Web Shortcuts -> Add" to add an additional search
provider - for example:
- Search Provider Name: DBox Popup
- Search URI: http://dbox/control/message?popup=\{@}
- URI shortcut: dbox
- Charset: UTF-8
Accept the addition.
Now you can simply time your popup messages in the location bar by
preceeding the text with "dbox: ", like in:
dbox: Hello ä ö ü Ä Ö Ü ß World
UTF-8 help sponsored by google:
-------------------------------
http://www.google.com/search?q=%C3%A4%20%C3%B6%20%C3%BC%20%C3%84%20%C3%96%20%C3%9C%20%C3%9F&ie=UTF-8&oe=UTF-8
17. Popup-Fenster oeffnen
Handler: http://dbox/control/message
Parameter: popup=Text oder nmsg=Text
Rückgabewert: ok
Zeichensatz: UTF-8, Leerzeichen muessen als %20 gesendet werden
Neutrino oeffnet ein Popup(popup)- oder Message(nmsg)-Fenster, in dem
der Text des Parameters dargestellt wird. Ein Popupfenster schliesst
sich nach wenigen Sekunden selbst, wohingegen ein Message-Fenster mit
der Fernbedienung geschlossen werden muss.
Beispiele:
>>>http://dbox/control/message?popup=Hallo%20World
öffnet ein Popup-Fenster auf dem Fernseher, in dem "Hallo World" steht
>>>http://dbox/control/message?nmsg=Hallo%20Welt
öffnet ein Message-Fenster auf dem Fernseher, in dem "Hallo Welt" steht
KDE Konqueror Benutzer koennen folgendes Verfahren benutzen:
------------------------------------------------------------
Mit Hilfe von "Settings -> Web Shortcuts -> Add" einen neuen Search
Provider hinzufuegen. z.B.:
- Search Provider Name: DBox Popup
- Search URI: http://dbox/control/message?popup=\{@}
- URI shortcut: dbox
- Charset: UTF-8
Nun kann eine Popup Message direkt in die Location Bar eingegeben
werden, wenn man ein "dbox: " davor setzt. Beispiel:
dbox: Hallo ä ö ü Ä Ö Ü ß World
Google's UTF-8 Tutorial:
------------------------
http://www.google.com/search?q=%C3%A4%20%C3%B6%20%C3%BC%20%C3%84%20%C3%96%20%C3%9C%20%C3%9F&ie=UTF-8&oe=UTF-8
Handler: http://dbox/control/timer
Parameter:
Rückgabe:
Zeigt die Liste aller Timer
Rückgabe-Format:
eventID eventType eventRepeat repcount announceTime alarmTime stopTime data
eventID ist der timer-Platz.
eventType ist die Art des timers, die kann sein:
1 = SHUTDOWN
2 = NEXTPROGRAM
3 = ZAPTO
4 = STANDBY
5 = RECORD
6 = REMIND
7 = SLEEPTIMER
8 = EXEC_PLUGIN
siehe dazu auch:
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/tuxbox/apps/tuxbox/neutrino/daemons/timerd/doku.html?rev=1.3&content-type=text/plain
eventRepeat ist die Angabe der timerwiderholung, die kann sein:
0 = ONCE (Einmal)
1 = DAILY (Täglich)
2 = WEEKLY (Wöchentlich)
3 = BIWEEKLY (Alle 2 Wochen)
4 = FOURWEEKLY (Alle 4 Wochen)
5 = MONTHLY (Monatlich)
6 = BYEVENTDESCRIPTION (noch nicht implementiert)
Es gibt auch noch eine Möglichkeit WEEKDAYS also auch wochentage
festzulegen wo die aufname statfinden soll. dies wird über einen
Bitschlüssel angegeben der Bit 9-15 für die Wochentage
ansieht. das heist:
0000000100000000 = 256 = Montag
0000001000000000 = 512 = Dinstag
0000010000000000 = 1024 = Mittwoch
0000100000000000 = 2048 = Donerstag
0001000000000000 = 4096 = Freitag
0010000000000000 = 8192 = Samstag
0100000000000000 = 16384 = Sontag
Dem zuvolge ist Montag+Mittwoch+Samstag
0000000100000000 = 256
0000010000000000 = 1024
0010000000000000 = 8192
---------------- ----
0010010100000000 = 9472
Siehe dazu auch
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/tuxbox/apps/tuxbox/neutrino/lib/timerdclient/timerdtypes.h?rev=1.10&content-type=text/vnd.viewcvs-markup
repcount bestimmt die Anzahl der Timeraufrufe, nach der der Timer
automatisch gelöscht wird. 0 bedeutet, dass es keine
Beschränkung gibt. Bei eventRepeat=ONCE hat diese Einstellung
keine Auswirkungen.
announceTime ist die Zeit an der die Warnung for den timer auf den
Bildschirm erscheint. siehe auch Kapittel 16: popup. alarmTime ist
die Zeit des Timer-Starts stopTime ist die Stopzeit für den Timer
data ist der Name des Senders.
Beispiel:
>>>http://dbox/control/timer
1 1 1 4 1034309516 1034309576 1034284376 555089
d.h. event 1, SHUTDOWN, DAILY, nach 4 Timerausführungen wird der
Timer gelöscht, announcezeit, alarm/startzeit, stopzeit,
kanal/daten die zeiten sind time_t (Unix Zeitstempel)
Parameter:
action,[id],<alarm|ad,amo,ay,ah,ami|alDate,alTime>,<stop|sd,smo,sy,sh,smi|[stDate],stTime>,announce,type,rep,repcount,channel_id,msg,rs,
[update] Rückgabe: ok / error
announce, type, rep und repcount analog zum oben.
type: Default ist RECORD
rep: Default ist 0
repcount: Default ist 0
action kann entweder new oder modify sein. Bei modify mus noch ein
Parameter id angegeben werden um festzulegen welcher Timer modifizirt
wird.
Zeitangabe:
Variante 1)
Angabe im time_t Format (nur für action=new): announce, alarm und
stop mit einer time_t Zeit
Variante 2)
Angabe in Parametern :
a/sd = Tag
a/smo = Monat
a/sy = Jahr
a/sh = Stunde
a/smi = Minute
meint: ad für Alarm Day und sd für Stop Day usw.
Variante 3)
Formatierte Angabe (nur für action=new, Format muß genau eingehalten werden):
alDate = Datum Start, Format TT.MM.JJJJ
alTime = Uhrzeit Start, Format HH.MM
stDate = Datum Ende, Format TT.MM.JJJJ (optional)
stTime = Uhrzeit Ende, Format HH.MM
channel_id ist die Kennung des Senders (als Hexadezimalzahl ohne '0x'-Prefix).
alternativ kann der Sendername direkt angegeben werden:
channel_name = Sendername (Ein oder mehrere durch Komma getrente Sendernamen;
muss URI codiert sein, also Leerzeichen mit "%20" ersetzen)
msg ist die Message die bei REMIND gesendet wird
Ist der Parameter "rs" auf "1" gesetzt, so wird bei Aufnahmetimern,
die in Neutrino konfigurierte "Aufnahmestart/stop-Korrektur"
berücksichtigt
rec_dir kann einen Aufnahmepfad enthalten (er muss URI-codiert sein).
update=1 bei action=new löscht einen ggf. vorhandenen Timer mit
gleicher Startzeit vor dem Hinzufügen. siehe dazu auch:
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/tuxbox/apps/tuxbox/neutrino/daemons/nhttpd/webapi.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup
Rueckgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/timer?action=new&alarm=1034309576&stop=1034284376&announce=1034309576&type=1&rep=1&channel_id=16dcb
ok
>>>http://dbox/control/timer?action=new&alDate=24.01.2006&alTime=20.00&stTime=20.15&channel_name=Das%20Erste&update=1
ok
Handler: http://dbox/control/lcd
Parameter:
lock, clear, png, raw, line, rect, xpos, ypos, size, font, color, text, update
Rückgabe: ok /error
Ansteuerung des LCD-Interfaces über das Web-Interface
Folgende Parameter werden dabei unterstützt:
lock=n : n=1 -> das Display wird bis auf Widerruf für Neutrino gesperrt
n=0 -> das Display wird wieder für Neutrino freigegeben
clear=n : n=1 -> das Display wird gelöscht (sollte ganz vorn stehen)
n=0 -> das Display wird vor der neuen Ausgabe nicht
gelöscht (kann entfallen)
png=Dateiname : eine lokal auf der Box liegende PNG-Datei wird in's
Display geladen
(z.B. /share/tuxbox/lcdd/icons/setup.png als
Hintergrund)
raw=x,y,xs,ys,d1,..,dn : überträgt die Daten d1 bis dn an die
Position (x,y) im Display mit xs Spalten
und ys Zeilen. Die Daten werden dezimal
übertragen. Jeder Wert repräsentiert
dabei 8 Punkte innerhalb einer Zeile. Das
höchstwertige Bit entspricht dem Pixel
ganz links. Sollen in einer Zeile 9 Pixel
geschrieben werden, sind dafür zwei
Datenwerte nötig, auch wenn die
restlichen 7 Bit des zweiten Wertes nicht
verwendet werden. Die Werte werden
zeilenweise hintereinandergeschrieben. Für ein
Rechteck von 8 Zeilen zu 9 Pixeln sind also
16 Werte erforderlich, beginnend mit dem
Wert für die 8 Pixel ganz links oben,
gefolgt von dem Wert für das letzte
Pixel der obersten Zeile (mit einem
Wert von 128 wenn es gesetzt werden soll),
dann der Wert für die ersten 8 Pixel der
zweiten Zeile usw.
line=x1,y1,x2,y2,col : zeichnet eine Linie von (x1,y1) nach (x2,y2)
mit der Farbe col col=0 -> aus, col=1 ->
leuchtend, col=2 -> invertierend
rect=x1,y1,x2,y2,col1,col2: zeichnet ein Rechteck mit der linken
oberen Ecke (x1,y1) und der rechten
unteren Ecke (x2,y2), der Rahmenfarbe
col1 welches mit der Farbe col2
ausgefüllt wird (Farben siehe "line")
update=1 : an dieser Stelle wird das Display upgedatet. Somit kann
man zunächst einige Ausgaben machen und dann erst
alles zusammen updaten. Somit wird ein Flackern des
Displays verhindert. Sequenzen ohne diesen Parameter
haben auf die Anzeige also zunächst erst mal keine
Auswirkung.
Die folgenden Parameter betreffen nur die Textausgabe
text= : Auszugebender Text in UTF-8 Format (Leerzeichen = %20,
Zeilenumbruch = %0A usw.)
xpos=nn : Position des ersten Zeichens horizontal (default 10)
ypos=nn : Position der linken oberen Ecke des ersten Zeichens (default 10)
size=nn : Größe des Textes (default 12)
color=n : Textfarbe (default 1, siehe "line")
font=n : zu verwendender Font (default 0)
n=0 -> micron.ttf, n=1 -> micron_bold.ttf, n=2 -> pakenham.ttf
Hinweise:
----------------------------------
Innerhalb eines Aufrufes können mehrere Kommandos gleichzeitig
angegeben werden. Allerdings müssen sie von unterschiedlichem Typ
sein. Bei z.B. zwei rect-Parametern innerhalb eines Aufrufes wird der
zweite Parameter ignoriert. Abgearbeitet werden die Kommandos in der
Reihenfolge: lock, clear, png, raw, line, rect, xpos, ypos, size,
color, font, text, update. Der Parameter lock ist erforderlich, da
ohne Sperrung das Displays für Neutrino die über den nhttpd
gemachten Ausgaben auf dem Display spätestens nach einer Sekunde
durch das zyklische Update von Neutrino wieder überschrieben werden
würden. Daher ist bei der ersten Ausgabe lock=1 zu setzen. Wird das
Display nicht mehr benötigt, muß lock=0 gesetzt werden, damit
Neutrino wieder Zugriff auf das LCD erhält.
Beispiel:
----------------------------------
wget -O /tmp/nhttpd.res
'http://localhost/control/lcd?lock=1&clear=1&rect=10,10,110,50,1,0&xpos=20&ypos=27&size=22&font=2&text=%20Hallo%20Welt%0A%C3%9Cbungstext&update=1'
wget -O /tmp/nhttpd.res
'http://localhost/control/lcd?rect=10,10,110,50,1,2&update=1'
um das Display wieder freizugeben, sollte zum Schluß
wget -O /tmp/nhttpd.res 'http://localhost/control/lcd?lock=0'
ausgeführt werden.
20. Shellscript ausführen
Handler: http://dbox/cgi-bin/exec
Parameter: <Scriptname> (ohne .sh!)
Rückgabe: Ausgabe des Scripts
Führt das Shellscript aus und liefert die Ausgabe an den Client zurück
Beispiel:
buli.sh gibt einen RSS-Feed zurück, der vom Newsticker angezeigt
wird. In newsticker.list muss dann der Aufruf folgendermassen aussehen:
http://dbox/cgi-bin/exec?buli
21. System-/Treiberfunktionen
Handler: http://dbox/control/system
Parameter: getAViAExtIec
Rückgabe: Status des Iec (optischer Ausgang)
0 = Iec deaktiviert
1 = Iec aktiviert
Beispiel:
http://dbox/control/system?getAViAExtIec
1
Parameter: setAViAExtIec=on
Rückgabe: ok
Aktiviert den Iec
Beispiel:
http://dbox/control/system?setAViAExtIec=on
ok
Parameter: setAViAExtIec=off
Rückgabe: ok
Deaktiviert den Iec
Beispiel:
http://dbox/control/system?setAViAExtIec=off
ok
Parameter: getAViAExtPlayBack
Rückgabe: Gibt zurück, in welchem Dekoder-Modus der Avia laeuft
0 = PES
1 = SPTS
Beispiel:
http://dbox/control/system?getAViAExtPlayBack
1
Parameter: getAViAExtPlayBack=pes
Rückgabe: ok
Aktiviert den PES-Modus
Beispiel:
http://dbox/control/system?setAViAExtPlayBack=pes
ok
Parameter: getAViAExtPlayBack=spts
Rückgabe: ok
Aktiviert den SPTS-Modus
Beispiel:
http://dbox/control/system?setAViAExtPlayBack=spts
ok
Handler: http://dbox/control/rc
Parameter: lock
Rückgabe: ok
Sperrt die Fernbedienung
Beispiel:
http://dbox/control/rc?lock
ok
Parameter: unlock
Rückgabe: ok
Entsperrt die Fernbedienung
Beispiel:
http://dbox/control/rc?unlock
ok
Handler: http://dbox/control/reboot
Parameter: keine
Rückgabe:
Es wird der Text ok bei Erfolg oder error im Fehlerfall
zurückgegeben. Die Dbox startet sich bei ok sofort neu.
Rückgabe-Format: ok / error
Beispiel:
>>>http://dbox/control/reboot
ok
24. Einige Einstellungen lesen
Handler: http://dbox/control/settings
Parameter: keine
Rückgabe: Text mit einer Beschreibung des Boxenherstellers,
Videooutputs und Videoformats.
25. Die /.versions-File lesen
Handler: http://dbox/control/version
Parameter: keine
Rückgabe: Die Datei /.version wird ausgegeben.
Die gleiche Funktionalität bietet http://dbox/control/info?version.
Handler: http://dbox/control/startplugin
Parameter: name=<pluginname>
Rückgabe: ok/error
Das Plugin mit dem Name <pluginname> wird gestartet.
Beispiel:
>>>http://dbox/control/startplugin?name=tuxtxt
ok
Handler: http://dbox/control/yweb
Parameter:
Rückgabe:
Supportfunktionen für yweb. Es wird empfohlen, diese nicht
ausserhalb von yweb zu benutzen.
Handler: http://dbox/control/aspectratio
Parameter: keine
Rückgabe: 4:3/16:9
29. Videoformat lesen/setzen
Handler: http://dbox/control/videoformat
Parameter: keine/status
Rückgabe: automatic/4:3 (LB)/4:3 (PS)/16:9
Parameter: automatic/4:3-LB/4:3-PS/16:9
Rückgabe: ok
Setzt aktuelles Videoformat.
30. Videooutput lesen/setzen
Handler: http://dbox/control/videooutput
Parameter: keine/status
Rückgabe: CVBS/RGB with CVBS/S-Video/YUV with VBS/YUV with CVBS
Parameter: cvbs/rgb/s-video/yuv-vbs/yuv-cvbs
Rückgabe: ok
Setzt Videooutputtyp.
31. VCR-output lesen/setzen
vHandler: http://dbox/control/vcroutput
Parameter: keine/status
Rückgabe: CVBS/S-Video
Parameter: cvbs/s-video
Rückgabe: ok/error
Setzt VCRoutputtyp. S-Video ist möglich nur bei Videooutput CVBS
und S-Video.
32. Scartmode lesen/setzen
Handler: http://dbox/control/scartmode
Parameter: keine/status
Rückgabe: on/off
Parameter: on/off
Rückgabe: ok
Schaltet Scartmode ein oder aus.
33. Fernbedienungstasten emulieren
Handler: http://dbox/control/rcem
Parameter: <keyname>, repeat=<n> (default 1), delay=<delaytime> (default 250)
Rückgabe: ok
Die Taste mit dem Name <keyname> wird emuliert. Als <keyname> wird
alle existierende Tasten, auch Tastaturtasten. Es wird <n>
Tastendrucken geschickt, mit einem Verzögerung von <delaytime>
dazwischen. In Detail: Erstmals wird ein KEY_PRESSED Event geschickt,
danach, <n> - 1 KEY_AUTOREPEAT Events mit Delay <delaytime>
millisekunden dazwischen, danach ein KEY_RELEASED Event.
Parameter: <keyname>, duration=<time>, delay=<delaytime> (default 250)
Rückgabe: ok
Äquivalent zu der erste Form, mit repeat =
<time>*1000/<delaytime>. Dies entspricht in wesentlichen die Taste
<keyname> für <delaytime> sekunden zu senden. Dies ist die Semantik
von den Argumenten des Programms rcsim.
Beispiel:
>>>http://dbox/control/rcem?KEY_HELP
ok
>>>http://dbox/control/rcem?KEY_UP?repeat=4?delay=300
ok