DBox Steuern über HTTP Kommandos

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Poetter
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 23. April 2002, 19:57

DBox Steuern über HTTP Kommandos

Beitrag von Poetter »

Hallo,

ich möchte meine DBox über meine Visualisierung steuern.

Jetzt bin ich auf der Suche nach den HTTP Kommados, die ich zur DBox schicken muß um sie zu bedienen. Ich habe mir die api_doku.txt schon durchgelesen, jedoch fehlen mir dort Kommandos.

Ich suche welche um die DBox:
1. auf ein Programm zu schalten ==>http://dbox/control/zapto (richtig?)
2. auf dem Programm dann die Unteroptionen auswählen ==> ????

mir würde reichen, wenn ich die Tasten auf der Fernbedienung emulieren kann. Ich gebrauche dafür ja nur die gelbe, hoch, runter und OK Taste.

Ich hoffe mir kann jemand die Kommados für die Optionskanäle erklären.

Die Suche habe ich auch bemüht, bin dabei dann aber auf die API Doku gestoßen wo mir diese Funktion noch fehlt.

Gruß

Poetter
KeXXeN
Tuxboxer
Tuxboxer
Beiträge: 2634
Registriert: Samstag 15. November 2003, 09:00

Beitrag von KeXXeN »

Wenn du ein aktuelles Image mit yweb hast, dann wurde alles was du möchtest schon umgesetzt.

Gib einfach mal die IP deiner Box ein
Zu Fragen oder Nebenwirkungen der hier genannten Begriffe benutzen sie bitte die Suchfunktion oder konsultieren sie die [url=https://tuxbox.org/forum/viewforum.php?f=26&] Frequentliy Asked Questions[/quote].
Poetter
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 23. April 2002, 19:57

Beitrag von Poetter »

Also ich habe das letzte YADI Image (Released) drauf.

Das ich im Browser umschalten kann ist klar, nur wie schalte ich bei den Sendern auf die Optionskanäle (Pr****** Sp***)

Und ich möchte die nicht über das WebInterface bedienen, sondern einfach nur HTTP Kommandos schicken.
Ich habe eine Visualisierung für mein Haus (EIB) und möchte dort ein paar Knöpfe anlegen um die DBox zu bedienen.

Gruß
Poetter
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Schau mal hier, da ist sind die kompletten nhttpd-Kommandos dokumentiert.

Greetz von DrStoned :lol: :lol: :lol:
Poetter
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 23. April 2002, 19:57

Beitrag von Poetter »

Hallo,

dort habe ich schon geguckt!!

Leider fehlen mir dort die Funktionen, gibt es noch mehr Kommandos??

Gruß
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

leider hat <glaube ich> Yjogol seine nhttpd Erweiterungen <noch> nicht dokumentiert
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Ein problemloser Gebrauch der Premiere Direkt und Sportportal Unterkanäle ist nur dann simpel möglich, wenn man eine myservices.xml mit den Kanaldaten erstellt. Dann verhalten sich alle Optionen wie richtige Kanäle und sind mit jeder Lösung zugänglich.

cu
Jens
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Beitrag von MarcM »

Hi,

wie wärs denn mit rcsim ?
Läuft zwar über telnet, aber jede FB-Taste ist möglich.....

Greetz
Marc
Poetter
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 23. April 2002, 19:57

Beitrag von Poetter »

RC Sim wäre schon mal gut, kann ich das den auch über http ansteuern??


Meine Visualisierung kann nur http !!

Gruß
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Poetter hat geschrieben:RC Sim wäre schon mal gut, kann ich das den auch über http ansteuern?? Meine Visualisierung kann nur http !!
..im aktuellen Y-Web ist 'RC' enthalten....die visualisierte Y-FB ist etwas dickbauchiger aber es lassen siche alle Tasten bedienen.
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Beitrag von MarcM »

So, hab mal gerade im Code vom YWeb geschaut....folgender Aufruf im Browser

Code: Alles auswählen

http://dboxIP/control/exec?Y_Tools&rcsim&KEY_POWER
hat meine Dbox gerade runtergefahren....sollte also mit den original RCsim Tasten am Ende funktionieren.....

Greetz
Marc
Poetter
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 23. April 2002, 19:57

Beitrag von Poetter »

Besten Dank

so funktioniert es
Mac23
Einsteiger
Einsteiger
Beiträge: 127
Registriert: Donnerstag 23. Oktober 2003, 20:50

Beitrag von Mac23 »

Falls Du noch mehr Befehle brauchst, schau einfach den HTML-Code der "Box-Webseite" an - dort ist ja wie schon beschrieben eine Art Fernbedienung eingebaut.
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

Tommy hat geschrieben:leider hat <glaube ich> Yjogol seine nhttpd Erweiterungen <noch> nicht dokumentiert
Ja und Nein:
die nhttpd-API wird in der controlapi.cpp realisiert.
Aus Kompatibilitätsgründen habe ich die "alten" Dateien möglichst kaum verändert. Es gibt also keine neue API im herkömmlichen Sinne.

Die neue Parsing-Engine ist für die Generierung der Seiten und weniger eine API. Und die Aufrufe von meinen Skripten habe ich nicht veröffentlicht, weil sie sich noch zu oft ändern.

@all
Was braucht ihr denn als nhttpd-API Aufruf?

Gruß
yjogol
neun11turbo
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 24. Januar 2006, 17:40

Beitrag von neun11turbo »

Leider hab ich diesen 'Aufruf' gerade eben erst entdeckt...

Ich hätte da eine ganze Latte von Wünschen (auch alle vor dem Hintergrund die Box in ein Haussteuerungssystem zu integrieren). Also fangen wir mal mit dem Top-Wunsch an:

- einen Aufruf bei dem ich (in Textform) die Inhalte des gerade angezeigten OSD bekomme bzw. ein NACK in irgendeiner Form, wenn kein OSD eigeblendet ist. Wenn ich dann noch erfahren könnte, auf welchem Punkt des OSD der Benutzer gerade ist, wenn er die OK Taste drückt, wären 90% der Steuerungsprobleme gelöst 8)

- ein anderer Wunsch (würde dem faulen Programmierer helfen und ansonsten nötigen Overheads reduzieren): ein Aufruf, der gesammelt alle Infos des aktuellen Kanals zurückgibt: ChannelID, PID, EPG laufender Event, EventID, dto für den folgenden Event etc.pp.

- ein anderer dringender Wunsch wäre irgendeine Art von 'push' service... Hintergrund ist, dass ich erfahren möchte, wenn sich der Status der Box ändert, weil z.b. die Box per IR FB umgeschaltet wurde. Es müsste also ein service permanent laufen, der jede Statusänderung oder Event an meine Telnet Konsole meldet... Ich denke aber mal, dass da der nhttpd nicht das richtige ist... :gruebel:

also, das wären doch schon mal ein paar... Ich weiss noch mehr :wink:

Danke und VG
Klaus
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

neun11turbo hat geschrieben:Leider hab ich diesen 'Aufruf' gerade eben erst entdeckt...

Ich hätte da eine ganze Latte von Wünschen (auch alle vor dem Hintergrund die Box in ein Haussteuerungssystem zu integrieren). Also fangen wir mal mit dem Top-Wunsch an:

- einen Aufruf bei dem ich (in Textform) die Inhalte des gerade angezeigten OSD bekomme bzw. ein NACK in irgendeiner Form, wenn kein OSD eigeblendet ist. Wenn ich dann noch erfahren könnte, auf welchem Punkt des OSD der Benutzer gerade ist, wenn er die OK Taste drückt, wären 90% der Steuerungsprobleme gelöst 8)

- ein anderer Wunsch (würde dem faulen Programmierer helfen und ansonsten nötigen Overheads reduzieren): ein Aufruf, der gesammelt alle Infos des aktuellen Kanals zurückgibt: ChannelID, PID, EPG laufender Event, EventID, dto für den folgenden Event etc.pp.

- ein anderer dringender Wunsch wäre irgendeine Art von 'push' service... Hintergrund ist, dass ich erfahren möchte, wenn sich der Status der Box ändert, weil z.b. die Box per IR FB umgeschaltet wurde. Es müsste also ein service permanent laufen, der jede Statusänderung oder Event an meine Telnet Konsole meldet... Ich denke aber mal, dass da der nhttpd nicht das richtige ist... :gruebel:

also, das wären doch schon mal ein paar... Ich weiss noch mehr :wink:

Danke und VG
Klaus
Hi,
leider liegen die OSD Daten nicht in Textform vor, sonder sind als Linux Framebuffer abzugreifen.
Dies macht fbshot - nur leider zu langsam.
Da hab ich auch keine Idee, ausser bei fbshot die Compression auszuschalten ...

Die Zusammenfassung von Aufrufen ist möglich, aber da sollten schon noch mehr Leute Bedarf haben.

push geht tatsächlich so nicht.
Was willst du denn da machen?

Gruß
yjogol
neun11turbo
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 24. Januar 2006, 17:40

Beitrag von neun11turbo »

Hi,

...das mit dem OSD hab ich so befürchtet :-? Schade.

Die Geschichte mit dem Sammelaufruf ist auch nicht soooo wichtig. Sie würde mir nur helfen die Commands die ich absetzen muss zu reduzieren: anstatt mehreren wget's halt nur noch eines...

Hintergrund für den 'push' ist folgendes: die Box soll in eine Haussteuerung (z.B. von Crestron oder AMX oder...) integriert werden. Die Steuerung (iss kein PC) kannst du dir als 'Blackbox' vorstellen, die mit der DBox eine Telnet-Verbindung aufbauen kann. Über diese Verbindung kann die Steuerung dann Befehle absetzen und die Ausgabe der Telnet-Konsole auswerten und entsprechende Aktionen durchführen.

Was ich konkret damit im Moment versuche ist zunächst sämtliche Zustände auszulesen und dann auf einem Touchpanel anzuzeigen. Der Benutzer sieht dann alle Programme auf Buttons mit den Senderlogos, die wiederum entsprechend der Bouquets oder wahlweise der Häufigkeit der Nutzung angeordnet sind, in einem Fenster die EPG - Info des laufenden Kanals etc. pp. Dafür muss ich natürlich mitkriegen, wenn die Box ihren Status ändert. Z.B. drückt der Benutzer OK-Links-OK (Kanalliste - voriges Bouquet - Kanal auswählen). In diesem Fall müsste ich natürlich die Anzeige des Touchpanel updaten. Wenn ich automatisch über den Programmwechsel informiert würde, wäre das der Trigger für einen Update. Wenn ich diese Info nicht bekomme muss ich entweder zyklisch immer wieder abfragen (Overhead) oder alle FB-Befehle nur über die Steuerung zulassen (uncool) und dann die Bedienlogik der Box in der Steuerung abbilden (d.h. ich müsste in der Steuerung 'wissen', was OK-links-OK auslöst), was recht aufwendig wäre. Das Szenario kann jetzt beliebig komplex werden: stell dir z.B. 3 Boxen im Keller vor, die über Kreuzschienen im ganzen Haus verteilt und über beliebig viel Interfaces gesteuert werden sollen. Da kommen dann noch Prioritätssteuerungen etc. pp. dazu.
So richtig kompliziert würde es werden, wenn jemand über das Web-IF die Bouquets ändert... Ich sehe wenig Chancen, das über periodische Abfragen mitzubekommen.

Apropos Abfragen.. Bei meinen Versuchen bin ich auf ein merkwürdiges Phänomen gestossen... Vielleicht weisst du woran das liegt:

Angenommen ich setze folgenden Befehl ab:

pzapit<CR><LF>

Das ergibt dann wie erwartet folgende Ausgabe:

1: Liste1
2: Liste2
3: Liste3
/var #

Jetzt schicke ich folgendes:
wget -q -O - http://127.0.0.1/control/getbouquet?bouquet=2&mode=TV

ich bekomme:

/var # 1: Das Erste
2: ZDF
3: Bayerisches Fernsehen
.
.
usf. , d.h. den Prompt am Anfang aber es kommt kein Prompt '/var # ' mehr nach der Ausgabe...

bei manchen wget Befehlen ist die Ausgabe OK (also Ausgabe, dann CR/LF, dann Prompt), bei manchen dagegen ist zuerst der Prompt, dann die Ausgabe, dann nix mehr... Iss echt lästig für die Analyse der Ausgabe in der Steuerung... :cry:

auf jeden Fall vielen Dank für die Antwort und vielleicht fällt dir ja noch was ein.

VG,
Klaus
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

yjogol hat geschrieben:leider liegen die OSD Daten nicht in Textform vor, sonder sind als Linux Framebuffer abzugreifen.
Dies macht fbshot - nur leider zu langsam.
Da hab ich auch keine Idee, ausser bei fbshot die Compression auszuschalten ...
fbshot macht sich zunächst die Mühe, das Bild von 8 auf 24 bit zu konvertieren, um es dann mit einer hohen zlib Kompressionsstufe wieder zu packen...

Wenn man zusätzlich noch die Kompressionstufe auf 1 runtersetzt und die Optionen anpasst, könnte es fast reichen!)
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

@neun11turbo
Ich glaube ich kann dir nicht helfen.
Da ich mich im wesentlichen nur am nhttpd vergehe und der ist ja eher ein pull service und weiss von den meisten Systemzuständen ohne weiteres nichts.

@just_me
Ich hab mal die Konvertiertung 8->24/32 rausgenommen, aber es ist nicht spürbar schneller geworden.
Die Kompression bringts natürlich. Ein Wechsel von png auf jpg könnte auch was bringen.

Gruß
yjogol
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

@yjogol
Danke für die Option Z_BEST_SPEED:)

http://cvs.tuxbox-cvs.sourceforge.net/c ... 1.1&r2=1.2

Eine Bitte zur Versionsnummer habe ich: Da der Maintainer von fbshot die Maintainership nicht an das dbox-Projekt abgegeben hat, fände ich es fair bei seiner Versionsnummer zu bleiben und stattdessen einen "Patchlevel" anzuhängen. (Also z.B. statt "0.4" etwa "0.3p0")

Danke,
Frieder
yjogol
Developer
Beiträge: 809
Registriert: Montag 4. Juli 2005, 18:45

Beitrag von yjogol »

jup
FAQ zu YWeb unter http://www.yjogol.de
neun11turbo
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 24. Januar 2006, 17:40

Beitrag von neun11turbo »

kein Problem :wink:
Ich hab ja schon oben geschrieben, dass für den 'push' Service wohl der nhttpd nicht so der richtige Ansatzpunkt ist... Da müsste wohl ein eigener Daemon her... aber dafür reichen meine seeeehr bescheidenen C Kenntnisse bei weitem nicht... :oops:

Hat noch jemand ne Idee wie ich den wget dazu kriegen kann den Prompt nicht *vor* der eigentlichen Ausgabe zu bringen...? Da knabbere ich echt dran rum, da ich dann nie sagen kann (z.B. bei der Channel-List bei einem Bouquet) wann die Ausgabe fertig ist oder ob ich noch mit was rechnen muß.

Hintergrund ist, dass die Steuerung die Telnet-Kommunikation einfach als einen Buffer sieht, bei dem einzelne Bytes reinkommen. Ich muß selbst entscheiden, wann das 'logische Ende' eines solchen Byte-Streams gekommen ist. Wenn ich sicher sein könnten dass das immer '/var # ' ist ist das ganz einfach...

Danke und VH,
Klaus
hrobert
Beiträge: 1
Registriert: Freitag 21. November 2003, 01:46

Beitrag von hrobert »

Hallo,
@neun11turbo

teste mal pzapit 1 (Bouquet 1),pzapit 1 1 (Bouquet 1
Sender 1)
bekomme am Ende immer ~ >

hrobert
neun11turbo
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Dienstag 24. Januar 2006, 17:40

Beitrag von neun11turbo »

mit pzapit krieg ich den prompt auch immer am Ende... :(

Leider bekomme ich mit pzapit keine Channel-Ids und damit keinen EPG... Da brauche ich wget... und da kommt wie gesagt der promt manchmal am Anfang und manchmal am Ende :gruebel:

Echt keiner ne Idee...?

Gruß,
Klaus