Automatisches füllen der Timerliste mit Hilfe von Regeln und Ausdrücken

  • Hallo,


    gibt es mittlerweile ein Plugin mit dem es möglich ist Aufnahmen nach Regeln durchzuführen? Unabhängig von Zeitangaben sondern nur über den Titel der Sendung?
    Ich gebe mal ein Beispiel:


    Anforderung:


    Alle Sendungen mit dem Titel „Dr. House“ nach Aufruf eines Skriptes in die Timerliste packen. Doppelte Einträge (Wiederholungen) über den Inhalt der EPG vermeiden. Das Skript sollte autom. einmal am Tag im Hintergrund ausgeführt werden.


    Lösung:


    Die Namen der Titel inkl. Der Ausdrücke könnten in eine XML-Datei untergebracht werden. Ein Parser (Skript) könnte zum Schluss die Datei abarbeiten und den Timer autom. füllen.


    Kennt jemand so ein PlugIn oder hat irgendwer Lust so etwas zu machen? Hätte da einige gute Ideen wie das zu realisieren wäre.


    gruß jdow...

    • Offizieller Beitrag

    Hmm sowas hab ich noch nicht gesehen ich verschiebs mal zu den Plugins vieleicht kennt ja doch noch wer was.

  • Hab mich heut an nen anderes Projekt gesetzt, aber eine Frage zur "Vermeidung von Wdh":
    Bei deinem Beispiel (House) ist der Sender ja RTL - soweit ich mich erinner (Box ist grad anderweitig belebt, aber wäre eh ein generelles Problem) wird dort für die Wiederholungen die Beschreibung modifiziert ("Wiederholung vom <Tag>, <Uhrzeit>" o.Ä.).


    Wie sollten die vermieden werden?
    Ein zusätzliches Parsen des Texts halte ich für gewagt. Zuverlässiger fände ich dort eine Einstellung "Sperrstunde" - z.B. keine Aufnahme zwischen 0 und 6 Uhr oder auch nur Aufnahmen in diesem Zeitraum um die Box Abend nicht zu belegen.


    Ich denke Ideen und/oder Vorschläge kann man hier schonmal im Thread festhalten, vielleicht findet sich ja jemand (oder ich bin mal wieder etwas angeödet :P).

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

  • Mr.Bunny
    das wäre super wenn sich da mal ein paar Köpfe Gedanken darüber machen könnten. Manche Serien fangen leider nicht immer zum selben Zeitpunkt an. Am besten sieht man das im TV-Browser unter Lieblingssendungen. Ebenfalls könnte man schon Sendungen berücksichtigen die erst in einen Monat oder irgendwann mal kommen.


    ritzMo
    so in etwa stelle ich mir das vor.


    Oldboke
    das wäre die perfekte Lösung. So komfortabel müsste es nicht einmal sein. Es würde schon reichen eine XML-Datei mit Regeln zu erstellen und das ein Skript die Datei autom. auswertet und anschl. die Sendungen in den Timer packt. Wenn jemand eine GUI (Benutzeroberfläche) Plant was nicht zwingend notwendig wäre, kann ich ebenfalls ein paar Vorschläge machen.


    @all
    Noch mal ein Beipiel zum besseren verstehen:


    Anforderung:


    Nimm alles mit "Dr. House" zwischen 19:30 Uhr und 20:45 Uhr. Sollte nun "Dr. House" statt um 20:15 mal um 20:30 beginnen würde diese Sendung ebenfalls mit der korrekten Zeit in den Timer gepackt. Somit könnten Wiederholungen vermieden werden.


    Möchte man nun "Dr. House" nur von Premiere Serie und nicht von RTL aufnehmen, könnte man die Regel auf einen oder mehrere oder alle Sender erweitern.


    Lösung:


    Eine XML-Datei erstellen in dem der Name des Films (Titel) steht. Zusätlich eine Zeitangabe (von/bis) wann dieser Film in der Regel ausgestrahlt wird. Ggf. noch die Sender angeben (RTL,Premiere Serie...) die relevant wären.


    Das Skript müsste anschl. autom. regelmäßig aufgerufen werden um die Timerliste zu füllen.


    Ich wäre für ein Feedback dankbar. Nur wenn viele sich für so ein Plugin interessieren, könnte jemand auf die Idee kommen soetwas zu programmieren.


    Gruß jdow

  • jdow: Das stimmt so nicht... Ich beschäftige mich auch mal ohne fremderleuts Interesse mit etwas (so hab ich mir gestern auch endlich die Änderung der Timer Start/Endzeit wie in E1 über VolUp/Down bzw next/prevBouquet gebastelt) - so wollte ich mich auch jetzt zumindest mal an einem Prototypen setzen (erst einmal ohne Konfiguration, nur manuell aufrufbar, ...). :winking_face:


    Ich geb heut Abend mal nen Statusreport, aber immer nur her mit Ideen. Die Senderbeschränkung find ich z.B. auch interessant :)

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

  • ritzMo


    meinst du mit Prototypen ein Skript das den Timer füllt? Wäre super wenn du da was probieren könntest. Bin mal auf heute Abend (Statusreport) gespannt.


    gruß jdwo

  • Ja. Derzeit teste ich mit einer konstante Liste, aber XML-Parsen ist nicht schwer und teilweise auch implementiert. Ich wollte aber erst die Funktion an sich testen. Das Interface zum EPGCache ist auch sehr komfortabel, nur ärgert mich Python grade damit meinen String nicht als String anzuerkennen.
    Da ich mich vorher noch nie mit der Anbindung Python/C++ beschäftigt habe stehe ich da gerade etwas auf dem Schlauch, aber das wird schon :winking_face:


    *EDIT* Blaaah.... Nicht Python hat mich geärgert sondern meine unaufmerksamkeit: Die Parameter waren in der falschen Reihenfolge :winking_face:
    Ich meld mich dann heut abend nochmal :grinning_squinting_face:

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

    Einmal editiert, zuletzt von ritzMo ()

  • Wenn hier schon der TV-Browser im Gespraech ist, hat jemand schonmal
    ausprobiert, ob man das nicht auch mit dem "Lieblingssendungen"-Plugin
    erledigen kann?
    Dort gibt es eine Einstellung, dass man eine gefundene Lieblingssendung
    an ein anderes Plugin weiterreichen kann.
    Das sollte doch mit dem CapturePlugin funktionieren (wenn nicht, kann
    man es funktionierend machen).
    Leider ist meine Dreambox gerade im Einsatz und ich kann das fruehestens
    heute abend selbst ausprobieren.
    Die Kriterien der Lieblingssendungen sind extrem flexibel (Kanal und Uhrzeit).


    Falls Interesse von Programmiererseite besteht, ich habe mal ein Konzept
    fuer einen automatischen Timer fuer die 7025 erstellt. Leider habe ich
    nie die Zeit gefunden, das selbst zu implementieren und es wuerde schon
    einen groesseren Eingriff in die Timerstrukturen der Dreambox erfordern
    (man muss in der Lage sein, zu jedem Zeitpunkt zu bestimmen, ob ein
    Timer manuell oder automatisch angelegt wurde, da man sonst nicht
    in der Lage waere, automatische Timer auch automatisch zu korrigieren),
    ansonsten hat man nur Probleme damit, wenn der EPG nicht immer
    vollstaendig ist (z.B. weil der Sender Scheiss gebaut hat), Sendungen
    verschoben werden oder ganz ausfallen.


    Gruss

    Bitte keine unaufgeforderten PNs schicken, sondern im Forum fragen. Ich schaue NIE ohne Auffordung in meine PN-Box.

  • Ich bin schon relativ gut voran gekommen, wenn du magst kannst du mir aber dein Konzept zukommen lassen.


    Automatisches korrigieren der Zeit halte ich allerdings für utopisch. Da man auf der Dreambox nur optimalerweise auf Basis des EPG arbeiten sollte ist das ein riskantes Unterfangen. So kann ich aus eigener Erfahrung berichten, dass der EPG sich bei Änderungen nicht anpasst (vielleicht sollte man das mal ändern :)) und somit sowieso die neuen Daten in der Regel nicht zur Verfügung stehen (ausser man hat einen Absturz und die EPG-Daten sind daher futsch).


    Das einzige was mir soweit an den vordefinierten Timern fehlt ist die eventId, deshalb ist der Test auf doppelte Events derzeit auf gleiche ServiceRef und eine Starzeitabweichung von max. 10min beschränkt bei mir.


    IMO sollte man klar zwischen einer "internen" (als Enigma2-Plugin) und einer "externen" (z.B. via TV-Browser) Lösung unterscheiden. Ich habe mal eine Zeit lang den TV-Browser genutzt aber es ist mir zu umständlich das über den PC abzuwickeln, wenn ich es genau so gut über die Dreambox tun kann.


    *EDIT*
    So, nach einigen Irrungen und Wirrungen (vielleicht habe ich für sowas zu wenig geschlafen ;)) sieht es schonmal ganz gut aus. Derzeit muss man das Plugin manuell Aufrufen, die Konfiguration erfolgt über eine XML-Datei, eine Vorlage wird das IPKG mitliefern. Ich plane noch eine Konfiguration über Menü einzubauen aber das hat noch Zeit.
    Das Aktualisieren im Hintergrund ist ein Problem mit E2, da ich das nicht über einen Cronjob erledigen kann (muss aus E2 geschehen) und ich eigentlich keinen ewig-langen eTimer im Hintergrund laufen lassen möchte.


    Hochgeladen wird das ganze heut Abend, wenn ich es nochmal ausgiebig getestet habe. In den letzten Stunden war die Box mit Aufnahmen oder Live-TV beschäftigt, weshalb ich BSODs weitgehendst vermieden habe und so einige Codefragmente länger gebraucht habe als erwartet :face_with_tongue:


    *EDIT2*
    Eine erste Testversion hänge ich mal an. Die Config ist in /etc/enigma2/autotimer.xml zu finden, eine Beispieldatei mit Beschreibung wird installiert. Wie bereits erwähnt muss das Plugin noch manuell aus dem Pluginmenu aufgerufen werden, aber für Testfreudige sollte dies vorerst genügen und ist eine solide Basis um weiterzuarbeiten.

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

    2 Mal editiert, zuletzt von ritzMo ()

  • ritzMo
    Ich habe mir das Plugin herunter geladen. Vorab möchte ich dir danken das du dich damit auseinander setzt und das du so schnell schon was testbares zur Verfügung stellst.


    Ich hatte leider einen Fehler beim ausführen von Autotimer. Ich kann das in einer Stunde nochmal testen. Die XML-Datei ist prima. Einfach super wenn es funktioniert. Wenn ich was tun kann, sag mir bitte bescheid! Wie kann ich dir Beispielsweise die Fehlermeldung mitteilen?


    Ich weis nicht ob ich das richtig verstehe aber ich glaube mit dem Cronmanager kannst du Ereignisse an bestimmten Zeiten auslösen. Das eilt jedoch nicht, ich denke das man für den Anfang den AutoTimer manuel auslösen kann.

  • Mit nem Cronjob kann ich leider meines Wissens nach nicht (ohne größere Modifikationen) Ereignisse in E2 triggern und da ich leider nur in E2 Zugriff auf den EPGCache habe fällt diese Möglichkeit weg - wär ja auch zu einfach :)
    Stand auch schon in meinem letzten Post aber ich gebe zu, manchmal schreibe ich viel :winking_face:


    Wenn Fehler einen Bluescreen hervorrufen kannst du mir das Crashlog zukommen lassen (auch wenn ich das aufgrund eines etwas weit gegriffenen Try/Except-Blocks bezweifel, aber im Hintergrund ist es besser wenn nix passiert als wenn dauernd die Box abschmiert :P). Sonst werden Fehler (und jede Menge zusätzliche Informationen) über die Konsole ausgegeben, wenn enigma2 über selbige gestartet wurde.
    Sollte ein Fehler reproduzierbar auftreten kannst du folgende Befehle via Telnet auf der Box ausführen:

    Code
    init 4 # danach eine gewisse Zeit warten
    enigma2


    Dann läuft enigma2 im Vordergrund dieses Fensters und die kannst die Zusatzinformationen lesen. Diese Zeilen werden mit [AutoTimer] eingeleitet, aber ich nehme im Zweifelsfall auch großzügiges Copy&Paste entgegen :winking_face:
    Wenn du enigma2 wieder im Hintergrund laufen lassen möchtest beendest du diese Instanz (z.B. einfach Herunterfahren auswählen - läuft Enigma2 im Vordergrund haben die "Folgeaktionen" Ausschalten/Neustarten keinen Effekt) und dann in Telnet "init 3" eingeben.


    Ich habe bis jetzt nur die von mir hochgeladene Beispielconfig getestet (und vor Implementierung von Beschränkungen noch diverse andere Titel, aber ich denke nicht, dass dort ein Fehler vorliegt), werde aber selber noch weitertesten.


    *EDIT* Achtung, obige Befehle beenden Enigma2. Da das vielleicht nicht jeder weiß wollte ich das hier nur nochmal festhalten :)

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

    Einmal editiert, zuletzt von ritzMo ()

  • OK danke. Ich habe die XML-Datei wie folgt angepasst. Bitte korrigiere mich wenn das falsch ist.


    <?xml version="1.0" ?>


    <autotimer>
    <timer>
    <name>The Ring</name>
    <timespan>
    <from>19:00</from>
    <to>23:55</to>
    </timespan>
    </timer>


    </autotimer>


    Da sollte doch nun der Eintrag "The Ring" in den Timer aufgenommen werden. Mit dieser XML-Datei bekomme ich nun keinen Fehler aber auch kein Feedback nach dem aufrufen von autotimer im Pluginmenü.

  • Das Plugin gibt keine Rückmeldung, so macht das testen mehr Spass :)


    Schau einfach mal in den Timern nach, aber ich glaube ich könnte mal für den "Foreground"-Modus eine Rückgabe ala "4 neue Timer hinzugefügt und 3 schon vorhanden" einbauen :winking_face:

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

  • Super Super einfach :cool2: Ich habe aus "The Ring" den Wert "Ring" gemacht. Nun habe ich Einträge in der Timerliste. Das mit der Meldung wäre nicht schlecht.


    Nochmals Respekt und :danke:

  • Hm... komisch.


    So, habe grad nochmal etwas gebastelt. Ich weiß nicht ob die Timespan-Erkennung vorher korrekt war (bei Zeitspannen mit Tageswechsel wurde es hackelig), jetzt sollte sie aber auf jeden Fall funktionieren. Achtung, die Sendung muss jetzt VOLLSTÄNDIG im Timespan liegen (also Start&Endzeit), dies war vorher nicht so.
    Ebenso gab es kleinere - vermutlich für den Nutzer unbemerkbare - Speedups, die aber auch den Quellcode hübscher erscheinen lassen :)


    Hinzugefügt wurde auch besagte "x events gefunden, y hinzugefügt"-Meldung.


    *EDIT* Achtung, vermutlich überschreibt das ipkg die autotimer.xml, diese sollte man also vorm upgrade sichern.

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

    Einmal editiert, zuletzt von ritzMo ()

  • Das mit der Zeit ist mir gerade auch aufgefallen. Kannst du das möglicherweise später so ergänzen, dass man noch eine Zeit z.B. 7 Minuten an das Ende dran hängen kann? Bei Wetten Das würde man z.B. 55 Minuten anhängen. Bei Serien auf Premiere würde ich nur 1 minute anhängen. Dein Update teste ich jetzt...


    #Edit


    Ich habe nun meinen Timer mal komplett geleert. Habe mir als Beispiel "Die verlorene Welt" heraus gepickt. Habe Angegeben von 10:00 bis 12:00 Uhr. In den Timer hat er brav die Sendungen um 10:25 bis 11:15 bzw +7 Minuten 11:22 und eine weitere folge die da kommt um 10:45 bis 11:35 bzw- + 7 Minuten 11:42 Uhr eingetragen. Super :) genau dafür wollte ich dieses Plugin. Das mit der Einstellung "Vorlauf bei Aufnahme" und "Nachlauf bei Aufnahme" ist dann jetzt nicht mehr so akut.

  • Offsets plane ich zumindest vorerst nicht anders als sie bereits jetzt eingebaut sind (die in E2 eingestellten werden berücksichtigt).
    Wovor ich gewarnt habe war, das sich das Verhalten geändert hat von "Event akzeptieren wenn Starzeit im angegebenen Intervall liegt" in "Event akzeptieren wenn Start- & Endzeit im angegebenen Intervall liegen".


    Es wäre schön, wenn sich noch weitere Leute an der Diskussion beteiligen würden - jetzt teste ich erstmal den "BackgroundPoller", den ich jetzt doch fix als eTimer implementiert habe und vorerst auf ein festes Intervall von 3h gesetzt habe.


    Ein neues Paket wird es allerdings erst morgen geben. Drei an einem Tag fänd ich schon blöd (auch wenn es 0.0.1 & 0.0.2 waren ;)).


    *EDIT* Rechtschreibung....

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Enigma2, Enigma, Neutrino, VDR und TitanNit
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung
    Mobile WOL: Wake-on-LAN Client für iPhone und iPad mit optionalem Widget

    Einmal editiert, zuletzt von ritzMo ()

  • I have try this plugin with Ronaldd image, but it's dont work.