TV-Browser braucht hilfe :)

  • Ich bin einer der Entwickler des TV-Browsers. Momentan kann man ja schon ein "bisschen" mit dem TV-Browser die Dreambox bedienen, das reicht mir aber nicht ;).


    Nächste Woche sollte meine 7025 ankommen und ich kann loslegen, mal eine "offizielle" Unterstützung für die Dreambox einzubauen.


    Hat jemand lust, mir da unter die Arme zu greifen?


    Folgendes schwebt mir so vor:


    1. Programmieren von Aufnahmen
    2. Löschen von Aufnahmen
    3. Kanal-Listen nicht per Hand in dem TV-Browser angeben, sondern per komfortabler Gui, die sich die vorhandenen Kanäle aus der Box holt und die meisten schon selber zuordnet
    4. Laden der Liste der Programmierten Aufnahmen, damit der TV-Browser auch mitbekommt, wenn sich was auf der Box ändert


    Weitere Wünsche :winking_face: ?

  • bodo: du kannst ja mal wünsche äußern, mit welchen url´s du welche funktionen auslösen möchtest bzw. welche Daten in welchem format geliefert haben möchtest.


    Ich bin dabei mit nem WebIF zu spielen. Evtl. kann ich dir dabei helfen den Part auf der Box zu übernehmen.

  • Mit Enigma2 sollte es ja ohne WebIF möglich sein Funktionen wie eben die Einbindung in den TV-Browser zu realisieren. Mein Wunsch dazu wäre eben eine "saubere" und auch "offizielle" Lösung (also ohne WebIF). Leider kann ich - noch - nicht aktiv mitarbeiten, da es schon lange her ist dass ich selbst einmal in der Software Entwicklung tätig war und ich im Moment keine Möglichkeit sehe mich wieder in das Thema einzuarbeiten. Ich verwende auch manchmal den TV-Browser (mit Apple Mac OS X), und es würde mir sehr gelegen kommen wenn es dazu eine Unterstzützung der 7025 gibt.


    Grüße, Edwin.

  • Gibt's irgendwie die möglichkeit, mit einem Entwickler der Dreambox-Software zu quatschen? Das wird wohl das einfachste sein.


    Am liebsten wäre mir auch, ohne WebIF direkt draufzugehen. Ich habe thowi's zeugs schon gesehen, aber die Enigma resetten um die Änderungen der timers.xml zu übernehmen ist für mich irgendwie zu hardcore ;).

  • Zitat

    Original von bodo
    Gibt's irgendwie die möglichkeit, mit einem Entwickler der Dreambox-Software zu quatschen? Das wird wohl das einfachste sein.


    Am liebsten wäre mir auch, ohne WebIF direkt draufzugehen. Ich habe thowi's zeugs schon gesehen, aber die Enigma resetten um die Änderungen der timers.xml zu übernehmen ist für mich irgendwie zu hardcore ;).


    Mir ist das auch zu hardcore, aber wenn DM kein sauberes Settings flash und load ins enigma einbaut ohne das man im python code fuhrwert, was soll ich machen :winking_face:


    Nein Scherz beiseite, ich wollte einfach nicht warten.


    Was ich mir als nicht nur sprichwörtliche alter Unix shell Programierer wünschen würde wäre das wenn man ein file .writesettings
    auf /etc/enigma2 anlegt das enigma das dann auch tut, und das fiel wieder löscht wenn es erledigt ist und wenn es ein .loadsettings findet diese auch wieder lädt.


    Das wären keine 20 Zeilen Code im CSV, bzw. python code (einfach in der Mainloop oder beim timerpollen schauen ob das file existiert und dann die entsprechenden routinen im python aufrufen die dafür eh schon existieren - BITTE, BITTE, BITTE)


    Weil damit ließen sich dann die ganzen Settingseditoren, Tools viel schöner andocken und ohne große Programmiererei, killall enigma2 oder init2 & 3 !


    PS: Und wenn wir schon beim wünschen sind das selbe auch noch mit einer .zapto und .recordto (mit Kanalnummer als Inhalt) damit man umschalten und einen Senderaufnehmen kann ohne blöde Hacks und enigmarestarts. (OK, das wären nochmal 20 Zeilen code) Und dann vieleicht noch ein .msgtext wo dann einfach der Text der da drinnen steht auf dem Billdschirm ausgegeben wird bis man OK drückt.


    PPS: Ich bin jetzt 3 Wochen auf Urlaub, wenn ich zurückkomme überrascht Ihr mich und es ist schon im CSV, ja BITTE :winking_face:


    Gruss
    thowi

    3 Mal editiert, zuletzt von thowi ()

  • thowi
    Und dann schreibt der Treiber in Zukunft am besten die gedrückten Fernbedienungstasten immer in /etc/enigma2/.remoteControl oder wie? :smiling_face:


    Nicht bös gemeint, aber verstehst du wie unsinnig so ein Konzept ist? Sowas baut man doch eventbasiert ein. Das ganze wird ja in Zukunft wieder ordentlich gelöst, nur man sollte da in der Zwischenzeit nicht ins typische Gefrickel verfallen... Auch wenn eine Lösung eher heut als morgen auf jedenfall schöner wäre. Nur E2 bietet die Chance alles mal richtig durchdacht zu bauen

    Einmal editiert, zuletzt von krog ()

  • Ich bin aber zu ungeduldig um alles so richtig schön durchdacht irgendwann mal zu bekommen !


    Und wenigstens das laden und schreiben der settings ist sehr wohl ein feature das vom Betriebssystem einfach aufruf bar sein MUSS, weil da gibt es Genug sachen die das benötigen würden (andere daemons, Programme vom PC,...)


    Fast jeder blöde Unix dameon hat einen -reload switch damit er seine config neu einliest, nur das enigma2 nicht.


    Wenn DM lieber ist, das die Leute es selber in den Python code reinhacken und dann steht die mainloop ist es mir recht, ich hätte es aber gerne ordentlich und supportet.


    Ihr müßt es auch aus meinem Blickwinkel sehen - ich bin nicht irgendjemand der sich einfach was wünscht und irgendwer wird es schon machen.


    Ich habe mit Multiboot mehr als 3000 codezeilen geschrieben (in meiner Freizait und ohne Gegenleistung) und durch die Möglichkeit mehrere Images auf der Dm 7025 zu fahren sind denke ich in den letzten paar Monaten sicher ein paar Boxen mehr verkauft worden.


    Selbst wenn der Verkäufer im Mediamarkt der am Abend im Forum liest sagen kann, na ja es gibt ein WebIF, aber schön ist es halt noch nicht, dann hat das auch einen gewissen Effekt, weil dann der Kunde vieleicht doch kauft und (gerne ?) wartet bis es ordentlich kommt.


    Wenn ich mir dann also 20 codezeilen wünsche dann ist das durchaus legitim mal nett danach zu fragen :winking_face:


    Und bitte versteht mich nicht falsch, ich bin kein Nörgler, ich habe lange nachgedacht bevor ich gefragt habe.


    Ein nein is übrigens auch OK, aber dann wird der Wildwuchs in der Implementierung weiter zunehmen (was derzeit bei mVLC streamen abgeht ist ein gutes Beispiel wie es nicht sein sollte).


    Wenn ich einfach, schnell und billig wo einen Damm bauen kann dann mache ich das einfach und diskutiere nicht ob es überhaupt gescheit war so nahem am Fluss ein Dorf zu bauen.


    Gruss
    thowi

    2 Mal editiert, zuletzt von thowi ()

    • Offizieller Beitrag

    Sorry wenn ich das jetzt so sage... aber du bist auch der einzige den ich kenne der die Dreambox derart mit shellskripten vergewaltigt.


    Wie krog schon sagte kann man enigma2 durch python wirklich recht einfach um nette Dinge erweitern man muss nur Python lernen (und das ist nun wirklich eine sehr dankbare Sprache).


    Bitte nimm mir das nicht böse, ich verstehe nur nicht warum du dich so mit Gewalt dagegen sträubst dich mal mit python auseinanderzusetzen.


    Und ja, ein Settingreload fehlt, aktuell geht das glaube ich aber nichtmal in python, selbst da macht man einfach nen restart der GUI.


    @bodom:


    Um zurück zum Thema zu kommen, wie liefert ihr eigtl die Daten?
    Als XML? Wenn ja wäre der enigma2 Part vmtl ein !!!relativ!!! kleines Problem da ja enigma2 selbst an diversen Stellen xml einsetzt (Menüstrukturen, Skins, etc).

    mfg ,
    Reichi

    Einmal editiert, zuletzt von Reichi ()

  • @ Reichi


    Ich bin alt genug um Computer zu kennen die NUR eine commandline haben, also ist da sicher eine gewisse Nostalgie dabei.


    Ich habe mich eh brav mit python befasst, aber ich staune immer wieder wie oft dort die shell commandos aufgerufen werden wenn es Betriebssystemnahe dinge zu tun gibt :winking_face:


    Und der Weg die gesamte funktionalität erstmals in shell scripten zu impkementieren die man schön mit entsprechenden Argumenten aufrufen kann ist gar nicht so schlecht, die sind einfacher zu schreiben, im telnet zu debuggen und tun auch den job.


    Diese shellscripte dann von einem python wrapper mit den entsprechenden Menus aufzurufen ist halt die Art wie ich meine Sachen baue.


    Dies ist für manche Sachen gut (Multiboot, Cronamanager). Und für machen Sachen ein Alptraum (Notaufnahme WebIF), aber was solls, wenn es sonst nichts gibt habe ich kaum shclechtes Gewissen - und es reduziert teilweise die Entwicklungszeit für machen Sachen dramatisch (keine der Episoden der Notaufnahme war mehr als 1 Tag Nettoarbeitszeit, ein python hätte ich 2-3 mal solange gebraucht - wobei ein guter pthon programmierer das auch wieder in der Zeit geschafft hätte, aber der bin ich halt nicht - na gut ich bin auch kein guter shellprogrammierer, aber nachdem ich schon so viel an shellcode für die DM 7025 geschrieben habe kann ich ziemlich viel an Funtionalität nur durch cut & paste basteln).


    Sieh das eher als Bedrohung - weil ich habe mich schon ein bischen mit python und dem enigma2 code befaßt, deswegen weis ich auch schon so halbwegs wie einfach es geht das was ich mir gewünscht habe einzubauen.


    Und bitte versteht mich nicht falsch - ich folge schon euren Rat.


    Das man die timers.xml besser über python änden habe ich AUCH ernst genommen. Dann schaue ich mir den python code an der die timers.xm schreibt und was macht der - statt schönen XML manipulation routines aus einer Objektlibrary zu benutzen baut er die Zeilen als string in einer liste zusammen (der andere code ist drinnen aber auskommentiert - super was). Nettoaufwand das selbe in shell nachzubauen waren dann 10 min ?!


    Und was habe ich daraus gelernt, das python auch seine Grenzen hat !


    Und wenn Du im Python den GUI neustartest oder in der timers polling routine schaust ob was in der timers.xml geändert wurde, dann rufst du im python entsprechende routinen aus, und beim stoppen von python auch - diese Routinen auf Anfrage in der Mainloop auszuführen kann doch nicht so schwer sein ....


    Auch das Zapping auf diese weise einzubauen ist nicht so schwer, da gibt es die routinen die die Komanndos der Fernebdiunng weiterverarbeiten und die rufen wieder routinen auf die den Kanalwechsel machen - auch die von der Mainloop aufzurufen ist denkbar (aber nicht so leicht weil man einige der Argumente der Zwischenroutinen benötigt um sie richtig aufzurufen, ausserdem kann es dabei probleme geben wenn man das macht während man irgendwo in einem menu des OSD steht - daher habe ich diese Wünsche auch absichtlich erst im PS geäußert).


    Ein wirklich schönes enigma2 hätte aber die jeweiligen funktionen schön in einer Programmbibliothek ordentlich dokumentiert damit man sich nicht mühsam durch den python code suchen muss, aber das ist eine andere Geschichte, und ich verstehe auch DM das es nicht alles offenlegen kann, schließlich gibt es auch Mitbewerber die auch gute Software brauchen.


    Ich denke im Urlaub mal drüber nach, aber wenn ich es im python mache dann ist es so wie ich es in den shellskripen mache (kurz und schmerzhaft), und ich bin nicht sicher ob Ihr damit freude hättet, da bleibe ich schon lieber auf meienr Seite vom Fluss und wünsche mir eine Brücke.


    PS: Und ich restarte ja auch nur den GUI um meine geänderten settings zu laden, aber schön ist das eben nicht.


    PPS: Und ich arbeite z.B. ja auch am lirc dameon wenn ich zeit habe, mit dem kann man dann sauber wie wenn es die Fernbedienung war die box (und auch DVD, TV,...) remote steuern, aber da komme ich auch nicht weiter weil keiner hilft womit wir wieder bei den kleinen Wünschen sind.

  • thowi: im IRC hab ich recht schnell Hilfe gefunden. Wir probieren demnächst aus, das ganze "richtig" umzusetzen. Mit Soap-Schnittstelle und allem Schnickschnack. So wird's gemacht ;).


    Reichi: tmbinc wird mit mir zusammen hoffentlich demnächst eine ordentliche Schnittstelle bauen. Da brauchen wir nicht "irgendwie" was mit XML machen. Sondern kommunizieren über eine offizielle Schnittstelle.

  • Letzte Aktivitaet des Benutzers Bodo: 2006.
    Da bist Du vermutlich etwas zu optimistisch beim "Ausgraben" dieses antiken Threads. :winking_face:

    DM900 SS, DM8000SSSS
    Kein Support per PN! Nutzt das Forum zum Fragen, dann haben auch andere etwas davon.