Bei enigma1 kann ich beliebige files auf der box mit folgender Zeile holen:
Beispiel:
http://Dream_IP/root/hdd/testfile
Bei enigma2 funktioniert es in dieser Form nicht. Gibt es mit enigma2 eine Möglichkeit?
Bei enigma1 kann ich beliebige files auf der box mit folgender Zeile holen:
Beispiel:
http://Dream_IP/root/hdd/testfile
Bei enigma2 funktioniert es in dieser Form nicht. Gibt es mit enigma2 eine Möglichkeit?
Super !!! Vielen Dank !!
Da ich iDreamX gerade für enigma2 fit mache, habe ich noch tausend fragen bezüglich des Webinterfaces.
Ich suche mir die ganzen Befehle aus dem Internet zusammen, konnte bisher noch keine Seite finden, die einen kompletten Befehlssatz beinhaltet.
Hast du einen Tip für mich?
Ich suche mir die ganzen Befehle aus dem Internet zusammen, konnte bisher noch keine Seite finden, die einen kompletten Befehlssatz beinhaltet.
Hast du einen Tip für mich?
Aber klar.
Dazu schaust Du Dir die Liste der Dateien am Besten an, die für die XML Kommunikation zuständig ist.
Entweder im Source oder per Browser auf Schwerkraft: http://schwerkraft.elitedvb.ne…/?cvsroot=enigma2-plugins
Beispiel: webinterface/src/web/movielist.xml
--> jetzt schaust Du Dir da mal die Datei an: das siehst Du 2 Sachen, die wichtig sind für dich:
1) Die Parameter, die Du übergeben kannst
--> id="dirname,tag"
d.h. Du kannst einen dirnamen und/oder einen Tag übergeben...
--> http:// dreambox/web/movielist?dirname=/hdd/irgend_ein_directory
2) Du siehst in der Datei auch den Aufbau der XML-Datei, die Du zurückgeliefert bekommst
also z.b.
<e2servicereference>, <e2title> usw. usw.
Noch ein Beispiel: /webinterface/src/web/epgsearch.xml
--> Parameter: <e2eventlist><e2:element source="EpgSearch" id="search"><e2:convert type="web:ListFiller" >
--> search
--> http:/ /dreambox/web/epgsearch?search=IchSucheWas
--> Anwort: XML mit Tags
<e2event>
<e2eventid>,
<e2eventstart>
usw. usw.
--> in webinterface/src/web/ findest Du also alles, was Du benötigst, wenn Du eine XML-Kommunikation mit der Dreambox herstellen willst.
Tipp von meiner Seite (ich weiß, eine API-Doku ist dringen notwendig...)...
Du kannst Firefox mit der Erweiterung Firebug nutzen um zu sehen welche Anfragen das Webinterface standardmäßig bei welchen Aktionen so stellt.
Ich nutze diese Kombination um das Webinterface zu entwicklen ;).
Wenn du halbwegs konkrete Fragen hast kann ich dir gerne weiterhelfen (aber bitte nicht per PN... einfach im Forum fragen).
Vielen Dank an Dr.Best und Reichi!
Das war wirklich sehr hilfreich und eröffnet mir völlig neue Möglichkeiten.
Einige Fragen konnte ich mir schon selbst beantworten.
Andere aber leider nicht:
Gibt es bei enigma2 eine Möglichkeit alle TV-Sender auszulesen?
bei enigma1 verwende ich folgendes
Das liefert mir alle TV-Sender inklusive Provider und Sat-Position:
...1:0:1:8:2:85:c00000:0:0:0:;Sky Comedy;SKY;1921:0:1:9:2:85:c00000:0:0:0:;Sky Action;SKY;1921:0:1:a:2:85:c00000:0:0:0:;Sky Cinema;SKY;192...
bei enigma2 verwende ich z.Zt. :
für SD-Sender
und
für HD-Sender
Das xml beinhaltet aber keine Provider und Sat-Positionen. Deswegen suche ich dringend nach einer anderen Möglichkeit.
Hi,
das sind aber nicht die richtigen Serviceferences ;).
Folgend der entsprechende Ausschnitt aus dem WebInterface:
var bouquetsTv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM BOUQUET "bouquets.tv" ORDER BY bouquet';
var bouquetsRadio = '1:7:2:0:0:0:0:0:0:0:(type == 2)FROM BOUQUET "bouquets.radio" ORDER BY bouquet';
var providerTv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM PROVIDERS ORDER BY name';
var providerRadio ='1:7:2:0:0:0:0:0:0:0:(type == 2) FROM PROVIDERS ORDER BY name';
var allTv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name';
var allRadio = '1:7:2:0:0:0:0:0:0:0:(type == 2) ORDER BY name';
Satelliten funktionieren derzeit über das Webinterface leider nicht, das ist aber zumindest schon angedacht (ich möchte hier gerne auch auf ein entsprechendes Interface auf enigma2-Seite warten...).
Bei weiteren Fragen, nur keine Scheu :).
ZitatHi, das sind aber nicht die richtigen Serviceferences ;).
Was meinst du damit?
ZitatSatelliten funktionieren derzeit über das Webinterface leider nicht, das ist aber zumindest schon angedacht (ich möchte hier gerne auch auf ein entsprechendes Interface auf enigma2-Seite warten...).
Ist es so "richtig", wie ich zur Zeit die Sender abfrage, oder gibt es noch andere Möglichkeiten?
ich hab doch die "richtigen" Werte mit gepostet!!! Die Variablennamen sollten ja sagen was da dann kommen wird...
ich hab doch die "richtigen" Werte mit gepostet!!! Die Variablennamen sollten ja sagen was da dann kommen wird...
Ich bin verwirrt.
entspricht doch:
var allTv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name';
Was habe ich übersehen?
Mir ist auch nicht klar, welcher type, was bewirkt. Gibt es hierfür eine Beschreibung.
Bisher probiere ich es einfach aus, was nicht wirklich Effektiv ist.
Bei mir sieht es jedenfalls so aus:
type == 1
da kommen die SD Sender
type == 25
da kommen die HD Sender
Anscheinend tappe ich etwas im dunklen. Bitte klär mich auf.
also:
zuerst holst du z.B. eine Liste aller Provider für TV, TV Servicetypen sind 1, 17, 195 und 25 (was jetzt da genau was ist weiß ich auch nicht ausm Kopf, aber 25 müsste tatsächlich HD sein):
http://dreambox/web/getservices?sRef='1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM PROVIDERS ORDER BY name';
Bei meiner Box (Kabel Deutschland München) sieht das Ergebnis dann wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>
<e2servicelist>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "ARD") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:ARD</e2servicereference>
<e2servicename>ARD</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Digital Free") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Digital Free</e2servicereference>
<e2servicename>Digital Free</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Div. Sprachen") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Div. Sprachen</e2servicereference>
<e2servicename>Div. Sprachen</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Englisch") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Englisch</e2servicereference>
<e2servicename>Englisch</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Italienisch") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Italienisch</e2servicereference>
<e2servicename>Italienisch</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "KD Home") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:KD Home</e2servicereference>
<e2servicename>KD Home</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "PPV") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:PPV</e2servicereference>
<e2servicename>PPV</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Russisch") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Russisch</e2servicereference>
<e2servicename>Russisch</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "SKY") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:SKY</e2servicereference>
<e2servicename>SKY</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Türkisch") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Türkisch</e2servicereference>
<e2servicename>Türkisch</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "Unknown") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:Unknown</e2servicereference>
<e2servicename>Unknown</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:0:0:0:0:0:0:0:0:(provider == "ZDFvision") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:ZDFvision</e2servicereference>
<e2servicename>ZDFvision</e2servicename>
</e2service>
</e2servicelist>
Alles anzeigen
Wenn du jetzt die Liste aller Kanäle für das Bouquet "ZDFvision" (das letzte in der Liste) willst benötigst du einen 2. request:
http://dreambox/web/getservices?sRef=1:7:0:0:0:0:0:0:0:0:(provider == "ZDFvision") && (type == 1) || (type == 17) || (type == 195) || (type == 25) ORDER BY name:ZDFvision
Und als Ergebnis kommt zurück:
<?xml version="1.0" encoding="UTF-8"?>
<e2servicelist>
<e2service>
<e2servicereference>1:0:1:6D67:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>3sat</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:2:6D6C:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>DKULTUR</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:2:6D6D:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>DLF</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:2:6D71:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>Dok&Deb</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:1:6D68:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>KiKa</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:1:6D66:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>ZDF</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:1:6D6B:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>ZDFinfokanal</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:1:6D70:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>ZDFtheaterkanal</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:1:6D6E:437:1:FFFF01C2:0:0:0:</e2servicereference>
<e2servicename>zdf_neo</e2servicename>
</e2service>
</e2servicelist>
Alles anzeigen
Um die Last für die Box möglichst niedrig zu halten sollte man immer nur das Abrufen was man auch wirklich gerade benötigt (also nicht bei Programmstart sämtliche Bouquets, Provider und alle zugehörigen Kanäle einlesen ;))
ZitatTV Servicetypen sind 1, 17, 195 und 25 (was jetzt da genau was ist weiß ich auch nicht ausm Kopf, aber 25 müsste tatsächlich HD sein):
Wo kann ich das nachlesen?
ZitatUm die Last für die Box möglichst niedrig zu halten sollte man immer nur das Abrufen was man auch wirklich gerade benötigt (also nicht bei Programmstart sämtliche Bouquets, Provider und alle zugehörigen Kanäle einlesen
Ich verstehe. Für den Bouquet-Editor muss ich aber natürlich genau das machen.
Bei enigma1 habe ich das bisher auch immer so, ohne Probleme, gemacht.
Was schlägst du als Alternative vor?
OK, dafür gibt es:
/web/getallservices?sRef=1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) FROM PROVIDERS ORDER BY name
getallservices nimmt die Referenz auf eine Liste von Bouquets entgegen und liefert dann alle Bouquets inklusive aller enthaltenen Sender zurück.
Oben rufe ich zum Beispiel alle Provider ab und bekomme dann eine Liste aller Provider inklusive aller zu den jeweiligen Providern gehörenden Kanäle.
Das funktioniert natürlich auch genauso für Bouquets (am besten einfach mal ausprobieren).
Erstmal vielen Dank für deine Geduld mit mir.
Es funktioniert soweit, aber ich habe mich jetzt trotzdem entschieden für das Einlesen der services nicht mehr das WebIF zu nutzen, sondern die 'lamedb' direkt zu verabreiten.
und hier kommt auch schon die nächste Frage:
Kann man aus einem service-Eintrag direkt auf die Satelliten-Position schließen, oder muss man immer den Umweg über die Transponder machen.
Beispiel 1: (Eintrag des ZDF auf Astra.)
6d66:00c00000:0437:0001:1:23748
ZDF
c:00006e,c:010078,c:020082,c:03006e,p:ZDFvision
00c00000 => c0 = 192 (dezimal)
Beispiel 2: (Eintrag des ZDF auf Hotbird)
1f4b:00820000:319c:013e:1:22252
ZDF
c:00023a,c:01023b,c:02023c,c:03023a,p:T-Systems
00820000 => 82 = 130 (dezimal)
Sind das nur Zufälle oder kann man sich darauf verlassen?
bin ich hier richtig ???
gibt es auch einen parameter für befehle, die nicht mit nem return-code im browser kommen?
wenn ich mir am pc nen button programmieren will mit samurize ala "http://dreambox/web/remotecontrol?command=400" timeshiftstart
geht das auch, OHNE das im browser der return-code gezeigt wird?
also quasi "silent"[MSIE_newline_end ]
Nein das geht im Standard nicht, außer man defniert auf der box eine enstprechende Datei welche halt NIX zurückgibt....
Hallo,
habe hier gerade diesen Link gefunden: http://schwerkraft.elitedvb.net/plugins/…enigma2-plugins
Leider funktioniert der (bei mir?) nicht. Gibt's da eine Alternative?
Regards,
Wolfgang
Hi!
Die API-Doc findet sich da aber nicht (sondern der Quellcode):
http://schwerkraft.elitedvb.ne…php/?root=enigma2-plugins
Api-Doc für's WebIf gibt's hier:
http://e2devel.com/apidoc/webif/
Hallo Reichi,
danke für die Links. Einige Fragen hätte ich trotzdem noch...
1) Wo finde ich die Parameter für den Befehl /web/mediaplayercmd?command= ???
2) Welche Parameter übergibt man für /web/recordnow/recordnow= ??? Etwa eine voreingestellte Aufnahmedauer ?
3) Wie kann ich Unterkanäle z. B. von Sky Sport Info anwählen? Die Liste der verfügbaren Unterkanäle habe ich parat, mit Service Reference.
4) Wenn ich automatische Updates aktiviere, bekomme ich zwar sehr schön das Feedback geliefert, aber die Box läßt sich nicht mehr bedienen. Reagiert auf keinen /web/... Befehl mehr. Sowohl in meinem Inerface unter Visual Basic als auch auf meinem Home Automation Control System. Woran kann das liegen?
Vielen 'Dank im vorraus für Deine Hilfe. Bin halt neu bei der Dreambox
Regards,
Wolfgangh
Okay,
die Antwort zu 1) habe ich gefunden, dafür aber auch eine neue Frage:
Wie spielt man per /web/... Befehl eine DVD ab?
Reghards,
Wolfgang